毛 磊,金立左
(東南大學(xué) 自動化學(xué)院,江蘇 南京 210096)
PPM(Posterior Probability Measure)[1]是一種圖像匹配相似性判別指標(biāo),它利用搜索區(qū)域的統(tǒng)計(jì)特征來抑制背景特征對相似度函數(shù)的貢獻(xiàn),相比傳統(tǒng)巴氏Mean Shift[2]跟蹤算法,基于PPM指標(biāo)的PPM跟蹤算法有較銳的單峰值態(tài)勢,能有效減小匹配偏差并得到搜索最優(yōu)解[1]。但此法對存在明顯尺度變化的目標(biāo)進(jìn)行跟蹤時,由于跟蹤窗口尺寸固定,容易出現(xiàn)目標(biāo)跟偏甚至跟丟的現(xiàn)象。針對上述問題,我們在深入研究PPM跟蹤算法基礎(chǔ)上,提出了一種能表征目標(biāo)尺寸變化的PPM縮放指標(biāo),對傳統(tǒng)PPM跟蹤算法進(jìn)行了改進(jìn),改善了跟蹤效果。
嵌入式視覺運(yùn)動目標(biāo)跟蹤系統(tǒng)以其體積小巧、性能可靠、性價比高等突出優(yōu)點(diǎn),已在視頻監(jiān)控、智能交通、成像末制導(dǎo)等領(lǐng)域獲得廣泛應(yīng)用。以高速DSP為核心的高速圖像處理卡和實(shí)時視頻采集卡是視覺目標(biāo)跟蹤研究的重要硬件平臺。目前,國內(nèi)外在該領(lǐng)域已開展了廣泛研究,并已成為機(jī)器視覺應(yīng)用的熱門方向之一。本文研究并實(shí)現(xiàn)了一套基于高速DSP的視覺目標(biāo)跟蹤系統(tǒng),并將改進(jìn)后的PPM跟蹤算法移植到該嵌入式系統(tǒng)中,取得了較好的實(shí)時運(yùn)動目標(biāo)跟蹤效果。
本文的視覺運(yùn)動目標(biāo)跟蹤算法包括傳統(tǒng)PPM跟蹤算法、基于PPM縮放指標(biāo)的跟蹤窗尺寸自適應(yīng)算法。算法流程如圖1所示。
以φ(p,q)表示候選目標(biāo)區(qū)域與目標(biāo)模板之間的相似度,其中p和q分別表示候選區(qū)域和目標(biāo)模板的特征向量,以s表示搜索區(qū)域的特征向量,若采用直方圖作為圖像的統(tǒng)計(jì)特征,則最大后驗(yàn)概率指標(biāo)的形式為:
式中:m是目標(biāo)模板像素?cái)?shù);mu是特征維數(shù);qu、pu和su分別是模板、候選區(qū)域和搜索區(qū)域的第u維的值。
要統(tǒng)計(jì)第u個特征的值,即puqu/su,若以像素的形式來求解,就是對候選區(qū)域中所有特征為u的像素對應(yīng)的qu/su求和。如果有n個這樣的像素,則有:
圖1 視覺運(yùn)動目標(biāo)跟蹤算法流程圖Fig.1 Flow chart of visual moving target tracking algorithm
顯然,n正是候選區(qū)域第u個特征的統(tǒng)計(jì)值,也就是說pu=n。對每一維特征,其對應(yīng)的puqu/su值都可以通過像素對應(yīng)的值求和得到,則式(1)可以改寫為:
式中:m是候選區(qū)域的像素?cái)?shù)。又設(shè)像素j對應(yīng)的顏色特征是第 u維的,qu(j)和su(j)則表示目標(biāo)模板和搜索區(qū)域直方圖向量的第u維的值。通過每個像素的相似度貢獻(xiàn)值計(jì)算相似度。將每個像素對其候選區(qū)域的相似度的貢獻(xiàn)作為密度,提出PPM圖像跟蹤算法。跟蹤算法的詳細(xì)原理介紹請參看文獻(xiàn)[1]。
由式(3)啟發(fā),我們定義能表征目標(biāo)大小變化的PPM縮放指標(biāo)δ如下:
式中:m是目標(biāo)區(qū)域的像素?cái)?shù)。設(shè)像素i對應(yīng)的顏色特征是第 u 維的,Cu(i)和 Tu(i)分別表示當(dāng)前目標(biāo)區(qū)域和模板目標(biāo)區(qū)域直方圖向量的第u維的值。分解式(4)得:
式中:m1 是目標(biāo)窗口區(qū)域中目標(biāo)的像素?cái)?shù),C1u(i)和 T1u(i)分別表示目標(biāo)窗口區(qū)域中當(dāng)前目標(biāo)和模板目標(biāo)直方圖向量的第 u 維值,C0u(i)和 T0u(i)分別表示目標(biāo)窗口區(qū)域中當(dāng)前背景和模板中背景直方圖向量的第u維值。式(5)是線性的相加,因此我們可假設(shè):當(dāng)前目標(biāo)窗中歸類為目標(biāo)的像素個數(shù)為x(則歸類為背景的像素個數(shù)為m-x);目標(biāo)模板中歸類為目標(biāo)的像素個數(shù)設(shè)為a(則歸類為背景的像素個數(shù)為m-a)。因此,PPM縮放指標(biāo)δ可由下式表示:
上式中ε1和ε2是與目標(biāo)窗口中圖像直方圖相關(guān)的非零系數(shù),由式(6)得,我們所取的PPM縮放指標(biāo)跟當(dāng)前目標(biāo)像素?cái)?shù)是線性單調(diào)關(guān)系。目標(biāo)選定后,m和a的值就定了,ε1和ε2也能計(jì)算得到。顯然,m肯定大于a;而且選定目標(biāo)時,目標(biāo)窗口一般為目標(biāo)的外接矩形。因此(ε1m-(ε1+ε2)a),一般小于 0,所以式(6)一般為單調(diào)減函數(shù)(為排除特殊情況,我們在算法實(shí)現(xiàn)的時候,預(yù)先計(jì)算了該函數(shù)的系數(shù),以確定其單調(diào)性)。
文中基于Visual Studio 2010和OpenCV2.3實(shí)現(xiàn)所有仿真實(shí)驗(yàn)代碼。有關(guān)OpenCV的介紹及使用方法可以參看文獻(xiàn)[3-4],實(shí)驗(yàn)用計(jì)算機(jī)型號為DELL OPTIPLEX380。計(jì)算機(jī)硬件配置為 Intel Pentium(R)Dual-Core CPU E5800 3.2 GHz,3 GB內(nèi)存。
實(shí)驗(yàn)中,被跟蹤目標(biāo)分別是一輛汽車和一個杯子上的圖標(biāo),汽車由近及遠(yuǎn),在畫面中漸漸變??;杯子的整個運(yùn)動無規(guī)律,但其中有一段較明顯的先遠(yuǎn)離后靠近鏡頭的過程,目標(biāo)先變小,然后又變大。圖2(a)中給出了能反映兩目標(biāo)運(yùn)動特征的相關(guān)幀。
圖2(b)中,兩曲線分別描繪了汽車和杯子在整個跟蹤過程中對應(yīng)PPM縮放指標(biāo)的變化情況。根據(jù)給出的實(shí)驗(yàn)結(jié)果我們看到:當(dāng)目標(biāo)尺寸縮小時,PPM縮放指標(biāo)變大;目標(biāo)尺寸放大時,PPM縮放指標(biāo)變小。實(shí)驗(yàn)結(jié)果表明:我們所設(shè)計(jì)的PPM縮放指標(biāo)能很好的反映跟蹤過程中目標(biāo)尺寸的大小情況。
圖3中,用傳統(tǒng)的PPM跟蹤算法對目標(biāo)進(jìn)行跟蹤時,由于目標(biāo)窗沒能及時根據(jù)目標(biāo)大小進(jìn)行自適應(yīng)變化,當(dāng)目標(biāo)尺寸逐漸縮小時,目標(biāo)窗內(nèi)混入其他目標(biāo)或者大量背景,導(dǎo)致跟蹤目標(biāo)窗的中心發(fā)生偏移;而改進(jìn)后的目標(biāo)窗口自適應(yīng)PPM跟蹤算法,能很好的解決這個問題,當(dāng)目標(biāo)尺寸發(fā)生變化時候,目標(biāo)窗能夠很好的自適應(yīng)目標(biāo)尺寸的變化,目標(biāo)窗始終能緊緊的包含住目標(biāo)。同樣,改進(jìn)后的PPM跟蹤算法也避免了當(dāng)目標(biāo)尺寸變大時,目標(biāo)溢出目標(biāo)窗的情況。
綜合表1第一、二列數(shù)據(jù)可以看到,我們設(shè)計(jì)的PPM縮放指標(biāo)的每幀計(jì)算耗時不到1 ms,由于在傳統(tǒng)PPM算法中,原本就要計(jì)算目標(biāo)及搜索區(qū)域圖像直方圖,在計(jì)算PPM縮放指標(biāo)時我們只需要將已計(jì)算好的數(shù)據(jù)拿來用即可。所以,相比基于其他特征來衡量目標(biāo)尺寸大小的縮放指標(biāo),在耗時方面,本文的縮放指標(biāo)要小很多。再看第一、三列數(shù)據(jù),發(fā)現(xiàn)當(dāng)跟蹤窗口實(shí)現(xiàn)自適應(yīng)變化時,整個跟蹤算法的耗時反而減少了,究其原因是跟蹤窗變小時,包含的像素?cái)?shù)減少,計(jì)算量自然也減少了。當(dāng)然,當(dāng)目標(biāo)窗變大時,這個值也會變大。但是,不管目標(biāo)放大還是縮小,窗口自適應(yīng)的PPM算法,會保證目標(biāo)被恰好包含在窗口內(nèi),多余背景像素的計(jì)算將會盡可能減少,因此,其計(jì)算是高效率的。
圖2 PPM縮放指標(biāo)實(shí)際應(yīng)用效果Fig.2 The actual effect of PPM zoom indicator
圖3 目標(biāo)窗未縮放與縮放情況下的跟蹤效果對比Fig.3 Tracking performance contrast in the case of the target window scale adaptive and non-adaptive
表1 PPM算法改進(jìn)前后計(jì)算性能對比Tab.1 Computing performance comparison of original PPM and improved PPM
視覺運(yùn)動目標(biāo)跟蹤是在某一幀視頻中用檢測、人工選定等方法,對感興趣的區(qū)域或目標(biāo)進(jìn)行確定,并在后繼各幀中定位出這些目標(biāo)或區(qū)域,它把圖像處理、自動控制、信息科學(xué)有機(jī)結(jié)合起來,形成了一種能從圖像信號中實(shí)時地自動識別目標(biāo),提取目標(biāo)位置信息,自動跟蹤目標(biāo)運(yùn)動的技術(shù)[5]。
完整的視覺目標(biāo)跟蹤系統(tǒng)一般可分為兩部分:目標(biāo)檢測和目標(biāo)跟蹤。目標(biāo)檢測作為另外一個圖像處理問題也有很多人在研究;很多研究者采用人機(jī)交互的方式來確定目標(biāo):用鼠標(biāo)或控制臺上的按鈕在畫面中框選目標(biāo),以完成目標(biāo)檢測和識別的功能,本文的設(shè)計(jì)中采用了人機(jī)交互選定目標(biāo)的方式。圖4分別為實(shí)物簡圖和系統(tǒng)硬件結(jié)構(gòu)圖。
整個系統(tǒng)包括支持PELCO-D協(xié)議的一體化球形攝像機(jī),TMS320DM642開發(fā)板,控制臺,顯示器等。系統(tǒng)的功能描述如下:通過顯示器,用戶能看到架在云臺上攝像機(jī)拍攝到的實(shí)時圖像,用戶通過撥動操縱桿來控制攝像機(jī)角度和速度的變化,以達(dá)到在整個監(jiān)控環(huán)境中手動搜索跟蹤目標(biāo)的目的,當(dāng)用戶通過顯示器發(fā)現(xiàn)目標(biāo)時,可以通過小角度撥動操縱桿來微調(diào)攝像機(jī)角度,以便將目標(biāo)定格在視野中央的跟蹤窗內(nèi)。最后,按下“開始跟蹤”按鈕,系統(tǒng)便進(jìn)入自動跟蹤狀態(tài),隨著目標(biāo)的移動,攝像機(jī)能保持隨動狀態(tài),使得目標(biāo)始終處于視野的中央。當(dāng)用戶想停止跟蹤時,只要撥動一下操縱桿,系統(tǒng)就會立即停止跟蹤,切換到手動搜索狀態(tài)。
圖4 嵌入式視覺目標(biāo)跟蹤系統(tǒng)實(shí)物簡圖及硬件結(jié)構(gòu)圖Fig.4 The physical map and hardware structure diagram of visual target tracking embedded system
本文的嵌入式軟件是基于CCS2.2(Code Composer Studio)[6]開發(fā)的。TI公司的C6000系列DSP支持C、線性匯編、匯編相結(jié)合的編程方案。在代碼移植過程中,我們采用了基于C語言的變量類型優(yōu)化、內(nèi)聯(lián)函數(shù)優(yōu)化、編譯器優(yōu)化,存儲器優(yōu)化,線性匯編優(yōu)化等[7]方法對代碼進(jìn)行了一定優(yōu)化工作,以達(dá)到嵌入式系統(tǒng)運(yùn)行的實(shí)時性要求。圖5為本文設(shè)計(jì)的嵌入式視覺運(yùn)動目標(biāo)跟蹤系統(tǒng)的實(shí)際跟蹤效果。
本文研究了PPM跟蹤算法,針對該算法在實(shí)際跟蹤過程中,存在跟蹤窗口不能自適應(yīng)變化而導(dǎo)致的目標(biāo)跟偏甚至跟丟的缺陷,進(jìn)行了改進(jìn),在綜合考慮算法計(jì)算性能和縮放指標(biāo)實(shí)際效果的基礎(chǔ)上,我們提出了一種PPM縮放指標(biāo)并實(shí)現(xiàn)了目標(biāo)窗口自適應(yīng)的PPM跟蹤算法,經(jīng)實(shí)驗(yàn)驗(yàn)證,改進(jìn)后的算法相比傳統(tǒng)PPM算法,有更好的跟蹤效果,同時,算法的計(jì)算復(fù)雜性也沒有明顯增加。進(jìn)一步,我們基于TMS320DM642設(shè)計(jì)了一套嵌入式視覺目標(biāo)跟蹤系統(tǒng),對改進(jìn)后的PPM跟蹤算法進(jìn)行了DSP移植,最終實(shí)現(xiàn)了一套嵌入式視覺運(yùn)動目標(biāo)跟蹤系統(tǒng),取得了較好的實(shí)際跟蹤效果。
圖5 嵌入式視覺運(yùn)動目標(biāo)跟蹤系統(tǒng)的實(shí)際跟蹤效果Fig.5 The tracking results of visual target tracking embedded system
[1]馮祖仁,呂娜,李良福.基于最大后驗(yàn)概率的圖像匹配相似性指標(biāo)研究 [J].自動化學(xué)報(bào),2007,33(1):1-8.
FENG Zu-ren,LV Na,LI Liang-fu.Research on image similarity criterion based on maximum posterior probability[J].Acta Automatica Sinica,2007,33(1):1-8.
[2]Comaniciu D,Ramesh V,MEER P.Kernel based object tracking[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2003,25(5):564-575.
[3]劉瑞禎,于仕琪.OpenCV教程—基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.
[4]Bradski Gray,Kaebler Adrian.Learning OpenCV:Computer Vision with the OpenCV Library[M].O’REILLY Press,2009.
[5]李偉.視頻圖像中的運(yùn)動目標(biāo)跟蹤算法研究[D].南京:東南大學(xué)自動化學(xué)院,2009.
[6]尹勇,歐光軍,關(guān)榮鋒.DSP集成開發(fā)環(huán)境CCS開發(fā)指南[M].北京:北京航空航天大學(xué)出版社,2003.
[7]TexasInstruments.TMS320C6000 OptimizingCompiler User’s Guide[R].USA,Texas:Texas Instruments,2008.