梁 宵,沈茂先,陳國棟
(沈陽航空航天大學(xué)自動化學(xué)院,沈陽 110136)
目標(biāo)跟蹤是計算機(jī)視覺領(lǐng)域一個熱門的研究方向,其廣泛地應(yīng)用于軍事與民用方面。軍事方面如飛行器上對空中和地面目標(biāo)進(jìn)行跟蹤、武器的精確制導(dǎo)等;民用方面如對交通狀況進(jìn)行視頻監(jiān)控等。近些年目標(biāo)跟蹤出現(xiàn)了許多的跟蹤算法,如基于壓縮感知的跟蹤算法[1-2]、相關(guān)濾波算法[3-8]、粒子濾波算法[9]、基于神經(jīng)網(wǎng)絡(luò)的跟蹤算法[10-14]、MIL(Visual Tracking with Online Multiple Instance Learning,MIL)算法[15-16]、TLD(Tracking-Learning-Detecting,TLD)算法[17]等等。壓縮感知算法是基于稀疏感知理論,通過一個滿足RIP(Restricted Isometry Property,RIP)條件的稀疏測量矩陣對原圖像特征空間進(jìn)行投影,得到一個低維壓縮子空間,這種低維壓縮子空間可以很好地保留高維圖像特征空間的信息。相關(guān)濾波算法采用相關(guān)運(yùn)算和循環(huán)樣本轉(zhuǎn)化到頻域加速的方式進(jìn)行跟蹤。在相關(guān)濾波的框架下,J.F.Henriques等人[3]將線性空間通過核函數(shù)轉(zhuǎn)化到非線性空間,并使用了多通道的梯度直方圖特征,使相關(guān)濾波的跟蹤性能得到了進(jìn)一步提升。GAO等人[4]在相關(guān)濾波的基礎(chǔ)上針對邊界效應(yīng)提出解決方案,其加入了空間懲罰項,在效果上取得了突破性的進(jìn)步,但空間懲罰項的加入破壞了嶺回歸方程的封閉解,只能用高斯-賽德爾迭代法求解,降低了運(yùn)算速度。C.Ma等人[5]在相關(guān)濾波的基礎(chǔ)上增加了置信度濾波器,其借鑒了TLD[17]中的隨機(jī)蕨分類器,并改進(jìn)了長時間目標(biāo)跟蹤的效果。該算法能夠處理遮擋情況,用Peak SideLobe Ratio(PSR)來判斷目標(biāo)是否遮擋,遮擋后用隨機(jī)蕨分類器重新定位目標(biāo),精度相較于傳統(tǒng)相關(guān)濾波算法明顯提高,但是由于每幀都訓(xùn)練隨機(jī)蕨分類器導(dǎo)致實時性降低。前述的算法一般只能達(dá)到一個方面的要求,比如實時性或者跟蹤精度。模板匹配方法的實時性雖然可以達(dá)到要求,但是其精度卻受提取目標(biāo)特征的限制,特征復(fù)雜時實時性差,特征簡單時跟蹤精度差。卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于目標(biāo)跟蹤時,其跟蹤精度雖然很高,但是實時性難以滿足要求。
為了達(dá)到理想的跟蹤目的,Zhang等人[18]提出的時空上下文目標(biāo)跟蹤算法(Spatio-Temporal Context,STC)取得了不錯的效果。時空上下文利用目標(biāo)的空間上下文信息和時間上下文信息對目標(biāo)進(jìn)行了跟蹤,提高了目標(biāo)的跟蹤精度,并把時空上下文信息轉(zhuǎn)換到頻域進(jìn)行快速傅里葉變換,保證了跟蹤的實時性。Liu等人[19]對目標(biāo)進(jìn)行分塊遮擋判別并進(jìn)行子塊匹配,同時結(jié)合粒子濾波進(jìn)行軌跡預(yù)測達(dá)到抗遮擋跟蹤的目的。Xu等人[20]針對上下文的不同區(qū)域,對目標(biāo)的重要程度賦予了不同的權(quán)重,增強(qiáng)了魯棒性。
由于時空上下文在進(jìn)行目標(biāo)跟蹤時對目標(biāo)進(jìn)行了加窗處理,消除了目標(biāo)邊緣一些噪聲的影響,所以即使有噪聲干擾也會是在目標(biāo)的附近,在置信圖中表現(xiàn)為多個峰值,但是當(dāng)發(fā)生了漂移(即使漂移很?。?,濾波模板的更新也會發(fā)生相應(yīng)的錯誤,隨著跟蹤的不斷進(jìn)行,誤差會不斷地進(jìn)行積累,以至于最后丟失目標(biāo)。當(dāng)上一幀與當(dāng)前幀的實際目標(biāo)位置距離較遠(yuǎn)時,加窗處理會把目標(biāo)的實際位置消除,這時檢測出的目標(biāo)位置與實際的目標(biāo)位置會有較大偏差。在特征方面STC算法使用了單一的灰度特征,易受到噪聲的干擾。
針對以上情況,本文分別加以改進(jìn)并提出一種抗遮擋和噪聲的方法:對于在目標(biāo)周圍產(chǎn)生的噪聲影響,本文提取當(dāng)前幀置信圖中與上一幀目標(biāo)點置信值相近的目標(biāo)點,用匹配算法與先前保存的目標(biāo)模板進(jìn)行匹配,提取出匹配度最高的目標(biāo)點;將HOG特征與灰度特征進(jìn)行組合,改進(jìn)原有的單一特征置信圖判別力較低的缺點;采用相鄰間目標(biāo)位置的歐式距離為參數(shù)對學(xué)習(xí)率進(jìn)行自適應(yīng)調(diào)整。仿真結(jié)果表明,與原時空上下文跟蹤算法相比,本文的算法提高了跟蹤魯棒性。
時空上下文跟蹤算法,是對目標(biāo)周圍區(qū)域與目標(biāo)的空間關(guān)系(空間上下文)和上一幀與下一幀的時間關(guān)系(時間上下文)進(jìn)行建模,然后通過全概率公式計算出每個像素點是目標(biāo)點的概率,最后選取概率最大的點為目標(biāo)點(即選取置信圖的峰值)。
當(dāng)前幀目標(biāo)可能的位置為x∈R2,目標(biāo)的中心位置用x*表示,則當(dāng)前幀的上下文特征集合為:
其中,z表示像素位置坐標(biāo),I(z)代表圖像中z處像素的灰度值,ΩC(x*)是跟蹤目標(biāo)中心x*生成的局部上下文區(qū)域。
通過全概率公式,置信圖可以表示為:
其中,P(x|v(z),o)表示當(dāng) v(z)發(fā)生時,該位置是跟蹤目標(biāo)的可能性。P(x|v(z),o)表明了跟蹤目標(biāo)與其周圍上下文的關(guān)系。P(v(z)|o)是上下文環(huán)境發(fā)生的概率(該概率是已知的)即上下文先驗概率。從式(2)可以看出,x為目標(biāo)位置的前提是上下文特征的發(fā)生,然后才能判斷是否為目標(biāo)的位置,這在一定程度上可以抑制目標(biāo)的漂移。
目標(biāo)與其周圍的上下文關(guān)系(空間上下文)可以表示為:
其中,hsc是非徑向?qū)ΨQ函數(shù),當(dāng)出現(xiàn)兩個相似的點x1,x2,這兩個點與z的距離都相同,但是這兩個點與z的空間關(guān)系是不同的。
上下文先驗概率模型可以表示為:
其中,ωσ是高斯加權(quán)函數(shù),其表示為:其中,a 是將 P(v(z)|o)限制在 0~1 范圍內(nèi)的歸一化常數(shù)并使其滿足概率的定義,σ是尺度參數(shù)。式(5)表明了距離跟蹤目標(biāo)越近的上下文其對下一幀目標(biāo)預(yù)測的重要性就越大。
第一幀目標(biāo)的位置已知,以第一幀為基礎(chǔ)對期望的置信圖進(jìn)行建模如下:
其中,b是歸一化常數(shù),α是尺度參數(shù),β是形狀參數(shù)。文獻(xiàn)[12]指出,β=1時可以獲得穩(wěn)定的效果。
綜合式(3)、式(4)代入式(2)并結(jié)合式(1)、式(5)、式(6)可得出:
式中,塥代表進(jìn)行卷積操作。
為使算法具備一定實時性并提高計算速度,將式(7)轉(zhuǎn)化到頻率域,進(jìn)行快速傅里葉變換(FFT)可得:
式中,F(xiàn)表示進(jìn)行快速傅里葉變換,Θ表示對所有元素進(jìn)行點積操作。由式(8)可以推出:
式中,F(xiàn)-1是進(jìn)行逆傅里葉變換,得到的是空間上下文,當(dāng)是第一幀圖片時
其他幀:
式中,Hstc是時空上下文。則t+1幀的置信圖為:
找到置信圖中值最大的位置就是當(dāng)前幀目標(biāo)的位置:
STC算法是將目標(biāo)的空間上下文和時間上下文結(jié)合起來組成時空上下文模型并計算置信圖,并將置信圖中值最大的位置作為當(dāng)前幀目標(biāo)的位置,經(jīng)過實驗仿真表明STC算法能夠解決光照變化,目標(biāo)變形等常見的一些問題。但是當(dāng)目標(biāo)發(fā)生了遮擋或者受到噪聲干擾時,時空上下文模板的更新就會發(fā)生相應(yīng)的錯誤,這就會導(dǎo)致置信圖的可信度降低,進(jìn)而導(dǎo)致跟蹤目標(biāo)的丟失。
因此,改進(jìn)的思路為:通過相似性度量的模板匹配修正噪聲帶來的誤差,采用自適應(yīng)學(xué)習(xí)率更新模板。
STC算法中只用了灰度特征,對噪聲比較敏感,因此,提出將HOG特征與灰度特征進(jìn)行融合,這樣得到的置信圖將會由兩種特征共同決定置信圖的可信度較高。
首先用灰度特征得到一個置信圖mg,然后用HOG特征再得到一個置信圖mh,則最終的置信圖可表示為:
式中,ξ是權(quán)重因子,具體表示為:
其中,Smg,Smh分別是置信圖mg與mh的方差,方差的大小代表了搜索區(qū)域每個位置成為目標(biāo)位置的差異性,方差大表明置信圖中數(shù)據(jù)之間的差異性較大,置信圖的判別力較強(qiáng),占最終置信圖的權(quán)重就大;反之,則相反。
STC算法中盡管對搜索區(qū)域進(jìn)行了加窗處理,但是這只能消除邊緣噪聲的干擾,目標(biāo)周邊的噪聲干擾并沒有被消除。在不丟幀的情況下,相鄰兩幀目標(biāo)點的置信值在小范圍波動。為了解決噪聲問題,選取了當(dāng)前幀置信圖中與上一幀目標(biāo)點置信值相近的候選目標(biāo)點(本文取的波動范圍為0.000 5),采用相似度模板匹配的方法對噪聲的影響進(jìn)行校正。采用文獻(xiàn)[2]的相似度計算如下:
式中,NCC是歸一化互相關(guān)值,取值范圍[0 1],為1時則說明a與b完全相似,為0時則說明a與b不相似;ai與bi為當(dāng)前幀候選目標(biāo)與匹配模板的像素值,ua與ub分別為其對應(yīng)的均值。
為了避免背景在相似度匹配的過程中對匹配結(jié)果造成影響,選取目標(biāo)框的一半作為匹配的尺寸。
對于相似度匹配,采用多幀模板匹配,具體分為以下3個階段。
1)保存最真實的目標(biāo)模板g(比如第一幀的目標(biāo)),通過式(14)計算g與候選目標(biāo)的相似度:
式中,qn表示的是候選目標(biāo)。
2)選取先前幀的目標(biāo)作為模板p,與選取的候選目標(biāo)進(jìn)行相似度計算:
式中,p是實時更新的,當(dāng)最終選擇的候選目標(biāo)與p的相似度達(dá)到閾值γ(本文選取0.8),則以當(dāng)前幀的目標(biāo)對p進(jìn)行更新。
3)將兩種相似度進(jìn)行權(quán)重組合:
其中,θ是權(quán)重因子,0<θ<1,當(dāng)目標(biāo)變化較小時選取較大的θ,當(dāng)目標(biāo)變化較大時選取較小的θ。φη是最終的相似度值,使用這種相似度測量既可以保留最真實的目標(biāo),信息也可以實時適應(yīng)目標(biāo)的變化。
在目標(biāo)的運(yùn)動過程中,目標(biāo)的外觀是不斷發(fā)生變化的,比如光照的變化,目標(biāo)的形變等,這種情況下,原始時空上下文算法的學(xué)習(xí)率存在以下問題。
1)較小的學(xué)習(xí)率使得時空上下文模板更新較慢,對目標(biāo)的學(xué)習(xí)程度不夠,目標(biāo)最新狀態(tài)信息丟失較大,隨著跟蹤的進(jìn)行發(fā)生漂移,最終丟失目標(biāo)。
2)較大的學(xué)習(xí)率使上下文模板更新較快,對目標(biāo)的最新狀態(tài)過度學(xué)習(xí),丟失了較多以前的信息,降低了模板的記憶能力,一旦發(fā)生短暫干擾更新的模板就會發(fā)生較大的錯誤,當(dāng)干擾消失時,使用該模板得到的置信圖的可信度就會降低,最終導(dǎo)致目標(biāo)跟丟。
因此,在不同的狀態(tài)下使用適當(dāng)?shù)膶W(xué)習(xí)率對模板進(jìn)行更新,使其既不會過度學(xué)習(xí),也不會欠學(xué)習(xí),這樣才能提高跟蹤的魯棒性,使學(xué)習(xí)率的變化取決于外觀的變化,目標(biāo)在不同背景下的狀態(tài)是不一樣的,因此,以目標(biāo)的移動速度為參數(shù)對學(xué)習(xí)率進(jìn)行變化。
式中,v是目標(biāo)移動速度,使用相鄰幀目標(biāo)位置的歐氏距離進(jìn)行表示:
其中,(xt,yt)與(xt-1,yt-1)分別為當(dāng)前目標(biāo)的位置與上一幀目標(biāo)的位置。
為了驗證算法的有效性,在兩組視頻序列中進(jìn)行了測試與驗證,分別從中抽取了可以反映整體跟蹤情況的五幀跟蹤結(jié)果,虛線框代表改進(jìn)后的STC算法;實線框代表原STC跟蹤算法。實驗參數(shù):根據(jù)文獻(xiàn)[16],式(6)中 α=2.25,β=1;式(11)中 ρ=0.075為初始值。對于跟蹤結(jié)果的精確程度采用中心誤差曲線(CLE)進(jìn)行評測,中心誤差曲線由目標(biāo)的真正中心與算法跟蹤結(jié)果中心的歐式距離表示。4組視頻序列的五幀跟蹤結(jié)果如圖1所示,中心誤差曲線如下頁圖2所示。
圖1 部分跟蹤結(jié)果視圖
從圖1(a)中可以看出,在159幀時目標(biāo)發(fā)生了遮擋,從209幀可以看出原STC算法發(fā)生了漂移,而本文的算法跟蹤較精確,這主要是因為本文采用了自適應(yīng)學(xué)習(xí)率的模板更新與相似度匹配的誤差校正。從389幀與462幀可以看出,原STC算法已經(jīng)跟丟,改進(jìn)后的算法誤差始終保持在10個像素以內(nèi),當(dāng)389幀在做戴眼鏡動作時,對原算法影響較大而對改進(jìn)后的算法不敏感,這主要是由于采用了HOG特征融合,置信圖可信度提高。從中心位置誤差曲線可以看出,原算法的誤差總體上是增加的,而改進(jìn)后的算法大部分保持在10個像素以內(nèi),雖然有小部分超過10個像素但是很快又校正到10個像素以內(nèi)。從圖2(b)可以看出,雖然原算法總體可以跟蹤得上,但是發(fā)生了漂移,從中心誤差曲線可以看出,原算法的誤差是不斷增加的,可以預(yù)見當(dāng)長時間跟蹤目標(biāo)時最終將會跟丟,而改進(jìn)后的算法中心誤差保持穩(wěn)定,大部分保持在6個像素之內(nèi),最大的誤差也沒有超過8個像素。圖2(c)中在第55幀中發(fā)生了部分遮擋,60幀時STC算法跟丟,本文算法仍然較準(zhǔn)確地進(jìn)行跟蹤,從110幀和240幀可知STC算法完全跟丟,主要原因是濾波模板已經(jīng)完全更新錯誤。圖2(d)中59幀和127幀目標(biāo)受到短暫的部分遮擋,兩種算法都可較好地跟蹤,從215幀到230幀目標(biāo)持續(xù)受到部分遮擋,濾波模板更新錯誤,STC算法錯誤跟蹤了干擾項“書本”,本文算法由于相似度匹配的誤差校正能力而正確跟蹤了目標(biāo)。
圖2 中心位置誤差曲線
本文分析了STC算法存在的不足與造成原因,并及時進(jìn)行了改進(jìn),將STC的單一灰度特征決定的置信圖改為由灰度特征和HOG特征共同決定,提高了置信圖的可信度;對目標(biāo)產(chǎn)生的漂移將當(dāng)前幀的候選目標(biāo)位置與先前保存的模板進(jìn)行相似度測量,選取相似值最大的位置為最終目標(biāo)位置對產(chǎn)生的漂移進(jìn)行校正;針對固定學(xué)習(xí)率模板更新,提出了一種相鄰幀間目標(biāo)位置的歐式距離為變量的自適應(yīng)學(xué)習(xí)率更新模板,仿真結(jié)果表明,雖然速度比原算法有所下降,但是跟蹤精度有了一定的提高。