文/周玉成 陳業(yè)明 程新蕾 張夢(mèng)雨 汪沛
運(yùn)動(dòng)目標(biāo)跟蹤是基于特定算法的一種用于檢測(cè)視頻序列中移動(dòng)目標(biāo)的技術(shù)。目前,常用的目標(biāo)跟蹤算法可分為兩類(lèi),分別是基于生成式模型和基于判別式模型的目標(biāo)跟蹤算法[1]。生成式模型跟蹤算法通常將模型建立在當(dāng)前幀目標(biāo)區(qū)域,在下一幀中檢測(cè)具有最高近似程度的區(qū)域?;谂袆e模型的檢測(cè)方法應(yīng)用目標(biāo)范圍作為正樣本,將背景區(qū)域作為當(dāng)前幀中的負(fù)樣本。使用特征提取和特征選擇訓(xùn)練分類(lèi)器,并將其應(yīng)用到下一幀中以找到最優(yōu)區(qū)域。
鳥(niǎo)類(lèi)的種類(lèi)和數(shù)量繁多,幾乎分布于各種生態(tài)環(huán)境,其在維持自然界的生態(tài)平衡方面有著特殊的貢獻(xiàn)。作為動(dòng)態(tài)目標(biāo)跟蹤的一個(gè)研究分支,對(duì)視頻序列中鳥(niǎo)類(lèi)的跟蹤常被用來(lái)探索鳥(niǎo)類(lèi)的飛行規(guī)律、并在此基礎(chǔ)上進(jìn)一步延伸出各類(lèi)研究。分析視頻序列中的鳥(niǎo)類(lèi)行為,首先需要在復(fù)雜的野外監(jiān)控視頻中清晰地監(jiān)測(cè)以及跟蹤要研究的目標(biāo)鳥(niǎo)類(lèi)[2]。檢測(cè)及跟蹤的高效性與準(zhǔn)確性對(duì)于進(jìn)一步地鳥(niǎo)類(lèi)行為分析具有重要的意義。近年來(lái),學(xué)者們對(duì)于相關(guān)領(lǐng)域進(jìn)行了大量的研究[3-7]。2011年,C.Qing等人[8]通過(guò)結(jié)合方向梯度直方圖特征與二值模式特征檢測(cè)跟蹤鳥(niǎo)類(lèi),但該方法使用了靜態(tài)背景,在實(shí)際應(yīng)用中準(zhǔn)確率并不高。2014年,Q.Xu和X.Shi[9]提出了一種基于飛鳥(niǎo)骨架結(jié)構(gòu)種內(nèi)相似性和種間差異性的飛鳥(niǎo)檢測(cè)跟蹤方法,以簡(jiǎn)化的骨架特征為分類(lèi)標(biāo)準(zhǔn),通過(guò)支持向量機(jī)分類(lèi)。但該方法僅適用于檢測(cè)側(cè)視圖中的飛鳥(niǎo),對(duì)其他視角下的檢測(cè)效果并不好。2015年,R.Yoshihashi[10]也使用了方向梯度直方圖特征,在一個(gè)新的鳥(niǎo)類(lèi)數(shù)據(jù)集上與基于卷積神經(jīng)網(wǎng)絡(luò)[11]進(jìn)行比較,驗(yàn)證了方法的有效性。
圖1:Surf-Meanshift跟蹤算法流程圖
圖2:匹配點(diǎn)篩選前后效果對(duì)比圖
圖3:當(dāng)前幀Roi區(qū)域內(nèi)的特征點(diǎn)匹配結(jié)果
為尋找適用于野外觀測(cè)視頻中鳥(niǎo)類(lèi)運(yùn)動(dòng)目標(biāo)的跟蹤算法,我們對(duì)目前常用的目標(biāo)跟蹤方法如Kalman、Condensation、Camshift和Meanshift等方法進(jìn)行了調(diào)研:Kalman濾波器過(guò)于依賴過(guò)去時(shí)間點(diǎn)的數(shù)據(jù),在遮擋物長(zhǎng)時(shí)間存在的情況下無(wú)法保證跟蹤效果[12];Condensation粒子濾波器對(duì)目標(biāo)物體有較好的跟蹤性,但由于計(jì)算量大和采用顏色空間直方圖進(jìn)行目標(biāo)特征表示[13],制約了算法的魯棒性;Camshift在均值漂移算法的基礎(chǔ)上改進(jìn),具有自適應(yīng)目標(biāo)大小的功能,但在光照變化明顯或目標(biāo)與背景色相似時(shí),跟蹤效果并不理想。[14-15],不適于野外觀測(cè)中對(duì)鳥(niǎo)類(lèi)的跟蹤。作為無(wú)參概率密度估計(jì)方法,Meanshift(均值漂移)算法屬于計(jì)算密集型算法,使用核函數(shù)直方圖模型,計(jì)算量較小。但對(duì)于邊緣遮擋、目標(biāo)轉(zhuǎn)動(dòng)、形變和環(huán)境運(yùn)動(dòng)不敏感,且由于其迭代搜索的工作原理,當(dāng)目標(biāo)運(yùn)動(dòng)速度較快時(shí)跟蹤效果欠佳,為了進(jìn)一步減少均值漂移算法的搜索時(shí)間,降低計(jì)算復(fù)雜度,需要引入合適的位置變化預(yù)測(cè)機(jī)制。
綜合各種算法的優(yōu)缺點(diǎn)分析,并考慮到鳥(niǎo)類(lèi)運(yùn)動(dòng)的特征以及野外觀測(cè)視頻拍攝條件,本文提出一種融合局部特征點(diǎn)匹配和Meanshift方法的鳥(niǎo)類(lèi)目標(biāo)跟蹤算法。該方法對(duì)視頻序列執(zhí)行Surf特征點(diǎn)提取,通過(guò)Lowe’s算法篩選出有效特征點(diǎn),結(jié)合預(yù)測(cè)公式得到目標(biāo)在下一幀中的最有可能出現(xiàn)的理想位置,在此基礎(chǔ)上進(jìn)行Meanshift向量的迭代,通過(guò)具體實(shí)驗(yàn),并通過(guò)實(shí)驗(yàn)驗(yàn)證了該方法的有效性和可行性。
Meanshift算法[16-17]描述了基于核函數(shù)和加權(quán)顏色直方圖的目標(biāo)特征,通過(guò)巴塔恰里雅距離測(cè)量目標(biāo)模型與候選模型之間的相似性,轉(zhuǎn)化相似度量的局部極值問(wèn)題為核密度估計(jì)問(wèn)題,多次算法的迭代后確定局部最大值。其主要步驟為:目標(biāo)鎖定、目標(biāo)模型和候選模型描述、相似性度量、迭代。
依據(jù)前一幀的跟蹤物體中心位置f0,得到備選目標(biāo)中心位置f,計(jì)算目前幀的備選目標(biāo)區(qū)域直方圖。同構(gòu)建目標(biāo)模型,候選模型的概率密度表達(dá)式如下:
其中h為核函數(shù)窗口大小,決定權(quán)重分布,其他參數(shù)同目標(biāo)模型。
Bhattacharyya系數(shù)是表示目標(biāo)模型與候選模型之間的相似度的函數(shù)。
函數(shù)的值越大,兩個(gè)模型之間的相似性就越高,將前一幀的中心作為搜索窗口的中心,找到最大化相似函數(shù)值的候選區(qū)域,即當(dāng)前幀中目標(biāo)的位置。為了最大化函數(shù)值,對(duì)上式進(jìn)行泰勒展開(kāi)得到:
上式中只有第二項(xiàng)隨候選模型的中心變化,通過(guò)候選區(qū)域中心向真實(shí)區(qū)域中心的Meanshift迭代方程為:
通過(guò)Meanshift迭代來(lái)實(shí)現(xiàn)相似性函數(shù)的極大化,以初始幀位置迭代計(jì)算下一幀位置,直至收斂或達(dá)到收斂停止條件。
基于前文的分析,均值漂移算法代碼重構(gòu)性高。其跟蹤過(guò)程中可以保證實(shí)時(shí)性,然而由于缺乏對(duì)下一幀目標(biāo)位置的預(yù)測(cè),在鳥(niǎo)類(lèi)飛行速度過(guò)快以及有障礙物遮擋時(shí)難以取得預(yù)期效果。針對(duì)目標(biāo)位置的預(yù)測(cè),基于灰度處理,Surf特征點(diǎn)提取和匹配技術(shù),文章提出了一種基于鳥(niǎo)類(lèi)局部特征點(diǎn)的Meanshift運(yùn)動(dòng)目標(biāo)跟蹤算法。算法流程如圖1所示:
表1:測(cè)試視頻參數(shù)
表2:迭代次數(shù)對(duì)比表
圖4:預(yù)測(cè)目標(biāo)位置方法原理示意圖
圖5:Meanshift方法迭代過(guò)程圖示
圖6:Surf-Meanshift算法迭代過(guò)程圖示
步驟1 讀取當(dāng)前幀圖像和下一幀圖像;
步驟2 對(duì)圖像進(jìn)行灰度化處理;
步驟3 利用Surf算法對(duì)當(dāng)前幀和下一幀圖像進(jìn)行特征點(diǎn)提??;
步驟4 使用Flann算法針對(duì)當(dāng)前幀圖像Roi區(qū)域范圍內(nèi)的特征點(diǎn)進(jìn)行匹配;
步驟5 使用Lowe’s算法過(guò)濾出優(yōu)秀的匹配點(diǎn);
步驟6 利用局部特征點(diǎn)匹配的結(jié)果預(yù)測(cè)目標(biāo)在下一幀中的位置;
步驟7 以預(yù)測(cè)值為迭代初始值,迭代Meanshift向量以確定跟蹤目標(biāo)在下一幀中的位置;
步驟8 重復(fù)上述過(guò)程,直到視頻結(jié)束。
Meanshift跟蹤算法在目標(biāo)移動(dòng)速度快、噪聲干擾嚴(yán)重的情況下,相似函數(shù)極大值的計(jì)算結(jié)果會(huì)受到影響。因此,很容易導(dǎo)致丟失跟蹤目標(biāo)。通過(guò)對(duì)圖像特征點(diǎn)進(jìn)行提取可以得到有效的圖像紋理信息,對(duì)兩個(gè)連續(xù)幀圖像中的特征點(diǎn)進(jìn)行匹配,可以基于當(dāng)前幀的目標(biāo)位置來(lái)預(yù)測(cè)下一幀的目標(biāo)位置。利用該預(yù)測(cè)值作為均值漂移算法的初始迭代值,可以縮小搜索范圍,從而在一定程度上克服原始算法的局限性。
3.2.1 特征點(diǎn)檢測(cè)
常見(jiàn)的特征點(diǎn)提取算子有:Harris算子、Susan算子、Sift算子和Surf算子。其中常用的Surf特征點(diǎn)檢測(cè)方法在Sift算子的基礎(chǔ)上加以改進(jìn),提高了算法速度,更加適應(yīng)實(shí)時(shí)的特征檢查任務(wù)。該算子穩(wěn)定性較高,不受尺度、旋轉(zhuǎn)等因素影響,本文選取Surf算法對(duì)視頻圖像序列進(jìn)行特征點(diǎn)提取。
Surf算法[18]的核心思想是使用Hessian矩陣檢測(cè)局部極值點(diǎn),進(jìn)而鎖定特征點(diǎn)坐標(biāo)。首先定義Hessian矩陣:
其中f(x,y)為二階可微函數(shù),H函數(shù)表示Hessian。
Hessian矩陣的判別式如下:
為使圖像具有尺度不變性,算法通過(guò)構(gòu)建尺度空間進(jìn)行SURF特征點(diǎn)的提取。通過(guò)Hessian矩陣求出極值后,比對(duì)在3x3x3的立體鄰域內(nèi)的非極大值,若極值點(diǎn)為最大值或最小值,則認(rèn)為該點(diǎn)為候選特征點(diǎn),然后在尺度和圖像空間中進(jìn)行插值運(yùn)算,獲得穩(wěn)定的特征點(diǎn)位置和像素點(diǎn)尺度數(shù)值。
3.2.2 特征點(diǎn)匹配
可見(jiàn)光連續(xù)視頻序列的特征點(diǎn)生成后,匹配策略的選擇直接決定了圖像匹配的準(zhǔn)確率。本文選擇使用Flann匹配器[19],以歐氏距離作為度量標(biāo)準(zhǔn)建立前后兩幀圖片的對(duì)應(yīng)關(guān)系,匹配過(guò)程分為粗匹配S和篩選優(yōu)秀匹配點(diǎn)兩個(gè)過(guò)程。
3.2.3 粗匹配
特征匹配中涉及到兩個(gè)特征集合,分別為訓(xùn)練集和查詢集,匹配結(jié)束后會(huì)得到兩個(gè)特征集合的對(duì)應(yīng)關(guān)系表。本文使用快速近似最近鄰搜索算法Flann[19]來(lái)尋找匹配點(diǎn),最終查詢集中的每個(gè)特征點(diǎn)在訓(xùn)練集中找到一個(gè)最優(yōu)匹配點(diǎn)。
Sift算法的作者Lowe提出了一種篩選匹配點(diǎn)的Sift匹配方式,目的是為了消去由于障礙遮擋和環(huán)境混亂而產(chǎn)生的誤匹配點(diǎn)。Lowe’s算法[20]的基本思想是選擇圖像中的一個(gè)關(guān)鍵點(diǎn),在下一幀圖像中找出與其歐幾里得距離最近的前兩個(gè)特征點(diǎn),得到兩個(gè)距離d1,d2,其中d1小于d2。距離之比可用以下公式進(jìn)行計(jì)算。
由于特征空間的高維性,當(dāng)兩個(gè)候選點(diǎn)與當(dāng)前特征點(diǎn)的距離非常接近,即ratio值較高時(shí),可能同時(shí)存在著大量的誤匹配點(diǎn),此時(shí)該匹配點(diǎn)的可信度較低。若將ratio值限制在小于某個(gè)閾值,則會(huì)得到優(yōu)秀的匹配點(diǎn),達(dá)到對(duì)匹配點(diǎn)進(jìn)行篩選的效果。為在保證匹配點(diǎn)的數(shù)量的同時(shí)盡可能消除錯(cuò)誤匹配點(diǎn),本文通過(guò)初步實(shí)驗(yàn),設(shè)定閾值為0.6。
圖2所示是全圖特征點(diǎn)檢測(cè)及匹配的效果示意圖,可以看出使用Lowe’s算法對(duì)匹配點(diǎn)進(jìn)行篩選后,有效剔除了其中的誤匹配點(diǎn)。
將特征點(diǎn)檢測(cè)與匹配的范圍限定在當(dāng)前幀的Roi區(qū)域內(nèi),使用上述匹配及篩選算法,得到如圖3所示的匹配結(jié)果。
根據(jù)連續(xù)兩幀圖像局部特征點(diǎn)的匹配情況,在已知當(dāng)前幀Roi區(qū)域的情況下,還需要后續(xù)處理來(lái)預(yù)測(cè)下一幀中目標(biāo)的位置。預(yù)測(cè)目標(biāo)位置方法原理示意圖如圖4所示。
Meanshift算法通過(guò)手動(dòng)繪制視頻序列中的感興趣區(qū)域,將區(qū)域中心作為第一次迭代的中心,并在此基礎(chǔ)上逐步迭代,直至找出相似函數(shù)最大的候選區(qū)域,即為本幀中目標(biāo)的位置。鳥(niǎo)類(lèi)目標(biāo)跟蹤任務(wù)中,由于運(yùn)動(dòng)目標(biāo)速度較快,常使得連續(xù)兩幀之間的目標(biāo)位置差異變大,導(dǎo)致了定位目標(biāo)時(shí)迭代次數(shù)的增多。這種情況直接影響了跟蹤的速度和準(zhǔn)確度,最終引發(fā)了目標(biāo)丟失的情況。
圖7:目標(biāo)與背景差別較大的跟蹤結(jié)果
圖8:樹(shù)枝干擾情況下的跟蹤
圖9:背景干擾情況下的跟蹤結(jié)果
圖10:曝光情況下的跟蹤結(jié)果
為了解決這一問(wèn)題,本文提出了一種融合局部特征點(diǎn)匹配和Meanshift方法的自動(dòng)跟蹤算法。利用局部特征點(diǎn)匹配的結(jié)果預(yù)測(cè)目標(biāo)在下一幀中的位置,將此位置作為下一幀目標(biāo)跟蹤時(shí)Meanshift向量迭代的初始值。這種方法在Meanshift迭代之前預(yù)先將中心點(diǎn)置為目標(biāo)最有可能分布的位置,可以有效減小搜索范圍。在野外檢測(cè)視頻中實(shí)時(shí)跟蹤鳥(niǎo)類(lèi)目標(biāo)時(shí),縮小檢測(cè)范圍意味著能夠使用更少的迭代次數(shù)找到目標(biāo)位置,或者在迭代次數(shù)閾值一定的情況下,盡可能地鎖定離目標(biāo)更近的位置,提高跟蹤的效率。圖5展現(xiàn)了Meanshift方法(圖5)和本文提出的Surf-Meanshift算法(圖6)的迭代路徑,在該幀圖像中,兩種方法經(jīng)過(guò)迭代最終確定了同樣的目標(biāo)位置坐標(biāo),由圖可以看出原始的Meanshift方法到達(dá)目標(biāo)位置經(jīng)過(guò)了7次迭代,而本文提出的Surf-Meanshift算法通過(guò)預(yù)測(cè)目標(biāo)在下一幀的位置,將迭代初始值預(yù)置為了離目標(biāo)更近的位置(圖中0’),再經(jīng)過(guò)2次迭代,即鎖定了目標(biāo)位置。
為檢測(cè)算法效果,實(shí)驗(yàn)中選取了三段鳥(niǎo)類(lèi)飛行視頻1,2進(jìn)行測(cè)試。三段視頻的具體參數(shù)如表1所示。
效果圖中,統(tǒng)一圖7右圖為Surf-Meanshift算法的跟蹤結(jié)果。圖7所示是目標(biāo)與背景差別較大的情況Meanshift算法和Surf-Meanshift算法的跟蹤結(jié)果,在這種情況下,原始的算法和改進(jìn)算法跟蹤效果的差別不大。
圖8所示是在有樹(shù)枝干擾情況下Meanshift算法和Surf-Meanshift算法的跟蹤結(jié)果。鳥(niǎo)類(lèi)目標(biāo)與背景顏色仍有一定的差異,此時(shí)Meanshift算法能夠大致鎖定鳥(niǎo)的位置,但是由于目標(biāo)與樹(shù)枝顏色非常相近,樹(shù)枝的干擾使跟蹤發(fā)生一定的偏移,在這種情況下,本文提出的Surf-Meanshift算法具有更高的準(zhǔn)確率。
圖9所示是目標(biāo)和背景顏色相近情況下Meanshift算法和Surf-Meanshift算法的跟蹤結(jié)果。在背景的干擾下,鳥(niǎo)類(lèi)運(yùn)動(dòng)速度較快時(shí),Meanshift算法的跟蹤性能隨著目標(biāo)的快速運(yùn)動(dòng)越來(lái)越差,最終跟丟,而Surf-Meanshift算法由于在迭代起始時(shí)通過(guò)局部特征點(diǎn)匹配將Roi區(qū)域拉向了目標(biāo)最可能出現(xiàn)的位置,依然保持較好的跟蹤性能。
圖10所示是曝光情況下Meanshift算法和Surf-Meanshift算法的跟蹤結(jié)果。在自然光線較亮?xí)r,背景和光照的因素干擾加強(qiáng),此時(shí)Meanshift算法無(wú)法有效捕捉目標(biāo),而Surf-Meanshift算法的跟蹤結(jié)果雖然有所偏移,但仍然能夠鎖定目標(biāo)的大致位置。
4.2.1 評(píng)價(jià)指標(biāo)
為驗(yàn)證本文算法的有效性,采用迭代次數(shù)來(lái)評(píng)估不同方法實(shí)現(xiàn)鳥(niǎo)類(lèi)目標(biāo)檢測(cè)的性能。定義總迭代次數(shù)S:
式中N為視頻幀數(shù),i表示視頻的第i幀,Si為每一幀的迭代次數(shù)。
4.2.2 比較分析
與Meanshift算法相比,本文方法有效減少了尋找跟蹤目標(biāo)中心點(diǎn)過(guò)程的迭代次數(shù)(如表2所示),提高了算法效率。
本文研究了野外觀測(cè)視頻中鳥(niǎo)類(lèi)目標(biāo)的跟蹤方法,考慮鳥(niǎo)類(lèi)運(yùn)動(dòng)的自然環(huán)境等實(shí)際應(yīng)用因素,提出了一種融合局部特征點(diǎn)匹配和Meanshift方法的Surf-Meanshift跟蹤算法,并通過(guò)四個(gè)視頻進(jìn)行了測(cè)試實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果證明,該方法有效縮小了目標(biāo)的搜索范圍,減少了迭代次數(shù),提高了跟蹤的效率和準(zhǔn)確度。在背景與目標(biāo)相似且目標(biāo)運(yùn)動(dòng)速度較快時(shí)優(yōu)勢(shì)更為明顯,具有一定的應(yīng)用價(jià)值。
在實(shí)際應(yīng)用中,由于視頻質(zhì)量容易受到野外觀測(cè)條件和設(shè)備狀態(tài)等因素的影響,該方法應(yīng)用于飛鳥(niǎo)檢測(cè)時(shí)也還有很多問(wèn)題需要進(jìn)一步分析和研究。比如視頻中有可能出現(xiàn)其它物體遮擋飛鳥(niǎo)從而干擾輪廓提取造成跟蹤失敗。要解決這些具體問(wèn)題,還需要進(jìn)一步深入開(kāi)展研究工作。