王希鵬,李 永,李 智,梁起明
武警工程大學(xué) 信息工程學(xué)院,西安 710086
目標(biāo)跟蹤是計(jì)算機(jī)視覺研究領(lǐng)域的熱點(diǎn)之一,目標(biāo)跟蹤技術(shù)被廣泛應(yīng)用于自動駕駛、智能視頻監(jiān)控、軍事偵察、人機(jī)交互等多個方面。單目標(biāo)跟蹤是指在給定第一幀目標(biāo)框的情況下,在視頻的后續(xù)幀中自動地標(biāo)出該目標(biāo)的位置和大小。早期的單目標(biāo)跟蹤算法以相關(guān)濾波為主,當(dāng)視頻場景中出現(xiàn)感興趣目標(biāo)時(shí),濾波器會產(chǎn)生相關(guān)響應(yīng)峰值,而對于背景產(chǎn)生較低的響應(yīng)值,這類濾波器非常適用于目標(biāo)定位的應(yīng)用場景。KCF[1]算法在CSK[2]算法的基礎(chǔ)上做出了改進(jìn),KCF擴(kuò)展了多通道特征,采用HOG特征。直到現(xiàn)在,KCF算法依然憑借其速度方面的優(yōu)勢,在工業(yè)界被廣泛使用。2012年的AlexNet[3]網(wǎng)絡(luò)的提出是深度學(xué)習(xí)的開端,之后,深度學(xué)習(xí)被廣泛應(yīng)用于目標(biāo)識別和目標(biāo)檢測領(lǐng)域。而在目標(biāo)跟蹤領(lǐng)域,基于深度學(xué)習(xí)的方法一直無法超過傳統(tǒng)算法。近幾年,隨著目標(biāo)檢測數(shù)據(jù)集的擴(kuò)充,跟蹤標(biāo)準(zhǔn)的完善,深度學(xué)習(xí)模型的不斷優(yōu)化,使得基于深度學(xué)習(xí)的目標(biāo)跟蹤方法取得了很好的成績。隨著深度學(xué)習(xí)方法的廣泛應(yīng)用,目標(biāo)跟蹤領(lǐng)域也開始考慮引入深度學(xué)習(xí)模型建立全新的跟蹤框架。SINT[4]是第一個使用Siamese網(wǎng)絡(luò)解決目標(biāo)跟蹤問題的算法。SiamFC[5]算法由于是端到端的跟蹤網(wǎng)絡(luò),速度方面有了很大的提升,這使得基于Siamese神經(jīng)網(wǎng)絡(luò)的跟蹤器真正地流行了起來。CFNet[6]與SiamFC中的思路相似,不同之處在于將相關(guān)濾波(CF)整合為一個網(wǎng)絡(luò)層,并將其嵌入到基于Siamese網(wǎng)絡(luò)的框架中。Dsiam[7]在SiamFC框架的基礎(chǔ)上添加了目標(biāo)外觀變換轉(zhuǎn)換層和背景抑制變換層來提升網(wǎng)絡(luò)的判別能力,增強(qiáng)了模型在線更新的能力。SINT++[8]使用了自編碼器和生成式對抗網(wǎng)絡(luò)來生成多樣性的輸入正樣本塊。SA-Siam[9]使用雙網(wǎng)絡(luò)分別學(xué)習(xí)不同的特征,在網(wǎng)絡(luò)分支添加注意力機(jī)制和多層特征的融合。RASNet[10]同樣使用了注意力機(jī)制,使得網(wǎng)絡(luò)可以根據(jù)目標(biāo)的變化而自適應(yīng)地進(jìn)行調(diào)整。
目前的目標(biāo)跟蹤大多是短時(shí)跟蹤,而在實(shí)際應(yīng)用場景中,長時(shí)間目標(biāo)跟蹤的應(yīng)用更廣泛。近年來,隨著LaSOT[11]、TrackingNet[12]等幾個數(shù)據(jù)集的公布,長時(shí)跟蹤開始受到更多的關(guān)注。與短時(shí)跟蹤相比,長時(shí)跟蹤中一個視頻序列的幀數(shù)更多,場景更復(fù)雜。大多數(shù)長期視覺跟蹤前期采用離線訓(xùn)練的Siamese網(wǎng)絡(luò)結(jié)構(gòu),因此無法從在線更新得到性能提升。但是,由于長期的不確定性,直接引入在線更新策略是非常冒險(xiǎn)的,不一定會得到更好的性能。
長時(shí)視覺跟蹤比短期跟蹤更接近實(shí)際應(yīng)用。在基于相關(guān)濾波的目標(biāo)跟蹤算法中,LCMF[13]算法提出利用跟蹤置信度APCE進(jìn)行模板更新,之后的很多基于模型更新的目標(biāo)跟蹤器在APCE的基礎(chǔ)上進(jìn)行改進(jìn)[14-15]。Wang等[16]提出將相關(guān)濾波跟蹤器和重檢測模塊組合成長時(shí)跟蹤器。Zhang等[17]提出了一種時(shí)空感知的相關(guān)濾波器,對時(shí)空信息進(jìn)行建模,同時(shí)設(shè)計(jì)重檢測機(jī)制對大量候選目標(biāo)框進(jìn)行采樣和評估以優(yōu)化跟蹤結(jié)果。基于相關(guān)濾波的長時(shí)跟蹤算法中的重檢測機(jī)制大多采用粒子濾波采樣,計(jì)算量大,很難達(dá)到實(shí)時(shí)性要求。
本文針對長時(shí)跟蹤問題對Siamese網(wǎng)絡(luò)進(jìn)行改進(jìn),在SiamFC算法的基礎(chǔ)上,對網(wǎng)絡(luò)多層特征進(jìn)行融合,提升網(wǎng)絡(luò)對目標(biāo)的判別性,設(shè)計(jì)一個短時(shí)記憶模塊,將響應(yīng)圖加權(quán)疊加,使算法更適應(yīng)目標(biāo)的動態(tài)變化,減少目標(biāo)的跟蹤漂移。為驗(yàn)證本文算法的性能,在OTB2015和GOT-10K數(shù)據(jù)集上進(jìn)行測試,與當(dāng)前6種主流跟蹤算法比較,本文算法能夠有效提升跟蹤性能,在跟蹤成功率和精確度上均高于其他對比算法。
本文在SiamFC的基礎(chǔ)上,對AlexNet網(wǎng)絡(luò)進(jìn)行多層特征融合,提高了網(wǎng)絡(luò)的特征提取能力。同時(shí),引入了短時(shí)記憶模塊,通過視頻局部信息增強(qiáng)算法對跟蹤目標(biāo)的判別性,提升目標(biāo)跟蹤性能。
Siamese網(wǎng)絡(luò)主要用來衡量輸入樣本的相似性。SiamFC分為模板分支和搜索區(qū)域分支,模板分支是輸入x大小為127×127×3,經(jīng)過特征提取網(wǎng)絡(luò)φ,可以得到一個6×6×128的卷積核φ(x)。搜索區(qū)域分支輸入z大小為255×255×3,經(jīng)過特征提取網(wǎng)絡(luò)φ,得到一個22×22×128的候選區(qū)域φ(z)。φ(x)與φ(z)進(jìn)行互相關(guān)操作,得到一個17×17×1的響應(yīng)圖,如公式(1)所示,*代表互相關(guān)運(yùn)算。從響應(yīng)圖中選取響應(yīng)最大的位置,作為目標(biāo)當(dāng)前的位置,進(jìn)行多尺度測試,得到目標(biāo)當(dāng)前的尺度,如公式(2)所示:
SiamFC損失函數(shù)采用logistic損失函數(shù),對于輸出響應(yīng)圖中每個點(diǎn)的損失,計(jì)算公式如下:
v為網(wǎng)絡(luò)輸出的響應(yīng)圖中每個點(diǎn)的值,y為該點(diǎn)的標(biāo)簽,表示該點(diǎn)是否屬于標(biāo)注的目標(biāo),y∈{-1,1}。公式(3)為響應(yīng)圖中每個點(diǎn)的對應(yīng)loss值,而對于響應(yīng)圖整體的loss,則采用所有點(diǎn)loss的均值,即:
其中,D是得到的響應(yīng)圖,u為D中的某一值,||D為響應(yīng)圖的大小。
特征提取對于目標(biāo)跟蹤非常重要,網(wǎng)絡(luò)特征提取能力的增強(qiáng)可以提升跟蹤精度[18-19]。近些年中,DenseNet[20]和SENet[21]均采用了特征融合的思想,將高層特征和底層特征結(jié)合在一起,提升了特征提取能力。將SiamFC算法中AlexNet網(wǎng)絡(luò)的第三個卷積層得到的底層特征和第五個卷積層得到的高級語義特征進(jìn)行融合,使最后經(jīng)網(wǎng)絡(luò)提取的特征既包含了底層特征,也包含了高級語義特征。表1中列出了網(wǎng)絡(luò)中各層參數(shù)、特征的大小和特征維度,過渡層C6的作用是改變C3層輸出特征大小,深度不變,通過步長為1的卷積核使寬和高與C5層輸出一致,通過通道數(shù)可以看出,輸出通道數(shù)為C5和C6通道數(shù)相加得到的。網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1所示。
表1 基于多層特征融合的SiamFC網(wǎng)絡(luò)結(jié)構(gòu)Table 1 SiamFC network structure based on multi-layer feature fusion
圖1 基于多層特征融合的SiamFC網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 SiamFC network structure based on multi-layer feature fusion
圖2 為各層卷積特征圖可視化結(jié)果,分別取Box、Basketball、David3視頻序列中的某一幀搜索區(qū)域進(jìn)行特征提取。第二個卷積層的底層特征通過修改維度與第五個卷積層輸出高層特征拼接。多層特征的融合,增強(qiáng)了網(wǎng)絡(luò)對跟蹤目標(biāo)的判別性,提高了跟蹤算法的跟蹤性能。
圖2 各層卷積特征圖可視化Fig.2 Visualization of convolutional feature maps of each layer
在目標(biāo)檢測領(lǐng)域,Chen等[22]提出整合大量的全局信息和局部信息來輔助關(guān)鍵幀的檢測,顯著提升了視頻物體檢測器的性能。目前基于Siamese的目標(biāo)跟蹤算法大多以第一幀目標(biāo)框?yàn)槟0?,之后將每一幀的搜索區(qū)域的特征和初始模板的特征進(jìn)行互相關(guān)操作,確定跟蹤目標(biāo)的位置。而在視頻目標(biāo)跟蹤中,目標(biāo)不是靜止不動的,這使得跟蹤面臨很多困難:目標(biāo)遮擋,光照變化、目標(biāo)快速運(yùn)動等,這些都會造成目標(biāo)特征的變化。但反過來,視頻目標(biāo)跟蹤意味著可以利用時(shí)序上的相關(guān)性來輔助目標(biāo)跟蹤。人們可以根據(jù)一些歷史信息,如位置、語義信息,來判斷這個外觀發(fā)生變化或者被遮擋的物體是否是跟蹤目標(biāo)。因此利用好時(shí)序信息輔助質(zhì)量比較差的幀上的目標(biāo)跟蹤是一個重要的研究方向。
本文考慮時(shí)序信息輔助目標(biāo)跟蹤,設(shè)計(jì)了一個短時(shí)記憶模塊。如圖3算法流程所示,記憶模塊將每一幀的跟蹤目標(biāo)的特征保存下來。歷史幀數(shù)過多,會影響運(yùn)算速度,占用內(nèi)存,本文短時(shí)記憶模塊中歷史幀數(shù)為3,即保存當(dāng)前幀的前3幀目標(biāo)的深度特征。當(dāng)前幀搜索區(qū)域特征φ(x)與歷史幀特征φ(mt-1)、φ(mt-2)、φ(mt-3)分別進(jìn)行相關(guān)運(yùn)算,得到3個響應(yīng)圖f(x,mt-1)、f(x,mt-2)、f(x,mt-3)。短時(shí)記憶模塊中的三個響應(yīng)圖代表當(dāng)前幀與前三幀跟蹤目標(biāo)的相似度,而前三幀的跟蹤目標(biāo)可能由于跟蹤錯誤和誤差導(dǎo)致不是真實(shí)目標(biāo)的位置,這就需要對響應(yīng)圖進(jìn)行修正。max(f(x,mt))為當(dāng)前的第t幀與初始幀的響應(yīng)值最大值,數(shù)值在0到10之間,值越大,表示當(dāng)前越可能是跟蹤目標(biāo),本文為降低跟蹤錯誤帶來的影響,將此最大響應(yīng)值映射到0和1之間,再進(jìn)行平方,得到的值作為修正權(quán)值γt,如式(5)所示:
圖3 算法流程Fig.3 Algorithm flow
修正權(quán)值γ的作用是避免被錯誤地跟蹤目標(biāo)污染短時(shí)記憶模塊輸出的響應(yīng)圖。R t-1表示t-1幀經(jīng)過修正之后的響應(yīng)圖R t-1=γt-1f(x,mt-1)。如果歷史幀跟蹤錯誤,最大響應(yīng)值會減小,與響應(yīng)圖相乘之后,可以減小當(dāng)前搜索區(qū)域與錯誤目標(biāo)的響應(yīng)圖在輸出值中的權(quán)重。將修正過后的3個響應(yīng)圖進(jìn)行平均后得到短時(shí)記憶模塊輸出的響應(yīng)圖f(x,mt),公式如下:
搜索區(qū)域特征x與初始模板特征互相關(guān)得到響應(yīng)圖f(x,z)。兩個特征圖進(jìn)行加權(quán)融合,得到一個新的響應(yīng)圖F(x,m,z),此響應(yīng)圖的最大值即為目標(biāo)最終的位置,公式如下:
本文算法基于Python3.6實(shí)現(xiàn),硬件實(shí)驗(yàn)環(huán)境為AMDRyzen7 2700X CPU、主頻3.7 GHz、內(nèi)存16 GB、顯卡GeForce GTX1080配置的計(jì)算機(jī)。訓(xùn)練數(shù)據(jù)采用GOT-10K[23],epoch次數(shù)為50,批大小batchsize為8。測試數(shù)據(jù)集為OTB2015[24]和GOT-10K數(shù)據(jù)集。OTB2015數(shù)據(jù)集包含100段視頻,每個視頻序列包含了11個屬性。GOT-10K評估數(shù)據(jù)集包含180段視頻。
評估指標(biāo)采用跟蹤精確度和跟蹤成功率。跟蹤精確度反映了跟蹤算法估計(jì)的目標(biāo)位置中心點(diǎn)與標(biāo)注的中心點(diǎn)之間的距離。跟蹤成功率反映了算法估計(jì)的目標(biāo)位置與標(biāo)注位置之間的重合程度。
(1)目標(biāo)跟蹤成功率
a為跟蹤算法得到的目標(biāo)框,b為標(biāo)注的目標(biāo)框,||·表示區(qū)域內(nèi)的像素?cái)?shù)目,當(dāng)某一幀的os大于設(shè)定的閾值時(shí),則該幀被視為成功的,成功幀的總數(shù)占所有幀的百分比即為成功率。os的取值范圍為0~1,因此可以繪制出一條曲線。
(2)目標(biāo)跟蹤精確度
跟蹤精確度計(jì)算了跟蹤算法估計(jì)的目標(biāo)位置中心點(diǎn)與標(biāo)注的中心點(diǎn)之間的距離小于給定閾值的視頻幀所占的百分比。不同的閾值得到的百分比不一樣,因此可以得到一條曲線。
對于公式(7)中的權(quán)值λ,太大或太小都會引起跟蹤漂移。本文賦予基準(zhǔn)跟蹤器響應(yīng)得分更大的權(quán)重,λ∈[0.7,1],本文通過在OTB2015數(shù)據(jù)集中的跟蹤結(jié)果確定λ取值為0.85。表2為λ取不同值時(shí)的跟蹤成功率和精確度。
表2 λ不同取值下的跟蹤結(jié)果Table 2 Tracking results of different λvalues
本文算法在OTB2015數(shù)據(jù)集中與5個跟蹤算法進(jìn)行比較:SiamFC、SRDCF[25]、CFNet、Staple[26]、fDSST[27]。圖4為6種算法在OTB2015數(shù)據(jù)集中的跟蹤精確度和成功率。本文算法在OTB2015的跟蹤精確度上排名第一,相比較于基準(zhǔn)跟蹤算法SiamFC(0.796),本文算法(0.807)提高了1.1%,在跟蹤成功率上排名第二,相比較于SiamFC(0.588),本文算法(0.593)提升了0.8%。圖5為本文算法與基準(zhǔn)算法SiamFC在GOT-10K數(shù)據(jù)集上的跟蹤成功率對比,在GOT-10K數(shù)據(jù)集的成功率指標(biāo)上,本文算法(0.543)高于SiamFC(0.539)。
圖4 在OTB2015中的跟蹤精確度和成功率Fig.4 Tracking accuracy and success rate in OTB2015
圖5 在GOT-10K中的跟蹤成功率對比Fig.5 Comparison of tracking success rate in GOT-10K
為更好地說明本文跟蹤算法的性能,本文選擇了OTB2015數(shù)據(jù)集中10個視頻序列進(jìn)行跟蹤結(jié)果展示,如圖6所示,視頻序列由上到下依次為Soccer、Skating1、
圖6 算法跟蹤結(jié)果展示Fig.6 Visualization of tracking results
Girl2、DragonBaby、Couple、ClifBar、Car Dark、Box、Basketball,圖中綠色框?yàn)闃?biāo)注的目標(biāo)真實(shí)位置(Ground truth),藍(lán)色框?yàn)镾iamFC算法跟蹤結(jié)果,黃色框?yàn)樯衔乃岬降膶⒍鄬犹卣鬟M(jìn)行融合的SiamFC跟蹤算法(SiamFC multi-features,SiamFCMF),紅色框?yàn)楸疚乃岢龅慕Y(jié)合了多層特征融合和引入了短時(shí)記憶模塊的跟蹤算法。當(dāng)視頻中出現(xiàn)光照變化、目標(biāo)遮擋、快速運(yùn)動、相似目標(biāo)干擾時(shí),跟蹤框容易出現(xiàn)跟蹤漂移,如CarDark視頻序列對夜間場景中的車輛進(jìn)行跟蹤,受路燈和車輛燈光的影響,光照變化較大,背景復(fù)雜,第263幀中,SiamFC算法首先出現(xiàn)了跟蹤漂移,接著在第283幀,基于多層特征融合的SiamFCMF算法同樣出現(xiàn)了跟蹤漂移。在Box視頻序列中,第300幀時(shí)出現(xiàn)了目標(biāo)遮擋的現(xiàn)象,在308幀和320幀時(shí)SiamFC和SiamFCMF的跟蹤框均漂移到了旁邊的物體上,而本文算法保持了對目標(biāo)的穩(wěn)定跟蹤,有效避免了跟蹤漂移現(xiàn)象的出現(xiàn)。
表3和表4分別記錄了SamFC、SiamFCMF和本文算法在圖6中9個視頻序列上的跟蹤精確度和成功率,從表中可以看出,基于多層特征融合的SiamFCMF算法在7個序列的精確度和9個序列的成功率要優(yōu)于Siam-FC算法,本文算法的精確度和成功率均要優(yōu)于SiamFC和SiamFCMF算法,魯棒性良好。
表3 在9個視頻序列上的精確度Table 3 Accuracy on 9 video sequences
表4 在9個視頻序列上的成功率Table 4 Success rate on 9 video sequences
圖7 為OTB2015數(shù)據(jù)集中的Basketball視頻序列,第二行為SiamFC算法輸出的響應(yīng)圖,第三行為本文算法輸出的響應(yīng)圖。在第635幀時(shí),跟蹤目標(biāo)靠近一名穿著同樣衣服,膚色相同的運(yùn)動員。SiamFC響應(yīng)圖中干擾目標(biāo)的響應(yīng)值較大,與跟蹤目標(biāo)的響應(yīng)形成雙峰。在第645幀時(shí),SiamFC算法已經(jīng)錯誤跟蹤了干擾目標(biāo),且響應(yīng)值較大,而本文算法未出現(xiàn)跟蹤錯誤。第655幀,SiamFC響應(yīng)圖出現(xiàn)多處峰值,而本文算法的響應(yīng)值較為集中。
圖7 跟蹤響應(yīng)圖對比Fig.7 Comparison of tracking response map
圖8為本文跟蹤流程中各響應(yīng)熱力圖的展示,左側(cè)四張圖分別為當(dāng)前幀搜索區(qū)域與初始模板、t-1幀目標(biāo)、t-2幀目標(biāo)和t-3幀目標(biāo)的相關(guān)響應(yīng)熱力圖。從圖中可以看出,受到相似目標(biāo)干擾的影響,搜索區(qū)域與初始模板的響應(yīng)已經(jīng)偏移到了干擾目標(biāo)上,而搜索區(qū)域與前三幀的響應(yīng)還集中在被跟蹤目標(biāo)上,三個響應(yīng)圖通過修正系數(shù)進(jìn)行修正后融合得到短時(shí)記憶模塊輸出的響應(yīng)圖,再將此響應(yīng)圖與初始模板的響應(yīng)圖進(jìn)行加權(quán)融合得到最終的響應(yīng)圖,從而得到目標(biāo)的位置。
圖8 跟蹤流程響應(yīng)熱力圖展示Fig.8 Visualization of response heatmaps of tracking process
針對長時(shí)目標(biāo)跟蹤中的復(fù)雜場景和目標(biāo)遮擋等問題,本文在SiamFC的基礎(chǔ)上,對AlexNet網(wǎng)絡(luò)進(jìn)行多層特征融合,提高了網(wǎng)絡(luò)的特征提取能力。同時(shí),引入了短時(shí)記憶模塊,通過視頻局部信息增強(qiáng)算法對跟蹤目標(biāo)的判別性。在短時(shí)記憶模塊中,保存局部幀的目標(biāo)深度特征,將當(dāng)前幀的特征分別與初始模板特征和短時(shí)記憶的特征進(jìn)行互相關(guān),對得到的兩個響應(yīng)圖加權(quán)融合,確定最終目標(biāo)位置。本文算法在OTB2015和GOT-10K數(shù)據(jù)集上進(jìn)行評估,跟蹤結(jié)果均優(yōu)于基準(zhǔn)的SiamFC算法,表明本論文算法能有效提升的跟蹤性能,并且達(dá)到了27幀/s的實(shí)時(shí)跟蹤速度。本文的下一步工作將對短時(shí)記憶模塊進(jìn)行改進(jìn),并嘗試融合到其他目標(biāo)跟蹤算法中。