尚方靜 朱奎 王新宇 蔡筱箐 肖春寶
摘要:在目標(biāo)跟蹤過程中,由于跟蹤目標(biāo)的移動(dòng)、變形或者被遮擋,容易造成目標(biāo)丟失。對(duì)KCF算法進(jìn)行改進(jìn),增加目標(biāo)丟失檢測和運(yùn)動(dòng)軌跡估計(jì)的功能。根據(jù)響應(yīng)峰值異常來檢測目標(biāo)丟失。若出現(xiàn)響應(yīng)峰值異常,則中止對(duì)目標(biāo)模板的更新和目標(biāo)位置的檢測,采用運(yùn)動(dòng)軌跡估計(jì)的方式來預(yù)測目標(biāo)出現(xiàn)的新位置。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的KCF算法可以顯著提高目標(biāo)跟蹤的精度和穩(wěn)定性,并能及時(shí)對(duì)目標(biāo)丟失進(jìn)行判斷和處理。
關(guān)鍵詞:核相關(guān)濾波;目標(biāo)跟蹤;丟失檢測;運(yùn)動(dòng)軌跡估計(jì)
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2020)02-0087-02
0 引言
運(yùn)動(dòng)目標(biāo)跟蹤在當(dāng)前是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)熱點(diǎn)問題。運(yùn)動(dòng)目標(biāo)跟蹤在軍事和民用方面都有廣泛應(yīng)用,比如可用于跟蹤軍事目標(biāo)、追蹤逃逸車輛等。目標(biāo)跟蹤技術(shù)的主要難點(diǎn)在于運(yùn)動(dòng)目標(biāo)具有不確定性。運(yùn)動(dòng)目標(biāo)會(huì)因?yàn)橐苿?dòng)而產(chǎn)生遮擋,或者使目標(biāo)成像的形狀、尺寸發(fā)生變化。如果使用車載或機(jī)載的成像設(shè)備,攝像機(jī)的運(yùn)動(dòng)則會(huì)進(jìn)一步加大目標(biāo)跟蹤的難度。傳統(tǒng)的目標(biāo)跟蹤算法包括特征點(diǎn)跟蹤、區(qū)域匹配、光流法和基于主動(dòng)輪廓的跟蹤算法等。隨著計(jì)算機(jī)視覺的發(fā)展,新的目標(biāo)跟蹤算法也不斷涌現(xiàn)。通過引入通信領(lǐng)域中的相關(guān)濾波的概念,產(chǎn)生了一些基于相關(guān)濾波的目標(biāo)跟蹤算法,例如多特征尺度自適應(yīng)算法(Scale Adaptive Multiple Feature, SAMF)、循環(huán)結(jié)構(gòu)的核跟蹤檢測算法(Circulant Structure of Tracking-by-Detection with Kernels,CSK)、核相關(guān)濾波算法(Kernel Correlation Filter,KCF)等。其中,KCF是綜合性能較高的跟蹤算法之一,尤其是在跟蹤速度和準(zhǔn)確率方面,具有明顯優(yōu)勢。
1 KCF算法
在KCF算法中,將目標(biāo)跟蹤問題轉(zhuǎn)化為分類問題,即對(duì)圖像背景和目標(biāo)進(jìn)行區(qū)分。在問題的求解過程中用到嶺回歸方法,使用的分類器需要進(jìn)行矩陣求逆運(yùn)算。KCF采用循環(huán)偏移的方式來構(gòu)建分類器樣本,在分類器的計(jì)算中使用循環(huán)矩陣,將問題轉(zhuǎn)換為在傅里葉變換域中求解,巧妙地避開了矩陣求逆的運(yùn)算,降低了跟蹤算法的計(jì)算復(fù)雜度。KCF算法包括采集樣本、訓(xùn)練分類器和目標(biāo)檢測三個(gè)主要步驟。
2 對(duì)KCF算法的改進(jìn)
為了提高跟蹤算法的魯棒性,在尺度變化適應(yīng)性、目標(biāo)丟失檢測和目標(biāo)運(yùn)動(dòng)軌跡估計(jì)等方面對(duì)KCF算法進(jìn)行了改進(jìn)。
2.1 適應(yīng)目標(biāo)尺度變化
在跟蹤運(yùn)動(dòng)目標(biāo)的過程中,由于目標(biāo)的運(yùn)動(dòng)或者攝像機(jī)參數(shù)的變化,可能會(huì)引起運(yùn)動(dòng)目標(biāo)的成像尺度發(fā)生變化。采用多尺度響應(yīng)峰值檢測的方法來適應(yīng)目標(biāo)尺度的改變。在方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征檢測時(shí)設(shè)置尺度調(diào)整因子。通過在不同值下檢測測試樣本的相關(guān)響應(yīng)系數(shù)并找到響應(yīng)峰值。由于相鄰幀的圖像變化一般都很小,的取值為{0.95,1,1.05}。選取峰值最大的尺度作為目標(biāo)框的尺度,就能夠較好地適應(yīng)目標(biāo)尺度變化的情況。
2.2 目標(biāo)丟失檢測
傳統(tǒng)的KCF算法在跟蹤目標(biāo)時(shí),不對(duì)目標(biāo)丟失進(jìn)行判斷。即使目標(biāo)已經(jīng)丟失,跟蹤算法會(huì)將跟蹤框內(nèi)的背景圖像作為目標(biāo)繼續(xù)跟蹤。原因在于KCF跟蹤算法將待測試樣本的最大響應(yīng)值作為檢測目標(biāo)。如果目標(biāo)丟失(例如移出視野或被遮擋),在所有待測試的樣本中也能找到響應(yīng)峰值,但此時(shí)峰值對(duì)應(yīng)的位置并不非真實(shí)目標(biāo)的位置。
可以根據(jù)峰值異常來判斷目標(biāo)丟失。令為當(dāng)前幀的響應(yīng)峰值,集合表示當(dāng)前幀之前一段時(shí)間內(nèi)的峰值集合。令:
(1)
其中,表示當(dāng)前幀之前一段時(shí)間內(nèi)峰值的平均值,為異常檢測因子(經(jīng)驗(yàn)值設(shè)為0.6-0.7)。如果當(dāng)前幀的響應(yīng)峰值,則為該值為異常值,此時(shí)可以判斷目標(biāo)即將丟失。統(tǒng)計(jì)異常連續(xù)出現(xiàn)的次數(shù),若連續(xù)有幀出現(xiàn)峰值異常,則判斷目標(biāo)消失,不再跟蹤該目標(biāo),進(jìn)行目標(biāo)丟失的相應(yīng)處理并重啟目標(biāo)檢測與跟蹤的過程。
2.3 目標(biāo)運(yùn)動(dòng)估計(jì)
從檢測到峰值異常到判斷目標(biāo)丟失之前的若干幀,中止對(duì)目標(biāo)模板的更新和目標(biāo)位置的檢測,通過估計(jì)的運(yùn)動(dòng)軌跡來預(yù)測目標(biāo)出現(xiàn)的新位置,直到峰值恢復(fù)正常。由于攝像機(jī)運(yùn)動(dòng)和目標(biāo)自身的運(yùn)動(dòng)都會(huì)造成目標(biāo)位置的改變,并沒有非常合適的目標(biāo)運(yùn)動(dòng)模型。基于效率考慮,采用線性預(yù)測的方法,即利用前若干幀圖像中的目標(biāo)運(yùn)動(dòng)軌跡的趨勢來估計(jì)當(dāng)發(fā)生異常后的目標(biāo)新位置。設(shè)在第t 幀目標(biāo)的(跟蹤框左上角)位置為,其前一幀(第t -1幀)目標(biāo)位置為,則前幀中目標(biāo)的橫向運(yùn)動(dòng)的平均變化為:
(2)
同理,前幀中目標(biāo)的縱向運(yùn)動(dòng)的平均變化為:
(3)
若在第t+1幀目標(biāo)位置需要預(yù)測,則預(yù)測的位置為 。
3 實(shí)驗(yàn)
3.1 性能評(píng)價(jià)指標(biāo)
采用中心位置誤差和區(qū)域重疊度作為評(píng)價(jià)算法性能的指標(biāo)。中心位置誤差是預(yù)測跟蹤框的中心與標(biāo)注跟蹤框的中心間的距離,計(jì)算公式為:
(4)
區(qū)域重疊度是預(yù)測跟蹤框和標(biāo)注跟蹤框重疊的程度,計(jì)算公式為:
(5)
其中sI和sU分別表示預(yù)測跟蹤框和標(biāo)注跟蹤框的交集和并集的面積。
3.2 實(shí)驗(yàn)結(jié)果與分析
為了便于將程序移植到DSP設(shè)備,采用標(biāo)準(zhǔn)C語言實(shí)現(xiàn)改進(jìn)的KCF算法。通過對(duì)比實(shí)驗(yàn)來驗(yàn)證提出的算法的性能。圖1展示了KCF算法和改進(jìn)算法分別對(duì)圖像序列Pktest01的第155幀、180幀和225幀圖像中的車輛進(jìn)行跟蹤的效果對(duì)比,這三幀圖像分別為目標(biāo)在被遮擋前、被遮擋和重新出現(xiàn)的場景。圖1(a)-(c)為KCF算法的跟蹤結(jié)果,圖1(d)-(f)為改進(jìn)算法的跟蹤結(jié)果。KCF算法在目標(biāo)被遮擋后將背景區(qū)域作為目標(biāo)繼續(xù)跟蹤,從而導(dǎo)致跟蹤失敗。而改進(jìn)算法具有目標(biāo)丟失檢測和運(yùn)動(dòng)軌跡估計(jì)的功能,在目標(biāo)被遮擋后通過運(yùn)動(dòng)軌跡估計(jì)來預(yù)測目標(biāo)出現(xiàn)的位置,直到目標(biāo)重新出現(xiàn),因此對(duì)后續(xù)的幀仍然可以正常跟蹤。
實(shí)驗(yàn)數(shù)據(jù)選取Visual Tracker Benchmark中的Redteam、Car2、Car24和CarDark四個(gè)圖像序列,將改進(jìn)的KCF算法和標(biāo)準(zhǔn)KCF算法進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表1所示。由表1可以看出,KCF算法的平均中心位置誤差為和平均區(qū)域重疊率分別為2.1127和0.7704,改進(jìn)的KCF算法為1.9625和0.8194。對(duì)于這兩項(xiàng)指標(biāo),改進(jìn)算法均優(yōu)于標(biāo)準(zhǔn)KCF算法。
4 結(jié)語
運(yùn)動(dòng)目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域中的一個(gè)關(guān)鍵問題。本文提出一種改進(jìn)的KCF算法,通過增加目標(biāo)丟失檢測和運(yùn)動(dòng)軌跡估計(jì)的功能,有效提高了目標(biāo)跟蹤的準(zhǔn)確性,減少了目標(biāo)丟失的幾率,可實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的長時(shí)間穩(wěn)定跟蹤。該算法采用標(biāo)準(zhǔn)C語言實(shí)現(xiàn),提高了運(yùn)行效率以及程序的可移植性。
參考文獻(xiàn)
[1] 孟琭,楊旭.目標(biāo)跟蹤算法綜述[J].自動(dòng)化學(xué)報(bào),2019,45(07):1244-1260.
[2] 劉延飛,何燕輝,張薇,等.基于異常值檢測的KCF目標(biāo)丟失預(yù)警方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(22):221-227.
[3] 寧欣,李衛(wèi)軍,田偉娟,等.一種自適應(yīng)模板更新的判別式KCF跟蹤方法[J].智能系統(tǒng)學(xué)報(bào),2019,14(01):125-130.
[4] 楊志方,陳曦.優(yōu)化搜索策略的KCF目標(biāo)跟蹤算法[J].武漢工程大學(xué)學(xué)報(bào),2019,41(01):102-106.
[5] 包曉安,詹秀娟,王強(qiáng),等.基于KCF和SIFT特征的抗遮擋目標(biāo)跟蹤算法[J].計(jì)算機(jī)測量與控制,2018,26(05):154-158.
[6] 劉延飛,何燕輝,姜柯,等.采用異常值檢測及重定位改進(jìn)的KCF跟蹤算法[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(20):171-176.
An Improved Tracking Algorithm Based on Kernel Correlation Filter
SHANG Fang-jing, ZHU Kui, WANG Xin-yu, CAI Xiao-qing, XIAO Chun-bao
(School of? Information Engineering, Henan University of? Science and Technology, Luoyang? Henan? 471023)
Abstract:In the process of target tracking, the targets are easily lost due to movements, shape changes or occlusions. The KCF algorithm is improved by adding the functions of loss detection and trajectory estimation. Target loss is detected according to the abnormal response peaks. If the peak value of the response is abnormal, the update of the target template and the detection of the target position will be suspended, and the new location of the target will be predicted by trajectory estimation. The experimental results show that the improved algorithm can significantly improve the tracking accuracy and stability, and can judge and deal with target loss in time.
Key words:kernel correlation filter; target tracking; loss detection; trajectory estimation
數(shù)字技術(shù)與應(yīng)用2020年2期