賈 亮,于昊充,王貴宇
(沈陽航空航天大學(xué)電子信息工程學(xué)院,沈陽 110136)
在計算機(jī)視覺領(lǐng)域中,跟蹤是非?;A(chǔ)且重要的技術(shù)之一,在軍事目標(biāo)導(dǎo)航,視頻監(jiān)控,無人機(jī)巡航,機(jī)器人感知等應(yīng)用中發(fā)揮著重要的作用。近年來,隨著相關(guān)濾波的出現(xiàn),使得魯棒性得到了顯著提升,矩形框由視頻的初始幀確定,再根據(jù)初始幀訓(xùn)練跟蹤器,在下一幀圖像進(jìn)行相關(guān)濾波計算,最大響應(yīng)值點即為下一幀的目標(biāo)位置,并用矩形框跟住目標(biāo),具備較高的運算速度。然而,并不能較好地應(yīng)對如目標(biāo)尺度變化,遮擋,快速運動,低分辨率,光照變化等復(fù)雜背景的問題。本文在傳統(tǒng)核相關(guān)濾波跟蹤(kernel correlation filter,KCF)算法的基礎(chǔ)上,通過對方向梯度直方圖(HOG)特征與顏色命名(CN)特征進(jìn)行線性融合,將融合后的特征代替?zhèn)鹘y(tǒng)KCF算法的單一特征,并且在更新階段引入平均峰值相關(guān) 能 量(average peak-to correlation energy,APCE)來判斷當(dāng)前幀是否進(jìn)行更新,從而解決在復(fù)雜背景下跟蹤失敗等問題,提高跟蹤性能。
KCF跟蹤算法通過建立循環(huán)矩陣,實現(xiàn)對目標(biāo)的密集采樣。并且通過核函數(shù)的方式將線性空間中的回歸問題擴(kuò)展到非線性空間,這樣就把低維空間不可分的情況擴(kuò)展到高維空間之后變線性可分,使得核相關(guān)濾波更加具有魯棒性。
在樣本采集的過程中,傳統(tǒng)的目標(biāo)跟蹤算法通常采用的是稀疏采樣方式,這樣的采集方式會導(dǎo)致目標(biāo)特征表達(dá)不完全,并且計算量也較大,運行速度較慢。KCF跟蹤算法是通過使用循環(huán)位移的方式對訓(xùn)練樣本進(jìn)行采樣,進(jìn)而可實現(xiàn)對目標(biāo)樣本的密集采樣。使用一個一維向量作為基本樣本=(,,…,x),通過循環(huán)移位對基本樣本進(jìn)行密集采樣:
根據(jù)循環(huán)矩陣在傅里葉域中可進(jìn)行對角化的性質(zhì),可將循環(huán)矩陣簡化為:
KCF跟蹤算法的分類器使用了嶺回歸分類器,嶺回歸分類器可以快速地得到訓(xùn)練目標(biāo)的閉式解,并且在實際應(yīng)用中,嶺回歸分類器擁有較高的性能水平,分類性能與SVM相近。通過采用嶺回歸找到一個回歸函數(shù):
式(3)中:為樣本,為濾波器系數(shù)。
通過該函數(shù)計算樣本x與回歸目標(biāo)y的平方誤差,并且使平方誤差最小化。該過程要使得誤差函數(shù)取最小值,即尋找最優(yōu)的:
式(4)中:為濾波器系數(shù),是正則化參數(shù),用于抑制過擬合。y是樣本x的期望輸出。
對式(3)求導(dǎo),使導(dǎo)數(shù)等于0求得,得到閉式解,寫成復(fù)數(shù)域的形式為:
式(5)中:是每個元素對應(yīng)一個樣本的標(biāo)簽的列向量,X為的共軛轉(zhuǎn)置。
將式(4)的循環(huán)矩陣進(jìn)行對角化,并用對角化形式來化簡式(5)中的嶺回歸公式,可得:
用矩陣元素的點乘代替矩陣求逆的運算過程,可大幅提高訓(xùn)練時的計算速度,并得到:
KCF采用高斯核函數(shù),其計算公式為:
在非線性問題的處理上,通過使用核函數(shù)把非線性問題從非線性空間轉(zhuǎn)換到線性空間,使在低維空間線性不可分到高維空間線性可分。濾波器表示為:
由此得出的最優(yōu)解問題變?yōu)閷ふ覍ε伎臻g中的最優(yōu)解。由高斯核可知:
使用核矩陣表示所有元素的點乘結(jié)果,其中K=(x,x)。所以可得:
引入核函數(shù)后得到嶺回歸的閉式解:
式(12)中:是核矩陣,是α的矢量。
若核矩陣為循環(huán)矩陣,可將式(11)化簡得到:
訓(xùn)練樣本和待測樣本的核矩陣通過K表示,并且和均由循環(huán)移位獲得,故K也是循環(huán)矩陣,即定義為:
將其代入式(10)中得
將其進(jìn)行傅里葉變換并進(jìn)行對角化處理得:
當(dāng)前幀中目標(biāo)的所在位置即為響應(yīng)()的峰值所在位置。
本文在KCF算法基礎(chǔ)上進(jìn)行了相關(guān)改進(jìn),算法的魯棒性有了明顯提高。改進(jìn)后算法的流程如圖1所示。其步驟如下:
圖1 改進(jìn)后的KCF算法流程
(1)特征提取階段分別計算HOG特征與CN特征,將HOG特征與CN特征進(jìn)行線性融合;
(2)相關(guān)濾波階段使用新的特征進(jìn)行計算,并計算當(dāng)前幀的響應(yīng)值;
(3)更新階段采用APCE更新準(zhǔn)則,防止遮擋等干擾導(dǎo)致更新錯誤信息使得跟蹤失??;
(4)通過確定目標(biāo)區(qū)域與每一個像素的相似度,來確定這一幀的目標(biāo)位置。
傳統(tǒng)的KCF跟蹤算法對目標(biāo)特征的提取通常采用單一的目標(biāo)特征,但使用單一的目標(biāo)特征會導(dǎo)致跟蹤器在存在大量復(fù)雜背景的場景中跟蹤失敗,例如:HOG特征在目標(biāo)背景具有較強(qiáng)的光照變化、目標(biāo)與背景顏色相近等干擾情況下具有較強(qiáng)的穩(wěn)定性,但是在快速運動、模糊背景等干擾下的適應(yīng)性較差;CN特征在快速運動、低分辨率等情況下表現(xiàn)良好,但是對于顏色干擾表現(xiàn)較差。為了解決這一問題,本文將HOG特征與CN特征進(jìn)行線性融合,因兩者可以相互彌補(bǔ)其缺點,所以本文算法采用這兩種特征進(jìn)行線性融合來提高跟蹤精度,并將融合后的特征用于目標(biāo)跟蹤。
HOG用于檢測目標(biāo)的幾何特征。通過計算目標(biāo)區(qū)域的梯度方向直方圖的方式來描述感興趣目標(biāo)的特征,因HOG反映的是目標(biāo)的外形輪廓,對目標(biāo)的顏色變化不敏感,但是對于模糊背景以及遮擋等適應(yīng)性較差。
CN是一種描述顏色語言的顏色標(biāo)簽。CN特征能夠檢測目標(biāo)的顏色,檢測的顏色信息為目標(biāo)的重要特征信息,在快速運動、低幀數(shù)背景和光照變化等復(fù)雜背景下的敏感度很低,但是無法良好地應(yīng)對顏色相似干擾。
本文算法多特征融合的具體步驟為:
(1)進(jìn)行HOG特征與CN特征的特征提??;
(2)將HOG特征與CN特征進(jìn)行線性融合,HOG特征的通道數(shù)為31,CN特征的通道數(shù)為10,融合后得到41個通道特征;
(3)通過對應(yīng)像素相加的方式將41個通道特征進(jìn)行相加,最終得到一個單通道的特征圖。
在目標(biāo)跟蹤過程中,除了初始幀之外,每一次跟蹤器更新前增加一個多峰值檢測機(jī)制,在沒有出現(xiàn)干擾的情況下,響應(yīng)的峰值都將出現(xiàn)單一峰值;如果出現(xiàn)遮擋等復(fù)雜背景的干擾,響應(yīng)將不再是單峰值,而是會出現(xiàn)多峰值情況。如圖2所示。
圖2采集自O(shè)TB-100數(shù)據(jù)集中的Jogging序列,在第51幀時未出現(xiàn)遮擋,響應(yīng)呈現(xiàn)單峰值;在第79幀出現(xiàn)了明顯的多峰值,這表明在此刻周圍環(huán)境出現(xiàn)了遮擋,跟蹤器計算了大量相似的背景信息,但無法正確尋找響應(yīng)最大值,導(dǎo)致目標(biāo)丟失,跟蹤失敗。
圖2 Jogging圖像序列的第51幀、第79幀的響應(yīng)圖
在原有核相關(guān)濾波算法(KCF)基礎(chǔ)上加入APCE更新準(zhǔn)則,并且只有在檢測的響應(yīng)值存在唯一且明顯的單峰值時,才會對跟蹤器進(jìn)行更新。若出現(xiàn)干擾等產(chǎn)生多峰值,會根據(jù)當(dāng)前幀的APCE值和響應(yīng)峰值的最大值()來判斷目標(biāo)是否受到遮擋干擾。APCE更新準(zhǔn)則如下:
式(17)中:代表響應(yīng)最大值;代表響應(yīng)最小值;F代表目標(biāo)在(,)位置處的響應(yīng)值。
APCE更新準(zhǔn)則可以反映出跟蹤過程中的整體響應(yīng)情況,當(dāng)APCE驟然減小時,表示目標(biāo)受遮擋影響,為了避免在此幀更新干擾信息,跟蹤器將不會進(jìn)行更新。加入APCE評價標(biāo)準(zhǔn)即在一定程度上減少了跟蹤時跟蹤器的漂移情況,又減少了跟蹤器的更新次數(shù),起到了一定的加速效果。
在KCF算法中對跟蹤器系數(shù)進(jìn)行線性插值:
式(18)中:為下一幀的跟蹤器系數(shù);α為前一幀的跟蹤器系數(shù);為線性插值因子;α由當(dāng)前幀跟蹤器訓(xùn)練得到。
本文算法所用的實驗平臺配置為AMD Ryzen 7 4800 H with Radeon Graphics CPU,主頻2.9 GHz,8 G內(nèi)存,使用Matlab2018b開發(fā)平臺進(jìn)行測定。實驗中,傳統(tǒng)的KCF參數(shù)保持不變,padding值由原本的1.5設(shè)置為2.5,標(biāo)準(zhǔn)差設(shè)置為0.7,插值因子設(shè)置為0.014,正則項系數(shù)設(shè)置為0.0001。
本文實驗中,根據(jù)Wu等提出的OTB(online object tracking)跟蹤性能評估標(biāo)準(zhǔn)來評估本文算法的性能,并且評價指標(biāo)采用中心位置誤差(CLE)與重疊率(Overlap)。CLE是指通過算法計算得到的跟蹤目標(biāo)的中心坐標(biāo)與目標(biāo)所在的真實位置坐標(biāo)之間的歐氏距離:
式(19)中:(,)為算法計算所得的目標(biāo)中心坐標(biāo),(x,y)為目標(biāo)的真實位置坐標(biāo)。精確度是計算CLE小于某一閾值(本文取值為20 pixel)的視頻幀數(shù)占該視頻序列總幀數(shù)的百分比。
帕斯卡爾重疊率可用來評估跟蹤成功率,重疊率是指給定跟蹤框BT與實際跟蹤框BG區(qū)域面積的交集,而成功率計算的是目標(biāo)的重疊率大于設(shè)定的重疊率閾值(本文取值為0.5)的視頻幀數(shù)總和占總幀數(shù)的百分比大小:
為驗證改進(jìn)算法的魯棒性,將本文算法KCF_HC(包含多特征融合、APCE更新標(biāo)準(zhǔn))、KCF_APCE(僅有APCE更新標(biāo)準(zhǔn))、KCF與當(dāng)前幾種具有較好跟蹤效果的相關(guān)濾波跟蹤算法進(jìn)行比較,精確度與成功率結(jié)果對比如圖3所示。
圖3 不同算法的精確度與成功率對比
從測試結(jié)果可以看出,本文的改進(jìn)算法KCF_HC的精確度為79.3%,在所測算法中排在第2位,明顯優(yōu)于改進(jìn)前KCF算法的精確度。成功率為75.8%,也明顯優(yōu)于改進(jìn)前的KCF,在所有算法中也排在第2位。僅包含APCE更新標(biāo)準(zhǔn)的KCF_APCE算法的精確度與成功率分別為71.7%和64.7%,也略高于改進(jìn)前的KCF,表明增加多特征融合與APCE更新標(biāo)準(zhǔn)確實可以提高算法的魯棒性。
為了進(jìn)一步驗證本文改進(jìn)后的KCF算法的跟蹤性能,測試時選取了OTB-100數(shù)據(jù)集中較為經(jīng)典的具備遮擋的視頻序列,在視頻序列中同時標(biāo)注出改進(jìn)前與改進(jìn)后算法的跟蹤框進(jìn)行對比,如圖4所示。
在圖4(a)Jogging1視頻序列中,選擇跟蹤目標(biāo)為左側(cè)跑者,在第57幀時,兩種算法均可正常跟蹤;在第80幀時出現(xiàn)了遮擋情況,改進(jìn)后的KCF跟蹤器因此幀未進(jìn)行更新,所以沒有學(xué)習(xí)遮擋的背景信息;在第91幀可明顯看出改進(jìn)前KCF因?qū)W習(xí)了背景信息,跟蹤框停留在遮擋處,改進(jìn)后的KCF則正常跟蹤。
圖4 改進(jìn)前與改進(jìn)后的KCF算法在Jogging1、Couple上的跟蹤效果
在圖4(b)Couple視頻序列中,因該視頻序列全程存在窗口劇烈晃動,所以只有在初始時兩算法均正常跟蹤。在后續(xù)幀中改進(jìn)前KCF只進(jìn)行HOG特征提取,而改進(jìn)后的KCF因結(jié)合了CN特征,所以可以正常跟蹤。
本文在對核相關(guān)濾波算法進(jìn)行的研究中,針對傳統(tǒng)KCF在單一特征及復(fù)雜背景下跟蹤失敗的問題,提出了多特征融合的方法,解決了在復(fù)雜背景下只采用單一目標(biāo)特征跟蹤效果不理想的問題;同時提出多峰值檢測更新機(jī)制,解決了跟蹤過程中因出現(xiàn)遮擋導(dǎo)致跟蹤失敗的問題。通過OTB視頻序列跟蹤效果的對比驗證,在快速運送、遮擋等復(fù)雜背景下仍可良好的進(jìn)行跟蹤,同時也提高了魯棒性,綜合性較為良好。