丁 磊,宮寧生,俞克強
(南京工業大學電子與信息工程學院,江蘇 南京 211316)
在視頻圖像處理技術中,目標跟蹤算法是一項關鍵技術,在視頻監控、商場人流量監控和車輛監控等方面具有廣泛的應用。目標跟蹤算法的主要作用是估計出運動目標的位置。由于運動目標在連續幀圖像中存在連續性的對應關系,因此在跟蹤技術中只要找到這種對應的關系就能實現運動目標的跟蹤。本文使用Mean Shift跟蹤算法[1-3]實現對每幀視頻圖像中運動目標的跟蹤。
Mean Shift跟蹤算法是一種非參數密度估計方法,1975年Fukunaga等人[4]首次提出了 Mean Shift理論,而Yizong Cheng[5]對 Mean Shift理論進行了推廣,將 Mean Shift算法成功的應用到視頻圖像處理中。Comaniciu等人[6]討論了Mean Shift算法在運動目標跟蹤中的應用,從而使得運動目標的跟蹤可以實時進行。因此Mean Shift算法在目標跟蹤方面取得了較好的效果。
在整個跟蹤過程中,Mean Shift跟蹤算法中使用的目標跟蹤框的大小是固定不變的。但是視頻序列中,運動目標的大小可能是變化的,特別是當運動目標由遠及近時,運動目標逐漸變大,常常會因為跟蹤框大小不變導致跟蹤效果不好。
針對Mean Shift目標跟蹤算法中存在的跟蹤框大小不變的情況,本文采用結合背景幀差[7]的Mean Shift跟蹤算法,從而自動地調整目標跟蹤框的尺寸。文中將背景幀差提取的運動目標的位置信息和Mean Shift跟蹤算法得到的位置信息做比較,如果兩個位置的信息相符合,則將背景幀差提取的運動目標的尺寸表示為運動目標的跟蹤框大小。本文的算法計算量不大,通過本文的改進算法,達到了優化跟蹤效果的目的。
視頻圖像序列中,首先應該預先選定目標檢測區域,計算出初始幀的每個像素點在特征空間中每個特征值的概率,從而可以建立起目標模型。在后續的每幀圖像中,計算出可能會存在目標的區域中所有像素點在特征空間中的特征值概率,從而可以建立起候選目標模型。因此,可以用相似性函數計算當前幀候選目標模型和初始幀目標模型的相似度,從而求解相似性函數的最大值,通過這種方法可以得到運動目標的Mean Shift向量,而求解得到的向量即為運動目標向正確位置移動的向量值。因為Mean Shift算法是具有收斂性的,所以可以使用迭代的方法得到在當前幀中運動目標的真實位置。
在運動目標區域中,Mean Shift算法將顏色空間分成m個子空間,從而可以計算出運動目標的初始模型和候選模型的概率密度函數。
對于初始幀圖像目標區域內的所有像素點,可以計算得到在特征空間中特征值的概率密度值,運動目標模型中m個特征值的密度函數為

假定用 {xi}i=1,2,…,n表示目標模型中有 n 個像素點,則目標模型的特征值u=1,2,…,m的概率密度函數公式為


在后續的圖像幀中的候選目標區域中,候選目標模型有m個特征值

候選目標的中心位置為y,候選目標區域的像素點用{xi}i=1,2,…,nh表示,則候選目標模型的特征值u=1,2,…,m的概率密度公式為

式中:Ch為歸一化的常量。
在連續幀中,目標模型和候選目標模型的相似度可以通過相似性函數來判斷,理想情況下,兩個模型的概率密度分布是完全一致的。本文選擇Bhattacharyya系數來判斷目標模型和候選模型的相似度,則有

在當前幀中,可以先由前一幀目標的位置y0開始匹配最優化的目標位置,可以用y表示。計算候選目標模型的概率密度函數(y0),對式(5)在)處進行一階泰勒展開,此時Bhattacharyya系數為

由式(4)可得

式中:wi為候選目標區域的像素點權重。則有


核函數k(x)的中心位置從初始位置y0開始不斷向新的位置移動,從而進行匹配,新的位置描述為

式中:g(x)=-k′(x)。
在Mean Shift目標跟蹤算法中,運動目標的跟蹤過程中會出現跟蹤框的大小固定不變的情況。當運動目標遠離鏡頭時,目標變小,但是跟蹤框大小不變,可能會對其他運動目標的跟蹤帶來干擾;當運動目標靠近鏡頭時,目標變大,但是跟蹤框大小依舊不變,可能會出現目標跟丟的情況。
如圖1所示,本文應用Surendra背景更新算法[8]獲取背景,再通過背景差分法提取出運動目標,得到運動目標后,將此運動目標的位置信息和上文中Mean Shift跟蹤算法得到的目標的位置信息做比較,如果兩者相符合,則認為檢測出的兩個運動目標是同一個。記錄Surendra背景更新算法提取出運動目標的位置信息(左端點xmin、右端點xmax、上端點ymin和下端點ymax),從而得到目標的長和寬信息,最后用方框表示出運動目標的位置。在連續幀內,隨著目標的運動,會發現運動目標的跟蹤框的大小實時變化。
在Surendra背景更新算法中,當算法處理的次數達到最大的迭代次數時,Surendra背景更新會停止,把取到的背景圖像當作固定的背景,這不適合亮度有變化的場景。在本文中,取消設置最大迭代次數,使得Surendra背景更新算法一直在處理,從而得到實時的背景。Surendra背景更新算法流程圖如圖1所示。

圖1 Surendra背景更新算法流程圖
取第一幀圖像f0作為初始背景B0,當前幀和前一幀的差分結果的二值化圖像為Di

通過得到的兩幀差值結果Di可知,背景更新可以由式(11)表示

式中:α為更新因子。
通過Surendra背景更新算法得到實時背景后,將當前幀圖像fi和得到的背景Bi相減。如式(12)和式(13)所示,如果得到的差值Di小于閾值T,則認為是背景圖像;反之,則認為是前景圖像。

通過背景差分提取出運動目標后,可以得到目標的位置信息(左端點xmin、右端點xmax、上端點ymin和下端點ymax),把兩種方法得到的位置信息做比較,如果兩者相符,則認為是同一目標;反之,則認為不是同一目標。如式(14)和式(15)可示,背景差分得到的運動目標中心坐標位置和長寬分別為

式中:(xi,yj)為運動目標所在像素點的坐標位置。
本文采用TI公司的DM642數字信號處理器對采集到的D1格式的視頻進行處理。在處理時,本文采用2塊DM642處理器同時對Mean Shift算法和改進的Mean Shift算法進行視頻幀圖像的處理。圖2表示的是Mean Shift目標跟蹤算法的處理效果,圖3表示的是改進的Mean Shift跟蹤算法的處理效果。


對比兩種算法在實際場景下的處理結果可以知道,運動目標由遠及近的過程中,改進算法可以明確看出目標跟蹤框是隨著目標的變大不斷變大的。因此,本文中的改進算法能很好地解決Mean Shift跟蹤算法存在的跟蹤框大小不變的問題,具有較好的效果;并且DM642處理器的處理速度也沒有受到大的影響,可以保證本文的算法可以在DM642處理器上正常運行,實時地進行圖像幀的處理。
本文以Mean Shift目標跟蹤算法來實現運動目標的跟蹤,由于傳統Mean Shift目標跟蹤算法中存在跟蹤框大小不變的情況,可能會導致在跟蹤過程中目標跟丟的情況發生。本文提出了結合背景差分法來實現目標跟蹤框的大小自適應變化,在實際的工程應用中,改進的Mean Shift跟蹤算法在DM642上可以流暢地運行,算法的實時性可以保證。由于車輛的速度過快,從而導致跟蹤框滯后于車輛的情況發生,對車輛的跟蹤以及后續的車速的計算有一定的影響,但是影響不大。
[1]COLLONS R T.Mean-Shift Blob tracking through scale space[C]//Proc.2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.[S.l.]:IEEE Press,2003:234-240.
[2]王宇.基于Mean Shift的序列圖像手勢跟蹤算法[J].電視技術,2010,34(6):97-99.
[3]梁靜,支琤,周軍.基于Mean Shift的抗遮擋運動目標跟蹤算法[J].電視技術,2008,32(12):82-85.
[4]FUKUNAGE K,HOSTETLER L D.The estimation of the gradirent of a density function with application in pattern recognition[J].IEEE Trans.Information Theory,1975,21(1):32-40.
[5]CHENG Y.Mean Shift,mode seeking,and clustering[J].IEEE Trans.Pattern Analysis and Machine Intelligence,1995,17(8):790-799.
[6]COMANICIU D,MEER P.Mean Shift:a robust approach toward feature space analysis[J].IEEE Trans.Pattern Analysis and Machine Intelligence,1999,24(5):603-619.
[7]胡彪,龔曉峰.基于改進背景差法的運動目標檢測[J].計算機工程與設計,2010,31(17):3841-3844.
[8]GUPTE S.Detection and classification of vehicles[J].IEEE Trans.Intelligent Transportation Systems,2002,3:37-40.