楊 嬌, 陳 強, 周 玲, 孫海靜
(上海工程技術大學 電子電氣工程學院,上海 201600)
視覺跟蹤是指識別、定位、跟蹤一個或多個運動的物體,在很多領域被廣泛使用,如環(huán)境監(jiān)測分析、智能人機交互、運動分析等[1]。視覺跟蹤根據(jù)跟蹤時間可分為兩類,即短期視覺跟蹤和長期視覺跟蹤,短期的視覺追蹤,檢測物體的外形不會發(fā)生很大變化,照明條件也不會發(fā)生太大的變化,大部分的視覺跟蹤算法屬于短期跟蹤,技術相對成熟。長期的視覺追蹤,面臨很多問題,主要是能夠檢測出重新出現(xiàn)在視頻里的運動物體,良好的長期視覺跟蹤方法應該能夠有效處理尺度變化、光照變化、復雜背景、局部遮擋等因素的影響。
實現(xiàn)有效的長期跟蹤,跟蹤和檢測兩個環(huán)節(jié)要聯(lián)動,不可獨立完成任務。Phadke G等人提出了利用Mean—局部二值模式(local binary pattern,LBP)結(jié)合改進的模糊C—均值(fuzzy C-means,MFCM)聚類算法,得到圖像的顏色紋理直方圖,再通過Mean-Shift完成目標的追蹤[2]。Yang Y X等人提出了灰度級別的LBP算法,考慮到像素點本身而不是與鄰域像素點之間的差異,對于提取低分辨率場景,或者與背景相似的目標的紋理特征有更好的魯棒性[3]。同時,對跟蹤—學習—檢測(tracking-learning-detection,TLD)算法也提出了很多的改進措施。通過將Kalman濾波器應用于神經(jīng)網(wǎng)絡,預測運動物體的位置,減小圖像中的搜索區(qū)域。采用Kalman濾波器預測目標所在區(qū)域,提升算法性能[4,5]。利用視覺背景提取的前景分類算法,加快目標檢測速度,用核相關濾波器實現(xiàn)TLD框架中的跟蹤器,提升算法的跟蹤精度[6]。將TLD的光流法跟蹤器替換為Mean-Shift算法,提高了效率[7]。通過提取特征點,提高跟蹤效果[8]。將TLD算法結(jié)合時空上下文跟蹤算法,更好應對復雜情況下的目標跟蹤[9]。以上這些研究成果中提出的跟蹤算法,實現(xiàn)效果比傳統(tǒng)的TLD算法雖然有了很大改進,但實驗表明:對于長距離的目標追蹤,若光照條件發(fā)生變化,跟蹤效果不是很好。
為了增強TLD對光照變化條件的魯棒性,本文嘗試將LBP與TLD 相融合,LBP算法具有灰度不變性和旋轉(zhuǎn)不變性等優(yōu)點,適合提取圖片的紋理檢測特征。通過融合LBP算法與TLD的最近鄰分類器,跟蹤結(jié)果有較大改善。并且對于遮擋問題,采用了Kalman濾波器,預測目標可能出現(xiàn)的區(qū)域,提高算法的效率。
TLD算法是一種單目標長時間跟蹤算法,融合了傳統(tǒng)的目標檢測算法以及目標跟蹤算法,并在此基礎上增加了改進的在線學習機制,解決了目標在被跟蹤過程中出現(xiàn)丟失,部分遮擋問題。TLD算法分3個部分:跟蹤(tracking)模塊,學習(learning)模塊,檢測(detection)模塊,如圖1。
圖1 TLD跟蹤模型
其中,跟蹤模塊是在中值流跟蹤算法的基礎上增加了跟蹤失敗檢測算法。在上一幀的目標框中選取若干點作為特征點,在下一幀中尋找特征點在當前幀對應的位置,比較所有特征點在相鄰兩幀之間的位移變化,得到位移變化的中值作為閾值,位移變化值小于閾值的這些特征點將作為下一幀的特征點。為了應對目標發(fā)生遮擋時跟蹤失敗,可定義位移的殘差值為|變化值—中值|,若殘差值大于設定的像素值,則跟蹤失敗不會返回目標框。
檢測模塊由方差分類器,集成分類器和最近鄰分類器組成,每個可能出現(xiàn)待檢測目標的區(qū)域都會依次通過三個分類器,只有通過這三個分類器,才能被認定為被檢測的目標。
學習模塊采用P-N學習算法,根據(jù)跟蹤檢測過程得到的結(jié)果,將圖像分成正負樣本,即目標和背景。學習模塊不斷對檢測模塊進行評估,獲取誤差并實時更新修正檢測器。其中,P專家識別錯分為正樣本的負樣本,N專家識別錯分為負樣本的正樣本,兩者彼此獨立,相互補償。
TLD算法在目標追蹤過程中存在很大的弊端就是對光照的改變十分敏感,當目標出現(xiàn)遮擋時易造成跟蹤目標丟失。因此本文對TLD目標跟蹤算法加以改進,在檢測模塊中,前兩個分類器是基于圖像的灰度特征,第三個分類器結(jié)合圖像的LBP特征,LBP算法具有灰度不變性,能夠降低光照對于圖像跟蹤的影響。當目標有很好的紋理特征時,結(jié)合LBP算法的TLD方法比原有的TLD能有更好的跟蹤效果;反之,當紋理特征不是很好時,采用原始的TLD方法進行跟蹤。所以在檢測器工作之前,首先要計算目標的LBP特征,得到每個區(qū)域的直方圖,并將直方圖進行歸一化處理,計算直方圖的方差,如若方差小于設定的閾值,則采用LBP與TLD相結(jié)合的方式對目標進行跟蹤.不僅減少了光照對于目標跟蹤造成的影響,也加快了檢測模塊的初始化速度。在跟蹤模塊結(jié)合Kalman濾波器,預測目標可能出現(xiàn)的區(qū)域,減小圖像中的搜索區(qū)域,降低了目標遮擋導致跟蹤失敗的概率。改進后的方法流程圖如圖2所示。
圖2 改進的TLD算法流程
LBP特征即局部二值模式,被用來描述圖像的紋理特征,在灰度不變性和旋轉(zhuǎn)不變性上有很大的優(yōu)勢,對光照具有很強的魯棒性。如圖3所示,構(gòu)造一個3×3的模板,以中心像素的灰度值為閾值,分別與領域像素進行比較,大于閾值的記為1,小于閾值的記為0,因此對于圖像的每個像素進行處理,得到的就是原圖像的LBP圖像。
圖3 LBP算子示意
為了能夠提取不同尺寸的圖像的紋理特征,并且達到灰度和旋轉(zhuǎn)不變性的要求,提出了用圓形區(qū)域代替固定的正方形區(qū)域,使得更多的像素點出現(xiàn)在鄰域內(nèi),其中,P表示樣本的數(shù)量,R表示圓的半徑。對于半徑為R的圓的中心點為(xc,yc),點為其鄰域點(xp,yp),則(xp,yp)可表示為
xp=xc+Rcos(2πp/P),yp=yc-Rsin(2πp/P)
(1)
區(qū)分鄰域比中心亮度大小,計算公式
(2)
經(jīng)過LBP提取特征后的圖像,與原圖像相比更能清晰地體現(xiàn)出圖像的紋理特征,同時避免了部分不必要的特征,降低了特征點維數(shù),對于光照改變有很強的魯棒性。
在實際的追蹤過程中,相鄰兩幀之間間隔很小,可以將其看為線性的。在TLD追蹤過程中加入Kalman濾波器,將從兩個方面來改善TLD的準確度。一方面,根據(jù)TLD初始邊框的值作為Kalman濾波器初始值,通過Kalman濾波器對下一幀進行預測,計算預測的邊框值與第三個最近鄰分類器中目標模板的相似程度,可以設定閾值,當相似度大于閾值時,可以使用預測邊框代替光流法檢測的邊框,反之,則用光流法檢測到的邊框?qū)alman濾波去進行糾正,重新初始化。另一方面,由于TLD算法在檢測模塊時,是采用對圖片的全部信息進行掃描是否有目標出現(xiàn),為了提高算法的運行效率,使用Kalman濾波預測目標出現(xiàn)的位置,將此位置作為TLD檢測區(qū)域,縮小了TLD的檢測范圍。Kalman算法引入了2個重要的方程:1)狀態(tài)方程X(k)=AK(k-1)+BU(k)+W(k);2)觀測方程Z(k)=HX(k)+V(k)。其中,X(k)為k時刻的系統(tǒng)狀態(tài),U(k)為k時刻對系統(tǒng)的控制量,A,B,H為系統(tǒng)參數(shù),對于多測量系統(tǒng)來說,A為狀態(tài)轉(zhuǎn)移矩陣,H為觀測矩陣,W(k),V(k)為噪聲,Z(k)為k時刻的測量值。
本文實驗是基于Windows 7系統(tǒng),利用VS2013與OpenCV 2.4.10來完成的。為了驗證本文提出來的改進算法,選取了2種方式來進行驗證,第一種采取攝像頭捕捉視頻,設置好需要跟蹤的目標,分別進行光照環(huán)境改變,目標晃動導致模糊,利用外物對目標進行遮擋3個實驗。并將跟蹤后的結(jié)果與原始TLD算法跟蹤結(jié)果進行對比,如圖4所示。
圖4 方式一實驗效果
另一種方式選取幾段視頻,同樣分別進行光照環(huán)境改變,攝像機晃動導致目標模糊,利用外物對目標進行遮擋3個實驗。并對結(jié)果進行對比記錄,如圖5所示。
圖5 方式二實驗效果
根據(jù)不同場景下TLD與改進后的TLD跟蹤結(jié)果對比,明顯可以看出,改進后的算法對目標跟蹤更加不容易受到外界條件的干擾,完成原有的TLD無法做到的實時追蹤。通過不斷地實驗,統(tǒng)計目標出現(xiàn)幀數(shù)和捕捉到的目標幀數(shù),利用追蹤的準確率來判斷算法的優(yōu)越性。統(tǒng)計結(jié)果如表1所示。
表1 實驗結(jié)果
在目標的追蹤過程,本文使用Kalman濾波器對監(jiān)測區(qū)域進行預測,縮小了檢測時間,減少了系統(tǒng)的負擔,提升了算法的效率。統(tǒng)計了在4個視頻中,TLD算法與改進的TLD算法運行時間,統(tǒng)計結(jié)果如圖6所示。
圖6 算法運行時間對比
本文在傳統(tǒng)TLD算法的基礎上融合了LBP特征,提升了算法性能。在TLD的檢測模塊中,最近鄰分類器選擇LBP特征作為基本特征,光照改變的情況下,改進后的算法具有很好的追蹤效果。當目標發(fā)生遮擋而導致丟失,或者運動速度過快導致模糊的,則引入Kalman濾波器進行跟蹤區(qū)域預測,提高了TLD算法的檢測效率。實驗結(jié)果證明:本文所提出的改進算法跟蹤效果更好,性能優(yōu)于傳統(tǒng)的TLD算法,在光照改變或者遮擋使圖像模糊情況下的處理能力也優(yōu)于部分改進算法,使得對目標的跟蹤更加精確,并對光照強度的改變、遮擋、目標模糊有更好的魯棒性。