李遠(yuǎn)狀,韓彥芳,于書盼
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
目標(biāo)跟蹤是機(jī)器視覺領(lǐng)域中一項(xiàng)應(yīng)用廣泛的重要課題,其在視頻監(jiān)控、醫(yī)學(xué)成像、機(jī)器人視覺、安防等應(yīng)用中都扮演著重要的角色[1]。雖然目標(biāo)跟蹤在近年來取得了明顯的進(jìn)展,但如光照變化、尺度變化、快速運(yùn)動(dòng)和遮擋等問題[2]并沒有得到有效解決。
基于判別式分類器的單目標(biāo)跟蹤算法是近幾年的主流算法,與傳統(tǒng)的跟蹤算法相比其跟蹤的性能和精度有顯著提升。基于判別式跟蹤算法有核結(jié)構(gòu)化輸出跟蹤(Structured output tracking with kernel,Struck)[3]算法、多樣例學(xué)習(xí)(Multiple Instance Learning,MIL)[4]跟蹤算法、跟蹤-學(xué)習(xí)-檢測(cè)(Tracking Learning Detection,TLD)[5]跟蹤算法等。這些算法將目標(biāo)跟蹤看成一個(gè)分類問題處理,對(duì)已有目標(biāo)圖像的周圍進(jìn)行采樣,通過判斷樣本是背景還是目標(biāo)將樣本劃分為正負(fù)樣本利用在線或離線的方式訓(xùn)練分類器,再用訓(xùn)練好的分類器檢測(cè)候選樣本得到目標(biāo)位置。然而,受限于這些算法的采樣方式,訓(xùn)練樣本和候選樣本數(shù)量有限,無法得到分類精度較高的分類器,并且跟蹤性能明顯不足。Bolme 等[6]提出一種最小平方誤差和輸出(Minimum Output Sum of Squared Error,MOSSE)跟蹤算法,該算法提高了上述算法的運(yùn)算效率,然而有限的候選樣本還是限制了其跟蹤性能。Henriques 等[7]提出核循環(huán)結(jié)構(gòu)檢測(cè)跟蹤(Circulant Structure of tracking-by-detection with kernel,CSK)跟蹤算法,該算法通過對(duì)單個(gè)樣本進(jìn)行循環(huán)移位得到了大量的訓(xùn)練樣本。使用同樣的方法也可以得到大量的候選樣本,彌補(bǔ)了大多數(shù)算法的不足,同時(shí)計(jì)算過程變換在頻域?qū)崿F(xiàn)了快速計(jì)算。之后同一作者在CSK的基礎(chǔ)上提出了核相關(guān)濾波器(Kernelized Correlation Filter,KCF)[8]跟蹤算法,該算法使用梯度方向直方圖(Histogram of Oriented Gradients,HOG)[9]特征對(duì)CSK算法進(jìn)行了改進(jìn)。然而,上述跟蹤算法著重于懟目標(biāo)位置的估計(jì),并沒有解決跟蹤過程中目標(biāo)尺度變化的問題,無法實(shí)現(xiàn)對(duì)目標(biāo)尺度變化顯著的視頻中目標(biāo)的有效跟蹤。
因此,針對(duì)KCF跟蹤算法不能自適應(yīng)目標(biāo)尺度變化的缺點(diǎn),本文在KCF跟蹤算法的基礎(chǔ)上提出了一種多尺度匹配的尺度估計(jì)方法,實(shí)現(xiàn)了尺度自適應(yīng)的目標(biāo)跟蹤。同時(shí)在目標(biāo)跟蹤數(shù)據(jù)集中選取10組尺度變化劇烈的視頻序列對(duì)算法進(jìn)行驗(yàn)證,并與KCF、DSST、CN等優(yōu)秀跟蹤算法的結(jié)果進(jìn)行了對(duì)比。
KCF跟蹤算法的核心思想是利用置換矩陣對(duì)基樣本進(jìn)行循環(huán)移位,并對(duì)目標(biāo)區(qū)域密集采樣得到大量的樣本來訓(xùn)練分類器。利用核函數(shù)和分類器計(jì)算候選區(qū)域與目標(biāo)區(qū)域的相似概率值,選取最大值對(duì)應(yīng)的位置作為更新的目標(biāo)位置,同時(shí)訓(xùn)練的樣本具有循環(huán)特性,可以將樣本對(duì)角化并轉(zhuǎn)換到頻域進(jìn)行計(jì)算,跟蹤速度得到較大的提升。算法主要部分為循環(huán)采樣、訓(xùn)練分類器及快速檢測(cè)。
嶺回歸的目的是利用訓(xùn)練樣本{xi,yi}找到一個(gè)函數(shù) 來使代價(jià)函數(shù)即平方誤差最小化。其中xi為圖像樣本,yi為回歸目標(biāo),z為待檢測(cè)圖像塊,θ為分類器參數(shù),訓(xùn)練過程可用下面公式描述
(1)
式中,λ為防止過擬合的正則化參數(shù),訓(xùn)練的目的是找到最優(yōu)的θ使代價(jià)函數(shù)式(1)最小。
由核方法可知核函數(shù)在原始特征空間的計(jì)算值可以表示高維空間的樣本特征的點(diǎn)積,其中核函數(shù)為多項(xiàng)式核和高斯核,即k(x,x′)=φT(x)φ(x′)。由上可知優(yōu)化對(duì)象由θ轉(zhuǎn)換到α,并且響應(yīng)函數(shù)可以表示為
(2)
所有樣本之間的點(diǎn)積組成n×n的核矩陣Kij=k(xi,xj),由式(1)和式(2)可求得
α=(K+λI)-1y
(3)
式中,α是由αi組成的向量,K為核矩陣,I為單位矩陣,y是由yi組成的向量。
由于訓(xùn)練分類器需要大量的樣本,因此KCF算法在目標(biāo)區(qū)域利用循環(huán)矩陣進(jìn)行循環(huán)移位。整個(gè)訓(xùn)練過程只需一張有目標(biāo)的樣本圖像即基樣本x,循環(huán)移位得到的樣本稱為負(fù)樣本。以一維信號(hào)為例來循環(huán)移位,這些結(jié)果同樣可以應(yīng)用到二維圖像上面。記基樣本為目標(biāo)圖像塊的n×1向量,x=[x1,x2,x3,…,xn]T,通過置換矩陣P對(duì)基樣本進(jìn)行循環(huán)移位,基樣本移位一次的結(jié)果Px=[xn,x1,x2,…,xn-1]T,可以看出移位后的所有樣本集合為{Pux|u=0,1,…,n-1}。將移位后的所有樣本重新組合得到循環(huán)矩陣X
(4)
由于核矩陣K=C(kxx)也是循環(huán)矩陣及其可對(duì)角化的特性,結(jié)合式(3)可求得
(5)
其中kxx是核矩陣的第一行元素。
(6)
h(z)是一個(gè)向量,其每個(gè)元素值就是候選區(qū)域與跟蹤目標(biāo)相似概率值,因此h(z)最大元素值所對(duì)應(yīng)的位置即為跟蹤目標(biāo)的位置。
由于傳統(tǒng)的KCF跟蹤方法使用固定的尺度窗口來跟蹤目標(biāo),當(dāng)目標(biāo)發(fā)生明顯的尺度變換時(shí),后續(xù)的特征和分類器更新會(huì)出現(xiàn)信息丟失的問題,導(dǎo)致算法不能有效的跟蹤目標(biāo),甚至?xí)驗(yàn)槌叨炔黄ヅ湓斐烧`差累計(jì)造成跟蹤目標(biāo)丟失。因此,將尺度估計(jì)加入到傳統(tǒng)的KCF跟蹤算法中對(duì)完善跟蹤目標(biāo)是非常必要的。文獻(xiàn)[13]和[14]提出了一種基于CSK跟蹤算法的尺度自適應(yīng)改進(jìn)算法,基于此算法,本文提出了一種候選目標(biāo)尺度池與目標(biāo)匹配機(jī)制。該算法的核心思路是通過縮放候選目標(biāo)與跟蹤目標(biāo)做相似度匹配,找出可信度最高的中心點(diǎn)作為下一幀的跟蹤目標(biāo),以實(shí)現(xiàn)目標(biāo)的尺度估計(jì)。
在傳統(tǒng)的KCF跟蹤算法已算出分類器α的基礎(chǔ)下構(gòu)造候選目標(biāo)圖像尺度池。設(shè)候選目標(biāo)圖像zm尺寸為M×N,scale={a1,a2,…,an}表示候選目標(biāo)尺度池,其中ai(i=1,…,n)表示尺度因子。通過縮放圖像建立多尺度候選目標(biāo)序列,因此可以得到多尺度候選目標(biāo)尺寸aiM×aiN,候選目標(biāo)圖像序列zmk為
zmk=scale*=zm=ai*zm(k,i=1,2,…,n)
(7)
其中ai>1表示放大候選目標(biāo)圖像,ai<1表示縮小候選目標(biāo)圖像,尺度縮放函數(shù)是基于雙線性插值[15]的函數(shù)。
利用固定的窗口尺寸在候選目標(biāo)圖像序列zmk上截取候選目標(biāo)序列zk,縮放過程中采樣窗口中心點(diǎn)坐標(biāo)的變化與尺度池的變化保持一致。
利用候選目標(biāo)序列和訓(xùn)練的分類器、響應(yīng)函數(shù)來進(jìn)行目標(biāo)位置和尺度的檢測(cè),由式(6)可知每一個(gè)候選目標(biāo)尺度都會(huì)得到一個(gè)響應(yīng)向量。響應(yīng)值的范圍取決于樣本標(biāo)簽y的形式。本文采用的標(biāo)簽形式與KCF跟蹤算法一樣,為從0到1的連續(xù)標(biāo)簽形式。此標(biāo)簽值相當(dāng)于該點(diǎn)是目標(biāo)的概率值,目標(biāo)中心標(biāo)簽為1,離目標(biāo)越遠(yuǎn)的點(diǎn)標(biāo)簽值越低,最終遞減到0,計(jì)算公式如下
yij=exp(-((i-i′)2+(j-j′)2)/s2)
?i,j=0,1,…,n-1
(8)
其中(i′ ,j′)是目標(biāo)中心位置,參數(shù)s為空間帶寬,yij表示點(diǎn)(i,j)的標(biāo)簽值,相比樣本的二值標(biāo)簽的形式,連續(xù)標(biāo)簽形式使跟蹤目標(biāo)的位置更加準(zhǔn)確。
根據(jù)式(6),可得出多尺度目標(biāo)響應(yīng)函數(shù)
(9)
其中,zk是候選目標(biāo)序列,α是訓(xùn)練的分類器參數(shù),該響應(yīng)值序列代表成為目標(biāo)的可信度矩陣序列,找出矩陣序列中最大元素值對(duì)應(yīng)的尺度因子S和坐標(biāo)位置pos。由于是通過縮放候選圖像來匹配最佳位置與尺寸,因此得到的數(shù)據(jù)要進(jìn)行逆變換,所以候選目標(biāo)的尺度因子為1/S,目標(biāo)的坐標(biāo)位置為1/S×pos。
假設(shè)取候選目標(biāo)尺度scale={0.8,0.9,1,1.1,1.2},先通過縮放函數(shù)將候選目標(biāo)按照尺度池進(jìn)行縮放得到候選目標(biāo)序列,再通過核相關(guān)濾波分類器與上一幀目標(biāo)圖像計(jì)算響應(yīng)值,得到相應(yīng)的5個(gè)響應(yīng)矩陣。找出其中最大的響應(yīng)值所對(duì)應(yīng)的尺度,即可計(jì)算出目標(biāo)最佳尺寸。目標(biāo)的位置由最大響應(yīng)值對(duì)應(yīng)的位置計(jì)算得到,此過程可以得到目標(biāo)實(shí)時(shí)的尺度與位置信息,跟蹤算法流程如表1所示。
分類器與目標(biāo)外觀模板的更新由跟蹤得到的新樣本及前一幀的參數(shù)決定,一般給兩者不一樣的權(quán)值進(jìn)行線性組合。當(dāng)有目標(biāo)發(fā)生尺度變化時(shí),需要將前一幀的參數(shù)先縮放到與新目標(biāo)同樣的尺寸,再進(jìn)行線性組合。更新策略中目標(biāo)外觀模板和分類器系數(shù)為
(10)
(11)
表1 本文算法流程
為了評(píng)估提出的跟蹤算法的性能和效率,在跟蹤視頻數(shù)據(jù)集中選取多組尺度變化明顯的視頻進(jìn)行大量的實(shí)驗(yàn)評(píng)估。文中選擇重疊率(Overlap Precision,OP)、中心位置誤差(Center Location Error,CLE)及跟蹤速度(Frames Per Second,F(xiàn)PS)3個(gè)指標(biāo)進(jìn)行定性分析,并畫出距離精度曲線(Distance Precision,DP)來分析跟蹤效果。同時(shí),本研究選取了包括CN、CT、DSST、STC、KCF、MOSSE等多種優(yōu)秀算法進(jìn)行跟蹤效果對(duì)比,所有對(duì)比試驗(yàn)在同一實(shí)驗(yàn)環(huán)境下進(jìn)行。
實(shí)驗(yàn)硬件配置環(huán)境為Intel Core i5-6267U CPU,主頻2.9 GHz,4 GB內(nèi)存,軟件環(huán)境為MATLAB R2012b。文中參數(shù)設(shè)定為高斯核函數(shù)標(biāo)準(zhǔn)差σ=0.5,學(xué)習(xí)率β=0.02,正則化參數(shù)λ=10-4,空間帶寬s=0.1。由于每幀圖像之間的尺度變化不大,因此尺度因子不能選過大,否則無法正確匹配到相應(yīng)的尺寸。由此,設(shè)定尺度步長(zhǎng)為0.03,候選目標(biāo)尺度等級(jí)為5,尺度池scale={0.94,0.97,1,1.03,1.06}。該算法采用方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征來表征圖像,該特征在大多場(chǎng)景下效果突出,采取8×8像素為一個(gè)cell,2×2 cell為一個(gè)block,其中block以8個(gè)像素為步長(zhǎng)遍歷整個(gè)圖像。
從視頻集中選取10組具有代表性的尺度變化劇烈的測(cè)試序列作為實(shí)驗(yàn)對(duì)象,用改進(jìn)算法和其他7組優(yōu)秀算法對(duì)比測(cè)試這10組序列,得到CLE、OP及其平均值,結(jié)果分別如表2和表3所示,其中最佳值標(biāo)記為粗體。實(shí)驗(yàn)數(shù)據(jù)表明,改進(jìn)算法對(duì)大多數(shù)測(cè)試視頻序列的跟蹤效果表現(xiàn)突出,并且相比其他算法,該算法CLE與OP指標(biāo)平均值排名最高。對(duì)比尺度自適應(yīng)的DSST算法,CLE平均減少了13%,OP平均增加了10%,可見多尺度跟蹤效果明顯。實(shí)驗(yàn)繪制了3組序列的跟蹤精度曲線,具體結(jié)果如圖1所示。
表2 平均中心位置誤差 /pixel
表3 重疊率 /%
圖1 跟蹤精度曲線
文中所提算法是在KCF算法基礎(chǔ)上加以改進(jìn),可以達(dá)到目標(biāo)尺度框自適應(yīng)變化的效果,解決目標(biāo)丟失的問題。從跟蹤精度曲線可以看出改進(jìn)算法的跟蹤精度總體上優(yōu)于KCF算法,說明了該算法在保證原算法優(yōu)點(diǎn)的同時(shí),通過多尺度跟蹤進(jìn)一步提高了跟蹤精度。文中給出了與KCF、DSST處理速度對(duì)比的結(jié)果,如表3所示。雖然新算法與傳統(tǒng)KCF相比跟蹤速度有所下降,但是并沒有影響視頻的流暢度,仍然可以保證實(shí)時(shí)跟蹤;而與尺度自適應(yīng)DSST算法相比,新算法的跟蹤速度有較大提升。
表3 平均跟蹤速度
圖2列出了更為直觀的對(duì)比,實(shí)驗(yàn)選取了4組視頻序列的部分幀數(shù),對(duì)比了6種算法的跟蹤結(jié)果。從數(shù)據(jù)中可以看出,改進(jìn)算法在尺度變化序列中的整體表現(xiàn)優(yōu)于其他算法,實(shí)現(xiàn)了目標(biāo)尺度自適應(yīng)跟蹤。
圖2 6種算法的跟蹤結(jié)果
針對(duì)傳統(tǒng)的核相關(guān)濾波器(KCF)跟蹤算法沒有解決目標(biāo)尺度變化并導(dǎo)致目標(biāo)丟失的缺點(diǎn),提出了一種利用候選目標(biāo)尺度池與目標(biāo)匹配的機(jī)制,并解決了跟蹤算法無法適應(yīng)目標(biāo)尺度變化的問題。與KCF等優(yōu)秀跟蹤算法比較實(shí)驗(yàn)表明,提出的算法彌補(bǔ)了KCF算法無法改變尺度的缺陷,并有效的解決目標(biāo)丟失的問題,提升了目標(biāo)跟蹤精度。