李曉波 徐國強(qiáng) 楊秀宇 趙廣源
(1.華晉焦煤有限責(zé)任公司 呂梁 033000)(2.焦作煤業(yè)集團(tuán)趙固(新鄉(xiāng))能源有限責(zé)任公司 新鄉(xiāng) 450000)(3.中國礦業(yè)大學(xué)信息與控制工程學(xué)院 徐州 221116)
隨著計(jì)算機(jī)相關(guān)技術(shù)的突飛猛進(jìn),運(yùn)動(dòng)目標(biāo)檢測與跟蹤技術(shù)逐漸受到越來越多的關(guān)注,尤其對(duì)于煤炭等高危險(xiǎn)行業(yè)領(lǐng)域、交通領(lǐng)域以及軍事領(lǐng)域。目標(biāo)檢測和目標(biāo)跟蹤是計(jì)算機(jī)視覺中的重要步驟,同時(shí)也是十分具有挑戰(zhàn)性的研究領(lǐng)域。跟蹤算法可以被分為四大類:基于模型計(jì)算、基于主動(dòng)輪廓、基于均值漂移和基于特征匹配。其中,基于均值漂移類 中 CAMshift(Continuously Adaptive Meanshift)算法因?qū)崟r(shí)性能突出且可適應(yīng)目標(biāo)尺寸變化,逐漸成為一種備受關(guān)注的跟蹤算法[1~3]。但是,CAMshift算法也具有一定的局限性。其中,CAMshift算法對(duì)目標(biāo)顏色特征的提取并不完整;同時(shí)只利用顏色特征進(jìn)行跟蹤,當(dāng)背景色彩與目標(biāo)色彩過于相似時(shí),跟蹤的準(zhǔn)確性降低,甚至丟失目標(biāo);在目標(biāo)丟失后,缺少對(duì)目標(biāo)重新定位的計(jì)算機(jī)制。
目前,一些學(xué)者已經(jīng)就上述缺陷進(jìn)行改進(jìn)。文獻(xiàn)[4]將HSV顏色模型中的三個(gè)顏色通道數(shù)值重新定義,提取目標(biāo)顏色信息作為特征模板,將模板信息映射到每一幀圖像中,通過Meanshift算法[5]求解目標(biāo)候選區(qū)域。而當(dāng)前景和背景的顏色相差不大時(shí),算法的跟蹤效果會(huì)不理想,因?yàn)橹焕昧祟伾畔ⅰ?/p>
文獻(xiàn)[6~7]將CAMshift算法和Kalman算法相結(jié)合,通過Kalman算法對(duì)目標(biāo)位置進(jìn)行預(yù)測,可以在一定程度上減弱目標(biāo)移動(dòng)速度過快對(duì)跟蹤效果的影響。文獻(xiàn)[8]結(jié)合Meanshift算法和最小二乘法跟蹤目標(biāo)位置,該算法對(duì)于目標(biāo)突然加速的情況也容易跟蹤失敗。文獻(xiàn)[9]將CAMshift和結(jié)構(gòu)化局部稀疏權(quán)重建模方法相結(jié)合,對(duì)目標(biāo)遮擋、形變、重疊的情況有一定的適應(yīng)能力。文獻(xiàn)[10]通過背景減除方法獲取目標(biāo)的運(yùn)動(dòng)信息,并結(jié)合顏色信息組成模板,來調(diào)整CAMshift搜索窗。如果丟失目標(biāo),該算法則不能重新定位。文獻(xiàn)[11]通過在不同手勢,不同背景以及不同光照的情況下訓(xùn)練手部的形狀,并結(jié)合CAMshift的反向投影和光流法得到的運(yùn)動(dòng)速度來實(shí)現(xiàn)目標(biāo)預(yù)測。但該算法實(shí)時(shí)性較差。文獻(xiàn)[12]將CAMshift與 SIFT(Scale Invariant Feature Transform)算法相結(jié)合構(gòu)建多特征模板的跟蹤算法。該算法效果較好,但計(jì)算量偏大。
本文提出利用HSV顏色空間中的色調(diào)分量H和飽和度分量S構(gòu)建目標(biāo)的顏色直方圖,并結(jié)合SURF算法建立多特征跟蹤算法,以提高跟蹤算法在相似顏色背景和目標(biāo)被遮擋時(shí)的魯棒性,并且改善目標(biāo)無法重新定位時(shí)的跟蹤效果。
Bradski于1999年對(duì)Meanshift算法做出了改進(jìn),得到CAMshift算法[1],即連續(xù)自適應(yīng) Meanshift算法。
CAMshift算法的計(jì)算步驟如下:
1)讀取視頻序列圖像,將原始的RGB顏色空間轉(zhuǎn)換到HSV顏色空間。
2)手動(dòng)選取感興趣區(qū)域,對(duì)感興趣區(qū)域內(nèi)所有像素點(diǎn)的色調(diào)分量H進(jìn)行直方圖統(tǒng)計(jì)并歸一化,得到將上述直方圖反向投影至當(dāng)前幀圖像,形成顏色概率分布圖。
3)使用Meanshift算法在顏色概率分布圖上計(jì)算以下參數(shù)。
零階矩與一階矩:
4)根據(jù)以上參數(shù)計(jì)算出搜索窗的位置和尺寸。
質(zhì)心坐標(biāo):
搜索窗的尺寸:
根據(jù)上述結(jié)果作為下次計(jì)算的的初始值。
5)在當(dāng)前圖像中重復(fù)執(zhí)行步驟4),直到搜索窗口的迭代過程收斂為止。
6)重復(fù)執(zhí)行2)~5),直到視頻序列讀取完畢。
本文算法引入飽和度分量S,則以上計(jì)算中獲取顏色概率分布圖的步驟更改為:
對(duì)H和S分量進(jìn)行組合,得到{H-bin,S-bin}二維坐標(biāo)系,并計(jì)算在目標(biāo)區(qū)域內(nèi)落入對(duì)應(yīng)bin的像素點(diǎn)數(shù)量。根據(jù)bin中的像素點(diǎn)數(shù)量,得到H-S直方圖,并對(duì)H-S直方圖進(jìn)行歸一化。
圖1 傳統(tǒng)CAMshift算法和改進(jìn)CAMshift算法的關(guān)鍵步驟效果對(duì)比
本文實(shí)驗(yàn)的硬件環(huán)境:處理內(nèi)核是Intel(R)Core(TM)2 Duo CPU 3.00GHz,運(yùn)行內(nèi)存為3.48G,程序開發(fā)工具為VS2010+OpenCV 2.4.9。
通過圖2分析得到,改進(jìn)CAMshift算法的搜索窗口定位準(zhǔn)確,魯棒性高。在第146幀光照變化比較劇烈的時(shí)候,仍然能夠準(zhǔn)確地跟蹤目標(biāo),而傳統(tǒng)CAMshift算法已經(jīng)丟失目標(biāo)。
圖2 傳統(tǒng)算法和改進(jìn)算法的跟蹤結(jié)果對(duì)比
實(shí)驗(yàn)結(jié)果如圖3所示,橫坐標(biāo)為視頻幀數(shù),縱坐標(biāo)為搜索窗的對(duì)角線長度,其中紅線是CAMshift算法,藍(lán)線是改進(jìn)CAMshift算法。在0-92幀時(shí)間段內(nèi),目標(biāo)遠(yuǎn)離攝像頭,CAMshift算法和改進(jìn)CAM-shift算法的搜索窗對(duì)角線的長度逐漸減小。在93-183幀時(shí)間段內(nèi),雖然目標(biāo)和攝像頭的距離不變,但光照變化劇烈,CAMshift算法的搜索窗對(duì)角線卻遠(yuǎn)大于目標(biāo)外框的對(duì)角線。改進(jìn)CAMshift算法的搜索窗大小和目標(biāo)相當(dāng)。183幀以后,目標(biāo)重新走近攝像頭,目標(biāo)尺寸逐漸增大,當(dāng)目標(biāo)開始離開攝像區(qū)域時(shí),目標(biāo)尺寸又逐漸減小。由圖3可以看出,改進(jìn)CAMshift算法的搜索窗的變化趨勢符合目標(biāo)實(shí)際尺寸變化的規(guī)律。
圖3 跟蹤精度對(duì)比實(shí)驗(yàn)圖
多特征算法的流程是先使用改進(jìn)CAMshift算法對(duì)目標(biāo)進(jìn)行跟蹤,當(dāng)跟蹤誤差過大時(shí),再利用SURF算法[13]搜索和匹配目標(biāo),并將目標(biāo)位置輸入改進(jìn)CAMshift算法進(jìn)行跟蹤。
SURF是基于SIFT特征改進(jìn)的特征,由于與SIFT算法[14]的比較相近,因此SURF特征也具有SIFT特征所具有的特性,并且降低了運(yùn)算量
3.1.1 特征點(diǎn)的檢測
Bay等采用Hessian矩陣(Determinant of Hessian,DoH)用于對(duì)特征點(diǎn)的搜索工作[15]。Hessian矩陣在點(diǎn)X處的計(jì)算式更新為
式(6)中,σ為尺度因子參數(shù),Lxx(X,σ)是高斯函數(shù)的二階偏導(dǎo),在內(nèi)部像素的意義與 Lxx(X,σ)類似。
3.1.2 特征描述算子生成
為了實(shí)現(xiàn)旋轉(zhuǎn)不變性,SURF為特征描述子設(shè)定一個(gè)主方向。
如圖4所示,在設(shè)定的主方向上,構(gòu)建20σ×20 σ的正方形區(qū)域,區(qū)域中心為特征點(diǎn),并將該正方形區(qū)域分成4×4個(gè)子鄰域,使用Haar小波變換分別計(jì)算所有子鄰域沿主方向和其垂直方向的結(jié)果dx、dy,并根據(jù)結(jié)果構(gòu)成基于主方向的4維向量,組合所有子鄰域的4維向量,得到特征點(diǎn)描述算子向量。
圖4 64維特征向量描述符
3.2.1 目標(biāo)丟失的判斷條件
本文利用巴氏距離來判定目標(biāo)是否丟失。進(jìn)行目標(biāo)跟蹤時(shí),候選目標(biāo)和原目標(biāo)的色調(diào)分量H直方圖分別為{巴氏距離計(jì)算公式如下。
式(7)中,l(p,q)為巴氏距離計(jì)算結(jié)果,數(shù)值越大,則候選目標(biāo)與原目標(biāo)越相近。本文將判定目標(biāo)是否丟失的閾值設(shè)為0.7。
3.2.2 目標(biāo)丟失后的重定位
多特征算法的流程圖如圖5所示。
1)輸入視頻幀圖像,確定感興趣區(qū)域。
2)計(jì)算感興趣區(qū)域的H-S聯(lián)合直方圖。
3)使用改進(jìn)CAMshift算法對(duì)目標(biāo)進(jìn)行跟蹤。
4)計(jì)算候選目標(biāo)和原目標(biāo)之間的巴氏距離,若結(jié)果大于等于閾值(0.7),則重復(fù)步驟3);若結(jié)果小于閾值(0.7),則使用SURF算法進(jìn)行匹配,并將匹配結(jié)果的外接矩形作為本幀圖像的搜索窗,然后重復(fù)步驟3)。
圖5 多特征算法流程圖
多特征融合算法驗(yàn)證實(shí)驗(yàn)場景有目標(biāo)被遮擋和前后景顏色相似兩種情況。
目標(biāo)被遮擋的實(shí)驗(yàn)如圖6所示。
圖6 傳統(tǒng)算法與多特征算法實(shí)驗(yàn)結(jié)果對(duì)比圖
通過圖6可發(fā)現(xiàn),多特征融合算法的實(shí)驗(yàn)結(jié)果果明顯比傳統(tǒng)CAMshift算法要好。在第296幀,旗桿遮擋了目標(biāo),兩種跟蹤算法都丟失目標(biāo)。在第316幀,目標(biāo)重新出現(xiàn),傳統(tǒng)CAMshift算法無法繼續(xù)跟蹤目標(biāo),而多特征算法則重新發(fā)現(xiàn)目標(biāo),繼續(xù)進(jìn)行跟蹤。
圖7 多特征算法的關(guān)鍵步驟效果圖
該場景下多特征融合算法的關(guān)鍵步驟效果如圖7所示。在第173幀,將運(yùn)動(dòng)目標(biāo)作為SURF算法的模板。在第296幀,旗桿將目標(biāo)遮擋,根據(jù)巴氏距離可以判定改進(jìn)CAMshift算法丟失目標(biāo),下面將改用SURF算法對(duì)目標(biāo)重定位并在第311幀重新確定目標(biāo),把目標(biāo)的位置和大小輸入改進(jìn)CAMshift算法,從第312幀后繼續(xù)使用改進(jìn)CAMshift算法進(jìn)行跟蹤。
圖8為目標(biāo)被遮擋的實(shí)驗(yàn)中候選目標(biāo)區(qū)域與原目標(biāo)之間的巴氏距離變化圖,其中,橫坐標(biāo)是圖像幀序號(hào),縱坐標(biāo)是巴氏距離。
圖8 巴氏系數(shù)的曲線變化圖
前后景顏色相似的實(shí)驗(yàn)如圖9所示,場景為一只蜜蜂在黃色的花上緩慢移動(dòng)。
圖9 傳統(tǒng)CAMshift算法和多特征融合算法效果比較圖
在第17幀,傳統(tǒng)CAMshift算法搜索窗開始偏離目標(biāo),之后搜索窗口逐漸變大,目標(biāo)跟蹤失敗。相比之下,多特征融合算法在第17幀以后仍能繼續(xù)跟蹤目標(biāo)。
通過以上兩個(gè)實(shí)驗(yàn)可以得出,多特征融合算法在目標(biāo)被遮擋和前后景顏色相似的場景中均能達(dá)到很好的跟蹤效果。
本文提出一種基于改進(jìn)CAMshift的多特征跟蹤算法。通過結(jié)合色調(diào)分量H和飽和度分量S改進(jìn)了CAMshfit算法對(duì)顏色的區(qū)分度?;诖耍僖隨URF算法從而構(gòu)建多特征跟蹤算法。實(shí)驗(yàn)表明本文算法在目標(biāo)被遮擋和前后景顏色相似的場景均能保持較理想的跟蹤效果。但是,多特征算法仍然只是一個(gè)半自動(dòng)跟蹤算法,確定目標(biāo)階段需要手動(dòng)圈定感興趣區(qū)域,這將是后續(xù)的研究內(nèi)容。