徐小超,嚴 華
(四川大學電子信息學院,成都610065)
(*通信作者電子郵箱1084891228@qq.com)
視覺運動目標跟蹤是通過視頻序列中當前幀的目標位置預測下一幀目標位置。視覺運動目標追蹤技術廣泛運用于各個領域如智能視頻監(jiān)控、醫(yī)學診斷、虛擬現(xiàn)實、機器人視覺導航等領域[1]。由于運動場景的復雜性和多變性,視覺運動目標跟蹤是一個極具挑戰(zhàn)性的任務,主要的挑戰(zhàn)因素有:光照變化、尺度變化、遮擋、運動模糊、快速運動、形變、背景雜斑等[2]。
目標追蹤算法主要分為生成式法和判別式法[3]。生成式方法是利用當前幀對目標區(qū)域建模,在下一幀找出與模型最相似的區(qū)域即判斷為預測位置,如卡爾曼濾波算法[4]、粒子濾波算法[5]、Mean-Shift 算法[6]等。判別式法將追蹤問題轉(zhuǎn)換為二分類問題,根據(jù)目標和背景訓練分類器來實現(xiàn)跟蹤。基于相關濾波的目標追蹤算法屬于判別式法,由于其良好的性能受到了廣泛的關注。Bolme 等[7]最早將相關濾波器引入到目標追蹤,提出了最小輸出平方誤差和(Minimum Output Sum of Squared Error,MOSSE)算法,該方法利用快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)計算相關操作,跟蹤速度極快;Henriques 等[8]在MOSSE 的基礎上提出了基于循環(huán)結(jié)構(gòu)的檢測追蹤(Circulant Structure of tracking-by-detection with Kernel,CSK)算法,該算法提出一種基于循環(huán)結(jié)構(gòu)的密度采樣方法,通過學習正則化最小二乘分類器來判別目標。在CSK 算 法 的 基 礎 上,Henriques 等[9]用 方 向 梯 度 直 方 圖(Histogram of Oriented Gradients,HOG)特征[10]代替原來的灰度特征,將單通道特征擴展到多通道特征非線性特征空間,提出了核相關濾波(Kernelized Correlation Filter,KCF)算法。Danelljan 等[11]在CSK 算法的基礎上,使用色名屬性(Color Name,CN)特征代替CSK 算法中的灰度特征,提出了色名屬性跟蹤算法。針對追蹤過程中的尺度變化問題,Danelljan等[12]在MOSSE 和CSK 算法基礎上,提出了基于尺度金字塔的尺度預測模型(Discriminative Scale Space Tracker,DSST)算法。此外,國內(nèi)學者在KCF 算法基礎上也做了大量研究,例如Zhao 等[13]在KCF 算法中引入粒子濾波模型提出了KCF_LSC(Kernelized Correlation Filtering with a Local Sparse Coding model)算法。Wang 等[14]針對KCF 算法中尺度固定和快速移動問題提出了MSSCF-KCF(Multi-Scale Superpixels and Color Feature guided Kernelized Correlation Filters)算法。
針對KCF 算法無法很好地解決目標尺度變化和局部遮擋等問題,提出了一種引入目標分塊模型的核相關濾波目標追蹤算法。本文算法的主要改進工作包括:1)將HOG 特征和CN 特征融合形成新特征,以此來更好地表征目標;2)構(gòu)建尺度金字塔對目標進行尺度預測,使其能在追蹤過程中準確地預測目標的尺度變化,避免由于尺度差異而引入誤差信息;3)利用特征響應圖的峰值旁瓣比值(Peak to Sidelobe Ratio,PSR)[7]來檢測遮擋,利用高置信度分塊模型構(gòu)建遮擋處理模塊,當檢測到遮擋發(fā)生時,將當前幀輸入遮擋處理模塊進行目標重定位,使在遮擋環(huán)境下也能正確定位目標位置;4)采用模型自適應動態(tài)更新策略,利用PSR 值動態(tài)更新濾波器模型和目標外觀模型,避免由于目標表征信息偏差而造成濾波器模型污染和目標外觀模型污染。
KCF算法利用基樣本x0在行列方向上進行循環(huán)移位操作模擬密集采樣,以此構(gòu)造大量虛擬樣本來訓練分類器。KCF算法的訓練是一個嶺回歸過程。設訓練樣本集為(X,Y),其線性回歸函數(shù)f(xi) =ωTxi,通過最小二乘法求解權(quán)重系數(shù)ω,ω求解表達式如式(1):
式(1)的閉式解為:
其中符號“^”表示向量的FFT,kxx表示核的輸出:
對于單個測試樣本z,其樣本矩陣為Z,則其樣本響應可表示為:
其中F-1表示傅里葉逆變換。最后樣本響應f(Z)中最大值所對應的位置即為目標的預測位置。
KCF 算法采用雙線性插值的方式對模型進行更新,更新方式如下:
其中:η表示學習率,Xft和Xαt分別表示第t幀的目標外觀模型和濾波器模型,xt和αt表示第t幀圖像預測位置的目標外觀模型系數(shù)和濾波器模型系數(shù)。
本文分別針對KCF 算法特征單一、尺度固定和無法處理局部遮擋3個方面進行了改進,改進算法框架如圖1所示。
圖1 改進算法框架Fig. 1 Framework of improved algorithm
在目標追蹤中,不同屬性的特征對不同場景中目標的描述能力不同。在KCF算法中,僅僅使用了灰度特征或HOG 特征對目標外觀進行表述,因此特征比較單一。本文利用HOG特征和CN 特征互補的優(yōu)勢,將HOG 特征和CN 特征在特征提取層進行融合,通過將HOG 特征和CN 特征線性級聯(lián)形成更高維度的多通道圖像特征,以此來更好地表征目標外觀。
KCF 算法沒有對目標尺度變化進行預測,當跟蹤目標變大時會造成目標信息丟失,當跟蹤目標變小時會引入過多的背景噪聲,這都會影響追蹤結(jié)果。本文通過構(gòu)建尺度金字塔來對目標進行尺度預測,其本質(zhì)是訓練一個獨立的一維相關濾波器。具體做法是:設尺度濾波器輸入模板大小為Mkcf,提取L種不同尺度的圖像塊fsi,利用雙線性插值方法將L種不同尺度的圖像塊fsi調(diào)整到Mkcf大小并輸入尺度濾波器,濾波器響應最大值所對應尺度即為當前最佳尺度。
此外,根據(jù)序列的幀間連續(xù)性可以推斷相鄰幀之間的目標尺度變化很小,因此本文在進行尺度預測時,每間隔m幀圖像進行一次尺度預測,以此來減小運算量,提高算法速度。
本文算法的抗遮擋策略包含以下幾個方面:首先,利用特征響應圖PSR值進行遮擋檢測;其次,利用高置信度分塊模型構(gòu)建遮擋處理模塊,當檢測到遮擋時,將當前幀輸入到高置信度分塊模型進行目標重定位;最后,利用特征響應圖PSR值動態(tài)調(diào)整模型更新參數(shù),實現(xiàn)模型自適應動態(tài)更新。
2.3.1 PSR遮擋檢測
PSR 值可以用來表征追蹤結(jié)果的置信度,特征響應圖的PSR 值越高表示當前跟蹤結(jié)果越可靠。在追蹤過程中,當出現(xiàn)局部遮擋的時候,特征響應圖的PSR值會顯著下降,因此可以利用特征響應圖的PSR 值進行遮擋檢測。具體方法是,設定一定的遮擋閾值thre,當特征響應圖的PSR 值小于閾值thre時,則認為目標被遮擋。
2.3.2 高置信度分塊模型
高置信度分塊模型按照一定方式將目標劃分為多個子塊blocki,各子塊利用核相關濾波的思想獨立追蹤和訓練。根據(jù)各子塊的定位結(jié)果和目標整體與子塊之間的相對位置關系,每個子塊都可以得到一個目標整體的定位結(jié)果posi,將各個子塊的目標定位結(jié)果posi按照一定的方式集成,即可得到目標重定位結(jié)果posall。如圖2 所示為高置信度分塊重定位模型框架。
圖2 高置信度分塊模型Fig. 2 High confidence block-based model
高置信度分塊模型中各子塊的遮擋程度和其PSR值有很好的對應關系,目標子塊的遮擋程度越高,則其對應的PSR值越低。如圖3 為目標局部遮擋圖。根據(jù)各子塊PSR 值和遮擋程度之間的關系,本文首先根據(jù)分塊的PSR 值剔除置信度較低的子塊,然后將剩余的子塊按照其PSR 值進行線性加權(quán)得到最終的重定位結(jié)果。其計算式如式(7)和式(8)式示:
其中:n表示參與計算的分塊數(shù)目;wi表示第i個分塊的加權(quán)權(quán)重。
圖3 局部遮擋圖Fig. 3 Schematic diagram of partial occlusion
2.3.3 模型動態(tài)更新策略
KCF算法采用連續(xù)固定模式的線性插值方式對目標模型進行更新,這種更新方式容易使跟蹤過程中產(chǎn)生的目標表觀信息偏差不斷積累,產(chǎn)生目標漂移,從而易導致后續(xù)幀目標跟蹤精度下降。本文設計了一種根據(jù)目標特征響應圖的PSR值來調(diào)整權(quán)重系數(shù)的模型自適應動態(tài)更新策略。具體方法是,設定兩個PSR 閾值TH1 和TH2,當PSR 值大于等于TH1 時,表示當前追蹤結(jié)果完全可靠,則可以將插值權(quán)重設為1;當PSR值小于等于TH2時,表示當前追蹤結(jié)果完全不可靠,則可將插值權(quán)重設為0,即模型不更新;當PSR 值介于TH1 和TH2 之間時,根據(jù)PSR 值的大小來動態(tài)調(diào)整權(quán)重系數(shù),具體更新方式如下:
本文改進算法流程描述了視頻序列由第t-1 幀到第t幀的迭代過程,其主要包含3 個過程:位置預測、尺度預測、模型更新。詳細算法流程如下。
輸入:圖像幀It、前一幀位置Pt-1、前一幀尺度St-1;位置濾波器Xft-1、尺度濾波器Sft-1、分塊模型濾波器組Bft-1;
輸出:當前幀目標位置Pt、當前尺度St;位置濾波器Xft、尺度濾波器Sft、分塊模型濾波器組Bft。
位置預測:
1)根據(jù)St-1和Pt-1從It提取輸入目標樣本Patch,并根據(jù)Patch提取特征xt。
2)將xt和Xft-1輸入式(5)計算特征響應圖f(Z),并根據(jù)f(Z)計算相關濾波定位結(jié)果PC。
3)根據(jù)f(Z)計算Psrall,根據(jù)Psrall判斷是否有遮擋,若有遮擋,繼續(xù)執(zhí)行步驟4);若無遮擋,跳至步驟5)。
4)將Patch分為多個子塊blocki,提取子塊特征xbi,將xbi和Bft-1輸入式(5)計算特征響應圖fbi(Z),并根據(jù)fbi(Z)計算各子塊的定位結(jié)果Pbi和各子塊的Psrbi。將Pbi和Psrbi輸入式(7)和式(8)計算重定位結(jié)果PB。
5)設置最終定位結(jié)果:當有遮擋時,Pt=PB;當無遮擋時,Pt=PC。
尺度預測:
6)若t不是5 的倍數(shù),Sft=Sft-1,跳至步驟7);若t是5 的倍數(shù),則根據(jù)Pt和St-1提取L種不同尺度圖像塊fsi,并歸一化至尺度濾波器Sft大小。提取fsi特征xfsi,將xfsi和Sft進行相關濾波得到多個響應值g(fsi),則St= max(g(fsi))。
模型更新:
7)利用Pt和St提取訓練樣本特征xtrain、分塊模型訓練樣本xbtrain、尺度濾波器訓練樣本xstrain
8)將xtrain、xbtrain分別輸入式(3)、式(9)和式(10)得到xft和Bft。將xstrain輸入尺度濾波器更新式即可得到Sft。
為了評估所提算法性能,本文采用標準數(shù)據(jù)集OTB-50 Sequences[15]和OTB-100 Sequences 中的彩色視頻序列作為實驗數(shù)據(jù)集。本文所提算法與MOSSE 算法、CSK 算法、DSST 算法、時空上下文(Spatio Temporal Context,STC)算法[16]、KCF算法、KCF_LSC算法和MSSCF-KCF算法進行了對比實驗。
評估標準采用精度和成功率兩個指標。精度指中心位置誤差(Center Location Error,CLE)小于某一閾值的幀數(shù)占總幀數(shù)的比值。中心位置誤差反映的是算法跟蹤得到的目標中心位置和實際目標中心位置的歐氏距離,CLE計算式如下:
其中(xi,yi)表示第i幀跟蹤得到的目標位置,()表示實際目標中心位置。
成功率指重疊率(Overlap Rate,OR)大于某閾值的幀數(shù)占總幀數(shù)的比值。重疊率反映的是追蹤得到目標邊界框與目標實際邊界框的重疊程度,重疊率的計算式如下:
其中:Reci表示第i幀跟蹤得到的目標邊界框,指實際目標邊界框。
實驗環(huán)境為:Windows 10 系統(tǒng)Matlab 2014a 平臺;計算機配置為CPU:Inter Core I7-7700HQ 2.8 GHz,內(nèi)存:8 GB。實驗參數(shù)為:HOG 特征中cell 大小為4 pixel×4 pixel,高斯函數(shù)中σ=0.5,T=1。正則化系數(shù)λ=0.001;學習率為η=0.002。尺度更新頻率為每5 幀圖像進行一次。分塊模型中的分塊方式和遮擋檢測閾值判斷根據(jù)不同的視頻序列而不同,分塊模型中的分塊方式根據(jù)目標模型來決定,分塊模型調(diào)用的PSR 閾值為6。模型動態(tài)更新中的閾值為TH1=7,TH2=5。
表1 是所有視頻序列在MOSSE 算法、CSK 算法、DSST 算法、STC 算法、KCF 算法、KCF_LSC 算法、MSSCF-KCF 算法和本文算法上測試獲得的平均性能指標。FPS 為算法每秒處理幀數(shù)。
表1 算法平均性能Tab. 1 Average performance of algorithms
圖4 是距離精度曲線(Precision Plots),表示每種算法在CLE閾值取不同數(shù)值時的距離精度。
圖4 不同算法的精度曲線Fig. 4 Precision plots of different algorithms
圖5 是成功率曲線(Success Rate Plots),表示每種算法在重疊率閾值取不同數(shù)值時的成功率。
圖5 不同算法的成功率曲線Fig. 5 Success rate plots of different algorithms
實驗結(jié)果證明,本文算法在距離精度和成功率上均優(yōu)于其他追蹤算法。在距離精度上,KCF 算法在所有視頻序列上CLE 閾值取20 pixel 的精度為0.673,OR 重疊率閾值取0.5 的成功率為0.597。本文算法的CLE 閾值取20 pixel 的精度為0.753,OR 閾值取0.5 的成功率為0.688。在CLE 精度上較KCF 算法提高了11.89%,OR 成功率較KCF 算法提高了15.24%。
本節(jié)從測試數(shù)據(jù)集中選取了4 組(圖6)包含多種挑戰(zhàn)因素的代表性視頻序列進行分析,每一個測試視頻序列選取具有代表性的幾幀圖像進行分析。這些視頻序列中包含光照變化(d),尺度變化(b、c、d),遮擋(a、c)等影響因素。表2是6種算法在4 組視頻序列中的測試得到的平均CLE。圖7 是6 種算法在4組視頻中的CLE隨幀數(shù)變化曲線對比。
表2 測試視頻平均CLETab. 2 Average CLE of test videos
1)在視頻序列(a)Jogging2 中,本文算法精度為100%,平均CLE為3.3,如圖7(a)為Jogging2的CLE的變化曲線。視頻序列中存在遮擋、形變等影響因素,在視頻序列的第50 幀左右,目標出現(xiàn)了遮擋且遮擋程度逐漸變大,并出現(xiàn)了較短時間的完全遮擋,在完全遮擋消失后,STC、MOSSE、CSK、KCF、DSST 算法全部丟失了目標位置信息,只有本文算法仍然能成功定位目標。原因主要有以下三方面:一是由于完全遮擋時間較短且完全遮擋前后目標位置差異較小,未超出KCF 算法的搜索區(qū)域;二是由于完全遮擋前后的部分遮擋時期,目標算法能準確定位目標;三是由于采用模型自適應動態(tài)更新策略,使得在遮擋期間目標模型未受到污染。在Jogging2 的CLE 變化曲線中,在50幀以后,STC、MOSSE、CSK、KCF、DSST算法的CLE值逐漸變大,僅本文算法一直保持較低值,驗證了本文算法強有力的抗遮擋性能。
圖6 測試視頻跟蹤結(jié)果對比Fig. 6 Tracking results comparison on test videos
圖7 測試視頻CLE幀數(shù)變化曲線Fig. 7 CLE curves with frame number of test videos
2)在視頻序列(b)Human5中,本文算法精度為98.7%,平均CLE為6.5,如圖7(b)為Human5的CLE變化曲線。視頻序列中存在尺度變化、視頻晃動、形變等影響因素,在視頻第174 幀至第200 幀間出現(xiàn)了劇烈晃動,STC 算法和KCF 算法出現(xiàn)一定程度的漂移,CSK 算法直接跟丟目標;在第200 幀到第400 幀之間,目標出現(xiàn)尺度變化,視頻中只有本文算法成功檢測到了目標的尺度變化;在第520 幀時,除本文算法外,其他算法全部跟丟目標。在Human5 的CLE 變化曲線中,本文算法一直保持較低值,其他算法都在不同的時候逐漸變大,驗證了本文算法在尺度變化和形變問題上的優(yōu)勢。
3)在視頻序列(c)Girl2 中,本文算法精度為98.5%中,平均CLE為7.7,如圖7(c)為Gilr2的CLE變化曲線。
視頻序列中存在遮擋、尺度變化、運動模糊等影響因素,在視頻第107幀目標被遮擋,STC、MOSSE、CSK、KCF、DSST算法全部丟失了目標位置信息,CLE 值急劇增大,在第300 幀后左右,CSK 算法重新追蹤上了目標,在第870 幀目標再次被遮擋,CSK 完全丟失目標信息,最后只有本文算法成功定位目標。在視頻序列中也出現(xiàn)了短時間的完全遮擋情況,在完全遮擋消失后,算法仍然能成功定位目標,其原因和Jogging2 中能重新定位目標的原因類似。在Girl2的CLE 變化曲線中,只有本文算法保持較低的CLE 值,驗證了本文算法在應對遮擋和尺度變化問題的優(yōu)勢。
4)在視頻序列(d)shaking 中,本文算法精度為81.4%,平均CLE 為13.1,如圖7(d)為shaking 的CLE 變化曲線。視頻序列存在背景斑雜、平面外旋轉(zhuǎn)和光照變化等影響因素,在視頻第20 幀至第50 幀期間,目標出現(xiàn)旋轉(zhuǎn),本文算法出現(xiàn)了一定程度的漂移,但在第50 幀時重新定位到的目標上,MOSSE算法和KCF 算法直接跟丟目標;在第61 幀時,出現(xiàn)了強光干擾,本文算法能成功定位在目標上;在第140幀至第160幀間,目標出現(xiàn)旋轉(zhuǎn)和較為細微的尺度變化,本文算法有一定程度的漂移,但最后也成功定位到目標;在視頻序列最后,僅本文算法和STC 算法定位在目標上。在shaking 的CLE 變化曲線中,本文算法和STC算法表現(xiàn)最優(yōu),驗證了本文算法在應對背景斑雜、光照等問題上的魯棒性。
經(jīng)過上述測試視頻分析表明,本文算法在應對遮擋、尺度變化和光照變化等影響因素時具有很強的抵抗力,能較好地適應各種復雜的環(huán)境,因此本文算法具有一定的優(yōu)勢。
針對KCF 算法在尺度變化、遮擋、光照變化等影響因素下容易出現(xiàn)跟蹤失敗的情況,本文提出了一種引入目標分塊模型的核相關濾波目標追蹤算法。首先,融合了HOG 特征和CN特征,以此來更好地表征目標外觀;其次,通過構(gòu)建尺度金字塔對目標進行了尺度預測;最后,利用PSR 值檢測遮擋,利用高置信度分塊模型構(gòu)建遮擋處理模塊和和模型動態(tài)更新來處理遮擋問題。利用OTB-50 和OTB-100 中的彩色視頻序列進行實驗,結(jié)果顯示本文方法整體精度為75.3%,成功率為68.8%,相較于KCF 算法,精度提高了11.89%,成功率提高了15.24%。通過視頻序列中的具有特定問題的視頻序列定性分析表明,本文算法在處理光照變化、尺度變化、遮擋和背景斑雜等問題上具有更強的魯棒性。