中國(guó)電子科技集團(tuán)公司第十研究所 毛 瑋
電子科技大學(xué)中山學(xué)院 韓 旭
北京飛機(jī)維修工程有限公司重慶分公司 夏志強(qiáng)
視頻目標(biāo)跟蹤是指對(duì)視頻序列中的目標(biāo)進(jìn)行檢測(cè)、提取、識(shí)別和跟蹤,獲得目標(biāo)的運(yùn)動(dòng)狀態(tài)參數(shù),如位置、速度、加速度和運(yùn)動(dòng)軌跡等,從而進(jìn)行下一步的分析和處理,實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)行為的理解,以完成更高一級(jí)的計(jì)算機(jī)視覺(jué)任務(wù)。視頻目標(biāo)跟蹤技術(shù)是計(jì)算機(jī)視覺(jué)中的一個(gè)非常重要的研究領(lǐng)域[1],它融合了圖像處理、目標(biāo)檢測(cè)、目標(biāo)識(shí)別等多種先進(jìn)成果,是計(jì)算機(jī)視覺(jué)的關(guān)鍵和基礎(chǔ)。
本論文著重介紹了粒子濾波的原理以及粒子濾波在視頻目標(biāo)跟蹤中的應(yīng)用,加入了梯度直方圖特征,并提出了一種對(duì)傳統(tǒng)粒子濾波重采樣進(jìn)行改進(jìn)的方法,同時(shí)驗(yàn)證算法的有效性。
圖1 粒子濾波基于粒子濾波的視頻目標(biāo)跟蹤算法流程圖
粒子濾波算法是一種二十世紀(jì)九十年代中后期發(fā)展起來(lái)的新型非線性濾波,它來(lái)源于蒙特卡洛方法,利用粒子集表示概率,通過(guò)非參數(shù)化的蒙特卡洛方法實(shí)現(xiàn)遞推貝葉斯濾波,適用于任何形式的狀態(tài)空間模型。粒子濾波的核心思想[2]是通過(guò)從后驗(yàn)概率中抽取的隨機(jī)狀態(tài)粒子來(lái)表示其分布,是一種貫序重要性采樣法。其實(shí)質(zhì)是通過(guò)尋找一組在狀態(tài)空間傳播的隨機(jī)樣本對(duì)概率密度函數(shù)進(jìn)行近似,以樣本均值代替積分運(yùn)算,從而獲得狀態(tài)最小方差分布。當(dāng)樣本(也就是粒子)數(shù)量趨于無(wú)窮大的時(shí)候,獲得的概率分布可以逼近任何形式的概率密度分布。
2.2.1 序貫重要性采樣
根據(jù)蒙特卡洛抽樣方法可知,利用抽樣采集到的若干樣本點(diǎn),通過(guò)計(jì)算可以得到目標(biāo)的狀態(tài)分布,這是一種近似分布。由大數(shù)定律知道,當(dāng)樣本數(shù)目N越大的時(shí)候,對(duì)變量估計(jì)值的平均越趨于真實(shí)值。粒子濾波的核心思想是利用一組帶權(quán)值的粒子來(lái)表示目標(biāo)的不同狀態(tài),在已知目標(biāo)的先驗(yàn)概率和觀測(cè)值的前提下,通過(guò)大量粒子來(lái)逼近目標(biāo)的最大后驗(yàn)概率。
2.2.2 粒子退化以及重采樣
粒子退化[3]是指隨著時(shí)間的推移,在經(jīng)過(guò)若干次的迭代之后,會(huì)出現(xiàn)少數(shù)的粒子的權(quán)值非常大,而大多數(shù)粒子的權(quán)值很小,甚至可以忽略不計(jì),這樣就會(huì)出現(xiàn)幾個(gè)不良后果:
(1)單單憑借幾個(gè)大權(quán)值的粒子已經(jīng)無(wú)法有效地表示后驗(yàn)概率密度函數(shù);
(2)大多數(shù)的時(shí)間和資源會(huì)浪費(fèi)在計(jì)算對(duì)后驗(yàn)概率密度函數(shù)貢獻(xiàn)很小的那些小權(quán)值的粒子上;
(3)粒子權(quán)值的方差會(huì)隨著時(shí)間的推移而變得越來(lái)越大。
粒子退化現(xiàn)象是序貫重要性不可避免的一個(gè)嚴(yán)重問(wèn)題。為了解決這個(gè)問(wèn)題,我們采取重采樣的方法。重采樣方法需要利用粒子和其對(duì)應(yīng)的權(quán)值所表示的概率密度函數(shù)進(jìn)行重新采樣,對(duì)權(quán)值大的粒子進(jìn)行復(fù)制,對(duì)權(quán)值小的粒子進(jìn)行剔除。
2.2.3 算法流程圖(如圖2所示)
在運(yùn)動(dòng)目標(biāo)的跟蹤過(guò)程中,要能實(shí)現(xiàn)穩(wěn)定的跟蹤,就必須要提取運(yùn)動(dòng)目標(biāo)的相關(guān)特征,并用這些特征來(lái)建立目標(biāo)模型[4]。我們選取顏色作為目標(biāo)特征,通過(guò)計(jì)算目標(biāo)區(qū)域的核函數(shù)顏色直方圖,建立目標(biāo)模型。
顏色特征是目標(biāo)外觀的全局特征,即使在目標(biāo)發(fā)生旋轉(zhuǎn)、形變或者部分遮擋的情況下依舊具有較好的穩(wěn)定性,因此很適合用于目標(biāo)跟蹤。在現(xiàn)實(shí)生活中,RGB顏色空間最為普遍,但是RGB對(duì)光線變化太敏感,因此我們不采用RGB,而是采用HSV顏色空間[5]。HSV顏色空間即由色調(diào)(Hue)、飽和度(Saturation)和亮度(Value)組成,是由標(biāo)準(zhǔn)RGB顏色空間從白色區(qū)域沿立方體的對(duì)角線往黑色方向投影得到的,能把色度從飽和度、亮度中分解出來(lái),因而對(duì)光照變化較小。HSV的顏色空間模型可用圖3表示。
圖2 粒子濾波算法的基本流程圖
圖3 HSV顏色空間模型
經(jīng)過(guò)實(shí)驗(yàn)我們發(fā)現(xiàn),如果只以顏色作為目標(biāo)的唯一特征,會(huì)對(duì)算法的適應(yīng)性、魯棒性產(chǎn)生不好的影響,因此在下一節(jié)中,我們嘗試加入其他的特征,如方向梯度直方圖(HOG),以改善算法的性能。另外,粒子數(shù)目以及相應(yīng)的過(guò)程噪聲直接影響到粒子搜索的區(qū)域和最后的估計(jì)判斷,后面我們也會(huì)對(duì)算法的重采樣進(jìn)行改進(jìn)盡量以最少的粒子達(dá)到最好的效果。
由粒子濾波在視頻目標(biāo)跟蹤上的應(yīng)用我們知道,到標(biāo)準(zhǔn)的粒子濾波算法在復(fù)雜目標(biāo)、復(fù)雜背景等情況下無(wú)法穩(wěn)定地跟蹤目標(biāo)。不同的目標(biāo)表示方法各有利弊,如果采取單一特征來(lái)表征目標(biāo),當(dāng)目標(biāo)的外觀、大小等因素或者背景發(fā)生變化時(shí),算法很有可能不能捕捉到這些變化并采取相應(yīng)的策略,容易導(dǎo)致跟蹤的失敗。因此,采取多特征融合[6]的目標(biāo)表征方法成為許多研究者的不二選擇。在本文中,我們會(huì)在原來(lái)的HSV顏色空間的基礎(chǔ)上加上梯度方向直方圖HOG(Histogram of Oriented Gradient)特征,用兩個(gè)特征來(lái)表示目標(biāo)。
2.4.1 多特征融合自適應(yīng)融合
多特征的融合將是改善粒子濾波特征表示單一的最佳途徑。假設(shè)不同特征間獨(dú)立同分布,則粒子的觀測(cè)概率密度函數(shù)重新定義為:
其中n表示目標(biāo)的特征個(gè)數(shù),本次課題實(shí)驗(yàn)中取2。βm,k表示k時(shí)刻的不同特征的混合因子,并且滿足表示的是不同特征下的粒子的觀測(cè)函數(shù),其計(jì)算公式如下:
其中,dm是粒子與模板的巴氏距離,由式(3)計(jì)算所得。σm為常量,大小由觀測(cè)噪聲決定。在一般情況下,顏色相對(duì)于其他特征更容易受到噪聲干擾,因此需要較大的σm。
下面討論σm和βm的自適應(yīng)計(jì)算。
(1)σm值的設(shè)定。
σm是觀測(cè)測(cè)量的噪聲方差。在不同的場(chǎng)景中,噪聲方差都會(huì)有所不同,也就是說(shuō),σm的值是根據(jù)環(huán)境和實(shí)驗(yàn)來(lái)確定的,因此設(shè)定一個(gè)固定的經(jīng)驗(yàn)值往往效果不好。這里,我們采用一種自適應(yīng)的計(jì)算方法來(lái)確定σm值。設(shè)dm,min和dm,max分別表示在m個(gè)特征觀測(cè)量下所有粒子中的最小和最大的巴氏距離。首先對(duì)式(4)兩邊取對(duì)數(shù),得到:
可以看出,σm一定的前提下,dm越小,ln( p)越大。認(rèn)為當(dāng)dm取最小值,即dm= dm,min的時(shí)候,ln( p)可以取最大值-1,此時(shí)可得:
(2)βm值的設(shè)定。
v的取值與第m個(gè)特征的可信度有關(guān)。特征的可信度越高,相應(yīng)的βm值就會(huì)越大,所占的比例就會(huì)越高??梢哉J(rèn)為第m個(gè)特征觀測(cè)量下的dm,min越小,則該特征越可靠,因此可以定義如下:
對(duì)其進(jìn)行歸一化:
2.4.2 改進(jìn)粒子重采樣
粒子重采樣是粒子濾波中的一個(gè)重要步驟[7],其性能的好壞也會(huì)直接影響目標(biāo)位置的判斷和程序運(yùn)行的速度。
傳統(tǒng)的重采樣方法是基于隨機(jī)數(shù)在權(quán)值累積和CSW空間中的分布,權(quán)重值大,則相應(yīng)的區(qū)間距離就會(huì)大,該粒子被采樣到的可能性就越大。這樣就會(huì)產(chǎn)生一些的影響:
(1)必須要粒子數(shù)目足夠大,才能保證采樣的準(zhǔn)確性,否則很有可能不僅把小權(quán)重的粒子進(jìn)行復(fù)制,而且還不能夠保留下權(quán)重大的粒子,這樣的跟蹤就會(huì)很容易出現(xiàn)失?。?/p>
(2)既然是基于隨機(jī)數(shù)的分布,那么就有可能不斷重采樣到小權(quán)重的粒子,如果小權(quán)重的粒子不能被及時(shí)剔除,這些粒子會(huì)離目標(biāo)越來(lái)越遠(yuǎn),不但造成資源的浪費(fèi),還有可能跑出跟蹤區(qū)域的范圍。
我們通過(guò)一個(gè)模擬實(shí)驗(yàn)來(lái)看看粒子數(shù)目較小的時(shí)候進(jìn)行重采樣的結(jié)果。實(shí)驗(yàn)選取的粒子數(shù)目為20,通過(guò)一組隨機(jī)數(shù)來(lái)模擬粒子的權(quán)重,然后利用傳統(tǒng)方法進(jìn)行重采樣,為了便于觀察,我們對(duì)采樣前后的粒子都進(jìn)行了排序,結(jié)果如表4所示。
表4 基于隨機(jī)數(shù)的重采樣
由表4可以看出,即使大權(quán)重的粒子也會(huì)有被遺漏的可能,而小權(quán)值也有可能被賦值而保留下來(lái),此時(shí)這樣的采樣結(jié)果會(huì)對(duì)目標(biāo)位置的估計(jì)帶來(lái)很大的誤差。因此我們可以對(duì)此采樣方法進(jìn)行改進(jìn)。
既然重采樣的目的是去掉小權(quán)值的粒子,而盡可能地復(fù)制大權(quán)值的粒子,因此我們可以對(duì)粒子按照權(quán)重值從大到小進(jìn)行排序,然后將粒子等間距分割成10份,按照以下策略進(jìn)行粒子復(fù)制:第1份粒子復(fù)制4次并保留,第2份粒子復(fù)制3次,第3份粒子復(fù)制2次,第4份粒子復(fù)制1次。這樣得到的粒子數(shù)目依舊不變,而重采樣的目的也達(dá)到了。
本實(shí)驗(yàn)主要是將改進(jìn)后的粒子濾波算法和標(biāo)準(zhǔn)粒子濾波算法跟蹤效果進(jìn)行對(duì)比。實(shí)驗(yàn)是在Visual Studio 2013平臺(tái)上,基于OpenCV2.4.1來(lái)對(duì)算法進(jìn)行實(shí)現(xiàn)。Visual Studio是微軟公司開(kāi)發(fā)的目前最流行的Windows平臺(tái)應(yīng)用程序的集成開(kāi)發(fā)環(huán)境。而OpenCV是一個(gè)開(kāi)源的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),由一系列的C函數(shù)和少量C++類構(gòu)成,提供了豐富的接口,同時(shí)實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。采用的測(cè)試數(shù)據(jù)庫(kù)是和視覺(jué)跟蹤標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)(Visual Tracker Benchmark)。本次總共進(jìn)行兩個(gè)實(shí)驗(yàn),一是目標(biāo)和背景顏色非常接近,二是目標(biāo)的外觀和尺寸變化較大。
實(shí)驗(yàn)一:目標(biāo)和背景顏色相近。
這次實(shí)驗(yàn)采用的視頻序列描述的是行車記錄儀拍下的前面一輛藍(lán)色的轎車在早晨道路上行駛的情景,我們所要跟蹤的目標(biāo)是這輛藍(lán)色的轎車,本次跟蹤主要有兩個(gè)難點(diǎn):
(1)早晨的光線很差,背景和目標(biāo)的顏色非常接近;
(2)由于是行車記錄儀所拍攝的視頻,因此攝像頭經(jīng)常會(huì)出現(xiàn)一定程度的晃動(dòng),圖像偶爾會(huì)變得模糊。
序列中共有585張分辨率為480x640的圖像,狀態(tài)轉(zhuǎn)移噪聲方差選取為10,觀測(cè)噪聲方差為1,標(biāo)準(zhǔn)粒子濾波中的粒子數(shù)目為50,改進(jìn)后的粒子濾波數(shù)目為30。下面分別給出標(biāo)準(zhǔn)粒子濾波算法跟蹤的第4、17、79、171、222、263、462、475幀圖像情況,紅色矩形框表示目標(biāo)的真實(shí)區(qū)域,紅色矩形中心表示目標(biāo)的位置,綠色區(qū)域表示估計(jì)的目標(biāo)區(qū)域,綠色矩形中心表示估計(jì)的目標(biāo)位置。
圖4 標(biāo)準(zhǔn)粒子濾波對(duì)BlueCar的跟蹤
從圖4中的情況可以看出,剛開(kāi)始圖像清晰的時(shí)候,跟蹤效果還是較好,能夠較為準(zhǔn)確地跟蹤,但是當(dāng)圖像出現(xiàn)晃動(dòng)、不清晰的時(shí)候就難以找到目標(biāo)。而到了后面的時(shí)候,跟蹤效果非常差,甚至出現(xiàn)跟蹤錯(cuò)誤,跟蹤失敗。下面給出跟蹤的位置偏差統(tǒng)計(jì)圖,橫坐標(biāo)表示以像素為單位的偏差距離,縱坐標(biāo)表示該距離內(nèi)的幀數(shù)百分比。
圖5 標(biāo)準(zhǔn)粒子濾波對(duì)BlueCar跟蹤偏差情況統(tǒng)計(jì)
從圖5中可以看出,偏差距離在50像素之內(nèi)的只有10%左右,所以屬于跟蹤失敗。
下面給出相同幀的改進(jìn)后的粒子濾波跟蹤算法的跟蹤情況,各個(gè)框表示的意義和圖4一樣,如圖6所示。
圖6 改進(jìn)后的粒子濾波對(duì)BlueCar的跟蹤
由圖6可見(jiàn),改進(jìn)后的粒子濾波,因?yàn)榧尤肓薍OG算子,能夠在目標(biāo)顏色特征不明顯的時(shí)候以顏色特征形成互補(bǔ),觀測(cè)模型能夠較準(zhǔn)確地表示目標(biāo),因此沒(méi)有出現(xiàn)標(biāo)準(zhǔn)粒子濾波中的目標(biāo)丟失或者跟蹤錯(cuò)誤目標(biāo)的情況。跟蹤偏差距離的統(tǒng)計(jì)圖,如圖7所示,橫坐標(biāo)表示偏差距離,縱坐標(biāo)表示相應(yīng)距離的幀數(shù)百分比。
圖7 改進(jìn)的粒子濾波對(duì)BlueCar的跟蹤偏差統(tǒng)計(jì)
從圖7中可得,偏差距離在20像素內(nèi)的幀數(shù)已經(jīng)達(dá)到50%以上,所有的偏差距離在40像素之內(nèi),跟蹤效果較為良好,跟蹤成功。
根據(jù)以上實(shí)驗(yàn),可以知道,在目標(biāo)與顏色特征較為相近的時(shí)候,如果只采用顏色作為目標(biāo)的唯一特征,那么觀測(cè)模型不能準(zhǔn)確地表示目標(biāo),非常容易導(dǎo)致跟蹤失敗,此時(shí)我們應(yīng)該加入目標(biāo)的其他特征,進(jìn)行多特征融合。在實(shí)驗(yàn)中,我們加入了梯度顏色直方圖,可以較好地表達(dá)目標(biāo)的局部特征,與顏色等全局特征形成互補(bǔ),可以較為精準(zhǔn)地表征目標(biāo)。加入了HOG的算法,跟蹤效果較理想。
實(shí)驗(yàn)二:目標(biāo)的尺寸變化較大
本次實(shí)驗(yàn)選取的是圖像序列描述的是一個(gè)狗向它主人奔跑時(shí)候的場(chǎng)景,雖然場(chǎng)景的背景較為簡(jiǎn)單,但是目標(biāo)(也就是狗)在奔跑中,由于身體的收縮與伸展,目標(biāo)尺寸的變化較大,這也是本次實(shí)驗(yàn)跟蹤的難點(diǎn)。
圖像序列中的圖像分辨率為240x352,由于圖像分辨率降低,所以將狀態(tài)轉(zhuǎn)移噪聲方差改為5,其余算法中的參數(shù)設(shè)置和實(shí)驗(yàn)一中的一樣。下面給出標(biāo)準(zhǔn)粒子濾波算法和改進(jìn)后的算法的跟蹤效果和結(jié)果分析。
圖8 標(biāo)準(zhǔn)粒子濾波對(duì)Dog的跟蹤情況
圖9 改進(jìn)后的粒子濾波對(duì)Dog的跟蹤情況
如圖8所示,第一幀為選取目標(biāo),矩形框表示目標(biāo)的原始尺寸,由于標(biāo)準(zhǔn)粒子濾波中沒(méi)有加入跟蹤窗口自適應(yīng)調(diào)整算法,當(dāng)目標(biāo)尺寸縮小的時(shí)候,跟蹤窗口將部分背景也加進(jìn)了跟蹤區(qū)域,不能準(zhǔn)確地表征目標(biāo),雖然沒(méi)有出現(xiàn)嚴(yán)重的跟丟情況,但是從后面的效果來(lái)看,已經(jīng)產(chǎn)生了很多的偏差。在加入了窗口自適應(yīng)算法之后,跟蹤窗口能夠根據(jù)目標(biāo)尺寸的變化而變化,可以較準(zhǔn)確地表示目標(biāo),跟蹤效果得到很大改善,如圖9所示。
本文主要是較為系統(tǒng)地研究了粒子濾波理論和基于粒子濾波的視頻目標(biāo)跟蹤算法應(yīng)用,對(duì)標(biāo)準(zhǔn)粒子濾波算法中存在的一些不足進(jìn)行了改進(jìn)。針對(duì)目標(biāo)顏色與背景顏色較為接近而不明顯的情況,加入HOG算子,與顏色特征形成互補(bǔ),可以改善目標(biāo)的表征不準(zhǔn)確問(wèn)題。另外還對(duì)重采樣方法進(jìn)行了一些改進(jìn),使得算法可以依據(jù)較少的粒子也達(dá)到較好的跟蹤效果,節(jié)約了計(jì)算資源。實(shí)驗(yàn)證明,改進(jìn)后的算法準(zhǔn)確性、魯棒性和實(shí)時(shí)性都得到較大提高。