丁承君, 閆 彬
(河北工業大學 機械工程學院,天津 300130)
隨著計算機視覺領域的快速發展,作為視覺領域中重要一環的目標跟蹤也在人機交互和視頻監控等方面受到了極大的關注[1~3]。
傳統的CamShift跟蹤算法通過計算反向投影來獲取目標的位置,該方法計算簡單、容易理解,因此廣受青睞[3],但對于光照比較敏感,光線較弱時無法計算顏色直方圖進而無法獲得反向投影圖,背景與運動目標顏色相近時依然很難實現很好的檢測。對于運動速度快的目標和遮擋的場景中,該算法亦具有一定的局限性。文獻[3]提出了將CamShift和Kalman相結合的運動目標跟蹤算法,文獻[4]在此基礎上又對該算法做了進一步的改進。改進的CamShift和Kalman目標跟蹤算法通過Kalman預測解決了部分遮擋的問題,改善了因目標顏色與背景顏色相似和運動速度快導致跟蹤漂移的問題,但本質上其核心部分依舊是CamShift,難以解決光照的問題,如果加入更多的特征,又會增加計算量。Zhang K H等人[5]提出了通過時空上下文 (spatial-temporal context,STC) 目標跟蹤的算法。該算法認為待跟蹤目標與其周圍一定范圍內的背景組成的局部上下文在連續幀之間存在著很強的時空關系,根據這種關系建立STC模型,但僅在低階特征上建模[6,7](如圖像位置和灰度),因此,對于完全遮擋和存在噪聲較大的場景中易出現跟蹤失敗的情況。
本文提出了一種將STC與CamShift相結合的目標跟蹤算法。實驗結果表明,該算法較每種單獨的算法均具有更高的魯棒性和適應性。
1)反向投影圖計算
為了降低光照在算法執行時給跟蹤效果造成的影響,需要預先進行顏色空間的轉化,即從三原色(RGB)轉為色度,飽和度,純度(hue,saturation,value,HSV)。對H和S分量進行直方圖統計,并計算其反向投影圖。
2)前景圖計算
通過視頻中連續的3幀圖像兩兩作差分后作或運算、二值化、形態學處理,對中間一幀采取Canny邊緣檢測,將2次結果再作或運算、形態學處理后得到更加完整的輪廓。對中間幀采用高斯混合模型的方法獲得前景,經二值化后和邊緣信息作與運算,最后通過形態學處理及孔洞填充后獲得目標。算法流程如圖1所示。

圖1 前景計算流程
3)新投影圖獲取
將反向投影圖和前景圖進行與運算得到新的投影圖。
4)MeanShift尋優
在新的投影圖中初始化跟蹤框并記錄其大小和質心,將跟蹤窗的質心移動到每次計算的最終位置。假設點(x,y)位于跟蹤窗內,I(x,y)表示為投影圖中該點所對應的值,則窗口的零階矩M00以及一階矩M10,M01表示為
(1)
(2)
(3)
用零階矩和一階矩表示搜索窗口的質心(X,Y)
(4)
記錄質心的位置,并與上一次的位置求取差值,判斷該值是否大于閾值,若是,則滿足要求;反之,重新計算。
5)自適應窗口計算
根據圖像的矩來計算出下一幀搜索窗口的大小,設w為寬,h為高,有
(5)

算法流程如圖2所示。計算置信圖(confidence map)并得到其最大似然概率位置即為跟蹤目標的中心位置[8,9]


(6)
式中o為目標存在于當前幀中;x為目標的位置。如果預先清楚目標位置x*,那么能夠從圖中得到的特征表示為
Xc={c(z)=(I(z),z)|z∈Ωc(x*)}
(7)
式中I(z)為位置z處的圖像灰度;Ωc(x*)為目標x*的局部區域。

圖2 STC算法流程
P(x│c(z),o)=hsc(x-z)
(8)
式中 空間上下文模型表達了目標位置x*與局部區域內的任意點z之間的相對距離以及方向關系,反映的是目標與其周圍區域的空間關系。在空間中存在有點與點之間的對稱關系。但hsc(x-z)表示的并不是一個徑向對稱的函數,即
hsc(x*-zl)≠hsc(x*-zr)
P(c(z)│o)=I(z)ωσ(z-x*)
(9)

根據置信圖計算出最大似然概率點的坐標作為跟蹤目標的中心位置,因此該概率又被稱為后驗概率,其計算如下

(10)
實驗表明:當β=1時,魯棒性最好。
由式(6)、式(8)、式(9)和式(10)得
=hsc(x)?(I(x)ωσ(x-x*))
(11)
式(11)通過傅里葉變換轉換到頻率域進行計算并變形,有
(12)
式(12)即為求出的當前幀的空間上下文模型。
通過式(13)來更新STC模型
(13)

利用t+1幀時刻的置信圖計算出最大似然概率來獲取新的目標坐標,計算公式如下
(14)
算法的核心思想是:在運動目標正常行進的過程中,采用STC算法中置信圖最大似然概率點作為下一時刻運動目標的中心。當發生遮擋時,通過置信圖得到的中心點會停止或變化在一個很小的范圍內,設定一個合適的閾值來判斷遮擋已經發生,此時用CamShift算法得到的點作為下一時刻運動目標的中心,并更新局部上下文區域。這種結合可以使在未發生遮擋時利用STC算法保證目標跟蹤的穩定性,在發生遮擋時通過CamShift算法來修正運動目標的中心,增加了算法的魯棒性。算法基本步驟如下:
1)獲取感興趣的區域:在初始幀中用鼠標框選出待跟蹤的目標,并記錄跟蹤框的中心和大小;
2)初始化參數:需要初始化尺度參數σ,比例參數α,形狀參數β,學習參數ρ以及上下文區域的大小;
3)計算待跟蹤目標的二維顏色直方圖;
4)計算前景圖:根據式(9)和式(10)計算上下文的先驗概率和后驗概率;
5)通過離散傅里葉變換和反離散傅里葉變換求得當前幀的空間上下文;
6)根據當前幀的STC更新下一時刻的時空上下文;
7)根據顏色直方圖獲取反向投影;
8)計算新的投影圖;
9)根據新投影圖進行CamShift跟蹤,并記錄獲得的跟蹤框中心點;
10)計算置信圖最大釋然概率點的位置作為下一幀跟蹤框的中心,并記錄點的坐標;
11)判斷最大釋然概率點坐標的大小與上一次計算的大小是否小于閾值,若小于,則說明目標被遮擋,將步驟(9)求得的中心作為下一幀跟蹤框的中心,并更新STC;
12)記錄最大釋然概率點坐標的大小;
13)顯示跟蹤結果;
14)若剩余視頻幀數不為0,則返回到步驟(4)循環。
本文所有實驗的硬件測試平臺為2.6 GHz CPU,8 GRAM,Windows 64位PC,軟件實現平臺為VS2015和OpenCV3.1.0。實驗中圖像來源于國外標準測試視頻集,實驗結果如圖3~圖5所示。

圖3 對FaceOcc2圖像序列跟蹤結果

圖4 對Girl圖像序列跟蹤結果

圖5 對Walk圖像序列跟蹤結果
以上3個實驗中,粗線框矩形為CamShift算法的跟蹤效果,橢圓形為傳統STC算法的跟蹤效果,細線框矩形為文本跟蹤算法的效果。從圖3中可以看出,對于背景不復雜,圖像色彩也相對簡單的場景,3種算法的跟蹤效果均可以滿足要求。圖4中當出現旋轉、遮擋等情況時,傳統的STC算法出現了波動,甚至跟蹤失敗。圖5中當出現完全遮擋時,傳統的STC算法的跟蹤框直接停留在了遮擋物上,直接跟蹤失敗,而本文算法通過CamShift跟蹤中心修正了局部上下文區域使得跟蹤能夠繼續進行。
本文通過中心誤差[10]和每幀平均運行時間來衡量各個算法的檢測效果。對3種算法在FaceOcc2,Girl,Walk圖像序列上進行中心誤差分析,并將結果與給出的groundtruth進行比較,結果如圖6所示。各算法運行時間如表1所示。

圖6 中心誤差分析結果

圖像序列本文算法STCCamShiftFaceOcc20.07740.03010.0582Girl0.04850.01370.0297Walk0.03930.01560.0306
由圖6看到,本文優化算法的整體中心誤差波動最小。從表1可以看出,由于本文算法為兩者的結合算法,所以時間復雜度上較其他方法稍微提高了一些,但是其數量級比較小并不影響實時性。
本文將STC與CamShift目標跟蹤算法相結合,通過CamShift算法中的反向投影來修正遮擋問題中的STC算法的中心和局部上下文區域,提升了算法的魯棒性和適應性。
參考文獻:
[1] Yilmaz A,Javed O,Shah M.Object tracking:A survey[J].ACM Computing Surveys(CSUR),2006,38(4):13.
[2] 武洪云,魏 西.機器視覺技術在防凌破冰中的應用[J].無線電通信技術,2015,41(1):84-86.
[3] 范肖肖,許文波,楊 淼,等.基于視覺注意機制的遙感圖像船只檢測[J].無線電工程,2016,46(1)57-60.
[4] 鄔大鵬,程衛平,于盛林.基于幀間差分和運動估計的Camshift目標跟蹤算法[J].光電工程,2010,37(1):55-60.
[5] 錢永青,謝勤嵐.結合Camshift和Kalman預測的運動目標跟蹤[J].計算機工程與科學,2010,32(8):81-83.
[6] 翟衛欣,程承旗.基于Kalman濾波的Camshift運動跟蹤算法[J].北京大學學報:自然科學版,2015,51(5):799-804.
[7] Zhang K H,Zhang L,Liu Q S,et al.Fast visual tracking via dense spatio-temporal context learning[C]∥European Conference on Computer Vision,2014:127-141.
[8] 葛驍倩,陳秀宏,傅俊鵬.基于敏感直方圖的時空上下文跟蹤[J].傳感器與微系統,2017,36(1):149-152.
[9] 趙 洲,黃攀峰,陳 路.一種融合卡爾曼濾波的改進時空上下文跟蹤算法[J].航空學報,2017,38(2):269-279.
[10] 李澤仁,紀 峰,常 霞,等.多尺度時空上下文目標跟蹤[J].紅外技術,2017,39(6):535-540.
[11] 周華爭,馬小虎.基于均值漂移算法和時空上下文算法的目標跟蹤[J].計算機科學,2017,44(8):22-26.
[12] 楊 彪,林國余,張為公,等.融合殘差Unscented粒子濾波和區別性稀疏表示的魯棒目標跟蹤[J].中國圖象圖形學報,2014,19(5):730-738.