岳昊恩 袁亮 呂凱
摘 ?要: 針對目標(biāo)嚴(yán)重遮擋后,運動狀態(tài)發(fā)生改變時,傳統(tǒng)的基于運動預(yù)測的算法無法有效跟蹤的問題,提出一種基于幀差法的改進(jìn)算法。引入巴氏系數(shù)(Bhattacharyya)作為目標(biāo)是否發(fā)生遮擋的判據(jù);當(dāng)發(fā)生遮擋時,幀差法檢測目標(biāo),再次檢測到目標(biāo)時將此位置作為Mean Shift迭代的起始位置;最后正常跟蹤時采用卡爾曼濾波預(yù)測目標(biāo)位置,減少迭代次數(shù)。實驗結(jié)果表明,當(dāng)目標(biāo)在嚴(yán)重遮擋后,運動狀態(tài)改變時,基于運動預(yù)測的算法將無法跟蹤目標(biāo),改進(jìn)算法能夠重新跟蹤目標(biāo)。
關(guān)鍵詞: 目標(biāo)檢測; 跟蹤算法; 卡爾曼濾波; ?Mean Shift; 幀差法; 嚴(yán)重遮擋
中圖分類號: TN391?34 ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)12?0180?03
Abstract: Since the traditional motion prediction based algorithm cannot conduct effective tracking when the moving state of the target changes after severe occlusion, an improved algorithm based on the frame difference method is proposed. Bhattacharyya is introduced as the judgment criterion of whether the target is occluded or not. The frame difference method is used to detect the target when occlusion occurs. The position where the target is again detected is taken as the starting position of the Mean Shift iteration. The Kalman filtering is used to predict the target position during normal tracking, so as to reduce iteration times. The experimental results show that the improved algorithm can track the target again while the motion prediction based algorithm cannot track the target when the moving state of the target changes after severe occlusion.
Keywords: target detection; tracking algorithm; Kalman filtering; Mean Shift; frame difference method; severe occlusion
0 ?引 ?言
計算機視覺技術(shù)在交通監(jiān)控[1]、人機交互[2]和無人機飛控[3]等領(lǐng)域得到廣泛的應(yīng)用。運動目標(biāo)跟蹤技術(shù)[4]是計算機視覺的一個重要分支,具有重要研究意義。均值偏移(Mean Shift)算法由于其計算量小、顏色特征不易受外形變化干擾,得到了廣泛的應(yīng)用,但當(dāng)運動目標(biāo)發(fā)生嚴(yán)重遮擋時,均值偏移算法將無法跟蹤目標(biāo)。針對遮擋問題很多學(xué)者對算法進(jìn)行了改進(jìn):文獻(xiàn)[5]提出使用卡爾曼濾波改進(jìn)均值偏移算法,使算法能夠應(yīng)對短時遮擋;文獻(xiàn)[6]提出分塊改進(jìn)算法,每次選擇置信度最高的子塊作為跟蹤結(jié)果,但發(fā)生完全遮擋時,沒有最優(yōu)的子塊;文獻(xiàn)[7]提出在傳統(tǒng)的卡爾曼和均值偏移算法框架下,加入線性預(yù)測的方法來應(yīng)對嚴(yán)重遮擋問題,當(dāng)發(fā)生嚴(yán)重遮擋時采用線性預(yù)測作為均值偏移算法迭代起始點,但當(dāng)目標(biāo)在嚴(yán)重遮擋后運動狀態(tài)發(fā)生改變,基于運動預(yù)測的方法無法獲得目標(biāo)準(zhǔn)確位置,將無法跟蹤到目標(biāo)。
針對這些問題提出使用光流法改進(jìn)的均值偏移算法,考慮目標(biāo)在完全遮擋后運動狀態(tài)可能發(fā)生改變,此時使用幀差法檢測運動目標(biāo),當(dāng)檢測到運動目標(biāo)時,將該位置作為均值偏移算法迭代起始點。
1 ?基于運動預(yù)測的抗遮擋算法
1.1 ?卡爾曼濾波算法
卡爾曼濾波算法[8]用于估計目標(biāo)的位置,可以減少Mean Shift算法迭代次數(shù)。假設(shè)系統(tǒng)噪聲和觀測噪聲均為白噪聲,對運動目標(biāo)構(gòu)建系統(tǒng)模型如下:
1.2 ?均值偏移算法
均值偏移算法[9]是一種無參密度梯度估計算法,給定初始點[x]和核函數(shù)[K(xi-x)],那么用核函數(shù)定義的窗口內(nèi)的密度函數(shù)的加權(quán)均值為:
式中:[N(x)]為x領(lǐng)域內(nèi)的一系列點;[K(xi)≠0]。[m(x)-x]為均值偏移量向量,而Mean Shift算法為要用新的位置替代原來的位置([x←m(x)]),一直迭代到[m(x)]收斂為止,此時會得到局部最大值。
1.3 ?加入線性預(yù)測的融合算法
如文獻(xiàn)[7]中算法所述,引入Bhattacharyya作為遮擋判斷系數(shù),當(dāng)系數(shù)小于一定閾值時認(rèn)為發(fā)生遮擋,此時開始使用線性預(yù)測的位置作為下一幀的均值偏移算法起始位置,正常跟蹤時,采用卡爾曼濾波算法結(jié)果作為下一幀均值偏移算法真實位置。但當(dāng)目標(biāo)運動速度發(fā)生變化時,線性預(yù)測將無法真實反映目標(biāo)位置。
2 ?基于幀差法的抗遮擋算法
幀差法[10]是一種較為常用的背景固定情況下的運動目標(biāo)檢測算法,發(fā)生遮擋后,調(diào)用幀差法,獲得兩幀相減結(jié)果,之后采用形態(tài)學(xué)方法處理,去除噪點,獲取最大腐蝕區(qū)域,將該區(qū)域作為目標(biāo)檢測結(jié)果。檢測及形態(tài)學(xué)處理結(jié)果如圖1所示。
改進(jìn)算法流程圖如圖2所示。根據(jù)相似度閾值判斷目標(biāo)是否發(fā)生遮擋,當(dāng)發(fā)生遮擋時,執(zhí)行幀差法進(jìn)行運動目標(biāo)的監(jiān)測,如果沒有檢測到目標(biāo),則導(dǎo)入下一幀圖像繼續(xù)進(jìn)行檢測,直到目標(biāo)重新出現(xiàn);低于閾值時正常跟蹤,采用卡爾曼濾波算法對下一幀的目標(biāo)位置進(jìn)行預(yù)測,減少均值偏移算法迭代次數(shù)。
3 ?實驗結(jié)果與分析
本文使用室內(nèi)行人行走視頻進(jìn)行跟蹤實驗(CPU:i5,4核2.60 GHz,4 GB,運行環(huán)境WIN7,Matlab 2017a),分別拍攝一段正常行走的視頻序列和一段遮擋后減速的視頻序列進(jìn)行實驗。
在遮擋時勻速行走,文獻(xiàn)[7]算法和本文算法對照效果如圖3、圖4所示。易知,兩種算法均能夠正常跟蹤,其中本文算法在第62幀目標(biāo)重新出現(xiàn)后,能重新定位目標(biāo)并跟蹤。
在發(fā)生遮擋時減速行走,文獻(xiàn)[7]算法和本文算法對照效果如圖5、圖6所示。文獻(xiàn)[7]算法由于始終采用線性預(yù)測結(jié)果作為均值偏移算法迭代起始點,當(dāng)目標(biāo)再次出現(xiàn)后,由于無法跟蹤到目標(biāo),巴氏系數(shù)始終很低,將會一直采用線性預(yù)測結(jié)果作為最終跟蹤結(jié)果,導(dǎo)致跟蹤失敗。而本文改進(jìn)算法能夠在目標(biāo)再次出現(xiàn)后迅速定位到目標(biāo)實現(xiàn)跟蹤。
4 ?結(jié) ?論
針對在嚴(yán)重遮擋過程中目標(biāo)運動狀態(tài)發(fā)生改變時,基于運動預(yù)測的方法將無法有效地跟蹤目標(biāo),提出結(jié)合幀差法的改進(jìn)Mean Shift算法。引入巴氏系數(shù)作為遮擋判斷,當(dāng)遮擋發(fā)生后,采用幀差法進(jìn)行運動目標(biāo)檢測,當(dāng)目標(biāo)在遮擋發(fā)生時改變運動狀態(tài),目標(biāo)復(fù)出后本文算法能夠重新定位目標(biāo),克服了運動狀態(tài)改變后基于運動預(yù)測的算法在目標(biāo)復(fù)出后無法跟蹤目標(biāo)的問題。
參考文獻(xiàn)
[1] 譚呈祥.基于計算機視覺的實時車輛運動速度檢測算法研究[J].現(xiàn)代電子技術(shù),2016,39(9):164?166.
TAN Chengxiang. Study on real?time vehicle motion?speed detection algorithm based on computer vision [J]. Modern electronics technique, 2016, 39(9): 164?166.
[2] 沈潔.基于手勢識別技術(shù)的交互式虛擬攝影系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2018,41(5):93?96.
SHEN Jie. Design and implementation of interactive virtual photography system based on gesture recognition technology [J]. Modern electronics technique, 2018, 41(5): 93?96.
[3] 姚西,亢巖.圖像透視特征提取方法及其在無人機視覺導(dǎo)航中的應(yīng)用[J].現(xiàn)代電子技術(shù),2014,37(2):16?20.
YAO Xi, KANG Yan. Methods of image perspective feature extraction and its application in UAV visual navigation [J]. Modern electronics technique, 2014, 37(2): 16?20.