尚方靜 朱奎 王新宇 蔡筱箐 肖春寶



摘要:在目標跟蹤過程中,由于跟蹤目標的移動、變形或者被遮擋,容易造成目標丟失。對KCF算法進行改進,增加目標丟失檢測和運動軌跡估計的功能。根據響應峰值異常來檢測目標丟失。若出現響應峰值異常,則中止對目標模板的更新和目標位置的檢測,采用運動軌跡估計的方式來預測目標出現的新位置。實驗結果表明,改進的KCF算法可以顯著提高目標跟蹤的精度和穩定性,并能及時對目標丟失進行判斷和處理。
關鍵詞:核相關濾波;目標跟蹤;丟失檢測;運動軌跡估計
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1007-9416(2020)02-0087-02
0 引言
運動目標跟蹤在當前是計算機視覺領域的一個熱點問題。運動目標跟蹤在軍事和民用方面都有廣泛應用,比如可用于跟蹤軍事目標、追蹤逃逸車輛等。目標跟蹤技術的主要難點在于運動目標具有不確定性。運動目標會因為移動而產生遮擋,或者使目標成像的形狀、尺寸發生變化。如果使用車載或機載的成像設備,攝像機的運動則會進一步加大目標跟蹤的難度。傳統的目標跟蹤算法包括特征點跟蹤、區域匹配、光流法和基于主動輪廓的跟蹤算法等。隨著計算機視覺的發展,新的目標跟蹤算法也不斷涌現。通過引入通信領域中的相關濾波的概念,產生了一些基于相關濾波的目標跟蹤算法,例如多特征尺度自適應算法(Scale Adaptive Multiple Feature, SAMF)、循環結構的核跟蹤檢測算法(Circulant Structure of Tracking-by-Detection with Kernels,CSK)、核相關濾波算法(Kernel Correlation Filter,KCF)等。其中,KCF是綜合性能較高的跟蹤算法之一,尤其是在跟蹤速度和準確率方面,具有明顯優勢。
1 KCF算法
在KCF算法中,將目標跟蹤問題轉化為分類問題,即對圖像背景和目標進行區分。在問題的求解過程中用到嶺回歸方法,使用的分類器需要進行矩陣求逆運算。KCF采用循環偏移的方式來構建分類器樣本,在分類器的計算中使用循環矩陣,將問題轉換為在傅里葉變換域中求解,巧妙地避開了矩陣求逆的運算,降低了跟蹤算法的計算復雜度。KCF算法包括采集樣本、訓練分類器和目標檢測三個主要步驟。
2 對KCF算法的改進
為了提高跟蹤算法的魯棒性,在尺度變化適應性、目標丟失檢測和目標運動軌跡估計等方面對KCF算法進行了改進。
2.1 適應目標尺度變化
在跟蹤運動目標的過程中,由于目標的運動或者攝像機參數的變化,可能會引起運動目標的成像尺度發生變化。采用多尺度響應峰值檢測的方法來適應目標尺度的改變。在方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征檢測時設置尺度調整因子。通過在不同值下檢測測試樣本的相關響應系數并找到響應峰值。由于相鄰幀的圖像變化一般都很小,的取值為{0.95,1,1.05}。選取峰值最大的尺度作為目標框的尺度,就能夠較好地適應目標尺度變化的情況。
2.2 目標丟失檢測
傳統的KCF算法在跟蹤目標時,不對目標丟失進行判斷。即使目標已經丟失,跟蹤算法會將跟蹤框內的背景圖像作為目標繼續跟蹤。原因在于KCF跟蹤算法將待測試樣本的最大響應值作為檢測目標。如果目標丟失(例如移出視野或被遮擋),在所有待測試的樣本中也能找到響應峰值,但此時峰值對應的位置并不非真實目標的位置。
可以根據峰值異常來判斷目標丟失。令為當前幀的響應峰值,集合表示當前幀之前一段時間內的峰值集合。令:
(1)
其中,表示當前幀之前一段時間內峰值的平均值,為異常檢測因子(經驗值設為0.6-0.7)。如果當前幀的響應峰值,則為該值為異常值,此時可以判斷目標即將丟失。統計異常連續出現的次數,若連續有幀出現峰值異常,則判斷目標消失,不再跟蹤該目標,進行目標丟失的相應處理并重啟目標檢測與跟蹤的過程。
2.3 目標運動估計
從檢測到峰值異常到判斷目標丟失之前的若干幀,中止對目標模板的更新和目標位置的檢測,通過估計的運動軌跡來預測目標出現的新位置,直到峰值恢復正常。由于攝像機運動和目標自身的運動都會造成目標位置的改變,并沒有非常合適的目標運動模型。基于效率考慮,采用線性預測的方法,即利用前若干幀圖像中的目標運動軌跡的趨勢來估計當發生異常后的目標新位置。設在第t 幀目標的(跟蹤框左上角)位置為,其前一幀(第t -1幀)目標位置為,則前幀中目標的橫向運動的平均變化為:
(2)
同理,前幀中目標的縱向運動的平均變化為:
(3)
若在第t+1幀目標位置需要預測,則預測的位置為 。
3 實驗
3.1 性能評價指標
采用中心位置誤差和區域重疊度作為評價算法性能的指標。中心位置誤差是預測跟蹤框的中心與標注跟蹤框的中心間的距離,計算公式為:
(4)
區域重疊度是預測跟蹤框和標注跟蹤框重疊的程度,計算公式為:
(5)
其中sI和sU分別表示預測跟蹤框和標注跟蹤框的交集和并集的面積。
3.2 實驗結果與分析
為了便于將程序移植到DSP設備,采用標準C語言實現改進的KCF算法。通過對比實驗來驗證提出的算法的性能。圖1展示了KCF算法和改進算法分別對圖像序列Pktest01的第155幀、180幀和225幀圖像中的車輛進行跟蹤的效果對比,這三幀圖像分別為目標在被遮擋前、被遮擋和重新出現的場景。圖1(a)-(c)為KCF算法的跟蹤結果,圖1(d)-(f)為改進算法的跟蹤結果。KCF算法在目標被遮擋后將背景區域作為目標繼續跟蹤,從而導致跟蹤失敗。而改進算法具有目標丟失檢測和運動軌跡估計的功能,在目標被遮擋后通過運動軌跡估計來預測目標出現的位置,直到目標重新出現,因此對后續的幀仍然可以正常跟蹤。
實驗數據選取Visual Tracker Benchmark中的Redteam、Car2、Car24和CarDark四個圖像序列,將改進的KCF算法和標準KCF算法進行對比,實驗結果如表1所示。由表1可以看出,KCF算法的平均中心位置誤差為和平均區域重疊率分別為2.1127和0.7704,改進的KCF算法為1.9625和0.8194。對于這兩項指標,改進算法均優于標準KCF算法。
4 結語
運動目標跟蹤是計算機視覺領域中的一個關鍵問題。本文提出一種改進的KCF算法,通過增加目標丟失檢測和運動軌跡估計的功能,有效提高了目標跟蹤的準確性,減少了目標丟失的幾率,可實現對運動目標的長時間穩定跟蹤。該算法采用標準C語言實現,提高了運行效率以及程序的可移植性。
參考文獻
[1] 孟琭,楊旭.目標跟蹤算法綜述[J].自動化學報,2019,45(07):1244-1260.
[2] 劉延飛,何燕輝,張薇,等.基于異常值檢測的KCF目標丟失預警方法研究[J].計算機工程與應用,2018,54(22):221-227.
[3] 寧欣,李衛軍,田偉娟,等.一種自適應模板更新的判別式KCF跟蹤方法[J].智能系統學報,2019,14(01):125-130.
[4] 楊志方,陳曦.優化搜索策略的KCF目標跟蹤算法[J].武漢工程大學學報,2019,41(01):102-106.
[5] 包曉安,詹秀娟,王強,等.基于KCF和SIFT特征的抗遮擋目標跟蹤算法[J].計算機測量與控制,2018,26(05):154-158.
[6] 劉延飛,何燕輝,姜柯,等.采用異常值檢測及重定位改進的KCF跟蹤算法[J].計算機工程與應用,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