劉 潔
(西安工業大學,陜西 西安 710032)
基于序列圖像視覺跟蹤技術的人體運動研究*
劉 潔
(西安工業大學,陜西 西安 710032)
針對當前常用的視覺目標跟蹤算法容易受到類目標顏色干擾的問題,提出在傳統的ABCshift算法中引入 Kalman濾波器,從而通過CAMShift算法降低運動目標和其類似顏色物體的顏色相似度,并通過Kalman濾波器解決目標被遮擋干擾的問題。人體運動試驗驗證表明,該算法可有效實現對目標的跟蹤,并具有很好的魯棒性和實時性。
序列圖像;CamShift算法; ABCshift算法;Kalman濾波器;視覺跟蹤
序列圖像是指其在不同時間、不同方位對某個目標進行連續觀測,從而獲取系列圖像的過程。在序列圖像中,目標跟蹤被廣泛地應用在醫學和智能交通等各個領域,如基于濾波理論的Kalman算法和基于迭代搜索的 MeanShift算法、基于顏色特征的CamShift 算法等都是常用的目標跟蹤算法;但是,傳統的CamShift算法在對目標進行運動跟蹤的過程中很容易受到顏色背景的干擾,從而失去對目標的跟蹤,同時通過ABCshift算法對其進行改進存在嚴重遮擋,會使得跟蹤失敗。對此,本文提出了一種新型的、改進的目標跟蹤算法,并通過人體運動試驗對其進行了論證[1]。
1.1 算法的提出
針對傳統MeanShift算法存在不能自動調節窗口大小的問題,引入了CamShift 算法,通過其中的目標顏色特征信息來實現對目標的跟蹤。對上述算法進行改進,通過利用顏色特征的方式對目標進行跟蹤,但是當存在著類似顏色的時候,采用MeanShift算法當中的迭代搜索則使得計算出的候選目標出現錯誤,并偏離了目標,導致最后的跟蹤結果與實際存在真大的差異;同時,當目標受到嚴重遮擋時,在搜索框內的顏色概率密度直方圖會發生變化,其迭代搜索時搜索的窗口也同樣會出現偏離,使跟蹤失敗。為解決上述問題,在現有算法的基礎上,結合Kalman濾波算法,提出跟蹤目標當前幀的大概位置方法,也就是自適應的ABCshift算法。
1.2 CamShift算法的改進
CamShift算法主要以顏色作為特征,結合其中目標顏色直方圖的反向投影作為其匹配的模板,在當前的幀當中確定其目標的大小和位置,并在下一幀的視頻圖像中,通過當前目標大小的搜索窗口,重復上述過程。其具體的步驟如下[2]。
1)構建RGB模型并轉換為HSV模型。在任意 [0,1]內,R、G、B有與其相對應的HSV模型的分量:
V=max(R,G,B)
(1)
S=(V-min(R,G,B))/V(當V=0時,S=0)
(2)

(3)
if(H<0)thenH=H+360
(4)
2)反向投影。在當前的跟蹤算法中,通過直方圖特征獲取2幅直方圖的匹配程度,利用直方圖特征跟蹤算法,通過目標模型中的顏色直方圖,求取概率,并將其反向投入到原來的圖中。此處目標概率顏色的概率密度為:

(5)
式中,P(O|C)是顏色C作為其目標顏色概率;P(C|O)是目標顏色的概率分布;P(O)是目標區域在搜索區域內的先驗概率,并且該值為恒定不變。通過上述描述,在該算法中,整個搜索窗內顏色概率密度的計算為:
P(C)=P(C|O)P(O)+P(C|B)P(B)
(6)
式中,P(C|B)是背景顏色占整個搜索區域內整體的概率。
假設其中的搜索區域為整體目標區域的r倍,則有P(B)=1-1/r,P(O)=1/r。當其搜索窗口的位置出現變化時,其在新搜索窗的位置中重新建立顏色直方圖的模型,此時在搜索窗內的顏色概率密度P(C)出現了變化。通過這種方式,解決了目標在跟蹤過程中出現的受到相似顏色干擾而失敗的問題。
ABCshift算法原理為通過引入貝葉斯估計方法對搜索窗口當中的某種顏色屬于目標顏色的概率密度進行計算,與目標某種顏色相似的背景顏色的概率在通過上述貝葉斯公式進行計算之后,其概率會被降低,屬于目標并且和背景不相似的顏色概率通過貝葉斯計算后概率增加,解決了類似目標顏色受到干擾的問題;但是,上述方法在目標受到短暫、嚴重的遮擋時,其中的搜索窗口屬于目標顏色的概率密度出現降低,非目標顏色的概率密度會增加,如果僅僅通過現在的顏色的信息來實現對目標的跟蹤,往往會出現失敗[3-4]。
為解決上述問題,本文提出通過結合Kalman 濾波的方法,對ABCshift 跟蹤算法進行改進。在實際應用中,Kalman 濾波能夠準確預測圖像中目標位置,如果將Kalman和ABCshift結合起來,可以在目標被嚴重遮擋時,通過Kalman 預測值的功能代替原始ABCshift算法計算的最優值,并作為對Kalman更新的觀測值。通過上述方法,既利用了其中的目標顏色信息,同時也應用到了其中的目標空間信息,增加了跟蹤的準確性,解決了目標出現遮擋失敗的問題??梢姡瑢alman濾波與ABCshift 算法相結合,可同時解決背景干擾和目標遮擋的問題。
具體算法改進流程如圖1所示。該流程的步驟為:1)通過鼠標選取目標的大小,并將統計目標區域內的顏色直方圖作為目標區域的顏色概率模型P(C|O),此時的初始窗口位置信息則為Kalman濾波當中的初始狀態;2)通過公式計算出目標區域質心的位置,此時移動搜索窗中心和目標區域質心兩者重合,然后將搜索窗的大小根據目標區域的大小進行調整,調整倍數為r倍,此時窗口的顏色直方圖模型為P(C);3)根據公式計算出搜索區域當中屬于目標的顏色概率密度為P(O|C),并重新對計算搜索區域內的顏色分布圖進行搜索,計算該新搜索區域內的質心并調整其中窗口的大小;4)在滿足收斂的條件之下,更新Kalman濾波狀態;5)重復上述步驟2~步驟4,直到視頻結束。

圖1 改進算法流程圖
為驗證上述算法在顏色相似和被遮擋情況的跟蹤效果,對目標進行了跟蹤試驗。采用室外人行走運動的視頻對其進行跟蹤試驗,圖像的分辨率為320 ×240,其中的幀率為30幀/s。
選取藍衣男子在日光燈下行走運動的視頻(見圖2),在跟蹤中伴隨著目標的形變,在第23幀跟蹤窗口搜索到該目標,并且搜索窗口隨著目標的變化而變化,具有很好的跟蹤效果。同時,驗證在有遮擋的情況下,加入Kalman 濾波的效果(見圖3)??柭鼮V波首先充分利用其先前的目標運行狀態信息及當前時刻的目標位置觀測值,對目標運動狀態進行估計,即使出現目標受到物體遮擋的情況,還能繼續保持對目標的跟蹤,從而較好地保證了跟蹤效果的魯棒性和穩定性。

圖2 改進CamShift 算法的運動目標跟蹤效果圖

圖3 遮擋情況下的改進算法效果
CamShift算法作為一種基于顏色信息的匹配算法,針對單純采用CamShift算法對快速移動的目標存在魯棒性不強,并且跟蹤時容易丟失的問題,結合卡爾曼濾波改進的CamShift方法,實現了在嚴重遮擋情況和顏色相似下的目標跟蹤,保證了目標在空間運動中的一致性及連貫性,具有很高的應用價值。
[1] 劉惟錦,章毓晉.基于Kalman濾波和邊緣直方圖的實時目標跟蹤[J].清華大學學報:自然科學版,2008,48(7):1104-1107.
[2] 吳良健,況璐,鄧慶林,等.基于Camshift和Kalman濾波結合的改進多目標跟蹤算法[J].現代科學儀器,2010,2(1):29-33.
[3] 汪東,謝少榮.基于ABCshift算法的目標檢測與跟蹤[J].計算機工程,2011,37(4):203-205.
[4] 劉智強,汪紅波. 基于類神經網絡的磁流變主動振動控制研究[J].2014(10):99-101.
*西安市科技計劃創新基金計劃資助項目(CX12189)
責任編輯李思文
ResearchonHumanMotionImageSequenceTrackingTechnologybasedonVision
LIU Jie
(Xi′an Technological University, Xi′an 710032, China)
In view of the current visual target tracking algorithms commonly used in susceptible class target color interference problems, put forward by the filter in the traditional algorithm, thus reduced the color similarity of moving target and its similar color objects through the algorithm, and through the filter, solved the target occluded interference problem. Finally, by the motion of a human body experiments, it was showed that this algorithm can effectively achieve the target tracking, real-time, and has good robustness.
image sequence, algorithm, algorithm, filter, visual tracking

G 804.66
:A
劉潔(1978-),女,碩士,講師,主要從事運動生物力學等方面的研究。
2015-01-14