楊 哲,孫力帆,付主木,張金錦,常家順
河南科技大學(xué) 信息工程學(xué)院,河南 洛陽471023
視頻目標(biāo)跟蹤在自動(dòng)駕駛、視頻監(jiān)控、人機(jī)交互等領(lǐng)域有著廣泛的應(yīng)用,是計(jì)算機(jī)視覺中基本的問題之一,它的任務(wù)是在視頻序列中自動(dòng)定位指定目標(biāo)[1]。如何在目標(biāo)形變、快速運(yùn)動(dòng)、背景干擾和遮擋等復(fù)雜環(huán)境中實(shí)現(xiàn)視頻目標(biāo)的有效跟蹤是視頻目標(biāo)跟蹤技術(shù)的一大挑戰(zhàn),是視頻目標(biāo)跟蹤領(lǐng)域的研究熱點(diǎn)。
視頻目標(biāo)跟蹤的指標(biāo)可歸納為兩類:魯棒性和實(shí)時(shí)性。傳統(tǒng)的基于相關(guān)濾波的方法[2]利用循環(huán)矩陣和傅氏變換極大地提升了跟蹤速度,核函數(shù)的引入將非線性問題映射到高維空間處理,進(jìn)一步提高了算法性能。隨著GPU技術(shù)的快速發(fā)展,深度學(xué)習(xí)技術(shù)在目標(biāo)跟蹤等機(jī)器視覺任務(wù)中得到廣泛的應(yīng)用,尤其是卷積神經(jīng)網(wǎng)絡(luò)引入深度特征,使跟蹤算法的魯棒性得到了很大的提升。但是卷積神經(jīng)網(wǎng)絡(luò)反向傳播過程計(jì)算量較大,使得ECO(efficient convolution operators for tracking)[3]、C-COT(continuous convolution operator tracker)[4]等基于模型在線更新策略的跟蹤算法在取得高精度的同時(shí)無法獲得較快的速度,無法滿足實(shí)時(shí)性需求。
近年來,基于孿生網(wǎng)絡(luò)(siamese network)的目標(biāo)跟蹤算法由于其優(yōu)越的精度和速度表現(xiàn),在目標(biāo)跟蹤領(lǐng)域引起了人們的廣泛關(guān)注。SINT(siamese instance search tracker)算法[5]和SiamFC 算法[6]將跟蹤問題簡化為模板匹配過程,即利用第一幀中提取的模板特征與下一幀中得到的搜索實(shí)例特征,通過比較相似度大小確定目標(biāo)位置,選擇相似度最高的候選框作為目標(biāo)位置區(qū)域。其中SINT 算法和SiamFC 算法分別使用歐式距離和相關(guān)運(yùn)算的響應(yīng)值度量相似度,均取得了不錯(cuò)的跟蹤效果。SiamRPN 算法[7]將檢測任務(wù)中使用的RPN(region proposal network)網(wǎng)絡(luò)應(yīng)用到目標(biāo)跟蹤任務(wù)中,以錨框的形式取代了多尺度卷積過程,進(jìn)一步提升了跟蹤速度和精度。雖然這些跟蹤方法取得了不錯(cuò)的效果,但由于使用固定不變的模板進(jìn)行跟蹤,在目標(biāo)發(fā)生旋轉(zhuǎn)、形變和運(yùn)動(dòng)模糊等外觀變化時(shí)會(huì)出現(xiàn)模板匹配出錯(cuò)情況,從而進(jìn)一步導(dǎo)致跟蹤失敗。因此,在跟蹤過程中適時(shí)地進(jìn)行模板更新是必要的。
關(guān)于跟蹤過程中的模板更新問題,國內(nèi)外學(xué)者進(jìn)行了許多探索。CFNet算法[8]將相關(guān)濾波器作為可微層引入SiamFC 算法框架中,以嶺回歸的方式在跟蹤過程中對初始模板進(jìn)行微調(diào)。Guo等人[9]提出一種動(dòng)態(tài)Siamese網(wǎng)絡(luò),通過一個(gè)快速轉(zhuǎn)換學(xué)習(xí)模型,可以有效地從歷史幀中在線學(xué)習(xí)目標(biāo)外觀變化。Guo 等人[10]在跟蹤過程中使用生成對抗網(wǎng)絡(luò)生成需要的模板,取得了一定的效果。以上算法在一定程度上提高了跟蹤性能,但是在目標(biāo)外觀發(fā)生變化時(shí)跟蹤失敗情況仍然存在。
為解決SiamFC 算法在跟蹤過程中的模板更新問題,本文提出一種基于孿生網(wǎng)絡(luò)融合多模板的目標(biāo)跟蹤算法(siamese network fusing multiple templates,Siam-FMT)。該算法在特征級(jí)上建立模板庫,以儲(chǔ)存目標(biāo)不同形態(tài)下的外觀信息,然后通過多模板匹配獲得多張響應(yīng)圖,最后融合多個(gè)響應(yīng)圖得到更加準(zhǔn)確的目標(biāo)位置。為提升模板庫的有效性,本文使用平均峰值相關(guān)能量(average peak-to correlation energy,APCE)[11]度量目標(biāo)被遮擋程度,避免遮擋物被引入模板庫,然后根據(jù)模板相似度對冗余模板進(jìn)行剔除。在OTB2015[12]和VOT2016[13]數(shù)據(jù)集上進(jìn)行性能驗(yàn)證,實(shí)驗(yàn)結(jié)果表明本文算法在目標(biāo)外觀發(fā)生變化的多種復(fù)雜環(huán)境下均能有效跟蹤運(yùn)動(dòng)目標(biāo),并取得較其他算法更高的跟蹤精度。
對于步長為k的卷積過程g來說,參數(shù)共享的特殊形式使其具有平移等變的性質(zhì)[14],此性質(zhì)可使用式(1)進(jìn)行描述:
式中,L為平移變換函數(shù),τ為平移距離,即圖像x先平移kτ步再通過卷積過程g與直接對g(x)平移τ步等效。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的平移等變性如圖1所示,?為特征提取過程,*為卷積運(yùn)算。搜索區(qū)域中圖像A 和模板圖像E 經(jīng)過特征提取和卷積運(yùn)算得到響應(yīng)值R1;在下一時(shí)刻,區(qū)域A經(jīng)過一段位移到達(dá)區(qū)域B,區(qū)域B 和區(qū)域E 經(jīng)過特征提取和卷積運(yùn)算得到響應(yīng)值R2;若跟蹤正確,R1 和R2 應(yīng)分別是兩張響應(yīng)圖中最大值,并且在響應(yīng)圖中的距離(綠色箭頭)與區(qū)域A 到區(qū)域B 之間的距離(黃色箭頭)呈比例關(guān)系,此比例系數(shù)為網(wǎng)絡(luò)總體步長。本文將跟蹤結(jié)果映射回特征向量,通過在特征向量上的直接裁剪避免重復(fù)特征提取過程,從而加速跟蹤進(jìn)程。
圖1 卷積神經(jīng)網(wǎng)絡(luò)平移等變性Fig.1 Translation equivariance of CNN
隨著目標(biāo)外觀不斷發(fā)生變化,基于孿生網(wǎng)絡(luò)的目標(biāo)跟蹤算法僅僅使用第一幀提供的模板信息則無法滿足跟蹤需求。因此,本文通過構(gòu)建模板庫來記錄目標(biāo)在不同形態(tài)下的外觀信息,使用多模板匹配和響應(yīng)圖融合以適應(yīng)在跟蹤過程中目標(biāo)外觀發(fā)生變化,提高跟蹤準(zhǔn)確率。此外,本文從特征級(jí)別建立模板庫,避免在引入新模板時(shí)再次重復(fù)模板特征提取過程,在保證跟蹤速度的同時(shí)有效提升了跟蹤精度。
SiamFMT的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,輸入部分是典型的孿生網(wǎng)絡(luò)結(jié)構(gòu),擁有模板分支和搜索分支兩個(gè)輸入,模板分支和搜索分支的輸入分別為模板圖像Z和搜索圖像X。模板圖像Z根據(jù)視頻序列第一幀提供的目標(biāo)位置信息裁剪得到,搜索圖像X是由視頻序列的后續(xù)幀根據(jù)上一幀跟蹤結(jié)果裁剪得到,跟蹤過程中部分序列的模板圖像和搜索圖像如圖3 所示。?代表卷積神經(jīng)網(wǎng)絡(luò)特征提取過程,本文采用修改后得到的AlexNet[14]作為特征提取網(wǎng)絡(luò)主干結(jié)構(gòu)框架,網(wǎng)絡(luò)各層參數(shù)如表1所示。
圖2 SiamFMT網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 SiamFMT network structure
圖3 跟蹤過程中模板圖像與搜索圖像Fig.3 Template images and search images in tracking process
表1 特征提取網(wǎng)絡(luò)各層參數(shù)Table 1 Feature extraction network parameters of each layer
通過實(shí)驗(yàn)發(fā)現(xiàn),模板庫中的模板數(shù)量設(shè)置為3時(shí)可以取得相對較好的跟蹤速度和精度。因此,模板庫中共包含3 個(gè)模板Z1、Z2、Z3,其中Z1 為原始模板圖像Z經(jīng)過特征提取網(wǎng)絡(luò)?提取得到的特征向量,Z2 和Z3是根據(jù)跟蹤結(jié)果對特征向量X1 進(jìn)行裁剪得到。模板庫中的3個(gè)模板Z1、Z2 和Z3 分別與X1 進(jìn)行卷積運(yùn)算得到響應(yīng)圖R1、R2 和R3,本文以線性加權(quán)的形式對R1、R2 和R3 進(jìn)行融合,從而得到更加可靠的響應(yīng)圖,以提升跟蹤精度。其中R1、R2 和R3 的權(quán)重分別設(shè)置為0.8、0.1、0.1。
在跟蹤過程中,目標(biāo)模板被過于頻繁地更新不僅可能會(huì)導(dǎo)致跟蹤漂移現(xiàn)象,而且會(huì)影響跟蹤速度,因此模板更新的頻率要適度。本文設(shè)定在目標(biāo)外觀發(fā)生變化時(shí)進(jìn)行模板更新,在目標(biāo)被遮擋時(shí)停止模板更新,具體流程如圖4所示。
圖4 模板庫構(gòu)建流程Fig.4 Flow chart of building template library
為避免在目標(biāo)發(fā)生遮擋時(shí)進(jìn)行模板更新,而將干擾物引入模板庫。本文采用平均峰值相關(guān)能量APCE 對目標(biāo)被遮擋的程度進(jìn)行度量,計(jì)算公式如下:
式中,F(xiàn)max、Fmin、Fw,h分別代表響應(yīng)圖中的最大值、最小值和坐標(biāo)(w,h)處對應(yīng)值。分子部分反映響應(yīng)圖中峰值大小,代表了當(dāng)前響應(yīng)圖的可靠程度,分母表示響應(yīng)圖的平均波動(dòng)程度。如圖5 所示,在目標(biāo)未發(fā)生遮擋時(shí),響應(yīng)圖會(huì)呈現(xiàn)單峰狀態(tài),峰值較高且APCE值較大;而在目標(biāo)發(fā)生遮擋時(shí),如圖6 所示,響應(yīng)圖會(huì)呈現(xiàn)多峰狀態(tài),峰值較低且APCE 值較小。本文利用這一特性,通過APCE值的大小來判斷目標(biāo)發(fā)生遮擋的程度,從而保證模板更新的有效性。
圖5 無遮擋情況(APCE=12.03)Fig.5 No occlusion(APCE=12.03)
圖6 有遮擋情況(APCE=3.26)Fig.6 Occlusion(APCE=3.26)
在模板更新過程中,要避免引入外觀較為相似的冗余模板,冗余模板的引入會(huì)造成有效模板的損失。本文將模板間卷積運(yùn)算的響應(yīng)值之比定義為模板相似度S,公式如下:
式中,Tnew為新模板,Ti為原始模板,i為模板數(shù)量,?為卷積運(yùn)算。通過計(jì)算新模板與各個(gè)舊模板之間的相似度,設(shè)置適當(dāng)?shù)拈撝捣秶鷮θ哂嗄0暹M(jìn)行過濾,避免被引入模板庫。本文選取的模板相似度閾值范圍是0.6~0.8,即兩模板之間的相似度不高于80%且不低于60%。
模板更新過程中始終保留原始模板Z1,當(dāng)模板Z2和Z3 對應(yīng)的響應(yīng)圖中峰值小于融合后響應(yīng)圖峰值的80%時(shí),本文認(rèn)為該模板已經(jīng)不再適用于后續(xù)幀,并將其標(biāo)注為需要更新的模板,在新模板到來時(shí)完成替換。如圖7 所示,S1、S2 和S3 分別為當(dāng)前經(jīng)裁剪所得模板與模板庫中Z1、Z2、Z3 模板間的相似度。視頻序列第79 幀對應(yīng)的APCE 值超過了設(shè)定閾值9,模板相似度S1、S2 和S3 均在閾值區(qū)間0.6~0.8 內(nèi),并且模板Z2 此前被標(biāo)記為待更新模板,此時(shí)將對模板Z2 進(jìn)行更新,將其替換為新模板;視頻序列第80幀的APCE值雖然超過了閾值9,但與模板庫中第3個(gè)模板間的相似度為0.92,不在閾值區(qū)間內(nèi),故不再進(jìn)行更新。
圖7 模板更新過程Fig.7 Template update process
本文通過離線學(xué)習(xí)的方法訓(xùn)練特征提取網(wǎng)絡(luò),模板圖像X和搜索區(qū)域圖像Z通過權(quán)重共享的卷積神經(jīng)網(wǎng)絡(luò)提取特征,提取到的特征向量經(jīng)過相似性度量函數(shù)f(Z,X)得到圖像X和圖像Z之間的相似程度,即:
其中,?代表卷積運(yùn)算,?(?)代表卷積神經(jīng)網(wǎng)絡(luò)的特征提取過程,響應(yīng)值越高就證明圖像間的相似程度越高。圖像X的尺寸一般要大于圖像Z的尺寸,在進(jìn)行相似性度量之后會(huì)得到包含多個(gè)響應(yīng)值的響應(yīng)圖:
訓(xùn)練過程中,相似度學(xué)習(xí)的目標(biāo)為在目標(biāo)所在位置獲得最大響應(yīng)值,可公式化如下:
式中,Y為樣本標(biāo)簽,θ為網(wǎng)絡(luò)參數(shù),N代表樣本數(shù)量,損失函數(shù)L定義為:
其中,R(u)為響應(yīng)圖中位置u對應(yīng)的響應(yīng)值,u∈D,D為響應(yīng)圖中位置索引集合;Y(u) 為真實(shí)樣本標(biāo)簽且Y[u]∈{+1,-1},{+1,-1}分別代表正負(fù)樣本,其由位置u與響應(yīng)圖中心位置c之間的歐式距離決定,即:
式中,R取16作為設(shè)定好的閾值,k為網(wǎng)絡(luò)步長。
在跟蹤階段,以上一幀跟蹤結(jié)果作為當(dāng)前幀圖像的搜索中心,得到的當(dāng)前幀中最大響應(yīng)值相對于響應(yīng)圖中心的位移,乘以網(wǎng)絡(luò)總步長,就得到了目標(biāo)在幀與幀之間的位移,從而獲得當(dāng)前幀中目標(biāo)的中心位置。
本文算法在Intel?Xeon?Sliver 4110 2.1 GHz CPU和NVIDIA GeForce RTX2080 GPU的計(jì)算機(jī)硬件平臺(tái)上,Pytorch環(huán)境下編程實(shí)現(xiàn)。使用常用數(shù)據(jù)集OTB2015和VOT2016 對算法性能進(jìn)行驗(yàn)證,參與對比算法為開源代碼或根據(jù)原文復(fù)現(xiàn)得到,并在同一硬件平臺(tái)上進(jìn)行性能對比,軟件操作界面如圖8所示。
圖8 軟件操作界面Fig.8 Software operation interface
SiamFMT 在離線訓(xùn)練階段采用ILSVRC2015 數(shù)據(jù)集[15]進(jìn)行訓(xùn)練。該數(shù)據(jù)集擁有4 500 個(gè)訓(xùn)練視頻序列,可以很好地滿足訓(xùn)練需求。訓(xùn)練過程中使用隨機(jī)梯度下降算法(stochastic gradient descent,SGD)進(jìn)行網(wǎng)絡(luò)參數(shù)優(yōu)化,學(xué)習(xí)率設(shè)置為0.01,訓(xùn)練30輪,取后10輪中的最優(yōu)結(jié)果。訓(xùn)練損失曲線如圖9所示,可以看出訓(xùn)練過程中訓(xùn)練損失和驗(yàn)證損失逐漸下降,說明模型逐漸收斂,最終在25輪之后損失曲線下降不再明顯,逐漸趨于穩(wěn)定。
圖9 訓(xùn)練損失曲線Fig.9 Training loss curve
訓(xùn)練完成后,將卷積層的部分通道輸出結(jié)果可視化,如圖10 所示。從圖中可以看出淺層網(wǎng)絡(luò)如Conv1和Conv2提取到邊緣、形狀、輪廓等基礎(chǔ)特征,深層網(wǎng)絡(luò)如Conv4和Conv5提取到一些較為抽象的語義特征。
圖10 各卷積層輸出結(jié)果Fig.10 Output results of each convolutional layer
模板庫中模板數(shù)量的確定是本文算法的關(guān)鍵,模板數(shù)量過多,跟蹤速度會(huì)明顯下降,模板數(shù)量過少又會(huì)由于有效信息不足而造成跟蹤精度下降。
本文在OTB2015 數(shù)據(jù)集上取多組參數(shù)進(jìn)行實(shí)驗(yàn),如表2所示。當(dāng)模板數(shù)量超過3時(shí)跟蹤性能上升不再明顯,而跟蹤速度持續(xù)下降,并且當(dāng)模板數(shù)量為3時(shí),跟蹤精度和速度均有不錯(cuò)的表現(xiàn)。因此,本文確定模板庫中的模板數(shù)量為3。
表2 模板數(shù)量對性能指標(biāo)的影響Table 2 Impact of number of templates on performance
大小為17×17的響應(yīng)圖R1、R2、R3經(jīng)過雙線性插值尺寸轉(zhuǎn)化為255×255,將其映射到原圖,如圖11所示,可以看出R1 和R3 受到右上角相似人物和下方背景干擾較為嚴(yán)重,R2 受干擾程度較輕。若使用單模板跟蹤策略,會(huì)出現(xiàn)跟蹤漂移現(xiàn)象,導(dǎo)致跟蹤失敗。在進(jìn)行多響應(yīng)圖加權(quán)融合之后,響應(yīng)圖下方和右上角的干擾得到抑制,受干擾程度明顯降低。
圖11 多響應(yīng)圖融合Fig.11 Multiple response maps fusion
OTB 是目標(biāo)跟蹤領(lǐng)域最常用的數(shù)據(jù)集之一,其中OTB2015(OTB100)數(shù)據(jù)集擁有100 個(gè)視頻序列,包含遮擋、快速運(yùn)動(dòng)和光照變化等11 種復(fù)雜情況。本文依據(jù)精確度和成功率兩個(gè)指標(biāo)對跟蹤算法進(jìn)行評(píng)價(jià),并使用這兩個(gè)指標(biāo)繪制出精度圖和成功率圖。精確度代表跟蹤結(jié)果和數(shù)據(jù)集標(biāo)注中心位置的歐式距離小于一定閾值的成功幀數(shù)與總幀數(shù)的比值,成功率代表跟蹤框覆蓋率大于一定閾值的幀數(shù)和總幀數(shù)的比率,其中覆蓋率是指預(yù)測跟蹤框與標(biāo)注跟蹤框之間交集部分面積和并集部分面積之比。
如圖12 所示,本文算法SiamFMT 在與SRDCF[16]、Staple[17]、CFNet、SiamFC、fDSST[18]的對比實(shí)驗(yàn)中均取得了領(lǐng)先水平,跟蹤精確度達(dá)到了0.824,成功率達(dá)到了0.609。其中和SiamFC算法相比較,精確度提升了6.7%,成功率提升了3.7%,這表明SiamFMT的模板庫機(jī)制是有效的。
圖12 OTB2015數(shù)據(jù)集對比結(jié)果Fig.12 Comparison results of OTB2015 dataset
為進(jìn)一步分析本文算法在不同復(fù)雜情況下的表現(xiàn),將本文算法在OTB2015數(shù)據(jù)集中11種復(fù)雜情況下的精度圖繪制出來,依次是低分辨率(low resolution,LR)、平面內(nèi)旋轉(zhuǎn)(in-plane rotation,IPR)、非平面旋轉(zhuǎn)(out-ofplane rotation,OPR)、尺度變化(scale variation,SV)、運(yùn)動(dòng)模糊(motion blur,MB)、遮擋(occlusion,OCC)、形變(deformation,DEF)、快速移動(dòng)(fast motion,F(xiàn)M)、離開視野(out-of-view,OV)、光照變化(illumination variation,IV)、復(fù)雜背景(background clutters,BC)。
如圖13所示,在11種復(fù)雜情況下,本文算法SiamFMT與單模板策略算法SiamFC 相比均有所提升。其中,在平面旋轉(zhuǎn)IPR、尺度變化SV、運(yùn)動(dòng)模糊MB 和形變DEF屬性下,本文算法的精確度均提高了10%以上,這表明模板庫可以很好地記錄在各種形態(tài)下目標(biāo)信息,與初始模板起到互補(bǔ)作用,提升了在目標(biāo)外觀發(fā)生變化時(shí)的跟蹤精度,部分視頻序列跟蹤結(jié)果如圖14所示。
圖13 OTB2015數(shù)據(jù)集11種屬性對比Fig.13 Comparison of 11 attributes on OTB2015 dataset
圖14 6種算法跟蹤結(jié)果對比Fig.14 Comparison of tracking results among 6 algorithms
為進(jìn)一步驗(yàn)證本文算法性能,本文選擇在VOT2016數(shù)據(jù)集上對算法進(jìn)行評(píng)估,參與對比的算法有SiamFC、Staple、DeepSRDCF[4]、SRDCF、STRUCK[19]。VOT2016包含60 個(gè)具有挑戰(zhàn)性的視頻,通過準(zhǔn)確率(accuracy,A)、魯棒性(robustness,R)和平均重疊期望(expected average overlap,EAO)對算法性能進(jìn)行定量評(píng)價(jià)。準(zhǔn)確率和平均重疊期望分?jǐn)?shù)越高,魯棒性分?jǐn)?shù)越低,跟蹤算法性能越好。對比結(jié)果如表3和圖15所示,本文算法SiamFMT的各項(xiàng)性能指標(biāo)均優(yōu)于參與對比的其他算法。本文算法與單模板策略的SiamFC算法相比,EAO提升了25%。
表3 VOT2016數(shù)據(jù)集跟蹤結(jié)果Table 3 Tracking results on VOT2016 dataset
為解決目標(biāo)外觀發(fā)生變化時(shí)跟蹤不準(zhǔn)確的問題,本文提出了一種基于孿生網(wǎng)絡(luò)融合多模板的目標(biāo)跟蹤算法。該算法通過構(gòu)建模板庫對目標(biāo)不同形態(tài)下的外觀信息進(jìn)行記錄,提升了對目標(biāo)外觀變化的適應(yīng)能力。在跟蹤過程中,以平均峰值相關(guān)能量和模板相似度對模板進(jìn)行有效性評(píng)估,同時(shí)對冗余模板進(jìn)行有效剔除。最后,在OTB2015和VOT2016數(shù)據(jù)集上進(jìn)行性能驗(yàn)證,結(jié)果表明本文算法可以在目標(biāo)外觀發(fā)生變化的情況下更加有效地跟蹤指定目標(biāo),并且在保證跟蹤速度的前提下有效提升了跟蹤精度。