馬 珺,王昱皓
太原理工大學(xué) 物理與光電工程學(xué)院,太原030600
計(jì)算機(jī)視覺已經(jīng)在許多領(lǐng)域得到運(yùn)用,其中目標(biāo)跟蹤作為其重要的組成部分,已經(jīng)成為研究的熱點(diǎn)問題。目標(biāo)跟蹤在商業(yè)領(lǐng)域中可以用于智能監(jiān)控、人機(jī)交互、行人與車輛的視頻監(jiān)控;軍事領(lǐng)域中可以用于無人機(jī)偵察監(jiān)視、敵對(duì)目標(biāo)的自動(dòng)定位和追蹤;雖然經(jīng)過多年的發(fā)展,目標(biāo)跟蹤技術(shù)已經(jīng)取得了長(zhǎng)足的進(jìn)步。但由于跟蹤對(duì)象運(yùn)動(dòng)的不可預(yù)知性和所處環(huán)境的復(fù)雜性,目標(biāo)跟蹤仍然存在許多亟待解決的難點(diǎn)。由于目標(biāo)跟蹤存在遮擋(Occlusion)、形變(Deformation)、快速運(yùn)動(dòng)(Fast Motion)、背景雜波(Background Clutters)、光照變化(Illumination Variation)、超出視野(Out-of-View)、平面內(nèi)旋轉(zhuǎn)(In-Plane Rotation)、平面外旋轉(zhuǎn)(Out-of-Plane Rotation)等問題。這些因素都會(huì)造成目標(biāo)模型漂移甚至造成目標(biāo)跟蹤的失敗,對(duì)跟蹤算法的性能提出了很高的要求。
近年來,由于對(duì)跟蹤算法的準(zhǔn)確度和實(shí)時(shí)性提出了更高的要求,基于相關(guān)濾波的目標(biāo)跟蹤算法憑借其高效的計(jì)算效率和良好的跟蹤性能引起了研究人員極大的關(guān)注。Bolme等[1]提出MOSSE算法,該算法首次將相關(guān)濾波引入目標(biāo)跟蹤領(lǐng)域。在計(jì)算目標(biāo)和待測(cè)樣本集之間相關(guān)性時(shí),其通過傅里葉變換,直接將運(yùn)算轉(zhuǎn)換到頻域中,大大降低運(yùn)算量,提高了運(yùn)算速度,跟蹤速度甚至能達(dá)到每秒數(shù)百幀。隨后,Henriques 等[2]在MOSSE 的基礎(chǔ)上提出了采用循環(huán)矩陣結(jié)構(gòu)和核空間映射的CSK方法。這種方法只需要在目標(biāo)位置提取待測(cè)樣本,然后利用循環(huán)偏移方式增加訓(xùn)練樣本的數(shù)量,使訓(xùn)練結(jié)果更準(zhǔn)確。2014年,Henriques等[3]在CSK的基礎(chǔ)上提出核相關(guān)濾波KCF,該方法將CSK 單通道灰度特征擴(kuò)展為基于HOG 多維特征,極大地提高了相關(guān)濾波目標(biāo)跟蹤的魯棒性。雖然上述算法在跟蹤速度和性能有很大的提高,但是當(dāng)目標(biāo)出現(xiàn)遮擋或者尺度變化時(shí),在每幀都進(jìn)行更新的情況下,會(huì)出現(xiàn)模型漂移從而影響跟蹤性能。Danelljan 等[4]提出尺度空間判別跟蹤方法DSST,采用單獨(dú)的尺度濾波器來對(duì)目標(biāo)的尺度變化進(jìn)行判斷從而解決尺度變化問題。Dong 等[5]通過構(gòu)建分類池緩存以往模板。當(dāng)出現(xiàn)重度遮擋時(shí),通過選擇最佳分類器進(jìn)行重新檢測(cè)來解決其中的遮擋問題。TLD[6]算法雖然引入檢測(cè)模塊,在判斷跟蹤目標(biāo)丟失時(shí)對(duì)每一幀圖片進(jìn)行全局搜索來定位目標(biāo)可能出現(xiàn)的位置。然而,這種方式有較大的盲目性計(jì)算效率不高,甚至無法得到較優(yōu)的結(jié)果。Li等[7]提出了RPT跟蹤算法,該算法利用蒙特卡羅框架估計(jì)置信度高的塊分布,對(duì)部分遮擋比較有效,但是目標(biāo)被長(zhǎng)時(shí)間遮擋時(shí)很容易發(fā)生模型漂移問題從而導(dǎo)致跟蹤失敗。胡昭華等人[8]提出一種融合人工特征與深度特征目標(biāo)跟蹤方法,驗(yàn)證了雙支路框架的可行性,提升了目標(biāo)跟蹤的效果。孫健等人[9]提出一種改進(jìn)型的核相關(guān)濾波跟蹤算法,用SVM 分類器檢測(cè)目標(biāo)。但是該方法沒有提出在遮擋等情況下目標(biāo)跟蹤置信度問題,無法有效處理目標(biāo)遮擋等情況。
劉芳等[10]提出基于深度特征的自適應(yīng)模板更新算法去解決遮擋尺度變化等問題,取得了很好的跟蹤效果,但是該方法采用卷積神經(jīng)網(wǎng)絡(luò)去提取目標(biāo)特征,計(jì)算復(fù)雜度比較高,耗時(shí)嚴(yán)重。Sui 等[11]提出利用一種新的峰值強(qiáng)度來衡量相關(guān)濾波器的判別能力,很好地解決了由于遮擋和局部形變而導(dǎo)致的性能下降問題。
雖然以上跟蹤算法針對(duì)目標(biāo)跟蹤過程中出現(xiàn)遮擋、形變等問題進(jìn)行了改進(jìn)取得了不錯(cuò)的跟蹤效果[12-17],但在跟蹤過程中仍存在以下問題:一個(gè)問題是很多算法沒有對(duì)跟蹤結(jié)果進(jìn)行可靠性的判定[18-19],每一幀的結(jié)果都用來更新,或者每隔幾幀更新一次。當(dāng)目標(biāo)出現(xiàn)被遮擋等情況時(shí),利用不可靠的數(shù)據(jù)去更新模型,只會(huì)使得跟蹤器越來越無法識(shí)別目標(biāo),造成模型漂移。另一個(gè)問題是當(dāng)跟蹤目標(biāo)被遮擋、劇烈形變甚至丟失視野時(shí),這些算法無法進(jìn)行有效的重新檢測(cè),重新找到所跟蹤的目標(biāo)[20-23]。針對(duì)以上問題,本文提出了一種基于自適應(yīng)更新策略和再檢測(cè)技術(shù)的關(guān)聯(lián)跟蹤算法。通過自適應(yīng)更新策略和再檢測(cè)策略雙重檢測(cè)機(jī)制,提高了相關(guān)濾波跟蹤結(jié)果的準(zhǔn)確性和魯棒性。
本文采用核相關(guān)濾波目標(biāo)跟蹤框架,通過跟蹤算法對(duì)所標(biāo)定的目標(biāo)區(qū)域進(jìn)行訓(xùn)練得到濾波器更新模板。在目標(biāo)的跟蹤過程中利用相關(guān)性找到與濾波器模板相關(guān)度最高的位置標(biāo)記為目標(biāo)可能存在的位置。最后利用自適應(yīng)更新策略和再檢測(cè)策略對(duì)目標(biāo)可能存在的位置進(jìn)行置信度判斷和對(duì)不可靠的位置進(jìn)行重新定位。具體算法流程如圖1所示。
步驟1訓(xùn)練目標(biāo)跟蹤模板。根據(jù)目標(biāo)所在的矩形區(qū)域及背景樣本提取目標(biāo)特征,采用相關(guān)濾波方法訓(xùn)練目標(biāo)濾波器模板,并估計(jì)目標(biāo)在下一幀所在的新的位置。
步驟2目標(biāo)尺度估計(jì)。在下一幀圖像目標(biāo)范圍提取目標(biāo)特征,構(gòu)建目標(biāo)金字塔,估計(jì)出最優(yōu)尺度。
步驟3模板更新。采用自適應(yīng)更新策略機(jī)制對(duì)目標(biāo)響應(yīng)峰值位置進(jìn)行置信度判斷并對(duì)模版進(jìn)行自適應(yīng)更新。
步驟4目標(biāo)重新檢測(cè)。構(gòu)造在線SVM 檢測(cè)器,當(dāng)跟蹤目標(biāo)被長(zhǎng)期遮擋或者在視野外發(fā)生跟蹤失敗等情況時(shí),啟動(dòng)檢測(cè)器對(duì)目標(biāo)重新定位。
步驟5目標(biāo)跟蹤。循環(huán)步驟1~步驟4 直至跟蹤結(jié)束。
本文采用核相關(guān)濾波(KCF)架構(gòu),該算法的思想是通過對(duì)圖像塊進(jìn)行循環(huán)密集采樣構(gòu)造循環(huán)矩陣,豐富目標(biāo)樣本。然后基于循環(huán)矩陣的特性,利用循環(huán)矩陣對(duì)角化,把對(duì)問題的求解變換到了離散傅里葉變換域。這一過程免了矩陣求逆問題,大大縮減計(jì)算復(fù)雜度,提高了訓(xùn)練速度,最終達(dá)到快速跟蹤目標(biāo)的目地。樣本訓(xùn)練采用嶺回歸函數(shù)訓(xùn)練分類器,通過訓(xùn)練出的分類器對(duì)新輸入的圖像與前一幀圖像進(jìn)行相關(guān)性判斷,目標(biāo)響應(yīng)峰值位置可認(rèn)為就是所預(yù)測(cè)的目標(biāo)可能存在的位置。樣本訓(xùn)練過程實(shí)際上是一個(gè)嶺回歸問題,訓(xùn)練的目的就是找到函數(shù)f(z)=wTz,使得平方誤差達(dá)到最小值,即:
核相關(guān)濾波器就是引入核函數(shù),求解核空間的嶺回歸。通過非線性映射函數(shù)φ(x),將特征空間映射到一個(gè)更高維的空間,使映射后的樣本在新空間中線性可分。此時(shí)分類器特征向量為優(yōu)化問題轉(zhuǎn)化為求解向量α問題。引入核函數(shù)κ(xi,xj),目標(biāo)函數(shù)可表示為:
對(duì)式(1)求解得:
式中,K為構(gòu)造循環(huán)矩陣,I為單位矩陣。
利用循環(huán)矩陣的性質(zhì),通過離散傅里葉變換對(duì)α進(jìn)行求解得:
式中,α^ 為目標(biāo)濾波器的參數(shù),在傅里葉域中向量x與其自身的核相關(guān)性。
為對(duì)所追蹤的目標(biāo)進(jìn)行快速追蹤,確定當(dāng)前幀目標(biāo)的位置,引入核矩陣Kz=C(kxz),對(duì)式(2)進(jìn)行求解,并求傅里葉變換得:
式中,αt為采用插值更新后第t幀目標(biāo)濾波器參數(shù),xt為采用插值更新后第t幀模型的特征。η為模型更新插值。′為在第t幀所求目標(biāo)濾波器參數(shù),′為第t幀所求模型特征。
在實(shí)際的目標(biāo)跟蹤過程中,所跟蹤目標(biāo)的運(yùn)動(dòng)場(chǎng)景非常復(fù)雜并且經(jīng)常發(fā)生變化。例如,目標(biāo)的遮擋(Occlusion)、形變(Deformation)、快速運(yùn)動(dòng)(Fast Motion)等。想實(shí)現(xiàn)長(zhǎng)時(shí)間穩(wěn)定的跟蹤,還面臨很多的限制和挑戰(zhàn)。在目標(biāo)跟蹤的過程中,如果不對(duì)每一幀數(shù)據(jù)的有效性進(jìn)行判斷就更新模版,當(dāng)目標(biāo)發(fā)生遮擋等情況時(shí),目標(biāo)模版會(huì)學(xué)習(xí)到錯(cuò)誤的目標(biāo)表征信息而引起模型漂移,進(jìn)而導(dǎo)致跟蹤失敗。因此針對(duì)以上情況,制定一個(gè)有效的目標(biāo)模版更新策略對(duì)目標(biāo)跟蹤結(jié)果進(jìn)行評(píng)判是很有必要的。
圖2 目標(biāo)在不同場(chǎng)景下跟蹤響應(yīng)分布
在目標(biāo)跟蹤的過程中,可以根據(jù)響應(yīng)圖的分布情況對(duì)所跟蹤目標(biāo)進(jìn)行準(zhǔn)確度判斷,響應(yīng)圖的峰值越高說明跟蹤的結(jié)果越好。如圖2 所示,在圖2(a)為目標(biāo)在第1幀所處的位置和目標(biāo)響應(yīng)分布。當(dāng)所跟蹤的目標(biāo)背景簡(jiǎn)單無遮擋時(shí),目標(biāo)跟蹤準(zhǔn)確,響應(yīng)圖為一個(gè)很明顯的單峰并且響應(yīng)分布接近理想的二維高斯分布圖;圖2(b)中,第48幀中的目標(biāo)被部分遮擋,目標(biāo)周圍存在干擾物體。響應(yīng)圖開始出現(xiàn)震蕩,峰值減小;圖2(c)中,所跟蹤的目標(biāo)被完全遮擋,響應(yīng)圖出現(xiàn)多峰且峰值很小。如果按照最大峰值的位置為所跟蹤的目標(biāo),在54 幀所跟蹤的目標(biāo)由于被遮擋而出現(xiàn)偽峰,峰值最大的位置不是目標(biāo)所在的位置。如果只用這一個(gè)判據(jù)對(duì)模型進(jìn)行更新,會(huì)因判斷不準(zhǔn)確而使模型漂移到被遮擋物體上,導(dǎo)致后續(xù)跟蹤失敗。
置信度判斷依據(jù)兩個(gè)指標(biāo):第一是響應(yīng)圖峰值Fmax大??;第二是響應(yīng)圖的波動(dòng)情況APCE。用變量EAPCE表示平均峰值相關(guān)能量,如公式(7)所示:
式中,F(xiàn)max、Fmin為目標(biāo)響應(yīng)的最大值和最小值。Fw,h為目標(biāo)在響應(yīng)矩陣w行h列的值。如圖3所示。
圖3 目標(biāo)在不同場(chǎng)景下跟蹤響應(yīng)置信度分布
如圖3(a)所示,當(dāng)目標(biāo)正常跟蹤時(shí),目標(biāo)響應(yīng)最大值為Fmax=0.730 5并且平均峰值能量EAPCE=117.371 8很高,此時(shí)目標(biāo)高度置信,可以對(duì)目標(biāo)模版進(jìn)行更新;在圖3(b)中,目標(biāo)被部分遮擋,目標(biāo)響應(yīng)最大值為Fmax=0.255 2降低,平均峰值能量EAPCE=10.751 6急劇減小。目標(biāo)響應(yīng)的波動(dòng)很大時(shí)可以判斷目標(biāo)處于低置信度狀態(tài),目標(biāo)模版參數(shù)保持不變防止模型漂移;在圖3(c)中,目標(biāo)被完全遮擋,目標(biāo)響應(yīng)最大值為Fmax=0.151 5 和平均峰值能量EAPCE=5.233 5 都很低,目標(biāo)響應(yīng)出現(xiàn)很多偽峰且持續(xù)震蕩。Fmax和EAPCE這兩個(gè)數(shù)據(jù)指標(biāo)從局部和整體兩個(gè)角度反映了目標(biāo)跟蹤置信度情況,因此可以根據(jù)這兩個(gè)指標(biāo)判斷目標(biāo)是否被遮擋。
在目標(biāo)跟蹤過程中,對(duì)目標(biāo)是否被遮擋進(jìn)行判斷,采用自適應(yīng)的更新策略對(duì)跟蹤模版進(jìn)行更新。本文通過對(duì)濾波器的響應(yīng)設(shè)置閾值的策略對(duì)目標(biāo)模版進(jìn)行更新。在視頻序列的第t幀中只有當(dāng)目標(biāo)跟蹤置信度指標(biāo)Fmax和EAPCE分別以一定比例超過自身的歷史均值時(shí),可以認(rèn)定當(dāng)前幀可置信。置信度閾值Tr為:
式中,α,β模版更新置信度參數(shù)。
目標(biāo)跟蹤過程中置信度策略如圖4 所示,圖中所示的是在Jogging 序列中所跟蹤的目標(biāo)從第30 幀到第70 幀狀態(tài)的變化。目標(biāo)從完全顯示無遮擋到部分遮擋、完全遮擋再到完全顯示在視野中幾種運(yùn)動(dòng)狀態(tài)的變化。
圖4 在Jogging序列中目標(biāo)跟蹤置信度
在目標(biāo)跟蹤的過程中,依據(jù)目標(biāo)跟蹤置信度指標(biāo)Fmax和EAPCE對(duì)所跟蹤目標(biāo)的置信度進(jìn)行判斷。目標(biāo)響應(yīng)峰值Fmax的歷史均值與模版更新置信度參數(shù)α的乘積所得的曲線為目標(biāo)響應(yīng)峰值置信度曲線;平均峰值EAPCE的歷史均值與模版更新置信度參數(shù)β的乘積所得的曲線為平均峰值波動(dòng)置信度曲線。當(dāng)目標(biāo)響應(yīng)的峰值處于目標(biāo)響應(yīng)峰值置信度曲線上方時(shí),可認(rèn)為當(dāng)前峰值處于可置信狀態(tài);同理,當(dāng)平均峰值EAPCE處于平均峰值波動(dòng)置信度曲線上方時(shí),可以認(rèn)為當(dāng)前幀的峰值波動(dòng)情況可以接受,目標(biāo)處于可置信狀態(tài)。在圖4 中,45~55幀這一區(qū)間處于低置信度狀態(tài),目標(biāo)處于部分遮擋到完全遮擋這一狀態(tài)中。實(shí)驗(yàn)所得結(jié)果與實(shí)際情況基本一致。在本算法中參數(shù)α=0.45,β=0.6。
在目標(biāo)跟蹤過程中需要對(duì)跟蹤模版和SVM分類器進(jìn)行自適應(yīng)更新,以防止模型漂移。在本文中根據(jù)多種跟蹤情況設(shè)置不同置信度區(qū)間,更新策略如下:
式中,c=0.5EAPCE+0.5Fmax,n1=0.05,目標(biāo)處于高置信度狀態(tài),n2=0.01,啟動(dòng)SVM分類器進(jìn)行檢測(cè)。
目標(biāo)跟蹤過程中模板更新系數(shù)的變化如圖5所示,圖中所示的是在Jogging 序列中目標(biāo)從第30 幀到第70幀狀態(tài)的變化。在視頻序列的第30 幀到第35 幀之間,所跟蹤目標(biāo)沒有被遮擋。目標(biāo)跟蹤的置信度為所設(shè)定的閾值的2 倍,此時(shí)目標(biāo)處于高置信度狀態(tài),以固定值n1更新濾波器模版與SVM分類器。在視頻序列的第35幀到45幀之間,目標(biāo)逐漸被遮擋,目標(biāo)的跟蹤置信度逐漸降低。當(dāng)目標(biāo)跟蹤的置信度大于可信度閾值時(shí),停止更新SVM分類器并地更新濾波器模版。在這一階段動(dòng)態(tài)調(diào)整跟蹤過程中的模板更新系數(shù),使濾波器模版具有更強(qiáng)的適應(yīng)性。在視頻序列的第45 幀到第60 幀之間,目標(biāo)處于完全被遮擋狀態(tài),目標(biāo)跟蹤的置信度小于可置信度閾值。此時(shí)目標(biāo)處于低置信度狀態(tài),啟動(dòng)SVM 分類器并以固定值n2更新濾波器模版,防止模型漂移。在視頻序列的第60 幀之后,目標(biāo)開始重新出現(xiàn)并根據(jù)目標(biāo)的狀態(tài)動(dòng)態(tài)地調(diào)整模板更新系數(shù),使其具有自適應(yīng)能力。
圖5 在Jogging序列中模板更新系數(shù)分布
在目標(biāo)跟蹤的過程中,由于目標(biāo)外觀變化、突然快速移動(dòng)或者長(zhǎng)時(shí)間被遮擋而出現(xiàn)所跟蹤的目標(biāo)丟失視野而導(dǎo)致跟蹤失敗。如圖4 和圖5 所示,在視頻序列的第45幀到第60幀之間,此時(shí)目標(biāo)被嚴(yán)重遮擋,目標(biāo)的置信度很低。如果仍以比較高的模板更新系數(shù)對(duì)濾波器模板進(jìn)行更新,可能會(huì)造成模型漂移甚至跟蹤失敗。因此,當(dāng)目標(biāo)處于低置信度狀態(tài)時(shí),濾波器模板以n1=0.01 的系數(shù)更新模板以保持模板的有效性。針對(duì)以上問題,本文提出當(dāng)SVM再檢測(cè)策略,即所跟蹤的目標(biāo)置信度低于所設(shè)定的可信度閾值Tr時(shí),啟動(dòng)SVM檢測(cè)器對(duì)所跟蹤目標(biāo)進(jìn)行重新定位。在置信度高的幀中對(duì)所跟蹤的目標(biāo)及其周圍的背景進(jìn)行訓(xùn)練,得到密集的訓(xùn)練樣本,并為這些樣本特征向量分配標(biāo)簽。即,{(fi,ci)|i=1,2,…,N}。式中,f是樣本的特征向量,c是標(biāo)簽ci∈{+1,-1} 。通過SVM檢測(cè)器,對(duì)所跟蹤目標(biāo)的預(yù)測(cè)位置為中心密集地繪制樣本,并對(duì)每個(gè)跟蹤目標(biāo)預(yù)測(cè)的位置進(jìn)行打分,最后選擇分值最大的圖像位置為SVM 檢測(cè)器預(yù)測(cè)位置。
SVM 分類器使用非線性映射方法,將分類問題轉(zhuǎn)換為搜索最優(yōu)超平面的問題。
分類平面可定義為:
在線性可分時(shí):
在本文中偏置量b在第一幀用所求得為固定值。因此通過求解w值可得最佳分類平面。SVM分類器求得超平面滿足下式:
每個(gè)跟蹤目標(biāo)預(yù)測(cè)的位置得分可定義為:
具體過程如圖6所示。
圖6 目標(biāo)丟失檢測(cè)器重新找到目標(biāo)
在目標(biāo)跟蹤過程中,視頻中的女子在經(jīng)過柱子時(shí),所跟蹤的目標(biāo)出現(xiàn)丟失。經(jīng)過長(zhǎng)時(shí)間的遮擋,濾波器學(xué)習(xí)到錯(cuò)誤信息,置信度持續(xù)下降。在目標(biāo)的置信度低于設(shè)定的閾值Tr時(shí),啟動(dòng)SVM分類器進(jìn)行重新檢測(cè)。由于在相鄰幾幀圖像中目標(biāo)形狀與位置一般不會(huì)發(fā)生太大的變化,因此目標(biāo)中心搜索區(qū)域大小設(shè)定為上一幀目標(biāo)外接框大小的2倍,并在此搜索范圍內(nèi)采用滑動(dòng)窗口的方式在預(yù)測(cè)區(qū)域進(jìn)行搜索。此方法避免在算法在整幅圖像上進(jìn)行盲目地搜索,提高了運(yùn)算速度。在搜索的過程中,對(duì)每一個(gè)圖像塊進(jìn)行特征提取的HOG 特征向量作為上式中f的值,通過式(13)對(duì)所有的候選區(qū)域進(jìn)行打分,當(dāng)分?jǐn)?shù)為正時(shí)樣本為正。最終獲得的得分最高的陽(yáng)性樣本可作為目標(biāo)檢測(cè)器所尋找到的可靠位置,流程結(jié)束。
本文的仿真實(shí)驗(yàn)均在CPU 為Intel 酷睿i5 主頻2.5 GHz,內(nèi)存8 GB計(jì)算機(jī)環(huán)境,編程環(huán)境為matlab2018a進(jìn)行。為了充分驗(yàn)證本文所提算法的準(zhǔn)確性和魯棒性,本實(shí)驗(yàn)選擇OTB2013[12]作為測(cè)試數(shù)據(jù)集。在OTB2013數(shù)據(jù)集中的跟蹤目標(biāo)都具有遮擋(Occlusion)、形變(Deformation)、快速運(yùn)動(dòng)(Fast Motion)、背景雜波(Background Clutters)、光照變化(Illumination Variation)、超出視野(Out-of-View)、平面內(nèi)旋轉(zhuǎn)(In-Plane Rotation)、平面外旋轉(zhuǎn)(Out-of-Plane Rotation)等屬性,可通過這些影響因素對(duì)所測(cè)試的目標(biāo)跟蹤算法的魯棒性有一個(gè)更全面、可靠的評(píng)價(jià)。
為了直觀地對(duì)本文中所提的目標(biāo)跟蹤算法進(jìn)行評(píng)估,將本文的算法與近幾年所提的幾種主流的相關(guān)濾波跟蹤算法進(jìn)行對(duì)比實(shí)驗(yàn)。選取以下幾種主流算法作為對(duì)比:KCF、DSST、TLD、MIL、Struck等5個(gè)目標(biāo)跟蹤算法。
(1)目標(biāo)跟蹤中心誤差(Precision Plot)
目標(biāo)跟蹤的精度的測(cè)算主要通過計(jì)算每一幀所預(yù)測(cè)的位置中心點(diǎn)與benchmark 中所標(biāo)注的目標(biāo)中心點(diǎn)之間的歐式距離。通過歐式距離的大小評(píng)估目標(biāo)跟蹤的精度,歐式距離越小,精度越高。
(2)目標(biāo)跟蹤成功率(Success Plot)
目標(biāo)跟蹤的成功率是對(duì)目標(biāo)追蹤算法所得的邊界框與benchmark 中所給定的邊界框重合率的計(jì)算。計(jì)算公式如下:
式中,Ra、Rb分別為目標(biāo)跟蹤算法所得邊界框與數(shù)據(jù)集所給的真實(shí)的邊界框。當(dāng)某幀的OS大于所設(shè)定的閾值時(shí),可認(rèn)為目標(biāo)被正確跟蹤。一般閾值設(shè)置為0.5。
5.3.1 定性分析
首先,對(duì)本文的算法與其他的算法在不同視頻序列中進(jìn)行定性分析。如圖7 所示,圖中顯示了6 種跟蹤算法在8個(gè)不同場(chǎng)景下跟蹤效果。
圖7 跟蹤算法在復(fù)雜場(chǎng)景下跟蹤效果對(duì)比
本文所提算法主要是為解決目標(biāo)在被遮擋等復(fù)雜情況下重新定位目標(biāo)的問題。為驗(yàn)證算法的有效性,從OTB 數(shù)據(jù)集選取suv、subway、jogging1、jogging2、david3、shaking、freeman4、coke 等視頻序列進(jìn)行測(cè)試,這些視頻序列都包含目標(biāo)被完全遮擋等復(fù)雜情況。具體跟蹤效果如圖7所示,在目標(biāo)跟蹤的過程中,由于本文所提算法對(duì)目標(biāo)置信度進(jìn)行判斷,根據(jù)置信度自適應(yīng)地對(duì)目標(biāo)模板進(jìn)行更新。當(dāng)目標(biāo)被完全遮擋又重新出現(xiàn)后,能迅速找到目標(biāo)位置進(jìn)行重新定位。具體分析如下:
(1)超出視野:在視頻序列suv 中,汽車在前進(jìn)的過程中出現(xiàn)超出視野和遮擋等情況,如圖7(a)所示。文中所提的方法相比于其他方法表現(xiàn)出更好的適應(yīng)能力,能更迅速準(zhǔn)確地找到目標(biāo)。
(2)背景雜波:以視頻序列subway 為參考,如圖7(b)所示。在所跟蹤的目標(biāo)附近,背景具有與目標(biāo)相似的顏色或紋理,目標(biāo)在運(yùn)動(dòng)中會(huì)出現(xiàn)部分遮擋的情況。由于目標(biāo)所處的環(huán)境比較復(fù)雜,這對(duì)算法的性能提出了更高的要求。文中對(duì)所跟蹤目標(biāo)進(jìn)行置信度判斷,有效減少因背景產(chǎn)生的錯(cuò)誤信息,并將其更新到目標(biāo)模型中。因此始終能準(zhǔn)確地跟蹤目標(biāo)。
(3)目標(biāo)遮擋:在視頻序列jogging1、jogging2、freeman4、coke 中,如圖7(c)、(d)、(g)、(h)所示。兩組jogging視頻序列中行人在跑步的過程中被柱子完全遮擋,目標(biāo)丟失。本文所提算法在行人經(jīng)過柱子前,對(duì)目標(biāo)進(jìn)行置信度判斷,當(dāng)目標(biāo)丟失啟動(dòng)再檢測(cè)模塊,目標(biāo)重新出現(xiàn)以后可以迅速地找到目標(biāo)。在freeman4 序列和coke序列均出現(xiàn)目標(biāo)被完全遮擋情況,其余算法在目標(biāo)丟失后發(fā)生漂移,甚至丟失目標(biāo)。本文算法對(duì)遮擋情況具有較好的魯棒性,能始終正確跟蹤目標(biāo)。
(4)形變:以視頻序列david3 為例,如圖7(e)所示。目標(biāo)在步行過程中被部分遮擋,此時(shí)運(yùn)動(dòng)目標(biāo)發(fā)生轉(zhuǎn)身等姿態(tài)變化。對(duì)比不同算法結(jié)果,本文所提的方法能對(duì)跟蹤目標(biāo)狀態(tài)的變化進(jìn)行準(zhǔn)確地跟蹤,其他算法出現(xiàn)了不同程度地漂移。
(5)光照變化:以視頻序列shaking 為例,如圖7(f)所示,檢測(cè)算法在光照發(fā)生變化時(shí)的跟蹤能力。視頻序列中光照變化來自于后面燈光的變化,在視頻序列中大部分的算法都發(fā)生了漂移等問題,但在后續(xù)的視頻幀中,當(dāng)光照逐漸增強(qiáng)時(shí)本文所提的算法可以持續(xù)穩(wěn)定地進(jìn)行跟蹤。
5.3.2 定量分析
本文主要采用目標(biāo)跟蹤中心誤差,目標(biāo)跟蹤成功率作為評(píng)價(jià)標(biāo)準(zhǔn)來檢測(cè)不同算法在不同場(chǎng)景下的跟蹤性能。圖8 為算法在OTB2013 目標(biāo)跟蹤數(shù)據(jù)集上所有的跟蹤結(jié)果的綜合評(píng)價(jià)。
圖8 綜合評(píng)價(jià)指標(biāo)對(duì)比結(jié)果
對(duì)比各算法在數(shù)據(jù)集上精度和成功率這兩項(xiàng)指標(biāo)可以發(fā)現(xiàn),本文所提的算法在目標(biāo)跟蹤精度上較KCF提高13.3%,較DSST提高13.8%。在目標(biāo)跟蹤的成功率上本文算法較KCF提高17.4%,較DSST提高8.8%。
表1、表2 為6 種跟蹤算法在不同的跟蹤環(huán)境條件下跟蹤性能的比較。跟蹤環(huán)境包括:遮擋(Occlusion)、形變(Deformation)、快速運(yùn)動(dòng)(Fast Motion)、背景雜波(Background Clutters)、光照變化(Illumination Variation)、超出視野(Out-of-View)、平面內(nèi)旋轉(zhuǎn)(In-Plane Rotation)、平面外旋轉(zhuǎn)(Out-of-Plane Rotation)。由表1 與表2 中的數(shù)據(jù)分析可知,本文所提的算法與其他算法相比,本文所提算法在大部分的跟蹤環(huán)境下為最優(yōu)結(jié)果。
表1 算法精度跟蹤性能對(duì)比 %
表2 算法成功率跟蹤性能對(duì)比%
5.3.3 復(fù)雜度分析
在自適應(yīng)更新策略階段,在對(duì)跟蹤目標(biāo)響應(yīng)峰值的波動(dòng)情況進(jìn)行分析時(shí),平均峰值相關(guān)能量EAPCE時(shí)耗費(fèi)的時(shí)間復(fù)雜度為O(n2)。在再檢測(cè)階段,使用SVM分類器去尋找最優(yōu)解。當(dāng)訓(xùn)練樣本的個(gè)數(shù)為n時(shí),對(duì)于一個(gè)測(cè)試樣本標(biāo)準(zhǔn)支持向量機(jī)的時(shí)間復(fù)雜度是O(n3)。在本文中基于自適應(yīng)更新策略和再檢測(cè)技術(shù)算法所需的時(shí)間復(fù)雜度為:
由式(15)可知,本文所提的算法時(shí)間主要消耗在尋找最優(yōu)解的步驟中。雖然跟KCF算法相比本文所提算法速度為20.4 幀/s,在速度上有所降低。但在目標(biāo)跟蹤精度上較KCF提高13.3%,在目標(biāo)跟蹤的成功率上本文算法較KCF 提高17.4%。與KCF 算法相比性能上有較大的提升,并且能滿足實(shí)時(shí)跟蹤的要求,在OTB數(shù)據(jù)集上顯示,本文所提算法具有良好的跟蹤性能。
本文提出了一種基于自適應(yīng)更新策略和再檢測(cè)技術(shù)的關(guān)聯(lián)跟蹤算法對(duì)目標(biāo)進(jìn)行實(shí)時(shí)跟蹤。利用目標(biāo)響應(yīng)峰值和平均峰值的波動(dòng)情況,對(duì)目標(biāo)響應(yīng)峰值進(jìn)行置信度的判斷。根據(jù)所提的自適應(yīng)更新策略動(dòng)態(tài)調(diào)整濾波器模版更新系數(shù),對(duì)目標(biāo)跟蹤模版進(jìn)行更新。當(dāng)判斷目標(biāo)此時(shí)處于低置信度狀態(tài)時(shí),用再檢測(cè)模塊對(duì)低置信度的位置進(jìn)行重新檢測(cè),重新選擇出最優(yōu)的預(yù)測(cè)位置。通過實(shí)驗(yàn)表明本文所提算法在目標(biāo)被遮擋或目標(biāo)外觀發(fā)生突變時(shí),能實(shí)現(xiàn)對(duì)目標(biāo)跟蹤模版的自適應(yīng)判斷和更新。在目標(biāo)被嚴(yán)重遮擋時(shí)可對(duì)目標(biāo)進(jìn)行重新檢測(cè)并尋找到目標(biāo),可有效解決在長(zhǎng)時(shí)間的跟蹤過程中目標(biāo)被遮擋、丟失視野等問題。