中國電子科技集團公司第十研究所 毛 瑋
電子科技大學中山學院 韓 旭
北京飛機維修工程有限公司重慶分公司 夏志強
視頻目標跟蹤是指對視頻序列中的目標進行檢測、提取、識別和跟蹤,獲得目標的運動狀態參數,如位置、速度、加速度和運動軌跡等,從而進行下一步的分析和處理,實現對運動目標行為的理解,以完成更高一級的計算機視覺任務。視頻目標跟蹤技術是計算機視覺中的一個非常重要的研究領域[1],它融合了圖像處理、目標檢測、目標識別等多種先進成果,是計算機視覺的關鍵和基礎。
本論文著重介紹了粒子濾波的原理以及粒子濾波在視頻目標跟蹤中的應用,加入了梯度直方圖特征,并提出了一種對傳統粒子濾波重采樣進行改進的方法,同時驗證算法的有效性。

圖1 粒子濾波基于粒子濾波的視頻目標跟蹤算法流程圖
粒子濾波算法是一種二十世紀九十年代中后期發展起來的新型非線性濾波,它來源于蒙特卡洛方法,利用粒子集表示概率,通過非參數化的蒙特卡洛方法實現遞推貝葉斯濾波,適用于任何形式的狀態空間模型。粒子濾波的核心思想[2]是通過從后驗概率中抽取的隨機狀態粒子來表示其分布,是一種貫序重要性采樣法。其實質是通過尋找一組在狀態空間傳播的隨機樣本對概率密度函數進行近似,以樣本均值代替積分運算,從而獲得狀態最小方差分布。當樣本(也就是粒子)數量趨于無窮大的時候,獲得的概率分布可以逼近任何形式的概率密度分布。
2.2.1 序貫重要性采樣
根據蒙特卡洛抽樣方法可知,利用抽樣采集到的若干樣本點,通過計算可以得到目標的狀態分布,這是一種近似分布。由大數定律知道,當樣本數目N越大的時候,對變量估計值的平均越趨于真實值。粒子濾波的核心思想是利用一組帶權值的粒子來表示目標的不同狀態,在已知目標的先驗概率和觀測值的前提下,通過大量粒子來逼近目標的最大后驗概率。

2.2.2 粒子退化以及重采樣
粒子退化[3]是指隨著時間的推移,在經過若干次的迭代之后,會出現少數的粒子的權值非常大,而大多數粒子的權值很小,甚至可以忽略不計,這樣就會出現幾個不良后果:
(1)單單憑借幾個大權值的粒子已經無法有效地表示后驗概率密度函數;
(2)大多數的時間和資源會浪費在計算對后驗概率密度函數貢獻很小的那些小權值的粒子上;
(3)粒子權值的方差會隨著時間的推移而變得越來越大。
粒子退化現象是序貫重要性不可避免的一個嚴重問題。為了解決這個問題,我們采取重采樣的方法。重采樣方法需要利用粒子和其對應的權值所表示的概率密度函數進行重新采樣,對權值大的粒子進行復制,對權值小的粒子進行剔除。
2.2.3 算法流程圖(如圖2所示)
在運動目標的跟蹤過程中,要能實現穩定的跟蹤,就必須要提取運動目標的相關特征,并用這些特征來建立目標模型[4]。我們選取顏色作為目標特征,通過計算目標區域的核函數顏色直方圖,建立目標模型。
顏色特征是目標外觀的全局特征,即使在目標發生旋轉、形變或者部分遮擋的情況下依舊具有較好的穩定性,因此很適合用于目標跟蹤。在現實生活中,RGB顏色空間最為普遍,但是RGB對光線變化太敏感,因此我們不采用RGB,而是采用HSV顏色空間[5]。HSV顏色空間即由色調(Hue)、飽和度(Saturation)和亮度(Value)組成,是由標準RGB顏色空間從白色區域沿立方體的對角線往黑色方向投影得到的,能把色度從飽和度、亮度中分解出來,因而對光照變化較小。HSV的顏色空間模型可用圖3表示。

圖2 粒子濾波算法的基本流程圖

圖3 HSV顏色空間模型
經過實驗我們發現,如果只以顏色作為目標的唯一特征,會對算法的適應性、魯棒性產生不好的影響,因此在下一節中,我們嘗試加入其他的特征,如方向梯度直方圖(HOG),以改善算法的性能。另外,粒子數目以及相應的過程噪聲直接影響到粒子搜索的區域和最后的估計判斷,后面我們也會對算法的重采樣進行改進盡量以最少的粒子達到最好的效果。
由粒子濾波在視頻目標跟蹤上的應用我們知道,到標準的粒子濾波算法在復雜目標、復雜背景等情況下無法穩定地跟蹤目標。不同的目標表示方法各有利弊,如果采取單一特征來表征目標,當目標的外觀、大小等因素或者背景發生變化時,算法很有可能不能捕捉到這些變化并采取相應的策略,容易導致跟蹤的失敗。因此,采取多特征融合[6]的目標表征方法成為許多研究者的不二選擇。在本文中,我們會在原來的HSV顏色空間的基礎上加上梯度方向直方圖HOG(Histogram of Oriented Gradient)特征,用兩個特征來表示目標。
2.4.1 多特征融合自適應融合
多特征的融合將是改善粒子濾波特征表示單一的最佳途徑。假設不同特征間獨立同分布,則粒子的觀測概率密度函數重新定義為:

其中n表示目標的特征個數,本次課題實驗中取2。βm,k表示k時刻的不同特征的混合因子,并且滿足表示的是不同特征下的粒子的觀測函數,其計算公式如下:

其中,dm是粒子與模板的巴氏距離,由式(3)計算所得。σm為常量,大小由觀測噪聲決定。在一般情況下,顏色相對于其他特征更容易受到噪聲干擾,因此需要較大的σm。
下面討論σm和βm的自適應計算。
(1)σm值的設定。
σm是觀測測量的噪聲方差。在不同的場景中,噪聲方差都會有所不同,也就是說,σm的值是根據環境和實驗來確定的,因此設定一個固定的經驗值往往效果不好。這里,我們采用一種自適應的計算方法來確定σm值。設dm,min和dm,max分別表示在m個特征觀測量下所有粒子中的最小和最大的巴氏距離。首先對式(4)兩邊取對數,得到:

可以看出,σm一定的前提下,dm越小,ln( p)越大。認為當dm取最小值,即dm= dm,min的時候,ln( p)可以取最大值-1,此時可得:

(2)βm值的設定。
v的取值與第m個特征的可信度有關。特征的可信度越高,相應的βm值就會越大,所占的比例就會越高。可以認為第m個特征觀測量下的dm,min越小,則該特征越可靠,因此可以定義如下:

對其進行歸一化:

2.4.2 改進粒子重采樣
粒子重采樣是粒子濾波中的一個重要步驟[7],其性能的好壞也會直接影響目標位置的判斷和程序運行的速度。
傳統的重采樣方法是基于隨機數在權值累積和CSW空間中的分布,權重值大,則相應的區間距離就會大,該粒子被采樣到的可能性就越大。這樣就會產生一些的影響:
(1)必須要粒子數目足夠大,才能保證采樣的準確性,否則很有可能不僅把小權重的粒子進行復制,而且還不能夠保留下權重大的粒子,這樣的跟蹤就會很容易出現失敗;
(2)既然是基于隨機數的分布,那么就有可能不斷重采樣到小權重的粒子,如果小權重的粒子不能被及時剔除,這些粒子會離目標越來越遠,不但造成資源的浪費,還有可能跑出跟蹤區域的范圍。
我們通過一個模擬實驗來看看粒子數目較小的時候進行重采樣的結果。實驗選取的粒子數目為20,通過一組隨機數來模擬粒子的權重,然后利用傳統方法進行重采樣,為了便于觀察,我們對采樣前后的粒子都進行了排序,結果如表4所示。

表4 基于隨機數的重采樣
由表4可以看出,即使大權重的粒子也會有被遺漏的可能,而小權值也有可能被賦值而保留下來,此時這樣的采樣結果會對目標位置的估計帶來很大的誤差。因此我們可以對此采樣方法進行改進。
既然重采樣的目的是去掉小權值的粒子,而盡可能地復制大權值的粒子,因此我們可以對粒子按照權重值從大到小進行排序,然后將粒子等間距分割成10份,按照以下策略進行粒子復制:第1份粒子復制4次并保留,第2份粒子復制3次,第3份粒子復制2次,第4份粒子復制1次。這樣得到的粒子數目依舊不變,而重采樣的目的也達到了。
本實驗主要是將改進后的粒子濾波算法和標準粒子濾波算法跟蹤效果進行對比。實驗是在Visual Studio 2013平臺上,基于OpenCV2.4.1來對算法進行實現。Visual Studio是微軟公司開發的目前最流行的Windows平臺應用程序的集成開發環境。而OpenCV是一個開源的跨平臺計算機視覺庫,由一系列的C函數和少量C++類構成,提供了豐富的接口,同時實現了圖像處理和計算機視覺方面的很多通用算法。采用的測試數據庫是和視覺跟蹤標準數據庫(Visual Tracker Benchmark)。本次總共進行兩個實驗,一是目標和背景顏色非常接近,二是目標的外觀和尺寸變化較大。
實驗一:目標和背景顏色相近。
這次實驗采用的視頻序列描述的是行車記錄儀拍下的前面一輛藍色的轎車在早晨道路上行駛的情景,我們所要跟蹤的目標是這輛藍色的轎車,本次跟蹤主要有兩個難點:
(1)早晨的光線很差,背景和目標的顏色非常接近;
(2)由于是行車記錄儀所拍攝的視頻,因此攝像頭經常會出現一定程度的晃動,圖像偶爾會變得模糊。
序列中共有585張分辨率為480x640的圖像,狀態轉移噪聲方差選取為10,觀測噪聲方差為1,標準粒子濾波中的粒子數目為50,改進后的粒子濾波數目為30。下面分別給出標準粒子濾波算法跟蹤的第4、17、79、171、222、263、462、475幀圖像情況,紅色矩形框表示目標的真實區域,紅色矩形中心表示目標的位置,綠色區域表示估計的目標區域,綠色矩形中心表示估計的目標位置。

圖4 標準粒子濾波對BlueCar的跟蹤
從圖4中的情況可以看出,剛開始圖像清晰的時候,跟蹤效果還是較好,能夠較為準確地跟蹤,但是當圖像出現晃動、不清晰的時候就難以找到目標。而到了后面的時候,跟蹤效果非常差,甚至出現跟蹤錯誤,跟蹤失敗。下面給出跟蹤的位置偏差統計圖,橫坐標表示以像素為單位的偏差距離,縱坐標表示該距離內的幀數百分比。

圖5 標準粒子濾波對BlueCar跟蹤偏差情況統計
從圖5中可以看出,偏差距離在50像素之內的只有10%左右,所以屬于跟蹤失敗。
下面給出相同幀的改進后的粒子濾波跟蹤算法的跟蹤情況,各個框表示的意義和圖4一樣,如圖6所示。

圖6 改進后的粒子濾波對BlueCar的跟蹤
由圖6可見,改進后的粒子濾波,因為加入了HOG算子,能夠在目標顏色特征不明顯的時候以顏色特征形成互補,觀測模型能夠較準確地表示目標,因此沒有出現標準粒子濾波中的目標丟失或者跟蹤錯誤目標的情況。跟蹤偏差距離的統計圖,如圖7所示,橫坐標表示偏差距離,縱坐標表示相應距離的幀數百分比。

圖7 改進的粒子濾波對BlueCar的跟蹤偏差統計
從圖7中可得,偏差距離在20像素內的幀數已經達到50%以上,所有的偏差距離在40像素之內,跟蹤效果較為良好,跟蹤成功。
根據以上實驗,可以知道,在目標與顏色特征較為相近的時候,如果只采用顏色作為目標的唯一特征,那么觀測模型不能準確地表示目標,非常容易導致跟蹤失敗,此時我們應該加入目標的其他特征,進行多特征融合。在實驗中,我們加入了梯度顏色直方圖,可以較好地表達目標的局部特征,與顏色等全局特征形成互補,可以較為精準地表征目標。加入了HOG的算法,跟蹤效果較理想。
實驗二:目標的尺寸變化較大
本次實驗選取的是圖像序列描述的是一個狗向它主人奔跑時候的場景,雖然場景的背景較為簡單,但是目標(也就是狗)在奔跑中,由于身體的收縮與伸展,目標尺寸的變化較大,這也是本次實驗跟蹤的難點。
圖像序列中的圖像分辨率為240x352,由于圖像分辨率降低,所以將狀態轉移噪聲方差改為5,其余算法中的參數設置和實驗一中的一樣。下面給出標準粒子濾波算法和改進后的算法的跟蹤效果和結果分析。

圖8 標準粒子濾波對Dog的跟蹤情況

圖9 改進后的粒子濾波對Dog的跟蹤情況
如圖8所示,第一幀為選取目標,矩形框表示目標的原始尺寸,由于標準粒子濾波中沒有加入跟蹤窗口自適應調整算法,當目標尺寸縮小的時候,跟蹤窗口將部分背景也加進了跟蹤區域,不能準確地表征目標,雖然沒有出現嚴重的跟丟情況,但是從后面的效果來看,已經產生了很多的偏差。在加入了窗口自適應算法之后,跟蹤窗口能夠根據目標尺寸的變化而變化,可以較準確地表示目標,跟蹤效果得到很大改善,如圖9所示。
本文主要是較為系統地研究了粒子濾波理論和基于粒子濾波的視頻目標跟蹤算法應用,對標準粒子濾波算法中存在的一些不足進行了改進。針對目標顏色與背景顏色較為接近而不明顯的情況,加入HOG算子,與顏色特征形成互補,可以改善目標的表征不準確問題。另外還對重采樣方法進行了一些改進,使得算法可以依據較少的粒子也達到較好的跟蹤效果,節約了計算資源。實驗證明,改進后的算法準確性、魯棒性和實時性都得到較大提高。