時鵬飛,高清維,盧一相,孫 冬
(安徽大學(xué) 電氣工程與自動化學(xué)院,安徽 合肥 230000)
目標(biāo)追蹤是機(jī)器視覺中最重要的任務(wù)之一。近年來,目標(biāo)追蹤算法已廣泛應(yīng)用于各種應(yīng)用,比如自動跟車系統(tǒng)以及智能監(jiān)控等。使用計(jì)算機(jī)進(jìn)行自動追蹤一直都是一項(xiàng)復(fù)雜的工作。但是,由于其日益增長的重要性,目前已進(jìn)行了大量的研究尋求更加快速準(zhǔn)確的追蹤算法,比如均值漂移(mean shift)算法[1]、粒子濾波(particle filtering)追蹤算法[2]以及增量視覺追蹤(incremental visual tracking)算法[3]和時空上下文(spatio-temporal context)追蹤算法[4]??傮w來說,追蹤算法可以分為兩大類,即生成式方法[5]和判別式方法[6]。生成式方法通過提取目標(biāo)中的某些特性來建立一個目標(biāo)模型,然后通過比較模型與各候選目標(biāo)之間的距離或相似性來確定被追蹤目標(biāo)在下一幀中的位置;而判別式方法通過訓(xùn)練一個分類器直接將目標(biāo)從背景之中分離出來。
近年來,大量基于判別式的相關(guān)濾波器(discriminative correlation filter,DCF)被提出并成功應(yīng)用于目標(biāo)追蹤[7,8]。DCF的原型是一個由Bolme等人于2010年提出的MOSSE(minimum output sum of squared error)的追蹤器[9]。該追蹤器通過將一個訓(xùn)練好的濾波器與視頻幀進(jìn)行相關(guān)操作,找出視頻幀中與濾波器最為相似的部分。由于相關(guān)濾波器(correlation filter,CF)實(shí)現(xiàn)的簡易性和結(jié)果的準(zhǔn)確性以及運(yùn)算的快速性,使此類追蹤算法已經(jīng)成為目標(biāo)追蹤領(lǐng)域中最受歡迎的方法之一[10,11]。
但相關(guān)濾波器仍然存在很大的進(jìn)步空間。Henriques J F等人[6]將循環(huán)矩陣的思想注入相關(guān)濾波器,從而增加了訓(xùn)練集樣本的數(shù)量,但是同時使訓(xùn)練時間保持在原來的水平上。一些現(xiàn)代的圖像特征如方向梯度直方圖(histogram of oriented gradients,HOG)等也被應(yīng)用于相關(guān)濾波[11],從而使濾波器能夠應(yīng)對光照變化等各種不利因素。相關(guān)濾波器是將濾波結(jié)果的最大值所在處視為目標(biāo)的新位置的,而一些局部的極值點(diǎn)會削弱追蹤器的健壯性。因此Mueller M等人[12]通過抑制最大值周圍的其它極值點(diǎn),使得目標(biāo)與背景之間的差異更加明顯化。
核相關(guān)濾波器[11]是相關(guān)濾波器的一個改進(jìn)版本,它使用了嶺回歸而不是相關(guān)算子來解決追蹤問題。為了增加算法的健壯性與快速性,核方法與循環(huán)矩陣也被應(yīng)用到了算法之中。雖然KCF表現(xiàn)出了極佳的特點(diǎn),但是它卻仍不能夠應(yīng)對尺度變化帶來的問題。為此,本文將提出一個應(yīng)對此問題的解決方法。
嶺回歸使用線性函數(shù)f(z)=wTz將訓(xùn)練樣本z映射為一個標(biāo)量f(z),使得映射后的樣本與其標(biāo)簽之間的距離能夠最小化。同時,應(yīng)該避免數(shù)據(jù)過擬合
(1)
這里的xi為一個訓(xùn)練樣本,yi為其對應(yīng)的標(biāo)簽。λ為一個用來控制過擬合的懲罰因子。如果將所有的樣本表述為一個矩陣X,X的每一行都是一個樣本,而將所有的標(biāo)簽表述為一個列向量y,則優(yōu)化公式最小化變量的解可由下式給出
w=(XHX+λI)-1XHy
(2)
循環(huán)矩陣是由一個基本信號不斷變換產(chǎn)生的?;拘盘柮看窝h(huán)平移一個位置產(chǎn)生一系列新的信號,將這些信號按生成順序拼接在一起,就組成了一個循環(huán)矩陣。為簡化原理分析過程,這里將使用一維單通道信號進(jìn)行推導(dǎo)。
假定基本信號x是一個大小為N×1的列向量,則其循環(huán)平移的過程可以使用一個大小為N×N的交換矩陣P來描述。P是由一個單位矩陣不斷進(jìn)行初等行變換得到的。單位陣的最后一行不斷地與其上面的行進(jìn)行交換,一直達(dá)到最頂部。而乘積Px是對x進(jìn)行的相同變換,x的最后一個值升到首位而其它值都下降一位。第i個樣本可由xi=Pix生成。Pi是一個以N為周期的函數(shù),即包含基本信號在內(nèi),一共有N個不同的信號可以用作訓(xùn)練樣本。因此,樣本矩陣X可以寫作下式
(3)
式中X為由基本信號x生成的循環(huán)矩陣。從文獻(xiàn)[13]中可以查到循環(huán)矩陣的很多性質(zhì),其中一條是循環(huán)矩陣總是可以對角化的
(4)
(5)
循環(huán)矩陣的另一個特性表現(xiàn)在矩陣乘法上。在向量y的元素都是實(shí)數(shù)時,循環(huán)矩陣X與y的乘積Xy與y和x的圓周相關(guān)是等價(jià)的。利用傅里葉變換的性質(zhì),公式中的w可以在頻域中求解出來
(6)
使用一個核函數(shù)φ將訓(xùn)練樣本xi映射至高維空間的φ(xi),而濾波器w可視為所有映射后樣本的線性組合
w=ΦT(X)α
(7)
這里的α=[α0,α1,α2,…,αN-1]T,而Φ(X)中的每一行都是一個高維的輸入。求解出對偶變量α為
α=(K+λI)-1y
(8)
這里K=ΦT(X)ΦT(X),K中的每一個元素都是兩個映射后向量的內(nèi)積,Kij=φT(xi)φ(xj)??梢岳煤思记稍诘途S空間中計(jì)算兩個高維樣本的內(nèi)積。選取合適的函數(shù)可以使K+λI成為一個循環(huán)矩陣,而高斯核κ(xi,xj)=exp(-‖xi-xj‖2/σ2)正好可以滿足此條件
(9)
(10)
式中kxx為矩陣K的第一行。在求解α的過程中利用了對稱序列傅里葉變換的性質(zhì)去除了分母的共軛。
在檢測階段,需要計(jì)算所有候選位置的與濾波器的相關(guān)響應(yīng)。幸運(yùn)的是,所有候選目標(biāo)的響應(yīng)可以同時被計(jì)算出來
f(Z)=(Kz)Tα
(11)
其中,Kz=Φ(Z)ΦT(Z)=C(kxz),等式與圓周卷積有著相同的意義,這意味著它可以很容易地在頻域中進(jìn)行求解
(12)
目標(biāo)在當(dāng)前幀中的預(yù)測位置為響應(yīng)在時域中的最大值所在處。確定了新位置后,就可以為對偶變量和目標(biāo)模型進(jìn)行更新以應(yīng)對下一次迭代。
尺度變化一直都是目標(biāo)追蹤中的一個難解決的問題。如粒子濾波[2]這樣本身就包含尺度信息的追蹤器是很稀少的。大多數(shù)的追蹤器都沒有能力處理尺度問題,還有一些算法使用暴力搜索來確定尺度大小。Danelljan M等人[14]設(shè)計(jì)了另外一種用在標(biāo)準(zhǔn)DCF上進(jìn)行尺度估計(jì)的方法,基于尺度變化要比位移小的假設(shè),在大多數(shù)的現(xiàn)實(shí)情況中都是可以滿足的。在此假設(shè)下,追蹤問題可以拆分為位移變化與尺度變化兩部分。第一部分應(yīng)對位移,由標(biāo)準(zhǔn)KCF完成,在此部分中,尺度保持不變。第二部分應(yīng)對尺度,在上一部分中獲得的位移中心周圍,這里提取出一些尺度樣本,然后在尺度樣本上運(yùn)行一個一維的核相關(guān)濾波器。圖1是一個尺度提取的演示。中間的矩形為目標(biāo)在上一幀中預(yù)測的大小,而其它的矩形代表在其周圍提取的尺度樣本。
圖1 尺度樣本提取
假設(shè)在上一幀中目標(biāo)的尺度大小被估計(jì)為M×N,其中心點(diǎn)被標(biāo)記為P。這里在新幀的P點(diǎn)周圍提取S個尺度,并使用一個相應(yīng)的余弦窗口與之相乘以降低邊緣區(qū)域的重要性。尺度圖像塊IPn的大小為anM×anN。a是一個比1稍大的實(shí)數(shù),而n是一個整數(shù),其范圍從-(S-1)/2到+(S-1)/2。如果設(shè)定a=1.02和S=33,那么尺度因子an就被具體到0.728 4~1.372 8之間。
當(dāng)尺度信息被確定后,它就可以加入到位移濾波器中對目標(biāo)模型進(jìn)行更新。因?yàn)槿拥膱D像塊大小與目標(biāo)模型的大小是不一定相同的,所以應(yīng)將所有的圖像塊縮放到一個標(biāo)準(zhǔn)的大小。在更新了尺度模型后,算法即可以開始進(jìn)行下一次迭代,其具體的流程被描繪在算法1中。
算法1 尺度估計(jì)的一次迭代過程
輸入:
圖像幀It,當(dāng)前目標(biāo)位置Pt,上次的尺度大小M×N
輸出:
估計(jì)的尺度大小St
特征提?。?/p>
1)for 每一個尺度sdo
2)在圖像It的點(diǎn)周圍提取一個大小為sM×sN的圖像塊
3)將圖像塊縮放至標(biāo)準(zhǔn)大小M0×N0
4)對縮放后的圖像塊提取HOG特征
5)將特征拉成一個列向量,為列向量添加余弦窗
6)end for
7)將所有向量整合為一個矩陣
8)將矩陣的每一行變換到頻域
尺度檢測:
9)使用等式計(jì)算互相關(guān)
10)在頻域中將互相關(guān)的各列相加
11)使用等式和等式計(jì)算對偶變量和響應(yīng)
12)在時域中查找響應(yīng)的最大值并設(shè)定當(dāng)前尺度St
13)對濾波器的目標(biāo)模型進(jìn)行更新
測試樣本是來自O(shè)TB[15,16]基準(zhǔn)庫的60個視頻序列。這些序列包含了快速運(yùn)動、遮擋、背景雜亂和尺度變化等各種挑戰(zhàn)因素。這里使用兩個分別叫做距離精度(distance precision,DP)和交叉精度(overlap precision,OP)的準(zhǔn)則來表示追蹤器的準(zhǔn)確性。DP表現(xiàn)了目標(biāo)中心與估計(jì)中心之間的距離,而OP是目標(biāo)區(qū)域與估計(jì)區(qū)域相交面積與相并面積之間的比值。二者都隨著追蹤器精度的增加而增加。
表1為CSK,DSST,KCF以及本文追蹤器的對比結(jié)果。與標(biāo)準(zhǔn)KCF相比,本文算法在距離精度和交叉精度上都要略勝一籌。標(biāo)準(zhǔn)KCF追蹤器在位置估計(jì)上很準(zhǔn)確,而DSST在尺度估計(jì)上更好。本文結(jié)合了二者的優(yōu)點(diǎn),在位置與尺度上都能較為準(zhǔn)確地給出估計(jì)。但是與標(biāo)準(zhǔn)KCF相比,算法在運(yùn)行速度上急劇下降。其主要的時間消耗在尺度樣本采集上,包括圖像塊縮放與特征提取。CSK是其中運(yùn)行速度最快的,因?yàn)樗豢紤]了圖像的亮度信息并沒有解決尺度問題,結(jié)果是其表現(xiàn)在兩個準(zhǔn)則上都不理想。與標(biāo)準(zhǔn)KCF相比,本文算法在距離精度上略有優(yōu)勢,而在表現(xiàn)尺度效果的交叉精度上,優(yōu)勢便顯示得更加明顯。
表1 實(shí)驗(yàn)結(jié)果
圖2為2種算法的距離精度圖和交叉精度圖。
圖2 距離精度圖和交叉精度圖
由圖2可見本文算法在二者中的表現(xiàn)都很不錯。弧下面積(area under the curve,AUC)是另外一個用來表現(xiàn)追蹤效果的指標(biāo),它也隨著追蹤效果的增加而增加,其數(shù)值被標(biāo)注在交叉精度圖的圖例中。標(biāo)準(zhǔn)KCF的獲得的AUC分?jǐn)?shù)為0.536 9,DSST由于使用了尺度信息獲得的分?jǐn)?shù)比KCF更高,為0.561 3分。然而,本文的追蹤器進(jìn)一步提升了追蹤效果,使分?jǐn)?shù)達(dá)到了0.580 0。
圖3提供了一些追蹤結(jié)果的例子,分別對應(yīng)光照變化,平面外旋轉(zhuǎn),雜亂背景以及遮擋等各種干擾因子。相較于其它的算法,本文算法可以更有效地抵制各種不利因素,實(shí)現(xiàn)更加準(zhǔn)確的追蹤效果。
圖3 在部分序列上的追蹤效果
通過添加一個額外的核相關(guān)濾波器,可以實(shí)現(xiàn)對目標(biāo)尺度變化的有力應(yīng)對。此算法在中心距離和交叉面積兩方面都優(yōu)于標(biāo)準(zhǔn)核相關(guān)濾波器。若使用傳統(tǒng)方法,則需要在每一個尺度上都進(jìn)行一次標(biāo)準(zhǔn)KCF算法,這會使算法的處理時長增加至大約S倍。但本文算法僅用8倍時間就處理了33個尺度。實(shí)驗(yàn)結(jié)果表明:本文算法可以有效地處理尺度變化帶來的問題。