杜靜雯,黃 山
(1.四川大學(xué) 電氣信息學(xué)院,四川 成都 610065;2.四川大學(xué) 計(jì)算機(jī)學(xué)院,四川 成都 610065)
針對(duì)傳統(tǒng)Meanshift[1]目標(biāo)跟蹤算法在跟蹤過程中無法根據(jù)目標(biāo)的大小來自適應(yīng)改變跟蹤框的大小問題,許多學(xué)者提出了大量的改進(jìn)算法。文獻(xiàn)[2]用增量試探法來實(shí)現(xiàn)跟蹤窗自適應(yīng),其構(gòu)建的跟蹤框是線性變化的,具有一定的局限性。文獻(xiàn)[3]利用矩估計(jì)和巴氏系數(shù)來估計(jì)目標(biāo)的真實(shí)尺度。文獻(xiàn)[4]對(duì)圖像進(jìn)行視覺顯著性檢測(cè),結(jié)合像素歸屬度確定目標(biāo)區(qū)域并構(gòu)建自適應(yīng)核函數(shù),來實(shí)現(xiàn)尺度自適應(yīng)。文獻(xiàn)[5]使用了改進(jìn)的三幀差分法與傳統(tǒng)均值漂移跟蹤算法相結(jié)合,在目標(biāo)模板與候選模板巴氏系數(shù)小于一定閾值時(shí)進(jìn)行了模板更新,但尺度自適應(yīng)的靈敏性不高。文獻(xiàn)[6]采用了五幀差分法結(jié)合改進(jìn)的Meanshift算法進(jìn)行跟蹤,雖然可以較為完整地檢測(cè)出運(yùn)動(dòng)目標(biāo),但卻沒有實(shí)現(xiàn)尺度自適應(yīng),而且算法復(fù)雜度升高,實(shí)時(shí)性較差。文獻(xiàn)[7]結(jié)合幀差法與canny算子提取目標(biāo)輪廓來更新核函數(shù)帶寬和跟蹤窗,可以得到很好的跟蹤效果。文獻(xiàn)[5,7]雖然能夠?qū)崿F(xiàn)尺度自適應(yīng),但卻不適用于多個(gè)運(yùn)動(dòng)目標(biāo)存在的場(chǎng)景。
本文提出一種尺度自適應(yīng)的均值漂移跟蹤算法,為了改善傳統(tǒng)均值漂移算法跟蹤準(zhǔn)確度低的缺點(diǎn),本文將HLBP[8]特征運(yùn)用到Meanshift框架中進(jìn)行跟蹤,該算法計(jì)算復(fù)雜度低,實(shí)時(shí)性高。
(1)
(2)
(3)
(4)
(5)
(6)
選擇巴氏相關(guān)系數(shù)來表征目標(biāo)模型與候選模型之間的相似度,計(jì)算方法為式(7)。ρ即為巴氏系數(shù)的值
(7)
式(8)中ωi為權(quán)值,式(9)中z即為每次搜索得到的跟蹤框新位置,且g(x)=-k′(x)。 使巴氏系數(shù)取值最大的z即為當(dāng)前幀目標(biāo)的最終定位
(8)
(9)
HLBP紋理特征是文獻(xiàn)[8]中提出來的,該特征的計(jì)算結(jié)合了Haar特征和LBP紋理特征各自的計(jì)算方法,二者優(yōu)勢(shì)互補(bǔ),有著更好的紋理表達(dá)能力。HLBP的8組編碼模式如圖1所示,其中的閾值是固定閾值,受人為因素影響較大,本文以模板均值作為閾值T,按式(10)計(jì)算,W(x,y)、Mi的含義以及HLBP紋理特征的詳細(xì)計(jì)算過程可查閱文獻(xiàn)[8]
(10)

圖1 HLBP特征編碼模式
(1)將初始幀中手動(dòng)選擇的矩形框內(nèi)的圖片轉(zhuǎn)化為灰度圖,以便于提取LBP特征,之后的每一幀在處理前都將重復(fù)這一過程。

(3)讀取視頻下一幀,并保存上一幀搜索的目標(biāo)質(zhì)心位置x,以上一幀的矩形框中心位置來初始化當(dāng)前幀矩形框的位置y0。



(9)當(dāng)循環(huán)停止的時(shí)候,此時(shí)的z就是目標(biāo)的最終位置,當(dāng)前幀的搜索結(jié)束,返回(3),繼續(xù)進(jìn)行下一幀的搜索。
為了得到完整的運(yùn)動(dòng)目標(biāo),本文算法中用到了腐蝕和膨脹等形態(tài)學(xué)運(yùn)算,比如對(duì)二值化圖像進(jìn)行處理,填補(bǔ)目標(biāo)內(nèi)部的空洞以及消除物體與物體的粘連,以此來更好地獲取目標(biāo)。
(1)膨脹
設(shè)A和B是二維整數(shù)控件Z2中的集合,A被B膨脹定義為式(11),其中B成為結(jié)構(gòu)元素,運(yùn)算如圖2所示

(11)

圖2 膨脹
(2)腐蝕
A被B膨脹定義為式(12),運(yùn)算如圖3所示
A?B={z|(B)z?A}
(12)

圖3 腐蝕
本文中對(duì)每一幀圖像進(jìn)行分割并二值化處理,使用最大類間方差法獲得該幀圖像的最優(yōu)閾值,其理論如下所述:假設(shè)一幅灰度圖,高為H,寬為W,I(x,y)表示圖上某像素點(diǎn)的灰度值。若閾值為T,大于T的像素點(diǎn)有N0個(gè),小于T的像素點(diǎn)有N1個(gè),則圖像被分為目標(biāo)和背景兩部分,按式(13)~式(20)進(jìn)行計(jì)算
(13)
(14)
(15)
(16)
u=w0×u0+w1×u1
(17)
σ2=w0×(u0-u)2+w1×(u1-u)2
(18)
把式(17)帶入式(18)得到類間方差的計(jì)算公式如下
σ2=w0×w1×(u0-u1)2
(19)
被分割的兩個(gè)區(qū)域的方差達(dá)到最大時(shí)被認(rèn)為是最佳分離狀態(tài),由此對(duì)應(yīng)的閾值T為
T=max(σ2)
(20)
式(13)~式(18)中,w0為目標(biāo)像素點(diǎn)與整幅圖總像素點(diǎn)的比值,w1為背景像素點(diǎn)與整幅圖總像素點(diǎn)的比值,u0為目標(biāo)像素點(diǎn)的平均灰度值,u1為背景像素點(diǎn)的平均灰度值,u為圖像像素點(diǎn)總體的平均灰度值,σ2即為方差,σ2越大,說明在閾值T的分割下目標(biāo)與背景差別越明顯,利用式(20)求出令σ2最大的閾值T,作為分割圖像前景和背景的閾值。
本文采用區(qū)域生長(zhǎng)法以確定運(yùn)動(dòng)目標(biāo)的大小,進(jìn)而實(shí)時(shí)更新跟蹤窗的大小,其基本思想是從一個(gè)像素點(diǎn)出發(fā),按一定的生長(zhǎng)準(zhǔn)則,把其鄰域中與之具有相同性質(zhì)的像素點(diǎn)集合起來形成新的區(qū)域,再以這些合并進(jìn)來的新的像素點(diǎn)為種子點(diǎn)繼續(xù)進(jìn)行上面的操作,進(jìn)而實(shí)現(xiàn)目標(biāo)的提取。
3.4.1 獲取完整運(yùn)動(dòng)目標(biāo)
由于幀差法獲得的殘差圖像會(huì)出現(xiàn)檢測(cè)出兩個(gè)目標(biāo)或者重影的情況,為此本文結(jié)合最大類間方差法獲得的二值圖,對(duì)二者進(jìn)行“與”運(yùn)算,以此來消除重影,最后獲得的圖經(jīng)過形態(tài)學(xué)處理,即可得到當(dāng)前幀中完整的運(yùn)動(dòng)目標(biāo)。圖4從左到右依次為原圖、原圖經(jīng)過幀差法以及形態(tài)學(xué)處理得到的圖、原圖經(jīng)過最大類間方差法分割以及形態(tài)學(xué)處理得到的圖以及二者“與”運(yùn)算得到的結(jié)果圖。

圖4 獲取目標(biāo)示例圖
3.4.2 跟蹤框的自適應(yīng)
假設(shè)幀差法得到的圖為G(x,y),最大類間方差法得到的圖為S(x,y),則進(jìn)行區(qū)域生長(zhǎng)的源圖為V(x,y),三者關(guān)系如式(21)
V(x,y)=G(x,y)∩S(x,y)
(21)
具體流程:
(1)在圖像V(x,y)中,以基于HLBP特征的Meanshift跟蹤算法搜索獲得的運(yùn)動(dòng)目標(biāo)的中心點(diǎn)(x0,y0)作為初始種子點(diǎn)(也即跟蹤框的中心點(diǎn));
(2)以(x0,y0)為中心,判斷其8鄰域像素點(diǎn) (x,y),如果點(diǎn)(x,y)滿足生長(zhǎng)準(zhǔn)則,將(x,y)與(x0,y0)合并(在同一區(qū)域內(nèi)),同時(shí)將(x,y)壓入堆棧;
(3)判斷堆棧是否為空,若不空則從堆棧中取出一個(gè)像素,把它當(dāng)作(x0,y0),返回到(2),否則執(zhí)行(4);
(4)當(dāng)堆棧為空時(shí),生長(zhǎng)結(jié)束,即運(yùn)動(dòng)目標(biāo)已經(jīng)找到。
本文中因?yàn)槭窃诙祱D像上進(jìn)行的區(qū)域生長(zhǎng),所以生長(zhǎng)準(zhǔn)則為灰度值255,大于255的為運(yùn)動(dòng)目標(biāo),小于255的為背景。
進(jìn)行了區(qū)域生長(zhǎng)之后,即可通過計(jì)算獲得目標(biāo)的真實(shí)質(zhì)心以及面積,用該面積來修正跟蹤框的大小及質(zhì)心,以此來實(shí)現(xiàn)尺度自適應(yīng)。由于兩幀之間目標(biāo)的尺度不會(huì)發(fā)生大面積變化,所以為了防止目標(biāo)與別的運(yùn)動(dòng)物體挨得近的情況下導(dǎo)致檢測(cè)出來的目標(biāo)面積增大,也為了防止檢測(cè)錯(cuò)誤,在更新跟蹤框之前,要判斷當(dāng)前幀所得到的目標(biāo)面積與上一幀的目標(biāo)面積的比值,若大于1.5或小于0.5,則表明所得到的目標(biāo)面積有誤,不對(duì)搜索框進(jìn)行修改。
3.4.3 本文算法流程(如圖5所示)

圖5 本文算法流程
所選測(cè)試視頻序列的幀高度為240,幀寬度為320。選取的跟蹤目標(biāo)為朝著攝像頭方向運(yùn)動(dòng)的行人,且視頻中目標(biāo)行人處于勻速行走的狀態(tài)。實(shí)驗(yàn)平臺(tái)選擇的是Visual Studio 2010和opencv2.4.9版本,編程語(yǔ)言使用的是C/C++。
圖6為3種算法針對(duì)目標(biāo)尺度逐漸變大情況下的部分實(shí)驗(yàn)圖,每幅圖底部標(biāo)示著對(duì)應(yīng)的幀數(shù)。從圖中可以看出,傳統(tǒng)Meanshift算法跟蹤效果最為不理想,在233幀之后就已跟丟目標(biāo),而自適應(yīng)閾值HLBP紋理特征的Meanshift算法跟蹤效果穩(wěn)定,明顯優(yōu)于傳統(tǒng)目標(biāo)跟蹤算法,雖然未達(dá)到尺度自適應(yīng),但跟蹤框的中心依舊在目標(biāo)身上,這就為本文算法奠定了基礎(chǔ)。從3幅圖的比較結(jié)果來看,本文算法跟蹤框能隨目標(biāo)尺度的變大而變大,幾乎達(dá)到了最小外界矩形的狀態(tài),使得跟蹤更加穩(wěn)定,背景因素的影響降到了最低,使得跟蹤準(zhǔn)確度得到了很大提高。

圖6 運(yùn)動(dòng)目標(biāo)跟蹤結(jié)果對(duì)比
為了進(jìn)一步分析,我們使用目標(biāo)實(shí)際位置與跟蹤框位置之間的歐氏距離來衡量跟蹤誤差,并通過OriginPro繪圖軟件進(jìn)行繪制,繪制結(jié)果如圖7所示。可以看出本文算法的跟蹤誤差幾乎為0,基于自適應(yīng)閾值HLBP紋理特征的Meanshift算法跟蹤誤差雖然在很小的范圍內(nèi)上下波動(dòng),但依舊可以達(dá)到穩(wěn)定的跟蹤,相比之下,傳統(tǒng)方法的誤差呈發(fā)散趨勢(shì),后期完全丟失了目標(biāo)。實(shí)驗(yàn)說明本文算法可以準(zhǔn)確的跟蹤目標(biāo),并且尺度自適應(yīng)的效果也很好。

圖7 3種算法跟蹤誤差
所選測(cè)試視頻序列幀高度為240,幀寬度為320。選取的跟蹤目標(biāo)為高速公路上朝著遠(yuǎn)離攝像頭方向快速運(yùn)動(dòng)的車輛,相比于實(shí)驗(yàn)一,實(shí)驗(yàn)二特意選取了背景中有多個(gè)運(yùn)動(dòng)目標(biāo)的視頻,相比于文獻(xiàn)[2]和文獻(xiàn)[7]只適用于單目標(biāo)的情況,本文算法更具實(shí)用性。實(shí)驗(yàn)平臺(tái)和編程語(yǔ)言的選擇同實(shí)驗(yàn)一。
由于傳統(tǒng)Meanshift目標(biāo)跟蹤算法難以跟蹤快速移動(dòng)目標(biāo),所以選取了STC跟蹤算法來進(jìn)行比較。圖8為3種算法針對(duì)目標(biāo)尺度逐漸變小情況下的部分實(shí)驗(yàn)圖。從圖中可以看出,自適應(yīng)閾值HLBP紋理特征的Meanshift算法與STC算法的跟蹤效果不相上下,都可以穩(wěn)定地跟蹤目標(biāo),二者的均未實(shí)現(xiàn)尺度自適應(yīng),這也說明了結(jié)合HLBP紋理特征的Meanshift算法可以跟蹤快速移動(dòng)的物體。從3幅圖的比較結(jié)果來看,本文算法在目標(biāo)快速移動(dòng)的情況下可以準(zhǔn)確而穩(wěn)定的跟蹤,且跟蹤框能隨目標(biāo)尺度的變小而變小,幾乎達(dá)到了最小外界矩形的狀態(tài),使得跟蹤更加穩(wěn)定。

圖8 運(yùn)動(dòng)目標(biāo)跟蹤結(jié)果對(duì)比
實(shí)驗(yàn)二的誤差如圖9所示。可以看出本文算法的跟蹤誤差相對(duì)于其它兩種算法來說很小,也更穩(wěn)定,雖然后期出現(xiàn)了小的波動(dòng),但很快又收斂于0。實(shí)驗(yàn)說明本文算法在目標(biāo)快速運(yùn)動(dòng)的情況下可以穩(wěn)定地跟蹤目標(biāo),并且尺度自適應(yīng)的效果也非常好。

圖9 3種算法跟蹤誤差
本文提出了一種尺度自適應(yīng)的目標(biāo)跟蹤算法,利用閾值自適應(yīng)HLBP紋理特征的Meanshift算法在目標(biāo)慢速或快速運(yùn)動(dòng)的情況下可以穩(wěn)定跟蹤的優(yōu)點(diǎn),結(jié)合幀差法和最大類間方法差法以及形態(tài)學(xué)處理得到二值化目標(biāo)區(qū)域來實(shí)現(xiàn)跟蹤框大小以及位置的修正,為了防止檢測(cè)到的目標(biāo)大小出現(xiàn)錯(cuò)誤導(dǎo)致跟蹤失敗,加入了面積判斷機(jī)制來增強(qiáng)算法的魯棒性,該算法計(jì)算復(fù)雜度較低,跟蹤結(jié)果準(zhǔn)確,對(duì)目標(biāo)尺度變化適應(yīng)性強(qiáng)。