丁承君, 閆 彬
(河北工業(yè)大學(xué) 機(jī)械工程學(xué)院,天津 300130)
隨著計(jì)算機(jī)視覺領(lǐng)域的快速發(fā)展,作為視覺領(lǐng)域中重要一環(huán)的目標(biāo)跟蹤也在人機(jī)交互和視頻監(jiān)控等方面受到了極大的關(guān)注[1~3]。
傳統(tǒng)的CamShift跟蹤算法通過計(jì)算反向投影來獲取目標(biāo)的位置,該方法計(jì)算簡(jiǎn)單、容易理解,因此廣受青睞[3],但對(duì)于光照比較敏感,光線較弱時(shí)無(wú)法計(jì)算顏色直方圖進(jìn)而無(wú)法獲得反向投影圖,背景與運(yùn)動(dòng)目標(biāo)顏色相近時(shí)依然很難實(shí)現(xiàn)很好的檢測(cè)。對(duì)于運(yùn)動(dòng)速度快的目標(biāo)和遮擋的場(chǎng)景中,該算法亦具有一定的局限性。文獻(xiàn)[3]提出了將CamShift和Kalman相結(jié)合的運(yùn)動(dòng)目標(biāo)跟蹤算法,文獻(xiàn)[4]在此基礎(chǔ)上又對(duì)該算法做了進(jìn)一步的改進(jìn)。改進(jìn)的CamShift和Kalman目標(biāo)跟蹤算法通過Kalman預(yù)測(cè)解決了部分遮擋的問題,改善了因目標(biāo)顏色與背景顏色相似和運(yùn)動(dòng)速度快導(dǎo)致跟蹤漂移的問題,但本質(zhì)上其核心部分依舊是CamShift,難以解決光照的問題,如果加入更多的特征,又會(huì)增加計(jì)算量。Zhang K H等人[5]提出了通過時(shí)空上下文 (spatial-temporal context,STC) 目標(biāo)跟蹤的算法。該算法認(rèn)為待跟蹤目標(biāo)與其周圍一定范圍內(nèi)的背景組成的局部上下文在連續(xù)幀之間存在著很強(qiáng)的時(shí)空關(guān)系,根據(jù)這種關(guān)系建立STC模型,但僅在低階特征上建模[6,7](如圖像位置和灰度),因此,對(duì)于完全遮擋和存在噪聲較大的場(chǎng)景中易出現(xiàn)跟蹤失敗的情況。
本文提出了一種將STC與CamShift相結(jié)合的目標(biāo)跟蹤算法。實(shí)驗(yàn)結(jié)果表明,該算法較每種單獨(dú)的算法均具有更高的魯棒性和適應(yīng)性。
1)反向投影圖計(jì)算
為了降低光照在算法執(zhí)行時(shí)給跟蹤效果造成的影響,需要預(yù)先進(jìn)行顏色空間的轉(zhuǎn)化,即從三原色(RGB)轉(zhuǎn)為色度,飽和度,純度(hue,saturation,value,HSV)。對(duì)H和S分量進(jìn)行直方圖統(tǒng)計(jì),并計(jì)算其反向投影圖。
2)前景圖計(jì)算
通過視頻中連續(xù)的3幀圖像兩兩作差分后作或運(yùn)算、二值化、形態(tài)學(xué)處理,對(duì)中間一幀采取Canny邊緣檢測(cè),將2次結(jié)果再作或運(yùn)算、形態(tài)學(xué)處理后得到更加完整的輪廓。對(duì)中間幀采用高斯混合模型的方法獲得前景,經(jīng)二值化后和邊緣信息作與運(yùn)算,最后通過形態(tài)學(xué)處理及孔洞填充后獲得目標(biāo)。算法流程如圖1所示。
圖1 前景計(jì)算流程
3)新投影圖獲取
將反向投影圖和前景圖進(jìn)行與運(yùn)算得到新的投影圖。
4)MeanShift尋優(yōu)
在新的投影圖中初始化跟蹤框并記錄其大小和質(zhì)心,將跟蹤窗的質(zhì)心移動(dòng)到每次計(jì)算的最終位置。假設(shè)點(diǎn)(x,y)位于跟蹤窗內(nèi),I(x,y)表示為投影圖中該點(diǎn)所對(duì)應(yīng)的值,則窗口的零階矩M00以及一階矩M10,M01表示為
(1)
(2)
(3)
用零階矩和一階矩表示搜索窗口的質(zhì)心(X,Y)
(4)
記錄質(zhì)心的位置,并與上一次的位置求取差值,判斷該值是否大于閾值,若是,則滿足要求;反之,重新計(jì)算。
5)自適應(yīng)窗口計(jì)算
根據(jù)圖像的矩來計(jì)算出下一幀搜索窗口的大小,設(shè)w為寬,h為高,有
(5)
算法流程如圖2所示。計(jì)算置信圖(confidence map)并得到其最大似然概率位置即為跟蹤目標(biāo)的中心位置[8,9]
(6)
式中o為目標(biāo)存在于當(dāng)前幀中;x為目標(biāo)的位置。如果預(yù)先清楚目標(biāo)位置x*,那么能夠從圖中得到的特征表示為
Xc={c(z)=(I(z),z)|z∈Ωc(x*)}
(7)
式中I(z)為位置z處的圖像灰度;Ωc(x*)為目標(biāo)x*的局部區(qū)域。
圖2 STC算法流程
P(x│c(z),o)=hsc(x-z)
(8)
式中 空間上下文模型表達(dá)了目標(biāo)位置x*與局部區(qū)域內(nèi)的任意點(diǎn)z之間的相對(duì)距離以及方向關(guān)系,反映的是目標(biāo)與其周圍區(qū)域的空間關(guān)系。在空間中存在有點(diǎn)與點(diǎn)之間的對(duì)稱關(guān)系。但hsc(x-z)表示的并不是一個(gè)徑向?qū)ΨQ的函數(shù),即
hsc(x*-zl)≠hsc(x*-zr)
P(c(z)│o)=I(z)ωσ(z-x*)
(9)
根據(jù)置信圖計(jì)算出最大似然概率點(diǎn)的坐標(biāo)作為跟蹤目標(biāo)的中心位置,因此該概率又被稱為后驗(yàn)概率,其計(jì)算如下
(10)
實(shí)驗(yàn)表明:當(dāng)β=1時(shí),魯棒性最好。
由式(6)、式(8)、式(9)和式(10)得
=hsc(x)?(I(x)ωσ(x-x*))
(11)
式(11)通過傅里葉變換轉(zhuǎn)換到頻率域進(jìn)行計(jì)算并變形,有
(12)
式(12)即為求出的當(dāng)前幀的空間上下文模型。
通過式(13)來更新STC模型
(13)
利用t+1幀時(shí)刻的置信圖計(jì)算出最大似然概率來獲取新的目標(biāo)坐標(biāo),計(jì)算公式如下
(14)
算法的核心思想是:在運(yùn)動(dòng)目標(biāo)正常行進(jìn)的過程中,采用STC算法中置信圖最大似然概率點(diǎn)作為下一時(shí)刻運(yùn)動(dòng)目標(biāo)的中心。當(dāng)發(fā)生遮擋時(shí),通過置信圖得到的中心點(diǎn)會(huì)停止或變化在一個(gè)很小的范圍內(nèi),設(shè)定一個(gè)合適的閾值來判斷遮擋已經(jīng)發(fā)生,此時(shí)用CamShift算法得到的點(diǎn)作為下一時(shí)刻運(yùn)動(dòng)目標(biāo)的中心,并更新局部上下文區(qū)域。這種結(jié)合可以使在未發(fā)生遮擋時(shí)利用STC算法保證目標(biāo)跟蹤的穩(wěn)定性,在發(fā)生遮擋時(shí)通過CamShift算法來修正運(yùn)動(dòng)目標(biāo)的中心,增加了算法的魯棒性。算法基本步驟如下:
1)獲取感興趣的區(qū)域:在初始幀中用鼠標(biāo)框選出待跟蹤的目標(biāo),并記錄跟蹤框的中心和大小;
2)初始化參數(shù):需要初始化尺度參數(shù)σ,比例參數(shù)α,形狀參數(shù)β,學(xué)習(xí)參數(shù)ρ以及上下文區(qū)域的大小;
3)計(jì)算待跟蹤目標(biāo)的二維顏色直方圖;
4)計(jì)算前景圖:根據(jù)式(9)和式(10)計(jì)算上下文的先驗(yàn)概率和后驗(yàn)概率;
5)通過離散傅里葉變換和反離散傅里葉變換求得當(dāng)前幀的空間上下文;
6)根據(jù)當(dāng)前幀的STC更新下一時(shí)刻的時(shí)空上下文;
7)根據(jù)顏色直方圖獲取反向投影;
8)計(jì)算新的投影圖;
9)根據(jù)新投影圖進(jìn)行CamShift跟蹤,并記錄獲得的跟蹤框中心點(diǎn);
10)計(jì)算置信圖最大釋然概率點(diǎn)的位置作為下一幀跟蹤框的中心,并記錄點(diǎn)的坐標(biāo);
11)判斷最大釋然概率點(diǎn)坐標(biāo)的大小與上一次計(jì)算的大小是否小于閾值,若小于,則說明目標(biāo)被遮擋,將步驟(9)求得的中心作為下一幀跟蹤框的中心,并更新STC;
12)記錄最大釋然概率點(diǎn)坐標(biāo)的大小;
13)顯示跟蹤結(jié)果;
14)若剩余視頻幀數(shù)不為0,則返回到步驟(4)循環(huán)。
本文所有實(shí)驗(yàn)的硬件測(cè)試平臺(tái)為2.6 GHz CPU,8 GRAM,Windows 64位PC,軟件實(shí)現(xiàn)平臺(tái)為VS2015和OpenCV3.1.0。實(shí)驗(yàn)中圖像來源于國(guó)外標(biāo)準(zhǔn)測(cè)試視頻集,實(shí)驗(yàn)結(jié)果如圖3~圖5所示。
圖3 對(duì)FaceOcc2圖像序列跟蹤結(jié)果
圖4 對(duì)Girl圖像序列跟蹤結(jié)果
圖5 對(duì)Walk圖像序列跟蹤結(jié)果
以上3個(gè)實(shí)驗(yàn)中,粗線框矩形為CamShift算法的跟蹤效果,橢圓形為傳統(tǒng)STC算法的跟蹤效果,細(xì)線框矩形為文本跟蹤算法的效果。從圖3中可以看出,對(duì)于背景不復(fù)雜,圖像色彩也相對(duì)簡(jiǎn)單的場(chǎng)景,3種算法的跟蹤效果均可以滿足要求。圖4中當(dāng)出現(xiàn)旋轉(zhuǎn)、遮擋等情況時(shí),傳統(tǒng)的STC算法出現(xiàn)了波動(dòng),甚至跟蹤失敗。圖5中當(dāng)出現(xiàn)完全遮擋時(shí),傳統(tǒng)的STC算法的跟蹤框直接停留在了遮擋物上,直接跟蹤失敗,而本文算法通過CamShift跟蹤中心修正了局部上下文區(qū)域使得跟蹤能夠繼續(xù)進(jìn)行。
本文通過中心誤差[10]和每幀平均運(yùn)行時(shí)間來衡量各個(gè)算法的檢測(cè)效果。對(duì)3種算法在FaceOcc2,Girl,Walk圖像序列上進(jìn)行中心誤差分析,并將結(jié)果與給出的groundtruth進(jìn)行比較,結(jié)果如圖6所示。各算法運(yùn)行時(shí)間如表1所示。
圖6 中心誤差分析結(jié)果
圖像序列本文算法STCCamShiftFaceOcc20.07740.03010.0582Girl0.04850.01370.0297Walk0.03930.01560.0306
由圖6看到,本文優(yōu)化算法的整體中心誤差波動(dòng)最小。從表1可以看出,由于本文算法為兩者的結(jié)合算法,所以時(shí)間復(fù)雜度上較其他方法稍微提高了一些,但是其數(shù)量級(jí)比較小并不影響實(shí)時(shí)性。
本文將STC與CamShift目標(biāo)跟蹤算法相結(jié)合,通過CamShift算法中的反向投影來修正遮擋問題中的STC算法的中心和局部上下文區(qū)域,提升了算法的魯棒性和適應(yīng)性。
參考文獻(xiàn):
[1] Yilmaz A,Javed O,Shah M.Object tracking:A survey[J].ACM Computing Surveys(CSUR),2006,38(4):13.
[2] 武洪云,魏 西.機(jī)器視覺技術(shù)在防凌破冰中的應(yīng)用[J].無(wú)線電通信技術(shù),2015,41(1):84-86.
[3] 范肖肖,許文波,楊 淼,等.基于視覺注意機(jī)制的遙感圖像船只檢測(cè)[J].無(wú)線電工程,2016,46(1)57-60.
[4] 鄔大鵬,程衛(wèi)平,于盛林.基于幀間差分和運(yùn)動(dòng)估計(jì)的Camshift目標(biāo)跟蹤算法[J].光電工程,2010,37(1):55-60.
[5] 錢永青,謝勤嵐.結(jié)合Camshift和Kalman預(yù)測(cè)的運(yùn)動(dòng)目標(biāo)跟蹤[J].計(jì)算機(jī)工程與科學(xué),2010,32(8):81-83.
[6] 翟衛(wèi)欣,程承旗.基于Kalman濾波的Camshift運(yùn)動(dòng)跟蹤算法[J].北京大學(xué)學(xué)報(bào):自然科學(xué)版,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] 葛驍倩,陳秀宏,傅俊鵬.基于敏感直方圖的時(shí)空上下文跟蹤[J].傳感器與微系統(tǒng),2017,36(1):149-152.
[9] 趙 洲,黃攀峰,陳 路.一種融合卡爾曼濾波的改進(jìn)時(shí)空上下文跟蹤算法[J].航空學(xué)報(bào),2017,38(2):269-279.
[10] 李澤仁,紀(jì) 峰,常 霞,等.多尺度時(shí)空上下文目標(biāo)跟蹤[J].紅外技術(shù),2017,39(6):535-540.
[11] 周華爭(zhēng),馬小虎.基于均值漂移算法和時(shí)空上下文算法的目標(biāo)跟蹤[J].計(jì)算機(jī)科學(xué),2017,44(8):22-26.
[12] 楊 彪,林國(guó)余,張為公,等.融合殘差Unscented粒子濾波和區(qū)別性稀疏表示的魯棒目標(biāo)跟蹤[J].中國(guó)圖象圖形學(xué)報(bào),2014,19(5):730-738.