李子龍
摘要:針對連續(xù)自適應(yīng)均值漂移算法僅限于跟蹤人臉的缺點,對原算法進行改進使其能有效跟蹤其他目標(biāo)。在改進的算法中,提出使用HSV三個通道的直方圖,并為每個通道直方圖分配靈活的級數(shù)。為了避免相同顏色的影響,分析和處理了直方圖反向投影所得的概率分布圖像。同時,使用卡爾曼濾波對視頻目標(biāo)位置進行預(yù)測和調(diào)整,將過往運動信息加入到目標(biāo)跟蹤中,提高了跟蹤的準(zhǔn)確度。
關(guān)鍵詞: 目標(biāo)跟蹤; 自適應(yīng)均值漂移; 直方圖; 概率分布圖像; 卡爾曼濾波
中圖分類號:TP391 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)27-0150-03
Abstract:An improved camshift algorithm is proposed. The three dimensional histogram is used to represent the features of the tracking objects. Taking the different influences of the hue channel, saturation channel, value channel into account, the distribution methods of the dimensions of three channels are assigned adaptively. In the tracking process, first, the object position in a frame is predicted by the Kalman filter, then the camshift algorithm is used on the predict position. The improved algorithm makes the searching convergence speed faster, and avoids the disadvantage of the old algorithm which is only fitted for face tracking.
Key words:visual object tracking; continuously adaptive mean shift; histogram; probability distribution image; kalman filter
1 引言
1975年,文獻[1]提出了均值漂移算法,該算法主要對掃描窗口中的點使用核函數(shù)不斷進行加權(quán)平均,直到加權(quán)平均收斂,得到最終的目標(biāo)窗口。文獻[2]對均值漂移算法進行了改進,將其應(yīng)用到計算機視覺領(lǐng)域,得到了廣大學(xué)者們的關(guān)注。文獻[3]則在均值遷移基礎(chǔ)上提出了連續(xù)自適應(yīng)均值算法,并將其從人臉跟蹤擴展至視頻目標(biāo)跟蹤領(lǐng)域中。文獻[4]對連續(xù)自適應(yīng)均值算法受視頻獲取條件的影響進行了分析。文獻[5]融合卡爾曼濾波算法和連續(xù)自適應(yīng)均值漂移算法來對手勢進行實時跟蹤。
連續(xù)自適應(yīng)均值漂移算法初衷是用于人臉的檢測和跟蹤,不適合跟蹤快速的其他目標(biāo),且與目標(biāo)相似的背景顏色容易干擾跟蹤效果。為了解決連續(xù)自適應(yīng)均值漂移算法中的這些問題,本文提出了一種改進的連續(xù)自適應(yīng)均值漂移算法。本文算法可以實現(xiàn)對其他目標(biāo)的準(zhǔn)確跟蹤,而且有效解決了算法的同色背景干擾問題。
2 連續(xù)自適應(yīng)均值漂移算法
2.1 算法原理
連續(xù)自適應(yīng)均值漂移算法是在時序圖像上顏色動態(tài)變化概率分布基礎(chǔ)上進行的一種有效的目標(biāo)跟蹤算法。根據(jù)視頻目標(biāo)的顏色特征確定目標(biāo)的位置和大小,并用其在下一幀圖像中初始化搜索窗口,不斷重復(fù)這個步驟最終實現(xiàn)連續(xù)地跟蹤目標(biāo)。該算法能夠根據(jù)圖像的顏色直方圖估算顏色的概率分布,當(dāng)視頻不斷移動時,圖像的顏色概率分布也會改變,由此可以根據(jù)這種變化來進行目標(biāo)跟蹤。
2.2 算法的步驟
連續(xù)自適應(yīng)均值漂移算法是用顏色作為特征,且顏色直方圖能容忍目標(biāo)適度的旋轉(zhuǎn)、變形,對于目標(biāo)中心的像素會根據(jù)核函數(shù)給予較大權(quán)重,而遠離中心的像素則會給予較小權(quán)重。這能確保該算法在遮擋和背景動態(tài)變化方面具有較強的適應(yīng)性。算法的流程如圖1所示。
3 連續(xù)自適應(yīng)均值漂移跟蹤算法的改進
為了解決算法的不足之處,我們對算法進行下面一些改進:
1)提出了多種有效的直方圖級數(shù)分配方式;
2)使用卡爾曼濾波算法對視頻目標(biāo)位置進行預(yù)測和調(diào)整,充分利用了前幀圖像中視頻目標(biāo)的運動信息,提升跟蹤效果;
3)在算法中加入對概率分布圖像的分析與處理,以減少背景中相同顏色的干擾。
3.1 三維直方圖及各通道級數(shù)的分配
傳統(tǒng)的連續(xù)自適應(yīng)均值漂移算法只使用H通道(色調(diào))構(gòu)造直方圖,不考慮亮度和飽和度的作用,且主要用于人臉跟蹤方面。而連續(xù)自適應(yīng)均值漂移算法則能跟蹤任意目標(biāo),這樣就需要將三個通道的信息都要考慮進來。因此,需要采用HSV空間三維直方圖作為特征進行運動目標(biāo)跟蹤??紤]到H、S、V對目標(biāo)跟蹤效果的不同影響,我們可以定義浮動的直方圖級數(shù)分配方式[6]。根據(jù)不同的視頻序列,可以比較直方圖的不同分配方式的跟蹤效果,選擇最優(yōu)的直方圖維數(shù)分配方式。
3.2 目標(biāo)位置的預(yù)測和調(diào)整
在原算法中,如果目標(biāo)運動速度較快,則會出現(xiàn)搜索窗口跟不上目標(biāo)運動變化的情況,難以保證跟蹤效果。這種情況往往是由于在一些幀中視頻目標(biāo)的起始位置確定的不夠好。而視頻目標(biāo)歷史的運動信息對當(dāng)前幀圖像中目標(biāo)的位置進行預(yù)測,進而可以確定目標(biāo)真正的位置,從而實現(xiàn)視頻目標(biāo)的快速跟蹤。
在實際中,實現(xiàn)目標(biāo)的預(yù)測有很多種方法。卡爾曼濾波具有很少的計算量,實時性好,能很好地對目標(biāo)運動軌跡進行估計和預(yù)測。它是使用最小均方誤差對系統(tǒng)狀態(tài)進行估計,是一種在時域內(nèi)所使用的遞歸濾波的方法。利用每幀圖像中視頻目標(biāo)的位置可生成運動目標(biāo)的運動軌跡,進而可以使用卡爾曼濾波算法根據(jù)歷史位置信息來預(yù)測當(dāng)前幀圖像中目標(biāo)的位置,最后就在這個可能的位置的周圍尋找真正的目標(biāo)。因此,本文在充分利用了視頻目標(biāo)歷史的運動信息,增強了跟蹤效果。
3.3 概率分布圖像的分析和處理
在本文算法中,為了避免背景中與視頻目標(biāo)相同顏色的影響,分析和處理了直方圖反向投影所得的概率分布圖像,以期達到好的跟蹤效果。
為了得到概率分布圖像,可以計算每幀圖像直方圖的反向投影。概率分布圖像中每個像素的灰度值代表著該點是目標(biāo)的可能性有多大。也就是說,像素灰度值越高,屬于目標(biāo)的概率就越高,否則就相反。當(dāng)存在背景顏色干擾,概率分布圖像中不僅包含視頻目標(biāo)區(qū)域,也包含了與視頻目標(biāo)相同顏色的背景區(qū)域,為此,本文提出了相應(yīng)的辦法來避免背景的影響。
1)使用上一幀中視頻目標(biāo)的位置來排除干擾
如果視頻目標(biāo)的位置不會變化太大,則可以利用上一幀圖像中目標(biāo)的位置來預(yù)測當(dāng)前幀圖像中視頻目標(biāo)的位置。可以預(yù)先設(shè)定目標(biāo)的最大位移,進而可以確定目標(biāo)在當(dāng)前幀的可能位置。對于不在這個可能位置的區(qū)域可以將其所有像素的值置為0。
2)根據(jù)預(yù)測的位置來過濾
當(dāng)發(fā)生明顯遮擋時,能基本預(yù)測出正確的位置??筛鶕?jù)預(yù)先設(shè)定的最大誤差值,確定一個可能位置的附近區(qū)域,并認為目標(biāo)可能在附近區(qū)域內(nèi)出現(xiàn)。對于不在這個附近區(qū)域的所有像素,在概率分布圖圖像上的像素值都置為0。
3)根據(jù)連通區(qū)域的面積來過濾
通過前面的兩個步驟,得到經(jīng)過處理的概率分布圖像。然后再通過預(yù)設(shè)的閾值,對概率分布圖像二值化。再對該二值化的圖像進行形態(tài)學(xué)運算、邊緣檢測等處理,去除空洞,獲得互不連通的獨立的區(qū)域。這些區(qū)域可能是目標(biāo)也可能使與目標(biāo)顏色相近的其他目標(biāo)。
為了消除那些不屬于目標(biāo)的連通區(qū)域,考慮在二值標(biāo)記圖像上目標(biāo)所在的連通區(qū)域的面積,其中i表示幀序號。在通常的情況下,第i幀和第i-1幀的目標(biāo)連通區(qū)域的面積和之間,在著一定的變化關(guān)系。根據(jù)視頻目標(biāo)序列的不同特性,可以對其變化作出不同的約束。
其中,是絕對變化的閾值,和是相對變化的閾值。
根據(jù)式(1)或者(2),可以過濾掉二值標(biāo)記圖像中不滿足上述變化約束的連通區(qū)域,得到處理后的二值標(biāo)記圖像。對于二值標(biāo)記圖像中像素值為0的點,在概率分布圖像中的相應(yīng)點也置為0。
根據(jù)以上多種方法,可以實現(xiàn)對概率分布圖像的預(yù)處理,減少了同顏色背景對均值漂移搜索的干擾。
4 實驗結(jié)果及分析
4.1算法的處理過程
圖2以對一個小球的視頻的跟蹤為例,說明算法的處理過程。其中藍色矩形代表預(yù)測的目標(biāo)位置,紅色矩形代表世紀(jì)的搜索結(jié)果。在場景中,有一個凳子,它的顏色與小球類似。在跟蹤過程中,小球會滾動到凳子的附近。在概率分布圖像上,凳子的區(qū)域和小球所在區(qū)域都是高亮的,本章算法會對凳子產(chǎn)生的顏色干擾進行處理和過濾。
在圖2中,(a)- (c)分別為只使用H、S、V通道圖像直方圖反向投影后產(chǎn)生的概率分布圖像;(d)是使用H、S、V三通道圖像直方圖反向投影后產(chǎn)生的概率分布圖像; (e)是處理后的概率分布圖像,可以看出,同顏色背景(凳子)的干擾已經(jīng)消除了;(f)是根據(jù)(e)進行自適應(yīng)均值漂移搜索后得到的結(jié)果,可以看出,盡管離同色的凳子很近。算法仍準(zhǔn)確定位目標(biāo)。
4.2與原算法的跟蹤效果對比
圖3顯示了分別用原算法和本章算法對小球的跟蹤效果的對比。圖3 (a)是采用原連續(xù)自適應(yīng)均值漂移算法的跟蹤結(jié)果,(b)是采用本章算法的跟蹤結(jié)果??梢钥闯?,在小球和凳子距離較遠時(第70、80幀),兩種算法的效果差不多。但當(dāng)小球靠近凳子時(第125、137幀),原算法中凳子的位置會影響小球的位置的搜索,導(dǎo)致搜索結(jié)果中,小球所在區(qū)域變大,并且向凳子方向偏移,而應(yīng)用本章算法則能得到較好的效果。
5 結(jié)論
本文對傳統(tǒng)的連續(xù)自適應(yīng)均值漂移跟蹤算法進行了改進,引入卡爾曼濾波器來預(yù)測目標(biāo)位置,采用級數(shù)靈活分配的HSV三維直方圖來計算概率分布圖像,然后根據(jù)目標(biāo)在前一幀的位置,預(yù)測位置以及連通區(qū)域標(biāo)記等對概率分布圖像進行分析和處理,然后進行自適應(yīng)均值漂移搜索。實驗結(jié)果表明,在出現(xiàn)背景同色干擾時,本章算法比傳統(tǒng)的連續(xù)自適應(yīng)均值漂移跟蹤算法效果更好,而且即使目標(biāo)發(fā)生較大形變時,仍然能實現(xiàn)對目標(biāo)的準(zhǔn)確跟蹤。
參考文獻:
[1] Fukunaga K,Hostetler L D.The estimation of the gradient of a density function,with application in pattern recognition [J].IEEE Transactions on Information Theory,1975(21):32-40.
[2]Cheng Y.Mean shift,mode seeking and clustering [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1995,17(8):790?799.
[3]Bradski R.Computer vision face tracking for use in a perceptual user interface [J].Intelligence Technology Journal,1998(2):1-15.
[4]Boyle M.The effects of capture conditions on the CAMSHIFT face tracker [D].Canada:University of Calgary,2001.
[5]Liu N J,Brian C.MMX-Accelerated real-time hand tracking system [C] // Proceedings of Image and Vision Computing New Zealand.Dunedin,New Zealand,2001:381-385.
[6]Kwolek B.Object tracking using discriminative feature selection [C] // Proceedings of Advanced Concepts for Intelligent Vision Systems.Antwerp,Belgium,2006:287-298.