梁 宵,沈茂先,陳國棟
(沈陽航空航天大學自動化學院,沈陽 110136)
目標跟蹤是計算機視覺領域一個熱門的研究方向,其廣泛地應用于軍事與民用方面。軍事方面如飛行器上對空中和地面目標進行跟蹤、武器的精確制導等;民用方面如對交通狀況進行視頻監控等。近些年目標跟蹤出現了許多的跟蹤算法,如基于壓縮感知的跟蹤算法[1-2]、相關濾波算法[3-8]、粒子濾波算法[9]、基于神經網絡的跟蹤算法[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.F.Henriques等人[3]將線性空間通過核函數轉化到非線性空間,并使用了多通道的梯度直方圖特征,使相關濾波的跟蹤性能得到了進一步提升。GAO等人[4]在相關濾波的基礎上針對邊界效應提出解決方案,其加入了空間懲罰項,在效果上取得了突破性的進步,但空間懲罰項的加入破壞了嶺回歸方程的封閉解,只能用高斯-賽德爾迭代法求解,降低了運算速度。C.Ma等人[5]在相關濾波的基礎上增加了置信度濾波器,其借鑒了TLD[17]中的隨機蕨分類器,并改進了長時間目標跟蹤的效果。該算法能夠處理遮擋情況,用Peak SideLobe Ratio(PSR)來判斷目標是否遮擋,遮擋后用隨機蕨分類器重新定位目標,精度相較于傳統相關濾波算法明顯提高,但是由于每幀都訓練隨機蕨分類器導致實時性降低。前述的算法一般只能達到一個方面的要求,比如實時性或者跟蹤精度。模板匹配方法的實時性雖然可以達到要求,但是其精度卻受提取目標特征的限制,特征復雜時實時性差,特征簡單時跟蹤精度差。卷積神經網絡應用于目標跟蹤時,其跟蹤精度雖然很高,但是實時性難以滿足要求。
為了達到理想的跟蹤目的,Zhang等人[18]提出的時空上下文目標跟蹤算法(Spatio-Temporal Context,STC)取得了不錯的效果。時空上下文利用目標的空間上下文信息和時間上下文信息對目標進行了跟蹤,提高了目標的跟蹤精度,并把時空上下文信息轉換到頻域進行快速傅里葉變換,保證了跟蹤的實時性。Liu等人[19]對目標進行分塊遮擋判別并進行子塊匹配,同時結合粒子濾波進行軌跡預測達到抗遮擋跟蹤的目的。Xu等人[20]針對上下文的不同區域,對目標的重要程度賦予了不同的權重,增強了魯棒性。
由于時空上下文在進行目標跟蹤時對目標進行了加窗處理,消除了目標邊緣一些噪聲的影響,所以即使有噪聲干擾也會是在目標的附近,在置信圖中表現為多個峰值,但是當發生了漂移(即使漂移很小),濾波模板的更新也會發生相應的錯誤,隨著跟蹤的不斷進行,誤差會不斷地進行積累,以至于最后丟失目標。當上一幀與當前幀的實際目標位置距離較遠時,加窗處理會把目標的實際位置消除,這時檢測出的目標位置與實際的目標位置會有較大偏差。在特征方面STC算法使用了單一的灰度特征,易受到噪聲的干擾。
針對以上情況,本文分別加以改進并提出一種抗遮擋和噪聲的方法:對于在目標周圍產生的噪聲影響,本文提取當前幀置信圖中與上一幀目標點置信值相近的目標點,用匹配算法與先前保存的目標模板進行匹配,提取出匹配度最高的目標點;將HOG特征與灰度特征進行組合,改進原有的單一特征置信圖判別力較低的缺點;采用相鄰間目標位置的歐式距離為參數對學習率進行自適應調整。仿真結果表明,與原時空上下文跟蹤算法相比,本文的算法提高了跟蹤魯棒性。
時空上下文跟蹤算法,是對目標周圍區域與目標的空間關系(空間上下文)和上一幀與下一幀的時間關系(時間上下文)進行建模,然后通過全概率公式計算出每個像素點是目標點的概率,最后選取概率最大的點為目標點(即選取置信圖的峰值)。
當前幀目標可能的位置為x∈R2,目標的中心位置用x*表示,則當前幀的上下文特征集合為:

其中,z表示像素位置坐標,I(z)代表圖像中z處像素的灰度值,ΩC(x*)是跟蹤目標中心x*生成的局部上下文區域。
通過全概率公式,置信圖可以表示為:

其中,P(x|v(z),o)表示當 v(z)發生時,該位置是跟蹤目標的可能性。P(x|v(z),o)表明了跟蹤目標與其周圍上下文的關系。P(v(z)|o)是上下文環境發生的概率(該概率是已知的)即上下文先驗概率。從式(2)可以看出,x為目標位置的前提是上下文特征的發生,然后才能判斷是否為目標的位置,這在一定程度上可以抑制目標的漂移。
目標與其周圍的上下文關系(空間上下文)可以表示為:

其中,hsc是非徑向對稱函數,當出現兩個相似的點x1,x2,這兩個點與z的距離都相同,但是這兩個點與z的空間關系是不同的。
上下文先驗概率模型可以表示為:


其中,ωσ是高斯加權函數,其表示為:其中,a 是將 P(v(z)|o)限制在 0~1 范圍內的歸一化常數并使其滿足概率的定義,σ是尺度參數。式(5)表明了距離跟蹤目標越近的上下文其對下一幀目標預測的重要性就越大。
第一幀目標的位置已知,以第一幀為基礎對期望的置信圖進行建模如下:

其中,b是歸一化常數,α是尺度參數,β是形狀參數。文獻[12]指出,β=1時可以獲得穩定的效果。
綜合式(3)、式(4)代入式(2)并結合式(1)、式(5)、式(6)可得出:

式中,塥代表進行卷積操作。
為使算法具備一定實時性并提高計算速度,將式(7)轉化到頻率域,進行快速傅里葉變換(FFT)可得:

式中,F表示進行快速傅里葉變換,Θ表示對所有元素進行點積操作。由式(8)可以推出:

式中,F-1是進行逆傅里葉變換,得到的是空間上下文,當是第一幀圖片時

其他幀:

式中,Hstc是時空上下文。則t+1幀的置信圖為:

找到置信圖中值最大的位置就是當前幀目標的位置:

STC算法是將目標的空間上下文和時間上下文結合起來組成時空上下文模型并計算置信圖,并將置信圖中值最大的位置作為當前幀目標的位置,經過實驗仿真表明STC算法能夠解決光照變化,目標變形等常見的一些問題。但是當目標發生了遮擋或者受到噪聲干擾時,時空上下文模板的更新就會發生相應的錯誤,這就會導致置信圖的可信度降低,進而導致跟蹤目標的丟失。
因此,改進的思路為:通過相似性度量的模板匹配修正噪聲帶來的誤差,采用自適應學習率更新模板。
STC算法中只用了灰度特征,對噪聲比較敏感,因此,提出將HOG特征與灰度特征進行融合,這樣得到的置信圖將會由兩種特征共同決定置信圖的可信度較高。
首先用灰度特征得到一個置信圖mg,然后用HOG特征再得到一個置信圖mh,則最終的置信圖可表示為:

式中,ξ是權重因子,具體表示為:

其中,Smg,Smh分別是置信圖mg與mh的方差,方差的大小代表了搜索區域每個位置成為目標位置的差異性,方差大表明置信圖中數據之間的差異性較大,置信圖的判別力較強,占最終置信圖的權重就大;反之,則相反。
STC算法中盡管對搜索區域進行了加窗處理,但是這只能消除邊緣噪聲的干擾,目標周邊的噪聲干擾并沒有被消除。在不丟幀的情況下,相鄰兩幀目標點的置信值在小范圍波動。為了解決噪聲問題,選取了當前幀置信圖中與上一幀目標點置信值相近的候選目標點(本文取的波動范圍為0.000 5),采用相似度模板匹配的方法對噪聲的影響進行校正。采用文獻[2]的相似度計算如下:

式中,NCC是歸一化互相關值,取值范圍[0 1],為1時則說明a與b完全相似,為0時則說明a與b不相似;ai與bi為當前幀候選目標與匹配模板的像素值,ua與ub分別為其對應的均值。
為了避免背景在相似度匹配的過程中對匹配結果造成影響,選取目標框的一半作為匹配的尺寸。
對于相似度匹配,采用多幀模板匹配,具體分為以下3個階段。
1)保存最真實的目標模板g(比如第一幀的目標),通過式(14)計算g與候選目標的相似度:

式中,qn表示的是候選目標。
2)選取先前幀的目標作為模板p,與選取的候選目標進行相似度計算:

式中,p是實時更新的,當最終選擇的候選目標與p的相似度達到閾值γ(本文選取0.8),則以當前幀的目標對p進行更新。
3)將兩種相似度進行權重組合:

其中,θ是權重因子,0<θ<1,當目標變化較小時選取較大的θ,當目標變化較大時選取較小的θ。φη是最終的相似度值,使用這種相似度測量既可以保留最真實的目標,信息也可以實時適應目標的變化。
在目標的運動過程中,目標的外觀是不斷發生變化的,比如光照的變化,目標的形變等,這種情況下,原始時空上下文算法的學習率存在以下問題。
1)較小的學習率使得時空上下文模板更新較慢,對目標的學習程度不夠,目標最新狀態信息丟失較大,隨著跟蹤的進行發生漂移,最終丟失目標。
2)較大的學習率使上下文模板更新較快,對目標的最新狀態過度學習,丟失了較多以前的信息,降低了模板的記憶能力,一旦發生短暫干擾更新的模板就會發生較大的錯誤,當干擾消失時,使用該模板得到的置信圖的可信度就會降低,最終導致目標跟丟。
因此,在不同的狀態下使用適當的學習率對模板進行更新,使其既不會過度學習,也不會欠學習,這樣才能提高跟蹤的魯棒性,使學習率的變化取決于外觀的變化,目標在不同背景下的狀態是不一樣的,因此,以目標的移動速度為參數對學習率進行變化。

式中,v是目標移動速度,使用相鄰幀目標位置的歐氏距離進行表示:

其中,(xt,yt)與(xt-1,yt-1)分別為當前目標的位置與上一幀目標的位置。
為了驗證算法的有效性,在兩組視頻序列中進行了測試與驗證,分別從中抽取了可以反映整體跟蹤情況的五幀跟蹤結果,虛線框代表改進后的STC算法;實線框代表原STC跟蹤算法。實驗參數:根據文獻[16],式(6)中 α=2.25,β=1;式(11)中 ρ=0.075為初始值。對于跟蹤結果的精確程度采用中心誤差曲線(CLE)進行評測,中心誤差曲線由目標的真正中心與算法跟蹤結果中心的歐式距離表示。4組視頻序列的五幀跟蹤結果如圖1所示,中心誤差曲線如下頁圖2所示。

圖1 部分跟蹤結果視圖
從圖1(a)中可以看出,在159幀時目標發生了遮擋,從209幀可以看出原STC算法發生了漂移,而本文的算法跟蹤較精確,這主要是因為本文采用了自適應學習率的模板更新與相似度匹配的誤差校正。從389幀與462幀可以看出,原STC算法已經跟丟,改進后的算法誤差始終保持在10個像素以內,當389幀在做戴眼鏡動作時,對原算法影響較大而對改進后的算法不敏感,這主要是由于采用了HOG特征融合,置信圖可信度提高。從中心位置誤差曲線可以看出,原算法的誤差總體上是增加的,而改進后的算法大部分保持在10個像素以內,雖然有小部分超過10個像素但是很快又校正到10個像素以內。從圖2(b)可以看出,雖然原算法總體可以跟蹤得上,但是發生了漂移,從中心誤差曲線可以看出,原算法的誤差是不斷增加的,可以預見當長時間跟蹤目標時最終將會跟丟,而改進后的算法中心誤差保持穩定,大部分保持在6個像素之內,最大的誤差也沒有超過8個像素。圖2(c)中在第55幀中發生了部分遮擋,60幀時STC算法跟丟,本文算法仍然較準確地進行跟蹤,從110幀和240幀可知STC算法完全跟丟,主要原因是濾波模板已經完全更新錯誤。圖2(d)中59幀和127幀目標受到短暫的部分遮擋,兩種算法都可較好地跟蹤,從215幀到230幀目標持續受到部分遮擋,濾波模板更新錯誤,STC算法錯誤跟蹤了干擾項“書本”,本文算法由于相似度匹配的誤差校正能力而正確跟蹤了目標。

圖2 中心位置誤差曲線
本文分析了STC算法存在的不足與造成原因,并及時進行了改進,將STC的單一灰度特征決定的置信圖改為由灰度特征和HOG特征共同決定,提高了置信圖的可信度;對目標產生的漂移將當前幀的候選目標位置與先前保存的模板進行相似度測量,選取相似值最大的位置為最終目標位置對產生的漂移進行校正;針對固定學習率模板更新,提出了一種相鄰幀間目標位置的歐式距離為變量的自適應學習率更新模板,仿真結果表明,雖然速度比原算法有所下降,但是跟蹤精度有了一定的提高。