寧晨敬,張選德
(陜西科技大學(xué)電子信息與人工智能學(xué)院,西安710021)
目標(biāo)跟蹤是計(jì)算機(jī)視覺研究的熱點(diǎn)問題之一[1],目前已被廣泛應(yīng)用于軍事識(shí)別、航空航天、視頻監(jiān)控、人機(jī)交互等領(lǐng)域[2]。目標(biāo)跟蹤研究的目標(biāo)是在初始幀給定目標(biāo)位置和大小的情況下,在后續(xù)幀中能夠繼續(xù)預(yù)測(cè)目標(biāo)的運(yùn)動(dòng)軌跡[3]。
現(xiàn)有的目標(biāo)跟蹤方法主要分為生成式方法和判別式方法[4]。生成式方法先學(xué)習(xí)一個(gè)能夠表示目標(biāo)的外觀模型,再基于最小化誤差的思想搜索候選區(qū)域,找到與目標(biāo)最相似的圖像區(qū)域。生成式算法的性能取決于對(duì)目標(biāo)的描述是否成功,經(jīng)典生成式方法有均值漂移[5]等。判別式方法把跟蹤問題看作是二分類問題,訓(xùn)練一個(gè)能夠?qū)⒛繕?biāo)從背景中分離出的分類器,來完成目標(biāo)跟蹤[6]?;谏疃葘W(xué)習(xí)和相關(guān)濾波的方法都屬于判別式方法。盡管深度學(xué)習(xí)方法的引入,能夠有效地提升跟蹤算法的精度,目標(biāo)跟蹤問題中仍然存在難以解決的挑戰(zhàn),如場(chǎng)景因素(光照變化)、攝像機(jī)因素(視角變化)、遮擋等[7]。針對(duì)遮擋問題的目標(biāo)跟蹤,文獻(xiàn)[8]根據(jù)不同的權(quán)重融合梯度直方圖(Histogram of Oriented Gradient,HOG)特征和顏色命名(Color Name,CN)特征來表示目標(biāo),提高對(duì)目標(biāo)的表征能力,并根據(jù)響應(yīng)函數(shù)提出一種遮擋檢測(cè)的方法。文獻(xiàn)[9]將遮擋定義為部分背景點(diǎn)出現(xiàn)在目標(biāo)區(qū)域的前方,若發(fā)生遮擋,采用背景跟蹤器來分析背景點(diǎn)的運(yùn)動(dòng)軌跡,從而得到目標(biāo)的相對(duì)位置。文獻(xiàn)[10]提出幀差法檢測(cè)目標(biāo),在遮擋位置采用最小二乘法擬合目標(biāo)的運(yùn)動(dòng)軌跡,實(shí)現(xiàn)對(duì)目標(biāo)的跟蹤。文獻(xiàn)[11]提出分塊處理的思想,同時(shí)提出新的更新方案,以避免“更新過量”的問題。
從文獻(xiàn)[8-11]中可以看出,目前解決遮擋問題的方案主要有兩種:①引入檢測(cè)機(jī)制進(jìn)行遮擋判別,并針對(duì)遮擋和正常跟蹤兩種狀態(tài)決定是否進(jìn)行模板的更新。②采用分塊處理的思想,利用發(fā)生遮擋時(shí)未被遮擋的部分進(jìn)行跟蹤,來確定目標(biāo)的相對(duì)運(yùn)動(dòng)軌跡。
本文基于KCF[12]算法,通過分析輸出濾波響應(yīng)圖,提出響應(yīng)圖的最大峰值波動(dòng)和響應(yīng)值波動(dòng)兩種計(jì)算模型來判斷目標(biāo)是否被遮擋,同時(shí)引入結(jié)構(gòu)相似性指標(biāo)(Structural Similarity,SSIM)[13]將遮擋進(jìn)一步細(xì)分為輕微遮擋和嚴(yán)重遮擋,并針對(duì)兩種不同的遮擋狀態(tài),提出濾波器的更新方案。最后,針對(duì)嚴(yán)重遮擋狀態(tài),利用SURF(Speeded Up Robust Feature)[14]特征重新檢測(cè)目標(biāo)位置,提高跟蹤準(zhǔn)確率。
由于相關(guān)濾波方法具有精度高、速度快等優(yōu)勢(shì)[15],所以本文采用核相關(guān)濾波算法作為基本框架。相關(guān)濾波方法是根據(jù)每幀樣本圖像來訓(xùn)練濾波器,在跟蹤中,利用訓(xùn)練好的濾波器對(duì)后續(xù)幀圖像作濾波響應(yīng),響應(yīng)圖最大值處即為目標(biāo)位置。
在核相關(guān)濾波(KCF)中,作者將跟蹤問題轉(zhuǎn)化為一個(gè)分類問題(目標(biāo)和背景)。在問題的具體求解中,應(yīng)用了嶺回歸方法。求解分類器的過程包含矩陣的求逆運(yùn)算,導(dǎo)致運(yùn)算量較大,循環(huán)矩陣的引入解決了這一問題。由于循環(huán)矩陣具有對(duì)角化的性質(zhì),使得分類器的計(jì)算能夠巧妙地避免求逆運(yùn)算,提高運(yùn)行速度。KCF算法主要分為:模型建立、在線跟蹤、模型更新三部分。
給定線性分類器:
其中,w為濾波模板,z為輸入樣本,優(yōu)化目標(biāo)是最小化樣本數(shù)據(jù)xi與真實(shí)目標(biāo)標(biāo)簽yi之間的平方誤差,使f(xi)盡可能地接近yi,算法的目標(biāo)函數(shù)為:
其中,αi為系數(shù),φ(xi)為樣本xi在高維空間中的映射。這時(shí),分類器可表示為:
其中,K為核矩陣。同樣的,公式(7)也可使用對(duì)角化來避免求逆運(yùn)算:
定義Kz為測(cè)試樣本和訓(xùn)練樣本在核空間的核矩陣,則有:
通過濾波器作用在所有訓(xùn)練樣本上,可得各個(gè)測(cè)試樣本的響應(yīng):
通過對(duì)角化技術(shù),將公式(10)轉(zhuǎn)化到頻域?yàn)椋?/p>
其中,kxz表示樣本x與z之間的相關(guān)。
KCF框架中采用雙線性插值進(jìn)行目標(biāo)模型的更新,濾波器系數(shù)α與樣本外觀模型x的更新方案為:
針對(duì)遮擋問題,本文在KCF的基礎(chǔ)上,對(duì)得到的濾波響應(yīng)圖進(jìn)行評(píng)估,提出最大值波動(dòng)和平均響應(yīng)值波動(dòng)兩種計(jì)算模型判斷目標(biāo)是否處于遮擋狀態(tài);當(dāng)目標(biāo)處于遮擋狀態(tài)時(shí),再進(jìn)一步判斷此時(shí)目標(biāo)是輕微遮擋還是嚴(yán)重遮擋從而確定是否需要進(jìn)行更新方案的調(diào)整。整體算法實(shí)現(xiàn)過程如圖1所示。為了清晰描述算法流程,本文將其分為未發(fā)生遮擋和發(fā)生遮擋兩個(gè)階段。
(1)未發(fā)生遮擋。跟蹤過程按照原始KCF的框架進(jìn)行訓(xùn)練與跟蹤,在每次定位目標(biāo)后,學(xué)習(xí)一組目標(biāo)的SURF特征,同時(shí)更新目標(biāo)模型。
(2)發(fā)生遮擋。本文通過對(duì)濾波響應(yīng)圖進(jìn)行評(píng)估,來判斷目標(biāo)是否發(fā)生遮擋。本文利用圖像間的相似性度量(SSIM)將遮擋細(xì)化為輕微遮擋和嚴(yán)重遮擋。若目標(biāo)處于輕微遮擋,則調(diào)低學(xué)習(xí)率,防止濾波器過多地學(xué)習(xí)到干擾信息。若目標(biāo)處于嚴(yán)重遮擋,則停止更新濾波器系數(shù)和樣本外觀模型,同時(shí)使用SURF特征對(duì)目標(biāo)進(jìn)行檢測(cè),以實(shí)現(xiàn)目標(biāo)位置的重新定位。
圖1 本文算法整體框架示意圖
KCF跟蹤器在跟蹤中對(duì)每一幀樣本圖像都更新外觀模型,并沒有對(duì)輸出響應(yīng)結(jié)果圖進(jìn)行判別。當(dāng)樣本圖像中出現(xiàn)干擾信息,如目標(biāo)發(fā)生遮擋時(shí),會(huì)產(chǎn)生跟蹤漂移。本文通過分析相關(guān)濾波響應(yīng)結(jié)果圖,使用未發(fā)生遮擋與發(fā)生遮擋兩種條件下,響應(yīng)圖中最大峰值與響應(yīng)值波動(dòng)的情況以及與歷史值的對(duì)比,進(jìn)行遮擋判別,從而實(shí)現(xiàn)長(zhǎng)時(shí)間的穩(wěn)定跟蹤。
三種狀態(tài)下的濾波響應(yīng)結(jié)果如圖2所示。圖2(a)為正常跟蹤狀態(tài)下的響應(yīng)結(jié)果圖。響應(yīng)圖為單峰,最大響應(yīng)值處對(duì)應(yīng)目標(biāo)位置,其余位置響應(yīng)值低,為背景區(qū)域,這時(shí)可有效跟蹤目標(biāo)。圖2(b)為輕微遮擋下的響應(yīng)結(jié)果圖。響應(yīng)圖有多個(gè)峰值,最大響應(yīng)值處仍對(duì)應(yīng)目標(biāo)位置,但值大小低于正常跟蹤狀態(tài)下最大響應(yīng)值大小,說明樣本圖像中存在前景信息干擾目標(biāo),這時(shí)可較為有效地跟蹤目標(biāo),但此時(shí)更新外觀模型會(huì)使濾波器學(xué)習(xí)到干擾目標(biāo)的前景信息。圖2(c)為嚴(yán)重遮擋下的響應(yīng)結(jié)果圖。響應(yīng)圖為多峰,最大響應(yīng)值遠(yuǎn)低于正常跟蹤狀態(tài)下最大響應(yīng)值,若此時(shí)更新外觀模型,會(huì)產(chǎn)生跟蹤漂移現(xiàn)象。本文設(shè)計(jì)兩種模型評(píng)估輸出響應(yīng)圖,進(jìn)行遮擋判別以及更深層次的輕微遮擋與嚴(yán)重遮擋的判別,分別為響應(yīng)值波動(dòng)和相似性度量。
圖2 三種狀態(tài)下響應(yīng)結(jié)果對(duì)比圖
對(duì)濾波響應(yīng)圖分析可知,當(dāng)目標(biāo)發(fā)生遮擋時(shí),多峰之間的波動(dòng)程度較小,最大響應(yīng)值小于正常跟蹤的最大響應(yīng)值。本文采用最大響應(yīng)值與響應(yīng)值波動(dòng)的變化情況對(duì)遮擋進(jìn)行判別,即:
式(13)~(18)中,t代表幀數(shù)的索引,rˉ代表響應(yīng)的平均值。Δrt_max為當(dāng)前幀與前一幀最大響應(yīng)值的變化情況,當(dāng)其發(fā)生突變(大于Δrmean)時(shí),證明此時(shí)目標(biāo)可能發(fā)生遮擋,最大響應(yīng)值位置為非目標(biāo)位置。Δrmean描述最大響應(yīng)值的歷史波動(dòng)情況。ΔRFt為當(dāng)前幀與前一幀響應(yīng)值波動(dòng)的變化情況,當(dāng)其發(fā)生突變(大于ΔRFmean)時(shí),證明此時(shí)目標(biāo)已經(jīng)摻雜了大量的干擾信息,說明目標(biāo)被障礙物遮擋。
當(dāng)rt_max大于歷史值時(shí),且ΔRFt為發(fā)生突變,判定此刻目標(biāo)未發(fā)生遮擋,應(yīng)正常進(jìn)行跟蹤。當(dāng)Δrt_max和ΔRFt均發(fā)生突變時(shí),判定此刻目標(biāo)已經(jīng)發(fā)生遮擋,這時(shí)應(yīng)進(jìn)一步使用結(jié)構(gòu)相似性判斷目標(biāo)的遮擋情況。
式(13)~(18)中,t代表幀數(shù)的索引,代表響應(yīng)的平均值。為當(dāng)前幀與前一幀最大響應(yīng)值的變化情況,當(dāng)其發(fā)生突變(大于)時(shí),證明此時(shí)目標(biāo)可能發(fā)生遮擋,最大響應(yīng)值位置為非目標(biāo)位置。描述最大響應(yīng)值的歷史波動(dòng)情況。為當(dāng)前幀與前一幀響應(yīng)值波動(dòng)的變化情況,當(dāng)其發(fā)生突變(大于)時(shí),證明此時(shí)目標(biāo)已經(jīng)摻雜了大量的干擾信息,說明目標(biāo)被障礙物遮擋。
當(dāng)大于歷史值時(shí),且為發(fā)生突變,判定此刻目標(biāo)未發(fā)生遮擋,應(yīng)正常進(jìn)行跟蹤。當(dāng)和均發(fā)生突變時(shí),判定此刻目標(biāo)已經(jīng)發(fā)生遮擋,這時(shí)應(yīng)進(jìn)一步使用結(jié)構(gòu)相似性判斷目標(biāo)的遮擋情況。
結(jié)構(gòu)相似性(Structural Similarity,SSIM)是衡量?jī)蓤D像間相似性的指標(biāo),其值反映圖像之間的相似程度,值越大,圖像越相似。若目標(biāo)被判定為遮擋,則利用SSIM值衡量遮擋與未遮擋的圖像區(qū)域之間的相似程度。
設(shè)定閾值T,若,證明兩候選區(qū)域高度相似,判定此時(shí)目標(biāo)處于輕微遮擋狀態(tài),這時(shí)需要調(diào)低濾波器的學(xué)習(xí)率,防止學(xué)習(xí)到過多的干擾信息。若,證明兩候選區(qū)域之間相似程度低,判定此時(shí)目標(biāo)處于嚴(yán)重遮擋狀態(tài),這時(shí)停止更新濾波器,同時(shí)使用SURF特征對(duì)目標(biāo)進(jìn)行檢測(cè),當(dāng)目標(biāo)再次出現(xiàn)時(shí),能夠?qū)崿F(xiàn)重新定位。
本文采用SURF特征來描述嚴(yán)重遮擋之后的目標(biāo),在目標(biāo)發(fā)生嚴(yán)重遮擋時(shí),使用提取的SURF特征進(jìn)行目標(biāo)的檢測(cè);當(dāng)目標(biāo)再次出現(xiàn),通過SURF特征的匹配重新確定目標(biāo)位置。SURF特征是對(duì)SIFT(Scale-in?variant Feature Transform)[16]算法的改進(jìn),提升了算法的執(zhí)行效率。設(shè)檢測(cè)區(qū)域匹配成功的特征點(diǎn)集合為為 對(duì) 應(yīng) 點(diǎn) 的位置坐標(biāo),則目標(biāo)重新定位后的位置坐標(biāo)為:
為驗(yàn)證本文算法的跟蹤效果以及處理遮擋問題的能力,將本文算法與TLD[17]算法以及抗遮擋的改進(jìn)算法(TLD-A[18]算法、文獻(xiàn)[8]~[10]算法)在具有遮擋屬性的視頻序列上進(jìn)行實(shí)驗(yàn),同時(shí)在目標(biāo)跟蹤標(biāo)準(zhǔn)數(shù)據(jù)集(Object Tracking Benchmark,OTB)[19-20]上與benchmark_tracker中基于相關(guān)濾波的算法進(jìn)行對(duì)比。
本文所有實(shí)驗(yàn)均在MATLAB R2016a環(huán)境中完成,計(jì)算機(jī)配置為Intel Bronze處理器,32G內(nèi)存,Win10 64位操作系統(tǒng)。在實(shí)驗(yàn)設(shè)置中,保持原有KCF的部分參數(shù)不變,選用HOG特征描述目標(biāo),HOG中cell_size為4,梯度方向個(gè)數(shù)(orientation)為9。結(jié)構(gòu)相似性中閾值T設(shè)置為0.6,對(duì)于所有實(shí)驗(yàn),參數(shù)始終保持固定。
實(shí)驗(yàn)數(shù)據(jù)集采用目標(biāo)跟蹤標(biāo)準(zhǔn)數(shù)據(jù)集OTB-2015,由文獻(xiàn)[20]可知,OTB-2015由100段不同視頻序列組成,每個(gè)視頻序列都具有一種或多種標(biāo)記的屬性,共11種。為進(jìn)一步分析所提算法的優(yōu)劣,文中采用文獻(xiàn)[19]提出的一次通過評(píng)價(jià)(One-Pass Evaluation,OPE)標(biāo)準(zhǔn)分析所提算法的性能,OPE中精確度使用中心位置誤差(CLE)進(jìn)行評(píng)估,其計(jì)算過程為:其中,( )xbox,ybox為算法跟蹤目標(biāo)框的中心,為真實(shí)標(biāo)記的目標(biāo)框中心。
(1)基礎(chǔ)算法對(duì)比實(shí)驗(yàn)
本文算法是基于KCF算法提出的針對(duì)遮擋問題的改進(jìn)算法,圖3給出兩種算法在三個(gè)具有遮擋屬性的典型視頻實(shí)驗(yàn)結(jié)果。其中,實(shí)線框,虛線框分別代表本文算法和KCF算法的結(jié)果。
實(shí)驗(yàn)1:Girl2視頻序列中,目標(biāo)受遮擋影響嚴(yán)重。在第104幀目標(biāo)發(fā)生輕微遮擋,此時(shí)兩種算法還能較為有效地跟蹤目標(biāo)。但在109幀,目標(biāo)被遮擋物嚴(yán)重遮擋,此時(shí)KCF算法已經(jīng)由于跟蹤漂移丟失目標(biāo)位置,而更改更新方案的本文算法還能較為有效地跟蹤目標(biāo)。
實(shí)驗(yàn)2:Human4視頻序列中,目標(biāo)在317~360幀中間發(fā)生遮擋,由圖3(b)可以看出,KCF算法隨著遮擋物的影響,跟蹤誤差明顯增加,直接丟失跟蹤目標(biāo),而本文算法能夠快速檢測(cè)出目標(biāo),跟蹤效果良好。
實(shí)驗(yàn)3:Jogging視頻序列中,第46幀目標(biāo)處于正常狀態(tài),兩種算法都能很好地跟蹤目標(biāo)。但在82幀目標(biāo)發(fā)生嚴(yán)重遮擋之后,KCF算法出現(xiàn)明顯的跟蹤偏差,導(dǎo)致跟蹤失敗。整體看來,本文算法能夠較為有效地處理遮擋情況,在目標(biāo)發(fā)生嚴(yán)重遮擋之后,依然能夠繼續(xù)跟蹤目標(biāo)。
圖3 遮擋屬性中的跟蹤算法結(jié)果
(2)抗遮擋算法對(duì)比實(shí)驗(yàn)
將本文算法與TLD算法、針對(duì)遮擋問題改進(jìn)的TLD-A算法以及文獻(xiàn)[8-10]的抗遮擋改進(jìn)算法在OTB-2015中具有遮擋屬性的49個(gè)視頻序列上進(jìn)行實(shí)驗(yàn),選擇其中一部分視頻序列,其精確度對(duì)比如表1所示。
表1 本文算法與抗遮擋改進(jìn)算法的精確度對(duì)比
由表1可知,本文算法的精確度要高于TLD算法和針對(duì)遮擋問題改進(jìn)的其余4種算法。如Girl2序列,本文算法的精確度為0.798,相比于TLD算法、TLD-A算法以及文獻(xiàn)[8]~[10]算法分別提升了72.7%、17.5%、8.9%、12.5%和26.1%;Jogging-1序列,本文算法的精確度為0.974,相比于TLD算法、TLD-A算法以及文獻(xiàn)[8-10]算法分別提升了73.9%、43.7%、4.7%、7.6%和9.8%。
(3)算法整體分析
將本文算法與KCF算法以及benchmark_tracker庫(kù)中基于相關(guān)濾波的優(yōu)秀算法進(jìn)行對(duì)比,對(duì)比數(shù)據(jù)為OTB-2015中全部100個(gè)視頻序列,對(duì)比結(jié)果如圖4所示,圖中Our代表本文算法。由圖4可知,圖4(a)為精確度對(duì)比曲線,本文算法的精確度為0.733,相比于KCF、CSK和MOSSE分別提高3.7%、21.5%和13.5%。圖4(b)為成功率對(duì)比曲線,本文算法的成功率為0.577,相比于KCF、CSK、MOSSE分別提高2.6%、16.6%和7.9%。
圖4 OTB-2015中算法整體對(duì)比圖
(4)跟蹤效率分析
表2 為4種算法在跟蹤速度方面的對(duì)比。由表2可知,本文算法在增加了遮擋判別、特征匹配等功能后,還能保持104的平均幀數(shù),略低于KCF算法,但也能夠滿足跟蹤實(shí)時(shí)性的要求。
表2 4種算法的平均運(yùn)行速度
(5)結(jié)構(gòu)相似性中閾值選取分析
針對(duì)跟蹤過程中目標(biāo)出現(xiàn)遮擋的情況,文中使用結(jié)構(gòu)相似性(SSIM)指標(biāo)判斷目標(biāo)被遮擋的程度,將遮擋進(jìn)一步細(xì)化為輕微遮擋與嚴(yán)重遮擋。SSIM中閾值的選取成為衡量遮擋程度的唯一評(píng)判標(biāo)準(zhǔn)。圖5為閾值的選取對(duì)跟蹤精確度的影響,橫坐標(biāo)為閾值的取值,縱坐標(biāo)為算法精確度。由圖5可知,隨著閾值的增大,跟蹤精確度先增后減,在處達(dá)到最大。當(dāng)閾值取0.6時(shí),SSIM指標(biāo)能夠較好地區(qū)分輕微遮擋與嚴(yán)重遮擋,從而提升算法的性能。
圖5 不同閾值的選取
針對(duì)跟蹤過程中由于目標(biāo)遮擋引起的跟蹤丟失現(xiàn)象,本文提出一種遮擋判別下基于特征匹配的相關(guān)濾波跟蹤算法。該算法深入分析了相關(guān)濾波的輸出響應(yīng)圖,提出響應(yīng)圖最大峰值波動(dòng)和響應(yīng)值波動(dòng)兩種計(jì)算模型,通過這兩種計(jì)算模型來判斷目標(biāo)是否發(fā)生遮擋;然后通過使用結(jié)構(gòu)相似性指標(biāo)(SSIM)將遮擋進(jìn)一步分為輕微遮擋和嚴(yán)重遮擋,并針對(duì)兩種不同的遮擋情況,重新設(shè)計(jì)濾波器的更新方案;最后,針對(duì)嚴(yán)重遮擋情況,利用SURF特征重新確定目標(biāo)的位置。
本文算法在OTB-2015和49段具有遮擋屬性的視頻序列上均取得了良好的跟蹤效果,表明算法能夠較好地處理跟蹤過程中由于遮擋引起的目標(biāo)丟失現(xiàn)象,同時(shí)在速度方面,能夠達(dá)到實(shí)時(shí)性,平均104幀/秒。