張 銳,王 軍,楊 博,趙高鵬,薄煜明
(1.南京理工大學(xué)自動(dòng)化學(xué)院,江蘇 南京 210094;2.中國(guó)船舶工業(yè)綜合技術(shù)經(jīng)濟(jì)研究院,北京 100081)
運(yùn)動(dòng)目標(biāo)的跟蹤長(zhǎng)久以來(lái)都是廣大科研人員非常青睞且十分熱門的研究領(lǐng)域,許多研究成果早已被廣泛地應(yīng)用于軍事、醫(yī)療、交通等多個(gè)方面。從最早的光流法、均值漂移[1]法、支持向量機(jī)[2]法、檢測(cè)-跟蹤(TLD[3])算法、相關(guān)濾波算法,到近年開始興起的基于深度學(xué)習(xí)的方法。這些算法在跟蹤的速度與精度、抗遮擋能力等方面各有所長(zhǎng),但應(yīng)用在復(fù)雜場(chǎng)景時(shí),容易受到例如光照、遮擋等因素的影響,無(wú)法進(jìn)行魯棒跟蹤,所以需要針對(duì)長(zhǎng)時(shí)跟蹤進(jìn)行進(jìn)一步的研究。
相關(guān)濾波類算法憑借其在目標(biāo)跟蹤準(zhǔn)確性和速度上的優(yōu)秀表現(xiàn),成為當(dāng)下的一個(gè)研究熱點(diǎn)。2010年,Bolme等人首先提出了MOSSE[4]濾波器,它是首個(gè)將相關(guān)濾波思想引入目標(biāo)跟蹤的算法,類似ASEF濾波器,其計(jì)算量小且速度較快。2012年,Henriques等人提出了CSK[5]跟蹤器,提出將相關(guān)濾波引入核空間,訓(xùn)練在傅里葉域內(nèi)進(jìn)行,從而得到一個(gè)核化的分類器。隨后在2014年將CSK算法思想與梯度方向直方圖結(jié)合,設(shè)計(jì)得到了核相關(guān)濾波器KCF[6]。在特征提取方面,Danelljan等人在CSK的基礎(chǔ)上,使用CN顏色空間對(duì)其進(jìn)行拓展,并且在其模板更新機(jī)制上有所改進(jìn),提出了CN[7]算法。Staple算法[8]采用線性加權(quán)的方式將HOG特征模型與顏色直方圖模型的響應(yīng)結(jié)果進(jìn)行融合,有效地提高了算法的魯棒性。針對(duì)循環(huán)密集采樣造成的邊界效應(yīng),Danelljan等人提出了SRDCF[9]算法,引入空間正則并且使用高斯-賽德爾迭代來(lái)求解濾波器。Lukezic等人提出基于通道和空間置信度的判別式相關(guān)濾波(CSR-DCF)[10]算法,為了對(duì)濾波器的空域進(jìn)行限制,基于前景和背景的顏色特征模型構(gòu)建了掩模矩陣。
為解決尺度估計(jì)問(wèn)題,Danelljan等人提出位置濾波器和尺度濾波器分別訓(xùn)練的判別尺度空間跟蹤器(DSST)[11]算法。在此之后,Danelljan等提出快速尺度估計(jì)(fDSST)[12]算法通過(guò)主成分分析將目標(biāo)特征的主要特征保留,將維度壓縮至18維,在提高DSST算法運(yùn)行速度的同時(shí)還提升了跟蹤性能。
此外,針對(duì)目標(biāo)遮擋問(wèn)題,文獻(xiàn)[4]采用經(jīng)典的峰值旁瓣比(PSR)來(lái)衡量目標(biāo)跟蹤置信度,在置信度較低時(shí)暫停更新模型,從而抑制背景信息的干擾。針對(duì)目標(biāo)偏移問(wèn)題,Zhu等人提出協(xié)同相關(guān)跟蹤算法(CCT)[13],在核相關(guān)濾波算法的基礎(chǔ)上,引入CUR濾波模塊,使算法具有良好的魯棒性。
受以上算法啟發(fā),針對(duì)跟蹤過(guò)程中出現(xiàn)的目標(biāo)自身尺度變化,外界光照變化及目標(biāo)受遮擋等問(wèn)題,作者對(duì)快速尺度估計(jì)算法進(jìn)行改進(jìn),提出一種新的長(zhǎng)時(shí)目標(biāo)跟蹤算法,它結(jié)合置信度判別,自適應(yīng)地更新模板,并且加入一個(gè)用于重檢測(cè)的在線CUR濾波器,解決遮擋情況下的跟蹤問(wèn)題。
fDSST算法通過(guò)維數(shù)壓縮和濾波結(jié)果插值的方式對(duì)DSST算法進(jìn)行加速,DSST算法又是在MOSSE的基礎(chǔ)上改進(jìn)而成的,下面介紹DSST算法的基本原理。
通過(guò)一維的尺度濾波器獲得跟蹤目標(biāo)的新尺度信息。隨后,在新的位置用原先得到的尺度來(lái)分別提取位置和尺度濾波器的樣本并進(jìn)行參數(shù)更新。
首先,設(shè)初始圖像中選定的正樣本為f,f由d維特征向量f(n)∈Rd,fl為其中的第l維,l的取值為1到d,每個(gè)通道對(duì)應(yīng)的濾波器為hl,總的位置濾波器表示為h,g為理想高斯輸出,那么最小化的代價(jià)函數(shù)如式(1)所示:
(1)
式(1)中,*表示卷積計(jì)算,λ表示權(quán)重系數(shù),并將其轉(zhuǎn)換到復(fù)頻域,采用Parseval定理求解得Hl:
(2)
此時(shí),在對(duì)濾波器的訓(xùn)練中加入了不同時(shí)間片的樣本,這保證了濾波器hl具有魯棒性,由離散傅里葉變換進(jìn)行塊對(duì)角化線性來(lái)解決最小二乘問(wèn)題,濾波器Hl則是通過(guò)N個(gè)d×d的線性系統(tǒng)求解得到,參數(shù)的更新依照式(3)、(4)。
(3)
(4)
設(shè)zt為目標(biāo)中心位置的圖像,其經(jīng)離散傅里葉變換得到變量Zt,為選定的正樣本區(qū)域,此時(shí)輸出yt的復(fù)頻域表示為Yt,如式(5)所示:
(5)
DSST算法通過(guò)尺度相關(guān)濾波器和位置相關(guān)濾波器的共同運(yùn)行來(lái)實(shí)現(xiàn),首先將以上一幀圖像所確定的位置為基準(zhǔn),來(lái)提取特征樣本,如圖1所示,再利用位置濾波器獲取目標(biāo)新的位置信息,依據(jù)它提取尺度特征樣本。
圖1 位置濾波器樣本特征提取示意圖
尺度相關(guān)濾波器樣本特征提取如圖2所示,采用一維高斯函數(shù)作為期望輸出,并利用離散傅里葉變換加速,最后將新一幀的信息輸入尺度相關(guān)濾波器從而得到跟蹤目標(biāo)結(jié)果的尺度輸出。
圖2 尺度濾波器樣本特征提取示意圖
fDSST算法是在DSST算法的基礎(chǔ)上,主要針對(duì)流程中的學(xué)習(xí)與檢測(cè)部分的運(yùn)算進(jìn)行加速,采取逐點(diǎn)進(jìn)行的方式進(jìn)行運(yùn)算和推導(dǎo)并結(jié)合快速傅里葉變換(FFT),同時(shí)采用DFT快速計(jì)算使本算法快速高效。進(jìn)行了計(jì)算的加速。另外,在fDSST算法當(dāng)中,對(duì)HOG特征進(jìn)行維數(shù)壓縮處理,同時(shí)對(duì)濾波結(jié)果進(jìn)行了插值來(lái)避免信息的丟失。插值方式采用三角多項(xiàng)式,從而獲得精確定位尺度,有效地提高了FPS和有效優(yōu)化了算法的跟蹤精度和速度。
為了利用fDSST算法在跟蹤精度和速度的優(yōu)勢(shì),本文以其為基準(zhǔn)算法,針對(duì)跟蹤過(guò)程中的模板偏移問(wèn)題對(duì)模板的更新機(jī)制進(jìn)行改進(jìn),在目標(biāo)丟失時(shí),停止模型更新,防止模板被污染,以提高跟蹤的準(zhǔn)確率及魯棒性。在長(zhǎng)時(shí)跟蹤框架中增加重檢測(cè)模塊,用CUR濾波器來(lái)處理遮擋或跟蹤失敗的問(wèn)題,為能夠在發(fā)現(xiàn)目標(biāo)丟失時(shí)及時(shí)準(zhǔn)確地找回目標(biāo)。
本文設(shè)計(jì)的算法框架如圖3所示。
圖3 本文算法整體框架
在fDSST中,由于未考慮遮擋情況后的跟蹤失敗問(wèn)題,所以沒(méi)有討論跟蹤置信的評(píng)估問(wèn)題。一般來(lái)說(shuō),選取響應(yīng)圖中的最高值Fmax,Fmax的值越大說(shuō)明跟蹤效果越好,但根據(jù)實(shí)際實(shí)驗(yàn)結(jié)果來(lái)看,這種評(píng)估方式并不夠好。以O(shè)TB50的視頻序列Lemming為例,圖4展示了不同跟蹤質(zhì)量下響應(yīng)峰值大小的情況。
圖4 不同跟蹤質(zhì)量下目標(biāo)對(duì)應(yīng)峰值大小
左圖跟蹤情況良好,Fmax值也較大,中間圖中目標(biāo)處于嚴(yán)重遮擋狀態(tài),Fmax值也隨之變小,但是因?yàn)檎趽跖袚?jù)單一及未采取自適應(yīng)模板更新策略,導(dǎo)致出現(xiàn)了右圖的跟蹤失敗情況,跟蹤模板受到了污染,此時(shí)Fmax值大小處于跟蹤良好情況下的水平。
以O(shè)TB50的視頻序列Girl為例,圖5的(a)、(b)分別展示了跟蹤失敗的圖像序列幀與其對(duì)應(yīng)的響應(yīng)圖情況,左圖展示了當(dāng)目標(biāo)未發(fā)生遮擋情況,此時(shí)跟蹤質(zhì)量較高,存在響應(yīng)圖的最高值Fmax,此時(shí)相應(yīng)圖像上表現(xiàn)為有且只有單個(gè)主峰,中間圖表示當(dāng)跟蹤質(zhì)量低時(shí),例如目標(biāo)發(fā)生遮擋情況,響應(yīng)圖出現(xiàn)了劇烈波動(dòng),存在較為嚴(yán)重的次峰干擾,當(dāng)目標(biāo)周圍存在有相似特征的區(qū)域時(shí),也有可能出現(xiàn)最高峰為干擾的情況,此時(shí)如果繼續(xù)按照固定學(xué)習(xí)率更新位置濾波器的參數(shù)并進(jìn)行下一幀的跟蹤,則很有可能出現(xiàn)跟蹤漂移或失敗的情況。右圖是跟蹤失敗的情況。
圖5 不同跟蹤質(zhì)量下圖像與對(duì)應(yīng)響應(yīng)圖
于是本文借鑒LMCF[14]算法,引入提出的判據(jù)APCE,計(jì)算方法如式(6)所示:
(6)
式(6)中,Fm,n表示每一個(gè)像素位置的響應(yīng)值,Fmax、Fmin分別為最大、最小的響應(yīng)值。APCE的大小能夠反映響應(yīng)圖的震蕩程度和尖銳程度,當(dāng)目標(biāo)明顯出現(xiàn)在檢測(cè)區(qū)域內(nèi),因?yàn)轫憫?yīng)圖中最高值Fmax較高而其余干擾噪聲較小,APCE的值將會(huì)比較大,反之較小。
(7)
3)兩個(gè)條件均不滿足,判斷目標(biāo)被遮擋,轉(zhuǎn)入重搜索模塊,濾波器參數(shù)暫時(shí)不更新。
為了實(shí)現(xiàn)長(zhǎng)時(shí)有效跟蹤,需要加入重檢測(cè)機(jī)制,當(dāng)目標(biāo)一旦經(jīng)歷遮擋導(dǎo)致跟蹤結(jié)果出現(xiàn)較大偏差時(shí),應(yīng)啟動(dòng)重檢測(cè)模塊,以便有效長(zhǎng)期跟蹤目標(biāo)。為了使在線重檢測(cè)效果好,穩(wěn)定性高,同時(shí)計(jì)算量較低,本文選擇使用CUR在線低秩濾波器。
給定一個(gè)矩陣A,A∈Rm×n,它的矩陣秩為ρ,以相同次優(yōu)行、列選擇的方式,如式(8)所示:
(8)
根據(jù)上述方法,對(duì)A進(jìn)行隨機(jī)采樣,提取出c列,得到列矩陣C,然后對(duì)C的列取平均獲得目標(biāo)檢測(cè)濾波器Dt。具體來(lái)說(shuō),在每一個(gè)穩(wěn)定的幀中提取目標(biāo)框內(nèi)的目標(biāo)表達(dá),將其向量化為目標(biāo)歷史表達(dá)矩陣A中的一列at。在矩陣C隨機(jī)產(chǎn)生之后,按照列對(duì)C取平均,獲得在線濾波器hcur,如式(9)所示:
(9)
為了得到當(dāng)前幀的CUR濾波器,以空間上的對(duì)應(yīng)順序?yàn)橐罁?jù),把向量dt轉(zhuǎn)換為矩陣Dt。最后使用Dt來(lái)計(jì)算與所檢測(cè)圖像中每個(gè)可能位置的相似程度。已經(jīng)跟蹤到的信息構(gòu)成了正樣本集,只要充分利用該正樣本集,就可以訓(xùn)練出性能優(yōu)越的重檢測(cè)器。
根據(jù)位置濾波器的計(jì)算結(jié)果,利用非極大值抑制的方法提出前k個(gè)置信度高的區(qū)域,計(jì)算這些區(qū)域與位置濾波器所得結(jié)果的重合率α,如果重合率大于0.5,將當(dāng)前區(qū)域加入對(duì)象池,用于更新CUR濾波器。
本文算法流程如表1所示。
表1 本文跟蹤算法流程設(shè)計(jì)
本文實(shí)驗(yàn)在 IntelCore i7-10875H CPU、主頻 2.30 GHz、內(nèi)存 16 GB 的計(jì)算機(jī)上進(jìn)行,實(shí)驗(yàn)使用 Matlab R2018b平臺(tái)調(diào)試運(yùn)行。實(shí)驗(yàn)中參數(shù)設(shè)置:位置濾波器的Padding為 1.5,正則化因子λ設(shè)置為10-4,核帶寬設(shè)置為0.075,固定學(xué)習(xí)率η0設(shè)置為0.02,調(diào)整因子β=0.1,置信度閾值c和λR則分別設(shè)定為2.85和0.5。尺度相關(guān)濾波器的尺度級(jí)數(shù)設(shè)置為33,尺度步長(zhǎng)為1.02,CUR濾波模板池大小為20,峰值附近的響應(yīng)抑制系數(shù)設(shè)為0.8,特征提取方面選用HOG特征。
實(shí)驗(yàn)采用OTB50數(shù)據(jù)集,OTB作為視覺(jué)目標(biāo)跟蹤領(lǐng)域第一個(gè)基準(zhǔn)庫(kù),解決了視覺(jué)跟蹤領(lǐng)域無(wú)統(tǒng)一的衡量指標(biāo)且無(wú)統(tǒng)一的測(cè)試視頻的問(wèn)題。OTB50基準(zhǔn)庫(kù)包含了長(zhǎng)短不一、灰度和彩色視頻序列用于評(píng)估算法性能。同時(shí),為每幀的目標(biāo)位置都提供了人工標(biāo)注的真實(shí)坐標(biāo)值,且每個(gè)視頻均包含部分跟蹤領(lǐng)域存在的困難因素。實(shí)驗(yàn)從OTB50基準(zhǔn)庫(kù)中選取了12個(gè)視頻序列用于評(píng)估,每個(gè)序列的特點(diǎn)如表2所示。
表2 實(shí)驗(yàn)視頻序列特點(diǎn)
為了評(píng)估本文跟蹤算法的性能,參考Wu等[15]提出的OTB 視頻序列跟蹤效果評(píng)價(jià)指標(biāo),采用了中心位置誤差(CLE)、跟蹤精度和跟蹤成功率來(lái)評(píng)價(jià)算法性能。目標(biāo)重疊率S定義為給定跟蹤框Bt與實(shí)際跟蹤框Ba,這兩個(gè)區(qū)域面積的交集與并集比。當(dāng)S大于給定閾值時(shí)認(rèn)為跟蹤成功(一般閾值取0.5),S由式(10)給出。
(10)
3.3.1 定量分析
本文將提出的算法(Ours)與基準(zhǔn)算法fDSST[12]和其他5種主流算法進(jìn)行比較,包括Struck[16]、CT[17]、CSK[5]、SRDCF[9]、LCT[18]。
圖6表示實(shí)驗(yàn)的7種跟蹤算法在選取的12組測(cè)試視頻下的表現(xiàn),可以看出本文算法在跟蹤精度與跟蹤成功率方面來(lái)說(shuō),表現(xiàn)最為突出,跟蹤精度相比于fDSST算法提高了2%,相比于LCT算法提高了6.8%。跟蹤成功率相比于fDSST算法提高了13.6%,相比于SRDCF算法提高了4.7%。
圖6 12個(gè)視頻測(cè)試序列的跟蹤精度曲線及跟蹤成功率曲線
圖7顯示了7種跟蹤算法在12個(gè)視頻序列進(jìn)行目標(biāo)跟蹤時(shí)生成的中心位置誤差曲線,以圖7c)為例,CarScale視頻中的主要難點(diǎn)在于跟蹤目標(biāo)的尺度發(fā)生變換并且尺度變換較大、目標(biāo)受到遮擋、目標(biāo)快速運(yùn)動(dòng)以及其在平面內(nèi)旋轉(zhuǎn),從圖中可以看出,本文實(shí)驗(yàn)選取的算法在第150幀之后,中心位置誤差較之前變大,原因是跟蹤的目標(biāo)在第150幀時(shí)發(fā)生了遮擋,此時(shí),由于受到遮擋情況的影響,fDSST算法已經(jīng)發(fā)生了跟蹤漂移而導(dǎo)致跟蹤失敗,而本文所提出的算法,由于引入CUR濾波器對(duì)目標(biāo)進(jìn)行重檢測(cè),所以依然能成功跟蹤目標(biāo)。對(duì)12個(gè)視頻序列進(jìn)行逐一分析,可知本文算法保持了較低的中心誤差,有效提高了跟蹤精度。
圖7 12個(gè)視頻測(cè)試序列的中心位置誤差曲線
3.3.2 定性分析
為了直觀說(shuō)明本文算法(Ours)跟蹤的準(zhǔn)確性,圖8給出了本文算法與選取的其他6種代表算法在6個(gè)跟蹤測(cè)試視頻序列上的表現(xiàn)。
1)光照變化
圖8a)David序列顯示了本文算法抗光照變化的能力。314幀時(shí),CSK和Struck算法在跟蹤目標(biāo)的過(guò)程中出現(xiàn)了偏移的問(wèn)題,在429幀和637幀時(shí),CT算法和SRDCF算法也相繼發(fā)生目標(biāo)漂移,但是,如圖所示,本文提出的算法能夠做到全程對(duì)目標(biāo)進(jìn)行質(zhì)量較高的跟蹤。
2)尺度變化
圖8b)mhyang視頻序列中尺度改變明顯。在第1124幀時(shí),目標(biāo)快速移動(dòng)且尺度增大,LCT算法跟蹤失敗,Struck算法發(fā)生了跟蹤偏移,在第1396幀隨著目標(biāo)發(fā)生旋轉(zhuǎn)并尺度變小,本文算法準(zhǔn)確更新了目標(biāo)尺度,跟蹤準(zhǔn)確性較高,綜上,可以得出本文算法在應(yīng)對(duì)尺度變化較大的情況時(shí),具有較好的適應(yīng)性。
3)運(yùn)動(dòng)模糊
圖8c)bolt序列與d)deer序列顯示了本文算法處理運(yùn)動(dòng)模糊情況的能力。在視頻幀出現(xiàn)運(yùn)動(dòng)模糊的情況下,本文算法能夠穩(wěn)定地跟蹤目標(biāo)。Bolt序列在37幀和80幀時(shí)發(fā)生了運(yùn)動(dòng)模糊,fDSST、SRDCF、Struck算法跟蹤失敗,CSK算法發(fā)生了跟蹤漂移,隨著目標(biāo)繼續(xù)快速移動(dòng),同樣LCT算法在225幀時(shí)也出現(xiàn)了跟蹤漂移的問(wèn)題,只有本文算法全程質(zhì)量較高地跟蹤了目標(biāo)。
4)遮擋
圖8e)skating1序列和f)subway序列的實(shí)驗(yàn)結(jié)果證明了本文算法在發(fā)生遮擋情況時(shí)的應(yīng)對(duì)能力。
圖8 各跟蹤方法在不同測(cè)試視頻上具體表現(xiàn)
skating1在第179幀時(shí)發(fā)生了局部遮擋,CSK 算法和Struck 算法無(wú)法準(zhǔn)確更新模板導(dǎo)致跟蹤失敗,fDSST算法與CT算法發(fā)生了跟蹤偏移。在375幀時(shí)發(fā)生了嚴(yán)重遮擋,SRDCF算法出現(xiàn)了跟蹤偏移,由于本文算法加入了重檢測(cè)模塊,所以并未受影響,全程較好地跟蹤了目標(biāo)。
subway視頻序列在44幀時(shí)發(fā)生局部遮擋,CSK算法與SRDCF算法跟蹤失敗,只有本文算法與LCT算法實(shí)現(xiàn)了對(duì)目標(biāo)的全程跟蹤。
本文提出的自適應(yīng)模型更新的長(zhǎng)時(shí)目標(biāo)跟蹤算法,在fDSST算法的基礎(chǔ)上加入了基于置信度的模板更新與遮擋判別,在跟蹤質(zhì)量評(píng)估方面,結(jié)合了歷史峰值均值和歷史APCE置信度均值。當(dāng)跟蹤目標(biāo)丟失時(shí),重檢測(cè)模塊被激活,利用CUR近似的方法進(jìn)行全局重檢測(cè),迅速地再次獲得目標(biāo)位置信息并繼續(xù)進(jìn)行穩(wěn)定的長(zhǎng)時(shí)跟蹤。實(shí)驗(yàn)數(shù)據(jù)表明,本文算法應(yīng)用時(shí)的跟蹤成功率與跟蹤精確度均優(yōu)于其他主流的例如SRDCF、LCT等代表性相關(guān)濾波目標(biāo)跟蹤算法,具有較好的魯棒性和實(shí)時(shí)性。