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