張海濤,秦鵬程
(遼寧工程技術(shù)大學(xué)軟件學(xué)院,遼寧葫蘆島125105)
視頻目標(biāo)跟蹤是當(dāng)前計(jì)算機(jī)視覺(jué)領(lǐng)域的熱門(mén)研究課題,在民用和軍事的眾多場(chǎng)景中有著廣泛的應(yīng)用[1-3],而對(duì)目標(biāo)特征點(diǎn)的提取和匹配是視頻跟蹤中的一項(xiàng)重要步驟[4-5]。視頻跟蹤中存在諸多影響因素,如尺寸變化、角度變化、光照變化、背景物雜亂、噪聲、遮擋干擾等,這增加了特征點(diǎn)錯(cuò)誤匹配對(duì)準(zhǔn)的概率,極大地影響了后續(xù)視頻跟蹤的效果。因此,如何快速有效地剔除誤匹配特征點(diǎn)以提高匹配精度,成為一項(xiàng)值得研究的問(wèn)題。
當(dāng)前對(duì)于誤匹配特征點(diǎn)的剔除方法研究在點(diǎn)云配準(zhǔn)[6]、三維對(duì)象識(shí)別[7-8]等方面應(yīng)用較為廣泛。文獻(xiàn)[9]利用基于迭代最近點(diǎn)(Iterative Closest Point,ICP)的精確配準(zhǔn)技術(shù)對(duì)前期誤匹配結(jié)果進(jìn)行后期校準(zhǔn),但是該算法過(guò)于依賴(lài)較為準(zhǔn)確的初始姿態(tài)估計(jì),且存在計(jì)算量大、耗時(shí)較長(zhǎng)、收斂慢等問(wèn)題。文獻(xiàn)[10]在尺度不變特征轉(zhuǎn)換(Scale Invariant Feature Transform,SIFT)算法的基礎(chǔ)上增加了區(qū)域重疊核加權(quán)Hu 矩,將相似度較小的匹配點(diǎn)剔除掉,然而SIFT算法[11]需要建立高維度復(fù)雜的描述子,占用了大量的內(nèi)存,運(yùn)行時(shí)間較長(zhǎng)。文獻(xiàn)[12]采用隨機(jī)抽樣一致性(Random Sample Consensus,RANSAC)匹配點(diǎn)提純算法剔除錯(cuò)誤的關(guān)鍵點(diǎn)匹配對(duì),提高了識(shí)別的精度,然而該算法在抽樣時(shí)需要對(duì)所有的特征點(diǎn)進(jìn)行迭代以得到最大化的局內(nèi)點(diǎn),導(dǎo)致效率較低,在一定程度上犧牲了算法的實(shí)時(shí)性。
針對(duì)特征點(diǎn)提取和匹配過(guò)程中速度慢、效率低的問(wèn)題,文獻(xiàn)[13]提出一種加速魯棒特征(Speeded up Robust Feature,SURF)算法,對(duì)DoH 中的高斯二階微分進(jìn)行近似簡(jiǎn)化,加速了特征的提取和描述。然而,SURF 算法在計(jì)算主方向時(shí)過(guò)于依賴(lài)局部圖像的梯度方向,導(dǎo)致匹配成功率降低。文獻(xiàn)[14]提出一種二進(jìn)制特征描述算法(ORB),有效地解決了計(jì)算和收斂速度慢的問(wèn)題,提高了匹配的實(shí)時(shí)性,并且在圖像識(shí)別的精度上有了進(jìn)一步提高[15-16],然而ORB 在匹配過(guò)程中容易受到目標(biāo)外未知因素的干擾,導(dǎo)致匹配結(jié)果中存在大量的誤匹配點(diǎn)。
文獻(xiàn)[17]在鄰域一致性約束的基礎(chǔ)上,提出一種融合ORB 與網(wǎng)格統(tǒng)計(jì)的視頻跟蹤方法GMS,通過(guò)在特征點(diǎn)鄰域范圍內(nèi)選擇支持特征點(diǎn)集進(jìn)行約束檢驗(yàn),以較小的時(shí)間代價(jià)增加了ORB 算法穩(wěn)健匹配的數(shù)量。文獻(xiàn)[18]提出一種基于稀疏表示的跟蹤方法,但是該方法僅考慮整體而非局部外觀來(lái)區(qū)分目標(biāo)和背景區(qū)域,因此,當(dāng)目標(biāo)和背景區(qū)域相差不明顯時(shí),跟蹤效果較差。文獻(xiàn)[19]采用了深層卷積神經(jīng)網(wǎng)絡(luò)模型,但是在應(yīng)對(duì)簡(jiǎn)易跟蹤環(huán)境時(shí),其跟蹤速度很慢。文獻(xiàn)[20]方法利用基于相關(guān)濾波的跟蹤方法,在計(jì)算效率上有著優(yōu)異的性能,然而該方法會(huì)因?yàn)槠ヅ涓櫿`差的累積而導(dǎo)致模型逐漸退化。
針對(duì)上述方法特征點(diǎn)匹配精度與匹配速度存在矛盾的問(wèn)題,本文在視頻目標(biāo)跟蹤方法GMS 的框架下,對(duì)ORB 特征匹配階段產(chǎn)生的錯(cuò)誤匹配對(duì)進(jìn)行“粗-精”兩階段剔除,提出一種新的視頻目標(biāo)跟蹤方法ME-GMS(Mismatch Elimination GMS)。利用K-means算法快速粗略地剔除誤差較大的匹配關(guān)系,提高正確匹配對(duì)所占比例。在此基礎(chǔ)上,依據(jù)分裂法的思想,參考匹配點(diǎn)到聚類(lèi)中心的偏離程度,根據(jù)誤差設(shè)定合適的閾值,從而對(duì)誤匹配對(duì)進(jìn)行精確剔除。
GMS 算法在特征匹配階段采用ORB 算法進(jìn)行特征點(diǎn)的檢測(cè)與匹配。ORB 是一種基于FAST 特征點(diǎn)檢測(cè)和Brief 描述子改良而成的圖像特征匹配算法,其在應(yīng)用于視頻跟蹤時(shí)具有極為優(yōu)異的速度表現(xiàn)力,并具有尺度不變性和旋轉(zhuǎn)不變性。ORB 算法主要通過(guò)以下步驟來(lái)完成特征點(diǎn)的檢測(cè):
1)采用FAST 算法粗提取大量的特征點(diǎn)。當(dāng)以候選點(diǎn)p為圓心、r為半徑的鄰域范圍內(nèi)存在M個(gè)連續(xù)大于或小于候選點(diǎn)p處灰度值的點(diǎn),則認(rèn)為候選點(diǎn)p為FAST 特征點(diǎn)。
2)為消除圖像邊緣處存在的較強(qiáng)響應(yīng),利用Harris 算法的響應(yīng)函數(shù)對(duì)步驟1)中提取的FAST 特征點(diǎn)執(zhí)行排序,并保留前N個(gè)點(diǎn)。
3)為對(duì)提取的特征點(diǎn)賦予尺度信息,采用多尺度圖像金字塔對(duì)圖像分層提取FAST 特征點(diǎn)。
4)為對(duì)提取的特征點(diǎn)賦予方向信息,采用灰度質(zhì)心法來(lái)計(jì)算FAST 特征點(diǎn)的主方向。當(dāng)特征點(diǎn)鄰域范圍內(nèi)的質(zhì)心位置不與中心重合時(shí),可通過(guò)質(zhì)心與中心的位置坐標(biāo)計(jì)算特征點(diǎn)的主方向。
特征點(diǎn)鄰域范圍內(nèi)的質(zhì)心可定義為:
特征點(diǎn)的鄰域矩可定義為:
其中,I(x,y)表示(x,y)點(diǎn)處的灰度值。
特征點(diǎn)的主方向?yàn)椋?/p>
ORB 算法采用Brief 描述子對(duì)每個(gè)特征點(diǎn)進(jìn)行特征描述。Brief 描述子通過(guò)比較特征點(diǎn)鄰域范圍內(nèi)像素點(diǎn)對(duì)的灰度差值,形成一個(gè)二進(jìn)制碼串,并采用漢明距離作為特征點(diǎn)匹配的相似性度量準(zhǔn)則。ORB算法主要通過(guò)以下步驟來(lái)完成特征點(diǎn)的匹配:
1)在特征點(diǎn)p的鄰域范圍內(nèi)選擇n個(gè)像素點(diǎn)對(duì),根據(jù)式(4)中的二元測(cè)試函數(shù)τ對(duì)這n個(gè)像素點(diǎn)對(duì)進(jìn)行二值判決,得到一個(gè)包含n個(gè)二進(jìn)制值的碼串:
τ(p;ai,bi)表示特征點(diǎn)p鄰域范圍內(nèi)的描述子分段函數(shù),其定義如下:
其中,I(a)表示在特征點(diǎn)p鄰域范圍內(nèi)a點(diǎn)處的灰度值。
2)為使Brief 算法生成的特征描述子具有旋轉(zhuǎn)不變性,將式(3)得到的特征點(diǎn)主方向θ增加至描述子。
首先在特征點(diǎn)鄰域范圍內(nèi)選擇n對(duì)點(diǎn)集構(gòu)建一個(gè)2×n維的矩陣,如式(6)所示;然后利用θ對(duì)應(yīng)的旋轉(zhuǎn)矩陣Rθ構(gòu)造特征點(diǎn)對(duì)校正矩陣RθQ,得到具有旋轉(zhuǎn)不變性的特征描述子,如式(7)所示。
3)利用貪婪搜索的方法找出相關(guān)系數(shù)小于設(shè)定閾值的鄰域點(diǎn)對(duì),構(gòu)建包含256 個(gè)向量的最終特征描述子。
4)利用漢明距離計(jì)算特征描述子間的相似度進(jìn)行特征匹配。假設(shè)步驟3)中的描述子K=b0b1…b255,則相似度D(K1,K2)可定義為:
在進(jìn)行前后兩幀圖像的特征點(diǎn)匹配時(shí),得到的匹配關(guān)系中均含有一定數(shù)量的誤匹配對(duì),這會(huì)對(duì)視頻跟蹤產(chǎn)生一定程度的干擾,經(jīng)累計(jì)會(huì)降低視頻跟蹤的準(zhǔn)確性。為剔除這些誤匹配對(duì),本文采用由粗到精的方法,逐步對(duì)誤匹配對(duì)進(jìn)行剔除。首先利用K-means 算法的思想對(duì)匹配關(guān)系進(jìn)行聚類(lèi)劃分,僅保留匹配對(duì)數(shù)量最多的那一類(lèi),從而剔除掉大部分誤匹配對(duì);然后在獲得較多正確匹配對(duì)的基礎(chǔ)上,以標(biāo)準(zhǔn)差和歐氏距離為準(zhǔn)則,利用分裂法進(jìn)一步剔除誤匹配對(duì)。
因此,對(duì)于集合C中的每一對(duì)匹配關(guān)系,利用2 個(gè)相對(duì)應(yīng)的支持特征點(diǎn)集和,可計(jì)算從pi到qc(i)的旋轉(zhuǎn)矩陣Ri和平移向量ti:
在此基礎(chǔ)上,將旋轉(zhuǎn)矩陣Ri和平移向量ti中的元素按順序排列,得到1 個(gè)6 維向量。將集合C中的每1 對(duì)匹配關(guān)系都轉(zhuǎn)化為1 個(gè)6 維向量v,全部匹配關(guān)系轉(zhuǎn)換完成后,得到新的集合。
利用K-means 算法對(duì)Vtrans進(jìn)行聚類(lèi),將其劃分成η類(lèi)(η取值范圍通常為3~5)的步驟如下:
1)創(chuàng)建η個(gè)聚類(lèi)集合和η個(gè)聚類(lèi)中心,每個(gè)聚類(lèi)中心都是一個(gè)6 維向量。
2)將Vtrans中的N個(gè)向量隨機(jī)分配至η個(gè)聚類(lèi)集合中。
3)更新每一類(lèi)的聚類(lèi)中心:
4)遍歷Vtrans中每個(gè)向量vj,計(jì)算出與vj距離最近的聚類(lèi)中心,并將vj劃分至相應(yīng)的中。
5)循環(huán)執(zhí)行步驟3)和步驟4),當(dāng)Vtrans中的所有向量在每一類(lèi)中都不再變化時(shí),聚類(lèi)劃分過(guò)程結(jié)束。
1)將標(biāo)準(zhǔn)差的閾值設(shè)置為T(mén)thresh,將剔除系數(shù)設(shè)置為λ。
4)循環(huán)執(zhí)行步驟2)和步驟3),直到滿(mǎn)足這2 個(gè)步驟中任意一個(gè)停止條件,結(jié)束剔除。
經(jīng)過(guò)上述過(guò)程,可以得到視頻序列前后兩幀圖像特征點(diǎn)集間的正確匹配關(guān)系,消除視頻跟蹤中因誤匹配對(duì)而造成的累計(jì)誤差,進(jìn)而利用這些正確的匹配關(guān)系進(jìn)行快速穩(wěn)健的視頻跟蹤。
為驗(yàn)證本文提出的ME-GMS 方法在處理特征點(diǎn)錯(cuò)誤匹配時(shí)的有效性和高效性,下文分兩部分進(jìn)行配準(zhǔn)跟蹤實(shí)驗(yàn)。第一部分選擇OTB-100[21]數(shù)據(jù)集中Rubik、Dog 和Skater 視頻序列進(jìn)行特征點(diǎn)的跨幀匹配實(shí)驗(yàn),并將SIFT[11]、SURF[13]、ORB[14]和GMS[17]作為對(duì)比算法;第二部分選擇OTB-100、VGG[22]和Strecha[23]數(shù)據(jù)集進(jìn)行視頻序列的連續(xù)跟蹤實(shí)驗(yàn),并選擇主流的跟蹤算法GMS、ASLA[18]、HDT[19]和DCFCA[20]作為對(duì)比算法。本文算法均利用Python代碼實(shí)現(xiàn),并運(yùn)行在配置為Core i7-7700k 和16 GB RAM 的PC 機(jī)上。
選擇OTB-100 數(shù)據(jù)集中的Rubik、Dog 和Skater 視頻序列進(jìn)行特征點(diǎn)的跨幀匹配實(shí)驗(yàn),統(tǒng)計(jì)SIFT[11]、SURF[13]、ORB[14]、GMS[17]和ME-GMS 算法的正確匹配數(shù)量和錯(cuò)誤匹配數(shù)量,以計(jì)算匹配精度,同時(shí)比較各算法的運(yùn)行速度,實(shí)驗(yàn)結(jié)果如圖1 和表1所示。
圖1 不同算法對(duì)Rubik、Dog 和Skater 視頻序列的跨幀匹配結(jié)果Fig.1 Cross-frame matching results of different algorithms for Rubik,Dog and Skater video sequences
表1 不同算法對(duì)Rubik、Dog 和Skater 視頻序列的跨幀匹配性能Table 1 Cross-frame matching performance of different algorithms for Rubik,Dog and Skater video sequences
從圖1 和表1 可以明顯看出:SIFT 算法與SURF算法的匹配精度較差,匹配結(jié)果中存在大量的錯(cuò)誤匹配;ORB 算法的匹配精度略高于SIFT 算法和SURF 算法,但是仍有一定數(shù)量的錯(cuò)誤匹配,并且容易出現(xiàn)匹配對(duì)簇集于一點(diǎn)的情況;相比于ORB 算法,GMS 算法錯(cuò)誤匹配的數(shù)量有所減少,匹配精度進(jìn)一步提高;而ME-GMS 算法借助ORB 算法高效的匹配效率,匹配速度僅僅稍低于ORB 算法,但大量地剔除了錯(cuò)誤的匹配點(diǎn),保留下正確的部分,因此匹配精度得以提高,且即使在處理難度較大的跨幀匹配時(shí),也沒(méi)有出現(xiàn)錯(cuò)誤匹配現(xiàn)象。對(duì)比實(shí)驗(yàn)結(jié)果證明了ME-GMS 算法在視頻序列的跨幀匹配時(shí)仍具有較好的匹配效果。
由表1 還可以看出,ORB 算法的平均匹配精度為73.88%,ME-GMS 算法的平均匹配精度為98.15%,匹配精度提高了約33 個(gè)百分點(diǎn),并且高于GMS 算法的平均匹配精度94.20%,這證明ME-GMS算法在進(jìn)行視頻序列的跨幀匹配時(shí)比傳統(tǒng)的特征點(diǎn)匹配算法適應(yīng)能力更強(qiáng),匹配效果更好。
選擇OTB-100,VGG 和Strecha 數(shù)據(jù)集進(jìn)行視頻序列的連續(xù)跟蹤實(shí)驗(yàn)。采用中心位置誤差(Center Location Error,CLE)、距離精度(Distance Precision,DP)和重疊精度(Overlap Precision,OP)[21]作為評(píng)價(jià)指標(biāo),中心位置誤差閾值設(shè)置為10 像素,重疊率閾值設(shè)置為0.7。本文算法與當(dāng)前主流跟蹤算法GMS[17]、ASLA[18]、HDT[19]和DCFCA[20]的性能對(duì)比如表2所示。
表2 ME-GMS 算法與當(dāng)前主流跟蹤算法的性能對(duì)比Table 2 Comparison of performance between ME-GMS and current mainstream tracking algorithms
從表2 可以看出,ME-GMS 算法在3 個(gè)視頻數(shù)據(jù)集上的平均跟蹤結(jié)果均優(yōu)于其他4 種主流跟蹤算法,其中:平均CLE 達(dá)到4.13 像素,相比于其他4 種跟蹤算法平均提高了18%;平均DP 達(dá)到92.1%,相比于其他4 種跟蹤算法平均提高了9%;平均OP 達(dá)到90.1%,相比于其他4 種跟蹤算法平均提高了8%。ASLA 算法在目標(biāo)與背景相似的情況下,出現(xiàn)了較多的誤匹配;HDL 算法由于其復(fù)雜結(jié)構(gòu),導(dǎo)致處理速度最低;DCFCA 算法的計(jì)算效率極高,但是隨著誤差的積累導(dǎo)致其他指標(biāo)效果較差。實(shí)驗(yàn)結(jié)果表明,ME-GMS 算法通過(guò)引入由粗到精的誤匹配對(duì)剔除策略,可以大幅減少不必要特征點(diǎn)的生成與匹配工作,對(duì)視頻序列實(shí)現(xiàn)更加穩(wěn)定的跟蹤效果。在平均運(yùn)行速度上,ME-GMS 算法排第二,略微低于DCFCA 算法,這也反映了ME-GMS 算法以較小的時(shí)間代價(jià)換取了跟蹤性能的較大提升。
圖2 是ME-GMS 算法與其他4 種主流跟蹤算法在3 個(gè)視頻數(shù)據(jù)集上測(cè)試的距離精度曲線對(duì)比??梢钥闯觯琈E-GMS 算法的距離精度曲線位置最高,說(shuō)明該算法的跟蹤定位能力最強(qiáng)。圖3是ME-GMS算法與其他4 種主流跟蹤算法在3 個(gè)視頻數(shù)據(jù)集上測(cè)試的重疊精度曲線對(duì)比。重疊精度曲線可有效反映目標(biāo)跟蹤算法的跟蹤精度,它與坐標(biāo)軸圍成區(qū)域的面積越大,說(shuō)明對(duì)應(yīng)目標(biāo)跟蹤算法的跟蹤性能越好。
綜合圖2 和圖3 可知,與其他4 種對(duì)比算法相比,ME-GMS 算法的距離精度曲線和重疊精度曲線位置都最高,說(shuō)明ME-GMS 算法的跟蹤性能優(yōu)于所對(duì)比的其他跟蹤算法,進(jìn)一步驗(yàn)證了基于K-means的誤匹配粗剔除方法和基于分裂法的誤匹配精剔除方法的有效性。
圖2 ME-GMS 算法與主流跟蹤算法的距離精度曲線對(duì)比Fig.2 Comparison of distance accuracy curves between ME-GMS and mainstream tracking algorithms
圖3 ME-GMS 算法與主流跟蹤算法的重疊精度曲線對(duì)比Fig.3 Comparison of overlapping accuracy curves between ME-GMS and mainstream tracking algorithm
本文提出一種新的視頻目標(biāo)跟蹤方法ME-GMS。在GMS 方法框架下,對(duì)ORB 算法特征匹配階段產(chǎn)生的錯(cuò)誤匹配對(duì)進(jìn)行“粗-精”兩階段剔除,借助ORB算法高效的計(jì)算速度,在保證視頻序列跟蹤時(shí)效性的同時(shí)提高匹配精度。視頻序列的跨幀匹配和連續(xù)跟蹤實(shí)驗(yàn)驗(yàn)證了本文方法穩(wěn)健高效的匹配性能。但是該方法在進(jìn)行特征點(diǎn)誤匹配剔除時(shí)易受特征點(diǎn)提取質(zhì)量的影響,即視頻目標(biāo)在復(fù)雜環(huán)境下,如受到光照、遮擋等因素的干擾,會(huì)導(dǎo)致特征點(diǎn)本身提取效果較差,從而影響剔除的效果,使視頻跟蹤的整體性能下降。下一步將優(yōu)化特征點(diǎn)提取方法,以實(shí)現(xiàn)更好的跟蹤效果。