田應(yīng)仲,劉伊芳,李 龍
(1.上海大學(xué) 機(jī)電工程與自動化學(xué)院,上海 200444; 2.上海市智能制造及機(jī)器人重點(diǎn)實(shí)驗(yàn)室,上海 200444)
目標(biāo)跟蹤技術(shù)在各行各業(yè)發(fā)揮著越來越重要的作用,具有極大的研究意義。目標(biāo)跟蹤任務(wù)的過程是第一幀標(biāo)定跟蹤目標(biāo)的位置和大小,在接下來的每一幀預(yù)測出跟蹤目標(biāo)的位置、大小。整個跟蹤過程首先,初始化目標(biāo)框,然后,在下一幀中產(chǎn)生眾多候選框,提取候選框的特征,并對候選框打分,最后選出得分最高的候選框即為預(yù)測的目標(biāo)對象,或者對多個預(yù)測值進(jìn)行融合,得到更優(yōu)的預(yù)測目標(biāo)。
文獻(xiàn)[1]在2014年提出核相關(guān)濾波(KCF,kernel correlation filter)跟蹤算法。KCF跟蹤算法引入循環(huán)矩陣線性可對角化的性質(zhì),并且通過嶺回歸模型計算模板樣本和當(dāng)前樣本的相關(guān)性,來預(yù)測目標(biāo)所在位置。該算法將時域的卷積轉(zhuǎn)換到頻域的點(diǎn)乘,避免了求逆過程的計算量,可顯著提升跟蹤速度,獲得學(xué)者們的廣泛關(guān)注。
近些年,深度卷積網(wǎng)絡(luò)(CNN)學(xué)習(xí)技術(shù)迅速興起,尤其在視覺檢測和目標(biāo)識別獲得巨大進(jìn)展,將深度學(xué)習(xí)技術(shù)應(yīng)用于目標(biāo)跟蹤成為熱門研究方向之一。深度卷積網(wǎng)絡(luò)在特征提取方面的強(qiáng)大能力,使目標(biāo)跟蹤在許多復(fù)雜場景中的準(zhǔn)確率顯著地提升。通過研究卷積網(wǎng)絡(luò)發(fā)現(xiàn),其底層特征更注重細(xì)節(jié),而其高層特征更能體現(xiàn)語義信息[2]。若將各層卷積特征加權(quán)融合,則目標(biāo)檢測的效果優(yōu)于僅用單層特征。具體來說,首先,將每一層中提取的特征分別送到核相關(guān)濾波器中學(xué)習(xí),其次,再根據(jù)場景不同,調(diào)節(jié)各層權(quán)重,線性融合各層的特征,最后,由相關(guān)濾波器來預(yù)測目標(biāo)為主。綜上,將深度特征應(yīng)用在核相關(guān)濾波算法中,可將深度學(xué)習(xí)的精度與核相關(guān)濾波的速度兩個方面優(yōu)勢互補(bǔ),全方面提升跟蹤效果。
如圖1所示,卷積神經(jīng)網(wǎng)絡(luò)是三維空間模型,主要有三部分組成:輸入層、中間層、全連接層。輸入層是圖像信息的輸入,為保證效果,輸入的圖像會進(jìn)行預(yù)處理。中間層由卷積層和池化層交替組成。如果層數(shù)越多,則計算量越大,結(jié)構(gòu)也越復(fù)雜。卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心,主要用于圖像處理。池化層能夠通過處理相鄰區(qū)域的特征減少參數(shù)。全連接層在整個模型中起到“分類器”的作用,且不含有空間信息。卷積神經(jīng)網(wǎng)絡(luò)的最終結(jié)果由全連接層輸出。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
眾所周知,卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)跟蹤方法具有強(qiáng)大的優(yōu)勢。首先,深度卷積網(wǎng)絡(luò)因具有極高的目標(biāo)特征提取與表達(dá)能力,在跟蹤精度和魯棒性方面超越了傳統(tǒng)目標(biāo)跟蹤算法。其次,卷積神經(jīng)網(wǎng)絡(luò)采用端到端的學(xué)習(xí)方式,用單個模型替代多模型,這樣不僅可以減少數(shù)據(jù),降低計算復(fù)雜度,也可以降低由多個模型帶來的累積誤差。但是,卷積神經(jīng)網(wǎng)絡(luò)還存在一些問題亟待解決:1)在跟蹤過程中,需要一直在線微調(diào),這會降低跟蹤的速度,并且,多尺度檢測也會降低跟蹤的實(shí)時性;2)卷積網(wǎng)絡(luò)不同層提取到的特征對目標(biāo)的定位作用不同,每一層提取的各層特征算子并未得到充分利用。
為了解決以上兩點(diǎn)問題,在眾多卷積神經(jīng)網(wǎng)絡(luò)模型中選用ZFnet[3]算法作為基本框架。ZFnet算法基于Alexnet改進(jìn)卷積層數(shù)少,結(jié)構(gòu)簡單,且不需要在線更新網(wǎng)絡(luò)模型,保證算法實(shí)時性的同時兼顧精度,曾獲2013 ILSVRC2013的冠軍,具有非常好的性能。ZFnet網(wǎng)絡(luò)介紹如下:輸入的圖像為三通道固定大小224×224。網(wǎng)絡(luò)的第一層有96 個不同濾波器的卷積,其中每個濾波器的大小均為 7×7,橫縱向的步長均為 2。激活函數(shù)是ReLU,用于處理非線性問題。池化層大小為 3×3。池化層后是局部響應(yīng)歸一化LRN,可以增強(qiáng)模型的泛化能力。以此方法類推,完成卷積層2,3,4,5層的操作。卷積層后是兩個全連接層以 4096 維向量形式輸出結(jié)果。
為了進(jìn)一步提升ZFnet算法的跟蹤精度,提出分層特征提取機(jī)制。ZFnet算法由5個向量卷積層組成。當(dāng)輸入同一張圖片到卷積神經(jīng)網(wǎng)絡(luò)模型中時,不同卷積層的輸出結(jié)果不同。原始圖片經(jīng)過卷積層采樣之后,層數(shù)越高,得到的語義信息更豐富,更易區(qū)分出來目標(biāo)物體的類別。但是,也造成了特征圖片不清晰和分辨率下降,在目標(biāo)外形顏色等細(xì)節(jié)識別上存在劣勢。之所以出現(xiàn)圖片輪廓不清晰的問題,是因?yàn)椴蓸舆^程中過濾掉了圖片中的細(xì)節(jié)特征。綜上,第一層和第二層表示基本特征,具有較高的空間分辨率。比如邊緣、顏色等特征。第三層具有復(fù)雜環(huán)境的空間不變性,能識別相似的紋理特征。第四層能夠顯示特定類別之間的明顯差異。第五層包含更多抽象語義信息,能表示整個目標(biāo)的全面變化。于是,當(dāng)面對背景劇烈變化時,我們會適當(dāng)加大第四層和第五層的權(quán)重。當(dāng)目標(biāo)靜態(tài)遮擋嚴(yán)重時,可調(diào)高第一、二和三層權(quán)重。
為將淺層特征與深層特征更好地結(jié)合,提出一種自適化逐層推理化的模型。具體推導(dǎo)如下,每層卷積網(wǎng)絡(luò)的響應(yīng)圖為:
f=R(z)=F-1(w⊙ψ(z))
(1)
其中:F-1是傅里葉逆變換;w核相關(guān)濾波器; (z)是卷積通道的特征。
每層卷積網(wǎng)絡(luò)根據(jù)響應(yīng)位置得到的預(yù)測結(jié)果為:
(2)
其中:l是層數(shù),m、n是響應(yīng)圖的目標(biāo)位置,ul是l層對應(yīng)系數(shù)。
若從第三、四、五層卷積層提取特征,每層得到三個不同的響應(yīng)結(jié)果f1、f2和f3。則從最高層(第五層)開始推理,得到最大響應(yīng)值的位置后,在下一層(第四層)取半徑為r的區(qū)域,找到第四層和第五層響應(yīng)值線性組合最大的響應(yīng)位置,即為第四層目標(biāo)位置。以此類推,可以得到每層響應(yīng)的最大位置。逐層推理的公式如下:
(3)
在得到每層的響應(yīng)位置后,融合多層輸出特征可以更全面表征圖像。將第三層、第四層和第五層中提取的特征進(jìn)行加權(quán)融合。但是由于卷積模型中的池化作用,每層的特征圖尺寸大小不同。所以,在融合之前需要先用雙線性插值的方法將圖像進(jìn)行歸一化采樣。采樣后的每層圖像大小相同,使用公式(4)進(jìn)行加權(quán)融合,計算融合后的響應(yīng)圖位置,則是目標(biāo)的預(yù)測位置。
f=a1f1+a2f2+a3f3
(4)
其中:f1、f2和f3分別是第三、第四和第五層的響應(yīng)圖。a1、a2和a3分別是第三、第四和第五層的響應(yīng)圖對應(yīng)的權(quán)值。
(5)
其中:P(xi,yi)是預(yù)測目標(biāo)的位置,也是最終響應(yīng)圖的最大響應(yīng)值。
孿生網(wǎng)絡(luò)模型可以從圖像中提取更具判別力的卷積特征,而核相關(guān)濾波模型具有快速檢測的能力,能加速跟蹤算法。將兩種算法融合,從而實(shí)現(xiàn)優(yōu)勢互補(bǔ)。圖2是孿生網(wǎng)絡(luò)與核相關(guān)濾波算法融合的算法結(jié)構(gòu)圖。
圖2 孿生網(wǎng)絡(luò)與核相關(guān)濾波算法融合圖
融合跟蹤算法的主要流程如下:首先,分別輸入樣例圖像和當(dāng)前搜索圖像到孿生網(wǎng)絡(luò)模型;然后,孿生網(wǎng)絡(luò)模型根據(jù)相似度函數(shù)求出當(dāng)前搜索圖像中與樣例圖像相似性最高的區(qū)域,并將結(jié)果輸出到濾波器中;最后,濾波器通過對兩張圖的相關(guān)操作,生成相似度概率熱圖。概率熱圖中的最大值就是目標(biāo)所在位置。
核相關(guān)濾波算法將初始圖像通過循環(huán)移位構(gòu)建訓(xùn)練樣本矩陣X,監(jiān)督標(biāo)簽Y,核相關(guān)濾波系數(shù)是W,W是一系列的高斯分布值,則核相關(guān)濾波回歸模型可表達(dá)為:
(6)
其中:λ1為正則化系數(shù),*是核相關(guān)濾波卷積運(yùn)算。
將每層卷積網(wǎng)絡(luò)都加入核相關(guān)濾波器后,可以用深度學(xué)習(xí)框架優(yōu)化求解濾波器回歸模型,構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)能量函數(shù),并優(yōu)化該函數(shù)使之能量最小化。
(7)
其中:Lw(X(i))是學(xué)習(xí)損失項,γ(W)是正則化項,i是當(dāng)前樣本數(shù),N是訓(xùn)練樣本總數(shù)。
在訓(xùn)練過程中,為了進(jìn)一步降低預(yù)測值與真實(shí)值之間的差異,提出損失函數(shù)這一概念:
L(W)=‖F(xiàn)(x)-Y‖2+λ1‖W‖2
(8)
為了進(jìn)一步感知目標(biāo)周圍的背景信息,在卷積網(wǎng)絡(luò)中融入背景感知模型:
(9)
其中:x0代表目標(biāo),xi是目標(biāo)附近的背景圖像,它們循環(huán)移位構(gòu)造的矩陣樣本分別是f(x0)和f(xi);L+(x0)為正樣本損失函數(shù),L-(xi)為負(fù)樣本損失函數(shù),都為2范數(shù)損失項;‖w‖是正則化式;λ1和λ2分別為正則化系數(shù)和正負(fù)樣本控制參數(shù);k是負(fù)樣本個數(shù)。
將核相關(guān)濾波器融入卷積層時,修改能量函數(shù)為:
(10)
在跟蹤過程中經(jīng)常會遇到目標(biāo)被障礙物部分遮擋或者全部遮擋,其中很多障礙物跟目標(biāo)具有相似外形,這給跟蹤的過程帶來了極大的挑戰(zhàn)。
目標(biāo)識別過程選用置信度響應(yīng)圖函數(shù),置信度越高代表越接近目標(biāo)。函數(shù)如下:
(11)
(12)
(13)
最后通過式(12)濾波操作可求解響應(yīng)值,響應(yīng)值最大處即為預(yù)測的跟蹤目標(biāo)位置。
(14)
實(shí)驗(yàn)評估視頻訓(xùn)練數(shù)據(jù)集選用CVPR2013發(fā)表出的OTB-50(object tracking benchmark)[4]。實(shí)驗(yàn)硬件配置是2.6 GHz Intel CoreI5 CPU,8 GB 內(nèi)存。軟件是Window10系統(tǒng)上Matlab2018a以及谷歌云GPU服務(wù)器。在ImageNet上預(yù)訓(xùn)練網(wǎng)絡(luò)模型。
實(shí)驗(yàn)參數(shù)如下:正則化參數(shù)λ1=10-4,λ2=25。卷積層第五層到第三層的參數(shù)依次為1,0.5,0.25。實(shí)驗(yàn)部分從定性和定量兩個方面評估改進(jìn)后的算法(Ours)。
圖3介紹的是Ours在girl視頻訓(xùn)練集上的跟蹤效果對比圖。整個視頻出現(xiàn)了很嚴(yán)重的遮擋現(xiàn)象,并且目標(biāo)在視野內(nèi)旋轉(zhuǎn)形變。這些挑戰(zhàn)給跟蹤過程帶來了困難。從圖3可以看出Ours算法能夠準(zhǔn)確識別目標(biāo)。這是由于算法采用深度特征處理圖像信息。此外,深度特征還可以應(yīng)對尺度變化的挑戰(zhàn),在目標(biāo)發(fā)生尺度變化時,可以自適應(yīng)調(diào)節(jié)跟蹤框,保證良好的目標(biāo)識別效果。因此,將卷積神經(jīng)網(wǎng)絡(luò)模型和核相關(guān)濾波算法相結(jié)合,可以直觀地看到跟蹤性能的明顯提升。
圖3 girl視頻訓(xùn)練集定性評估
Ours算法與將之前發(fā)表流行目標(biāo)跟蹤算法進(jìn)行一次通過評估(OPE,one-pass evaluation)。OPE是指從視頻序列的第一幀開始,按照視頻順序,運(yùn)行到最后一幀。評價指標(biāo)包括精確率和成功率。精確率采用中心位置誤差進(jìn)行評估,具體是指預(yù)測目標(biāo)中心位置與實(shí)際目標(biāo)中心位置之間平均歐式距離。成功率是指跟蹤器預(yù)測的目標(biāo)框與真實(shí)框的重疊面積與兩個目標(biāo)框總面積之比。對比的算法主要分為兩大類。一類是傳統(tǒng)的目標(biāo)跟蹤算法,包括:staple[5]、KCF[1]、fDSST[6]和CSK[7];另一類是基于深度學(xué)習(xí)的跟蹤算法,包括:DCFnet[8]、Raf[9]和CNT[10]。
通過本章算法與其他優(yōu)秀的7種算法比較,可以看出本章算法性能表現(xiàn)優(yōu)異。由圖4可以看出,Ours在精確率和成功率都排名第一,在OPE評估方式中平均準(zhǔn)確性達(dá)到了90.0%,相比于核相關(guān)濾波算法(KCF)70.2%的精確度,提升28.6%;平均成功率達(dá)到了80.2%,相比于KCF 60.6%的精確度,提高了32.3%。實(shí)驗(yàn)證明Ours魯棒性更好,相較于KCF有較大提升。
由圖5可以看出,KCF、CSK和staple傳統(tǒng)跟蹤算法在遇到背景復(fù)雜、目標(biāo)發(fā)生形變或被嚴(yán)重遮擋的情況下跟蹤精確率較低。這是由于他們使用的手工特征,提取特征較少,沒有充分利用圖像信息。相反,基于深度特征的視覺跟蹤算法,如Ours、DCFnet具有結(jié)構(gòu)性的特點(diǎn),夠?qū)⒛繕?biāo)和背景進(jìn)行更加精準(zhǔn)的區(qū)分,準(zhǔn)確識別目標(biāo)物體,算法的魯棒性較強(qiáng)。圖5(a)的實(shí)驗(yàn)結(jié)果表示,在目標(biāo)發(fā)生外觀變形的挑戰(zhàn)下,Ours算法精確度87.5%,在各類對比算法中排名最高。相較于KCF算法67.1%的精確度,提升30.4%。這是由于Ours算法用卷積神經(jīng)網(wǎng)絡(luò)模型擁有尺度自適應(yīng)的目標(biāo)檢測處理機(jī)制。目標(biāo)識別框隨著跟蹤目標(biāo)的尺度變化而變化,這樣能避免目標(biāo)圖像信息采集不全或者目標(biāo)框內(nèi)冗余信息過多。但是,KCF算法的跟蹤框由第一幀人為標(biāo)定,后期跟蹤過程中不會隨著目標(biāo)尺度發(fā)生變化。圖5(b)背景模糊評價指標(biāo)中,Ours跟蹤精度排名第一,精確率86.3%,在各類對比算法中排名最高。相較于KCF算法68.8%的精確度,提升25.4%。在跟蹤過程中,當(dāng)遇到目標(biāo)物體與障礙物形狀、顏色相似,背景信息雜亂的情況時,需要充分考慮目標(biāo)的上下文信息。Ours算法在融入深度特征的同時,加入背景感知模型,充分利用目標(biāo)周圍具有參考意義的障礙物協(xié)助判別目標(biāo),從而提升目標(biāo)識別率。然而,KCF算法沒有利用目標(biāo)周圍的背景信息,在應(yīng)對目標(biāo)非剛性形變時,很難對目標(biāo)進(jìn)行精確定位。從圖5(c)可以看出,各類算法在應(yīng)對遮擋類挑戰(zhàn)時,Ours跟蹤精度排名第一,精確率86.5%。相較于KCF算法74.9%的精確度,提升15.4%。遮擋問題是在跟蹤過程經(jīng)常遇到的挑戰(zhàn),Ours算法引入遮擋判別機(jī)制,可以有效提升跟蹤的準(zhǔn)確率。在目標(biāo)遇到障礙物遮擋時,Ours算法仍能夠精準(zhǔn)識別跟蹤目標(biāo)。然而,KCF缺乏跟丟重新識別機(jī)制。當(dāng)跟蹤失敗后,KCF并不能繼續(xù)對目標(biāo)進(jìn)行重新識別。這些劣勢導(dǎo)致KCF算法不能應(yīng)對遮擋嚴(yán)重的場景?;谏疃忍卣鞯腛urs3和DCFnet在以上三類具有代表性的挑戰(zhàn)中分別排在前兩位,也證明出深度特征比手工特征更具有優(yōu)勢。
圖4 OPE(一次性通過性)定量評估圖
圖5 OPE(一次性通過性)評估指標(biāo)下不同場景的的精度率跟蹤性能對比曲線
首先介紹了ZFnet結(jié)構(gòu)原理,然后將每層網(wǎng)絡(luò)分別進(jìn)行研究,發(fā)現(xiàn)高層特征有更強(qiáng)的語義信息,低層卷積特征具有更多的空間信息。為了實(shí)現(xiàn)兩類特征優(yōu)勢互補(bǔ),將各層特征進(jìn)行結(jié)合。同時為了利用核相關(guān)濾波算法的高效計算能力,將這兩種算法結(jié)合,既可以提高跟蹤的精度,也能保證算法的實(shí)時性。此外,在應(yīng)對跟蹤過程中的遮擋問題,設(shè)計了基于遮擋判別的更新策略,提升跟蹤精度。最后,在公開視頻序列的OTB-50數(shù)據(jù)集上對各種跟蹤算法進(jìn)行評估,分析跟蹤算法的精確率和成功率。改進(jìn)后的算法在GPU環(huán)境下的運(yùn)行速度可以達(dá)到38 FPS,可以滿足實(shí)時性需求。