亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于視覺注意力模型的魚群個(gè)體目標(biāo)跟蹤方法與流程

文檔序號(hào):12123750閱讀:428來源:國(guó)知局
基于視覺注意力模型的魚群個(gè)體目標(biāo)跟蹤方法與流程

本發(fā)明涉及生物水質(zhì)檢測(cè)的應(yīng)用,通過模擬視覺的注意力機(jī)制,提出了一種對(duì)魚群內(nèi)的個(gè)體目標(biāo)實(shí)時(shí)跟蹤的方法。



背景技術(shù):

在正常水質(zhì)下,水生生物(如魚類)行為具有固定的模式。當(dāng)魚類生活的水環(huán)境發(fā)生變化時(shí),它的行為也會(huì)表現(xiàn)出異常。比如,已有研究表明在魚生活的水環(huán)境中添加制劑(如草甘膦、重金屬和合成藥物等),會(huì)引起游速、呼吸頻率、尾部擺動(dòng)頻率等行為參數(shù)的異常變化。因此,通過監(jiān)測(cè)水環(huán)境內(nèi)魚類的異常行為,能對(duì)水質(zhì)的異常作出預(yù)警。

這類生物式水質(zhì)預(yù)警系統(tǒng)往往是通過置于水樣上的攝像頭,自動(dòng)采集水樣中魚類行為,然后通過分析魚類行為的視頻數(shù)據(jù),對(duì)水質(zhì)可能存在的異常作出預(yù)警。與傳統(tǒng)的物化監(jiān)測(cè)方法比較,具有成本低和反應(yīng)速度快等特點(diǎn)。因此,該類生物式水質(zhì)監(jiān)測(cè)系統(tǒng)已經(jīng)在諸如自來水公司、水庫等飲用水源地的水質(zhì)監(jiān)控領(lǐng)域得到廣泛應(yīng)用。

目前,常用的生物式水質(zhì)監(jiān)測(cè)系統(tǒng)中的監(jiān)測(cè)生物往往選擇1條魚,比如斑馬魚或者紅鯽魚等。只采用1條魚作為生物監(jiān)測(cè)樣本,好處是可以容易得到其行為參數(shù),不利的是1條魚的異常行為可能是由該個(gè)體生理狀態(tài)引起,而非水質(zhì)變化所導(dǎo)致。也就是說,如果水樣中的魚行為發(fā)生異常,難以確定該異常行為是何種原因?qū)е隆?/p>

為此,生物式水質(zhì)檢測(cè)系統(tǒng)需要同時(shí)監(jiān)測(cè)水樣中多條魚的行為。然而,監(jiān)測(cè)魚群的行為首先需要區(qū)別出群體內(nèi)的個(gè)體,才能得到每一個(gè)個(gè)體行為參數(shù)。魚群在水樣中的游動(dòng)不可避免的存在相互遮擋情況,尤其是監(jiān)測(cè)系統(tǒng)往往都需要實(shí)時(shí)給出預(yù)警信息,這要求系統(tǒng)能實(shí)時(shí)的跟蹤群體內(nèi)每一個(gè)體。已有的魚群跟蹤系統(tǒng)都不能實(shí)現(xiàn)實(shí)時(shí)跟蹤,這給基于群體行為的水質(zhì)監(jiān)測(cè)系統(tǒng)帶來了較大的技術(shù)困難。為此,本發(fā)明基于視覺的注意力模型,提出一種可以實(shí)時(shí)跟蹤魚群每一個(gè)體的算法。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要克服現(xiàn)有技術(shù)的上述缺點(diǎn),提供一種基于視覺注意力模型的魚群個(gè)體目標(biāo)跟蹤方法。

視覺系統(tǒng)在復(fù)雜場(chǎng)景下跟蹤目標(biāo)運(yùn)動(dòng)時(shí),其視野的注意焦點(diǎn)不僅能追隨跟蹤目標(biāo)的移動(dòng),還能忽略焦點(diǎn)外的目標(biāo)。本發(fā)明從視覺的選擇力注意機(jī)制得到啟發(fā),將目標(biāo)跟蹤抽象為兩個(gè)關(guān)鍵的計(jì)算。第一個(gè)計(jì)算是確定選擇力注意的范圍,第二個(gè)是選定注意力范圍的目標(biāo),或者說在注意力范圍內(nèi)排除非跟蹤目標(biāo)。這兩個(gè)計(jì)算通過彼此的交互,從而實(shí)現(xiàn)對(duì)目標(biāo)的跟蹤,即第一個(gè)計(jì)算的輸出是第二個(gè)計(jì)算的輸入,而第二個(gè)計(jì)算的輸出為第一個(gè)計(jì)算的輸入。

本發(fā)明的基于視覺注意力模型的魚群個(gè)體目標(biāo)跟蹤方法,采用的技術(shù)方案是:

1.一種基于選擇力注意的魚群目標(biāo)跟蹤方法,所述檢測(cè)跟蹤方法包括以下步驟:

1)以鯽魚群(4到8條)作為監(jiān)測(cè)對(duì)象,通過攝像頭獲取魚群行為實(shí)時(shí)視頻,從而實(shí)現(xiàn)對(duì)群內(nèi)的每一個(gè)體進(jìn)行實(shí)時(shí)監(jiān)測(cè)(圖1)。先以跟蹤魚群內(nèi)的其中1條目標(biāo)魚為例來描述算法流程。

2)算法初始化,手動(dòng)獲取目標(biāo)魚的初始輪廓以及跟蹤該魚的視野范圍。

2.1)得到目標(biāo)魚的初始輪廓f0。首先,暫停當(dāng)前視頻流播放,獲取當(dāng)前幀內(nèi)目標(biāo)魚的輪廓。為此,通過人工找到當(dāng)前幀的目標(biāo)魚,經(jīng)由鼠標(biāo)點(diǎn)擊該目標(biāo)魚體的任意一點(diǎn),從而獲取該點(diǎn)擊的坐標(biāo)。根據(jù)該坐標(biāo)點(diǎn)的顏色(RGB,紅綠藍(lán))值,利用最近鄰方法找到整個(gè)目標(biāo)魚的輪廓,其計(jì)算過程如下(圖4-a):

A1)得到由鼠標(biāo)點(diǎn)擊的目標(biāo)魚輪廓內(nèi)任一像素點(diǎn)的顏色(RGB)值x0;

A2)得到該像素點(diǎn)x0的8個(gè)相鄰像素點(diǎn)顏色,若相鄰像素點(diǎn)與x0的顏色差值在某個(gè)給定的范圍內(nèi)(本發(fā)明中設(shè)定RGB閾值差為(30,30,30)),則將其與x0像素點(diǎn)連通,否則不連通。計(jì)算如下:

src(x1,y1)r-loDiffr≤src(x,y)r≤src(x1,y1)r+upDiffr (1)

src(x1,y1)g-loDiffg≤src(x,y)g≤src(x1,y1)g+upDiffg (2)

src(x1,y1)b-loDiffb≤src(x,y)b≤src(x1,y1)b+upDiffb (3)

其中src(x1,y1)代表像素點(diǎn)src(x,y)的8個(gè)相鄰像素點(diǎn),upDiff、loDiff分別代表各顏色的上下閾值范圍。

A3)檢測(cè)相鄰位置,繼續(xù)步驟A2)操作。這個(gè)過程持續(xù)到已檢測(cè)區(qū)域邊界范圍內(nèi)的所有像素為止。

2.2)經(jīng)由f0得到跟蹤目標(biāo)魚的初始注意力區(qū)域r0。首先,得到f0的邊界,然后計(jì)算各邊界點(diǎn)的中心點(diǎn)(c00+c01+…c0n)/n,其中c0n表示f0的第n個(gè)邊界像素點(diǎn)。然后,利用opencv里的膨脹函數(shù)dilate(其中opencv是一個(gè)基于開源發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,膨脹算法是用一個(gè)3*3的結(jié)構(gòu)元素去掃描二值圖像的每一個(gè)像素,用結(jié)構(gòu)元素與其覆蓋的圖像作“與”運(yùn)算,如果都為0,結(jié)構(gòu)圖像的該像素為0,否則為1,結(jié)果使二值圖像擴(kuò)大一圈),以中心點(diǎn)為中心,將目標(biāo)魚輪廓膨脹為原來四倍的大小作為注意力區(qū)域的邊界點(diǎn)。各個(gè)注意力區(qū)域邊界點(diǎn)形成的范圍就定義為注意力區(qū)域r0。目標(biāo)魚在下一幀的位置就從該注意力區(qū)域確定。

3)由于魚在不停的游動(dòng),因此跟蹤當(dāng)前時(shí)刻目標(biāo)魚的輪廓,需要利用到前一刻該目標(biāo)魚的位置信息。此外,由于魚群游動(dòng)時(shí),魚體不可避免會(huì)存在相互交錯(cuò)。因此,確定當(dāng)前幀目標(biāo)魚的輪廓就可能發(fā)生身份錯(cuò)位。也就是說,會(huì)把魚群內(nèi)的其它魚誤當(dāng)成目標(biāo)魚。為此,本發(fā)明提出基于視覺注意力模型的跟蹤方法,從而實(shí)現(xiàn)在魚群發(fā)生交錯(cuò)時(shí)能準(zhǔn)確跟蹤到目標(biāo)魚。

根據(jù)視覺的選擇力注意機(jī)制,本發(fā)明將目標(biāo)跟蹤抽象為兩個(gè)關(guān)鍵的計(jì)算。第一個(gè)計(jì)算是確定選擇力注意的范圍,第二個(gè)計(jì)算則是選定注意力范圍的跟蹤目標(biāo)。這兩個(gè)計(jì)算的流程為:

B1)初始化得到目標(biāo)魚的初始輪廓f0以及初始注意力區(qū)域r0。

B2)計(jì)算當(dāng)前時(shí)刻目標(biāo)魚的的注意力區(qū)域rt,rt=U(ft-1),其中ft-1為前一時(shí)刻目標(biāo)魚的輪廓,U為第一個(gè)計(jì)算使用到的函數(shù)(該函數(shù)計(jì)算過程說明見3.1)流程見圖5。

B3)計(jì)算當(dāng)前時(shí)刻目標(biāo)魚的輪廓ft,ft=S(rt),其中rt為t時(shí)刻計(jì)算得到的目標(biāo)魚注意力區(qū)域,S為第二個(gè)計(jì)算使用到的函數(shù)(該函數(shù)計(jì)算過程說明見3.2),流程見圖5。

B4)循環(huán)B2)和B3),從而實(shí)現(xiàn)對(duì)目標(biāo)魚的跟蹤。

3.1)U函數(shù)是根據(jù)當(dāng)前魚輪廓得到新的注意力區(qū)域。由于魚的游動(dòng)速度一定,每一幀間的位移一般不超過10像素。因此,利用opencv里的膨脹函數(shù)dilate,以目標(biāo)魚的中心點(diǎn)為中心,將目標(biāo)魚輪廓膨脹為原輪廓的四倍,并以此大小作為注意力區(qū)域的邊界點(diǎn)。

3.2)S函數(shù)是根據(jù)目標(biāo)魚的注意力區(qū)域rt,搜索到目標(biāo)魚的輪廓ft。首先在rt內(nèi)采用最近鄰算法找到其中所有的魚輪廓area(Bt)。需要注意的是,area(Bt)除了目標(biāo)魚外,也有可能包括非目標(biāo)魚。因此,本發(fā)明提出由上一刻目標(biāo)魚輪廓ft-1排除所有不屬于目標(biāo)魚的輪廓,剩下的便是當(dāng)前時(shí)刻魚的輪廓ft

3.2.1)在注意力區(qū)域rt采用最近鄰算法進(jìn)行聚類,得到魚輪廓area(Bt),流程如下:

C1)隨機(jī)選取k(=5)個(gè)中心點(diǎn),即聚類類別數(shù);

C2)遍歷所有像素點(diǎn)的顏色,即RGB值。將每個(gè)像素點(diǎn)劃分到最近的中心點(diǎn)中;

C3)計(jì)算聚類后每個(gè)類別的平均值,并作為新的中心點(diǎn);

C4)重復(fù)C2-C3過程,直到這k個(gè)中心點(diǎn)不再變化(收斂),或執(zhí)行了足夠多的迭代步數(shù)。

由于魚的顏色類似。因此,聚類后的這k類中,有一類一定屬于魚(圖3,其中白色區(qū)域?yàn)橛行ь悇e)。

然而這k類中,哪一類屬于魚的區(qū)域還需要進(jìn)行進(jìn)一步計(jì)算(圖4-b)。其計(jì)算過程如下:

D1)得到t-1時(shí)刻目標(biāo)魚的二值圖像,目標(biāo)魚的像素值為1,其它則為0;

D2)計(jì)算各個(gè)類別的二值圖與t-1時(shí)刻目標(biāo)魚二值圖像的相似程度,取最相

似的類別作為魚輪廓。其中,dif越小,圖像越相似。圖像相似的計(jì)算為:

其中,表示第k類二值圖,src_fi表示t-1時(shí)刻目標(biāo)魚二值圖像,i為圖中每一個(gè)像素點(diǎn)的索引。

3.2.2)由于魚群在游動(dòng)時(shí),不可避免相互發(fā)生交錯(cuò)。因此,area(Bt)中除了被跟蹤的目標(biāo)魚外,也有可能包括非目標(biāo)魚。因此,可由上一刻目標(biāo)魚輪廓ft-1排除所有不屬于目標(biāo)魚的輪廓,其流程如下:

E1)得到t-1時(shí)刻魚ft-1的中心點(diǎn)c1;

E2)得到魚輪廓Bt的中心點(diǎn)c2;

E3)連接中心點(diǎn)c1和中心點(diǎn)c2得到直接L;

E4)將從沿著L進(jìn)行平移,其面積與面積重合最大時(shí)停止移動(dòng);

E5)重合面積最大的區(qū)域就是當(dāng)前t時(shí)刻的目標(biāo)魚輪廓范圍。

4)多條魚的跟蹤:首先手動(dòng)獲取多條目標(biāo)魚的初始輪廓,然后根據(jù)步驟2)和步驟3)分別跟蹤每一條目標(biāo)魚便可同時(shí)實(shí)現(xiàn)多條魚的跟蹤。

本發(fā)明的優(yōu)勢(shì):本發(fā)明的群目標(biāo)跟蹤算法不但可以對(duì)區(qū)域范圍內(nèi)魚目標(biāo)進(jìn)行實(shí)時(shí)性地跟蹤,而且當(dāng)跟蹤目標(biāo)發(fā)生交互阻塞時(shí),依然可以準(zhǔn)確跟蹤目標(biāo),從而有效地避免身份丟失和交換。

附圖說明

圖1設(shè)備裝置及提取輪廓示意圖;

圖2輪廓檢測(cè)流程圖;

圖3最近鄰分類算法分類結(jié)果示意圖,其中,圖3a是原圖,圖3b是聚類類別;

圖4聚類分類篩選魚目標(biāo)示意圖,圖4a是鼠標(biāo)操作選取第一幀輪廓,圖4b1是前一幀目標(biāo)魚,圖4b2是當(dāng)前時(shí)刻聚類類別;

圖5是目標(biāo)魚提取跟蹤整體流程示意圖。

圖6是目標(biāo)魚跟蹤匹配過程示意圖。

具體實(shí)施方式

下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。

參照?qǐng)D1~圖6,一種基于選擇力注意的魚群目標(biāo)跟蹤方法,包括以下步驟:

1)以鯽魚群(4到8條)作為監(jiān)測(cè)對(duì)象,通過攝像頭獲取魚群行為實(shí)時(shí)視頻,從而實(shí)現(xiàn)對(duì)群內(nèi)的每一個(gè)體進(jìn)行實(shí)時(shí)監(jiān)測(cè)(圖1)。先以跟蹤魚群內(nèi)的其中1條目標(biāo)魚為例來描述算法流程。

2)算法初始化,手動(dòng)獲取目標(biāo)魚的初始輪廓以及跟蹤該魚的視野范圍。

2.1)得到目標(biāo)魚的初始輪廓f0。首先,暫停當(dāng)前視頻流播放,獲取當(dāng)前幀內(nèi)目標(biāo)魚的輪廓。為此,通過人工找到當(dāng)前幀的目標(biāo)魚,經(jīng)由鼠標(biāo)點(diǎn)擊該目標(biāo)魚體的任意一點(diǎn),從而獲取該點(diǎn)擊的坐標(biāo)。根據(jù)該坐標(biāo)點(diǎn)的顏色(RGB,紅綠藍(lán))值,利用最近鄰方法找到整個(gè)目標(biāo)魚的輪廓(圖4-a)。本發(fā)明中通過所有像素點(diǎn)到該鼠標(biāo)點(diǎn)顏色R的差值在(-30,30)內(nèi),且G、B的顏色差值同樣在(-30,30)內(nèi),則把鼠標(biāo)點(diǎn)與此像素點(diǎn)連通,從而找到目標(biāo)魚輪廓。

2.2)經(jīng)由f0得到跟蹤目標(biāo)魚的初始注意力區(qū)域r0。首先,得到f0的邊界,然后計(jì)算各邊界點(diǎn)的中心點(diǎn)(c00+c01+…c0n)/n,其中c0n表示f0的第n個(gè)邊界像素點(diǎn)。然后,利用opencv里的膨脹函數(shù)dilate,以中心點(diǎn)為中心,將目標(biāo)魚輪廓膨脹為原輪廓的四倍,并以此大小作為注意力區(qū)域的邊界點(diǎn)。各個(gè)注意力區(qū)域邊界點(diǎn)形成的范圍就定義為注意力區(qū)域r0。目標(biāo)魚在下一幀的位置就從該注意力區(qū)域確定。

3)由于魚在不停的游動(dòng),因此跟蹤當(dāng)前時(shí)刻目標(biāo)魚的輪廓,需要利用到前一刻該目標(biāo)魚的位置信息。此外,由于魚群游動(dòng)時(shí),魚體不可避免會(huì)存在相互交錯(cuò)。因此,確定當(dāng)前幀目標(biāo)魚的輪廓就可能發(fā)生身份錯(cuò)位。也就是說,會(huì)把魚群內(nèi)的其它魚誤當(dāng)成目標(biāo)魚。為此,本發(fā)明提出基于視覺注意力模型的跟蹤方法,從而實(shí)現(xiàn)在魚群發(fā)生交錯(cuò)時(shí)能準(zhǔn)確跟蹤到目標(biāo)魚。

根據(jù)視覺的選擇力注意機(jī)制,本發(fā)明將目標(biāo)跟蹤抽象為兩個(gè)關(guān)鍵的計(jì)算。第一個(gè)計(jì)算是確定選擇力注意的范圍,第二個(gè)計(jì)算則是選定注意力范圍的跟蹤目標(biāo)。這兩個(gè)計(jì)算的流程為:

B1)初始化得到目標(biāo)魚的初始輪廓f0以及初始注意力區(qū)域r0。

B2)計(jì)算當(dāng)前時(shí)刻目標(biāo)魚的的注意力區(qū)域rt,rt=U(ft-1),其中ft-1為前一時(shí)刻目標(biāo)魚的輪廓,U為第一個(gè)計(jì)算使用到的函數(shù),該函數(shù)計(jì)算過程說明見3.1),流程見圖5。

B3)計(jì)算當(dāng)前時(shí)刻目標(biāo)魚的輪廓ft,ft=S(rt),其中rt為t時(shí)刻計(jì)算得到的目標(biāo)魚注意力區(qū)域,S為第二個(gè)計(jì)算使用到的函數(shù),該函數(shù)計(jì)算過程說明見3.2),流程見圖5。

B4)循環(huán)B2)和B3),從而實(shí)現(xiàn)對(duì)目標(biāo)魚的跟蹤。

3.1)U函數(shù)是根據(jù)當(dāng)前魚輪廓得到新的注意力區(qū)域。由于魚的游動(dòng)速度一定,每一幀間的位移一般不超過10像素。因此,利用opencv里的膨脹函數(shù)dilate,以目標(biāo)魚的中心點(diǎn)為中心,將目標(biāo)魚輪廓膨脹為原輪廓的四倍,并以此大小作為注意力區(qū)域的邊界點(diǎn)。

3.2)S函數(shù)是根據(jù)目標(biāo)魚的注意力區(qū)域rt,搜索到目標(biāo)魚的輪廓ft。首先在rt內(nèi)采用最近鄰算法找到其中所有的魚輪廓area(Bt)。需要注意的是,area(Bt)除了目標(biāo)魚外,也有可能包括非目標(biāo)魚。因此,本發(fā)明提出由上一刻目標(biāo)魚輪廓ft-1排除所有不屬于目標(biāo)魚的輪廓,剩下的便是當(dāng)前時(shí)刻魚的輪廓ft

3.2.1)在注意力區(qū)域rt采用最近鄰算法進(jìn)行聚類,得到魚輪廓area(Bt),流程如下:

C1)隨機(jī)選取k(=5)個(gè)中心點(diǎn),即聚類類別數(shù);

C2)遍歷所有像素點(diǎn)的顏色,即RGB值。將每個(gè)像素點(diǎn)劃分到最近的中心點(diǎn)中;

C3)計(jì)算聚類后每個(gè)類別的平均值,并作為新的中心點(diǎn);

C4)重復(fù)C2-C3過程,直到這k個(gè)中心點(diǎn)不再變化(收斂),或執(zhí)行了足夠多的迭代步數(shù)。

由于魚的顏色類似。因此,聚類后的這k類中,有一類一定屬于魚(圖3,其中白色區(qū)域?yàn)橛行ь悇e)。

然而這k類中,哪一類屬于魚的區(qū)域還需要進(jìn)行進(jìn)一步計(jì)算(圖4-b)。其計(jì)算過程如下:

D1)得到t-1時(shí)刻目標(biāo)魚的二值圖像,目標(biāo)魚的像素值為1,其它則為0;

D2)重計(jì)算各個(gè)類別的二值圖與t-1時(shí)刻目標(biāo)魚二值圖像的相似程度,取最相似的類別作為魚輪廓。

3.2.2)由于魚群在游動(dòng)時(shí),不可避免相互發(fā)生交錯(cuò)。因此,area(Bt)中除了被跟蹤的目標(biāo)魚外,也有可能包括非目標(biāo)魚。因此,可由上一刻目標(biāo)魚輪廓ft-1排除所有不屬于目標(biāo)魚的輪廓,其流程如下:

E1)得到t-1時(shí)刻魚ft-1的中心點(diǎn)c1;

E2)得到魚輪廓Bt的中心點(diǎn)c2

E3)連接中心點(diǎn)c1和中心點(diǎn)c2得到直接L;

E4)將從沿著L進(jìn)行平移,其面積與面積重合最大時(shí)停止移動(dòng);

E5)重合面積最大的區(qū)域就是當(dāng)前t時(shí)刻的目標(biāo)魚輪廓范圍。

4)多條魚的跟蹤:首先手動(dòng)獲取多條目標(biāo)魚的初始輪廓,然后根據(jù)步驟2)和步驟3)分別跟蹤每一條目標(biāo)魚便可同時(shí)實(shí)現(xiàn)多條魚的跟蹤。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1