丁 磊,宮寧生,俞克強(qiáng)
(南京工業(yè)大學(xué)電子與信息工程學(xué)院,江蘇 南京 211316)
在視頻圖像處理技術(shù)中,目標(biāo)跟蹤算法是一項(xiàng)關(guān)鍵技術(shù),在視頻監(jiān)控、商場(chǎng)人流量監(jiān)控和車輛監(jiān)控等方面具有廣泛的應(yīng)用。目標(biāo)跟蹤算法的主要作用是估計(jì)出運(yùn)動(dòng)目標(biāo)的位置。由于運(yùn)動(dòng)目標(biāo)在連續(xù)幀圖像中存在連續(xù)性的對(duì)應(yīng)關(guān)系,因此在跟蹤技術(shù)中只要找到這種對(duì)應(yīng)的關(guān)系就能實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤。本文使用Mean Shift跟蹤算法[1-3]實(shí)現(xiàn)對(duì)每幀視頻圖像中運(yùn)動(dòng)目標(biāo)的跟蹤。
Mean Shift跟蹤算法是一種非參數(shù)密度估計(jì)方法,1975年Fukunaga等人[4]首次提出了 Mean Shift理論,而Yizong Cheng[5]對(duì) Mean Shift理論進(jìn)行了推廣,將 Mean Shift算法成功的應(yīng)用到視頻圖像處理中。Comaniciu等人[6]討論了Mean Shift算法在運(yùn)動(dòng)目標(biāo)跟蹤中的應(yīng)用,從而使得運(yùn)動(dòng)目標(biāo)的跟蹤可以實(shí)時(shí)進(jìn)行。因此Mean Shift算法在目標(biāo)跟蹤方面取得了較好的效果。
在整個(gè)跟蹤過程中,Mean Shift跟蹤算法中使用的目標(biāo)跟蹤框的大小是固定不變的。但是視頻序列中,運(yùn)動(dòng)目標(biāo)的大小可能是變化的,特別是當(dāng)運(yùn)動(dòng)目標(biāo)由遠(yuǎn)及近時(shí),運(yùn)動(dòng)目標(biāo)逐漸變大,常常會(huì)因?yàn)楦櫩虼笮〔蛔儗?dǎo)致跟蹤效果不好。
針對(duì)Mean Shift目標(biāo)跟蹤算法中存在的跟蹤框大小不變的情況,本文采用結(jié)合背景幀差[7]的Mean Shift跟蹤算法,從而自動(dòng)地調(diào)整目標(biāo)跟蹤框的尺寸。文中將背景幀差提取的運(yùn)動(dòng)目標(biāo)的位置信息和Mean Shift跟蹤算法得到的位置信息做比較,如果兩個(gè)位置的信息相符合,則將背景幀差提取的運(yùn)動(dòng)目標(biāo)的尺寸表示為運(yùn)動(dòng)目標(biāo)的跟蹤框大小。本文的算法計(jì)算量不大,通過本文的改進(jìn)算法,達(dá)到了優(yōu)化跟蹤效果的目的。
視頻圖像序列中,首先應(yīng)該預(yù)先選定目標(biāo)檢測(cè)區(qū)域,計(jì)算出初始幀的每個(gè)像素點(diǎn)在特征空間中每個(gè)特征值的概率,從而可以建立起目標(biāo)模型。在后續(xù)的每幀圖像中,計(jì)算出可能會(huì)存在目標(biāo)的區(qū)域中所有像素點(diǎn)在特征空間中的特征值概率,從而可以建立起候選目標(biāo)模型。因此,可以用相似性函數(shù)計(jì)算當(dāng)前幀候選目標(biāo)模型和初始幀目標(biāo)模型的相似度,從而求解相似性函數(shù)的最大值,通過這種方法可以得到運(yùn)動(dòng)目標(biāo)的Mean Shift向量,而求解得到的向量即為運(yùn)動(dòng)目標(biāo)向正確位置移動(dòng)的向量值。因?yàn)镸ean Shift算法是具有收斂性的,所以可以使用迭代的方法得到在當(dāng)前幀中運(yùn)動(dòng)目標(biāo)的真實(shí)位置。
在運(yùn)動(dòng)目標(biāo)區(qū)域中,Mean Shift算法將顏色空間分成m個(gè)子空間,從而可以計(jì)算出運(yùn)動(dòng)目標(biāo)的初始模型和候選模型的概率密度函數(shù)。
對(duì)于初始幀圖像目標(biāo)區(qū)域內(nèi)的所有像素點(diǎn),可以計(jì)算得到在特征空間中特征值的概率密度值,運(yùn)動(dòng)目標(biāo)模型中m個(gè)特征值的密度函數(shù)為
假定用 {xi}i=1,2,…,n表示目標(biāo)模型中有 n 個(gè)像素點(diǎn),則目標(biāo)模型的特征值u=1,2,…,m的概率密度函數(shù)公式為
在后續(xù)的圖像幀中的候選目標(biāo)區(qū)域中,候選目標(biāo)模型有m個(gè)特征值
候選目標(biāo)的中心位置為y,候選目標(biāo)區(qū)域的像素點(diǎn)用{xi}i=1,2,…,nh表示,則候選目標(biāo)模型的特征值u=1,2,…,m的概率密度公式為
式中:Ch為歸一化的常量。
在連續(xù)幀中,目標(biāo)模型和候選目標(biāo)模型的相似度可以通過相似性函數(shù)來判斷,理想情況下,兩個(gè)模型的概率密度分布是完全一致的。本文選擇Bhattacharyya系數(shù)來判斷目標(biāo)模型和候選模型的相似度,則有
在當(dāng)前幀中,可以先由前一幀目標(biāo)的位置y0開始匹配最優(yōu)化的目標(biāo)位置,可以用y表示。計(jì)算候選目標(biāo)模型的概率密度函數(shù)(y0),對(duì)式(5)在)處進(jìn)行一階泰勒展開,此時(shí)Bhattacharyya系數(shù)為
由式(4)可得
式中:wi為候選目標(biāo)區(qū)域的像素點(diǎn)權(quán)重。則有
核函數(shù)k(x)的中心位置從初始位置y0開始不斷向新的位置移動(dòng),從而進(jìn)行匹配,新的位置描述為
式中:g(x)=-k′(x)。
在Mean Shift目標(biāo)跟蹤算法中,運(yùn)動(dòng)目標(biāo)的跟蹤過程中會(huì)出現(xiàn)跟蹤框的大小固定不變的情況。當(dāng)運(yùn)動(dòng)目標(biāo)遠(yuǎn)離鏡頭時(shí),目標(biāo)變小,但是跟蹤框大小不變,可能會(huì)對(duì)其他運(yùn)動(dòng)目標(biāo)的跟蹤帶來干擾;當(dāng)運(yùn)動(dòng)目標(biāo)靠近鏡頭時(shí),目標(biāo)變大,但是跟蹤框大小依舊不變,可能會(huì)出現(xiàn)目標(biāo)跟丟的情況。
如圖1所示,本文應(yīng)用Surendra背景更新算法[8]獲取背景,再通過背景差分法提取出運(yùn)動(dòng)目標(biāo),得到運(yùn)動(dòng)目標(biāo)后,將此運(yùn)動(dòng)目標(biāo)的位置信息和上文中Mean Shift跟蹤算法得到的目標(biāo)的位置信息做比較,如果兩者相符合,則認(rèn)為檢測(cè)出的兩個(gè)運(yùn)動(dòng)目標(biāo)是同一個(gè)。記錄Surendra背景更新算法提取出運(yùn)動(dòng)目標(biāo)的位置信息(左端點(diǎn)xmin、右端點(diǎn)xmax、上端點(diǎn)ymin和下端點(diǎn)ymax),從而得到目標(biāo)的長(zhǎng)和寬信息,最后用方框表示出運(yùn)動(dòng)目標(biāo)的位置。在連續(xù)幀內(nèi),隨著目標(biāo)的運(yùn)動(dòng),會(huì)發(fā)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤框的大小實(shí)時(shí)變化。
在Surendra背景更新算法中,當(dāng)算法處理的次數(shù)達(dá)到最大的迭代次數(shù)時(shí),Surendra背景更新會(huì)停止,把取到的背景圖像當(dāng)作固定的背景,這不適合亮度有變化的場(chǎng)景。在本文中,取消設(shè)置最大迭代次數(shù),使得Surendra背景更新算法一直在處理,從而得到實(shí)時(shí)的背景。Surendra背景更新算法流程圖如圖1所示。
圖1 Surendra背景更新算法流程圖
取第一幀圖像f0作為初始背景B0,當(dāng)前幀和前一幀的差分結(jié)果的二值化圖像為Di
通過得到的兩幀差值結(jié)果Di可知,背景更新可以由式(11)表示
式中:α為更新因子。
通過Surendra背景更新算法得到實(shí)時(shí)背景后,將當(dāng)前幀圖像fi和得到的背景Bi相減。如式(12)和式(13)所示,如果得到的差值Di小于閾值T,則認(rèn)為是背景圖像;反之,則認(rèn)為是前景圖像。
通過背景差分提取出運(yùn)動(dòng)目標(biāo)后,可以得到目標(biāo)的位置信息(左端點(diǎn)xmin、右端點(diǎn)xmax、上端點(diǎn)ymin和下端點(diǎn)ymax),把兩種方法得到的位置信息做比較,如果兩者相符,則認(rèn)為是同一目標(biāo);反之,則認(rèn)為不是同一目標(biāo)。如式(14)和式(15)可示,背景差分得到的運(yùn)動(dòng)目標(biāo)中心坐標(biāo)位置和長(zhǎng)寬分別為
式中:(xi,yj)為運(yùn)動(dòng)目標(biāo)所在像素點(diǎn)的坐標(biāo)位置。
本文采用TI公司的DM642數(shù)字信號(hào)處理器對(duì)采集到的D1格式的視頻進(jìn)行處理。在處理時(shí),本文采用2塊DM642處理器同時(shí)對(duì)Mean Shift算法和改進(jìn)的Mean Shift算法進(jìn)行視頻幀圖像的處理。圖2表示的是Mean Shift目標(biāo)跟蹤算法的處理效果,圖3表示的是改進(jìn)的Mean Shift跟蹤算法的處理效果。
對(duì)比兩種算法在實(shí)際場(chǎng)景下的處理結(jié)果可以知道,運(yùn)動(dòng)目標(biāo)由遠(yuǎn)及近的過程中,改進(jìn)算法可以明確看出目標(biāo)跟蹤框是隨著目標(biāo)的變大不斷變大的。因此,本文中的改進(jìn)算法能很好地解決Mean Shift跟蹤算法存在的跟蹤框大小不變的問題,具有較好的效果;并且DM642處理器的處理速度也沒有受到大的影響,可以保證本文的算法可以在DM642處理器上正常運(yùn)行,實(shí)時(shí)地進(jìn)行圖像幀的處理。
本文以Mean Shift目標(biāo)跟蹤算法來實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤,由于傳統(tǒng)Mean Shift目標(biāo)跟蹤算法中存在跟蹤框大小不變的情況,可能會(huì)導(dǎo)致在跟蹤過程中目標(biāo)跟丟的情況發(fā)生。本文提出了結(jié)合背景差分法來實(shí)現(xiàn)目標(biāo)跟蹤框的大小自適應(yīng)變化,在實(shí)際的工程應(yīng)用中,改進(jìn)的Mean Shift跟蹤算法在DM642上可以流暢地運(yùn)行,算法的實(shí)時(shí)性可以保證。由于車輛的速度過快,從而導(dǎo)致跟蹤框滯后于車輛的情況發(fā)生,對(duì)車輛的跟蹤以及后續(xù)的車速的計(jì)算有一定的影響,但是影響不大。
[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的序列圖像手勢(shì)跟蹤算法[J].電視技術(shù),2010,34(6):97-99.
[3]梁靜,支琤,周軍.基于Mean Shift的抗遮擋運(yùn)動(dòng)目標(biāo)跟蹤算法[J].電視技術(shù),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ìn)背景差法的運(yùn)動(dòng)目標(biāo)檢測(cè)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(17):3841-3844.
[8]GUPTE S.Detection and classification of vehicles[J].IEEE Trans.Intelligent Transportation Systems,2002,3:37-40.