任立成,楊嘉棋,魏宇星,張建林
(1.中國科學院光電技術研究所,成都610209;2.中國科學院大學計算機科學與技術學院,北京100049)
目標跟蹤是計算機視覺領域中的重要研究方向,廣泛應用在視頻監控、人機交互、智能交通監控等任務中[1]。近年來,雖然研究人員已提出了大量的跟蹤算法,但由于遮擋、光照變化、尺度變化、運動模糊等因素的影響,目標跟蹤仍然是一項重要且極具挑戰性的任務,因此設計一個高精度、強魯棒的目標跟蹤框架具有重要的理論價值和現實意義[2]。在傳統目標跟蹤框架中,核相關濾波器(Kernel Correlation Filter,KCF)[3]使用循環矩陣和傅里葉變換有效減少計算量和提高計算速度,并采用高斯核函數將非線性問題映射到高維空間,使得算法更具一般性[4]。隨著深度學習技術的快速發展,基于卷積神經網絡(Convolutional Neural Network,CNN)的目標跟蹤方法取得很大進步。ECO[5]、C-COT[6]等結合深度學習和KCF 的跟蹤器將CNN 強大的特征提取能力集成到傳統跟蹤框架中,獲得了較好的跟蹤效果。基于CNN 的跟蹤框架主要分為兩類:一類是先離線訓練網絡,而后在線運行時進行網絡微調;另一類是設計簡化版的卷積神經網絡,直接在線運行而無需離線訓練[7]。DLT[8]算法利用離線訓練和在線調整相結合的方式,解決在線訓練時缺少正樣本的問題。全卷積孿生網絡SiamFC[9]將孿生網絡結構作為核心框架,僅使用5 個全卷積層端到端地訓練Siamese 網絡的相似功能。孿生區域候選網絡(Siamese Region Proposal Network,SiamRPN)[10]使用區域候選網絡提升了尺度變化場景下跟蹤器的性能表現。SiamRPN++[11]采用一種簡單有效的空間感知采樣策略保持了網絡的平移不變性,將殘差網絡應用于孿生網絡。SiamDW[12]是由CIR 殘差單元組成的深度網絡,替換了SiamFC 和SiamRPN 的主干網絡,使其性能較原有的跟蹤器得到明顯提升。
盡管全卷積孿生網絡SiamFC 的跟蹤性能得到了較大提升,但仍存在以下問題:改進AlexNet[13]作為骨干網絡,特征提取能力不強,且僅使用骨干特征而未考慮淺層特征,特征類型單一;語義信息豐富但缺乏位置信息,導致跟蹤器在快速移動時定位能力較差;不具備模板更新功能,跟蹤器在遮擋、變形等復雜場景下,由于模板固定導致跟蹤不準確和場景適應性較差,最終跟蹤失敗。針對上述問題,本文設計基于多特征融合與雙模板嵌套更新的實時目標跟蹤算法。在SiamFC 的基礎上,將AlexNet 骨干網絡替換為具有22 個卷積的改進型ResNet-22 深度網絡,使跟蹤算法的識別能力更強。在網絡淺層中,使用包含位置信息的高分辨率特征計算用于定位的位置分支響應,采用包含語義信息的骨干特征計算用于分類的語義分支響應。按照訓練權重融合兩個分支的響應,為跟蹤算法補充更精確的位置信息。通過雙模板嵌套更新機制對兩個分支的模板進行更新,以適應目標的外觀和位置變化。
本文針對SiamFC 孿生網絡難以充分挖掘和利用深度語義特征的問題,設計基于多響應的孿生網絡跟蹤算法。為有效利用核相關濾波器在目標跟蹤中的高效性與實時性,在SiamFC 跟蹤架構中引入特征提取能力更強的ResNet-22,構建SiamFC-22 網絡實現深度特征應用與高效相關跟蹤的有效結合。通過多層特征的響應融合與目標表示的動態更新,有效提升算法跟蹤性能。
基于SiamFC 的目標跟蹤框架如圖1所示。該框架由模板分支和搜索分支兩個分支組成。模板分支的輸入為模板圖像z,搜索分支的輸入為搜索圖像x,z和x經過共享權重的卷積神經網絡φ提取特征。在跟蹤過程中,通過離線訓練得到的相似度函數Δ將模板圖像z特征和搜索圖像x特征中相同大小的候選區域進行比較得到響應圖f(z,x)[14]。

圖1 基于SiamFC 的目標跟蹤框架Fig.1 Target tracking framework based on SiamFC
整個跟蹤過程可定義為:

其中:φ(·)類似于AlexNet 結構的骨干網絡,由5 個卷積組成全卷積網絡;Δ表示由卷積實現的交叉相關運算;b∈R 為偏置項;f(z,x)是一個17×17 的置信響應圖。
為使目標位置更加精確,使用雙三次線性插值將響應圖尺寸調整為接近搜索圖像x的尺寸,響應圖尺寸的最大值位置即為目標位置。
在訓練時,將損失函數定義為:

其中:D表示響應圖的位置總數;u∈D表示響應圖的每一個位置;y[u]表示響應圖u處對應的真實標簽值,y[u]∈{+1,-1};v[u]表示響應圖u處的預測值;l(·)表示logistic 損失函數。l(·)的計算公式為:

通過隨機梯度下降(Stochastic Gradient Descent,SGD)方法,最小化損失函數,最終達到訓練目標。
SiamFC 使用修改后的AlexNet 全卷積網絡作為骨干網絡,無法發揮神經網絡深度增加帶來的優勢。因此,可直接將AlexNet 替換為ResNet[15]等深度網絡,同時引入padding 使網絡的注意力集中到目標的中心位置,形成位置偏好[12]。這是利用ResNet 加深網絡后,跟蹤性能不升反降的重要原因,而通過特征圖裁剪可以解決該問題。
綜合以上討論可知,為提升SiamFC 的特征提取能力,本文使用ResNet-22 深度網絡替換AlexNet。網絡參數設置如表1所示,其中,w代表卷積核寬度,h代表卷積核高度,Cin代表輸入通道數,Cout代表輸出通道數。

表1 ResNet-22 參數設置Table 1 Setting of parameters of ResNet-22
ResNet-22 中有22 個卷積,分別為1 個7×7 的卷積Conv1、3 個殘差塊組成的Conv2 和4 個殘差塊組成的Conv3,每個殘差塊(如圖2所示)包含1×1、3×3、1×1 共3 個卷積。針對padding 帶來的干擾,將Conv1 層的特征圖最外圍兩層裁剪(Crop1),將Conv2、Conv3 殘差塊的特征圖最外圍一層裁剪(Crop2),消除padding 給特征圖(feature map)邊緣帶來的影響。整個過程可定義為G(x)=F(x)+x,其中,x代表殘差塊的輸入數據,F(x)代表經過3 個卷積層處理后的數據,x代表恒等映射獲得的數據。

圖2 殘差塊結構Fig.2 Residual block structure
通過綜合分析SiamFC 和ResNet 的特點,本文提出將深度語義特征與核相關跟蹤相結合的SiamFC-22 網絡,將ResNet-22 作為SiamFC 的骨干網絡φ。對SiamFC-22 網絡進行離線訓練,其ResNet-22 網絡初始權重使用ImageNet[16]圖像分類數據集進行預訓練。本文采用如下交叉熵損失函數:

其中:yu表示響應圖u處對應的真實標簽值,yu∈{+1,-1};vu表示響應圖u處的預測值;l(·)表示logistic 損失函數。l(·)的計算公式為:

本文采用ILSVRC2015-VID[16]數據集進行訓練,該數據集約有4 500 個視頻序列,包含遮擋、快速移動等復雜場景。在訓練的每個周期內,隨機選取60 萬個樣本對進行訓練,共迭代60 個周期,動量設置為0.9,學習率由0.01 指數衰減至0.000 01,權重衰減系數設置為0.000 1,批次大小(batch size)設置為32。訓練具體分為以下步驟:
1)在前50 個周期內僅計算語義響應R2,使用式(4)計算損失值,訓練跟蹤器的識別能力。
2)在最后10 個周期內,初始化響應融合參數λ1和λ2。同時,計算位置響應R1和語義響應R2,并使用式(6)融合兩個響應的損失值。一方面訓練跟蹤器的定位能力,另一方面優化兩個分支的融合權重。

兩個階段的訓練均使用損失函數,并利用隨機梯度下降法進行優化。
SiamFC-22 網絡結構如圖3所示,其中,z表示尺寸為127 像素×127 像素的模板圖像,x表示尺寸為255 像素×255 像素的搜索圖像,R1和R2分別表示淺層位置分支和骨干語義分支的互相關響應Δ,ωi表示兩個分支響應融合的權重。在訓練階段,分階段計算響應R1和R2的損失值;在測試階段,自適應更新響應R1和R2的模板。

圖3 SiamFC-22 結構Fig.3 SiamFC-22 structure
為充分利用網絡的深度特征,將深度語義特征響應與淺層位置特征響應進行自適應融合獲得更魯棒與準確的目標表示與跟蹤算法,并基于網絡響應自適應地動態決策更新目標深層模板與淺層模板,使網絡能夠適應目標的長時間累計變化。
在進行目標跟蹤時,將模板圖像z和搜索圖像x輸入骨干網絡ResNet-22,一般孿生網絡僅提取圖像最后一層(Conv3 層)的特征圖,但Conv2 層特征定位更精確,將其與Conv3 層的特征進行集成,可以提升跟蹤算法的性能。本文算法在圖3 的Conv2 層和Conv3 層中同時提取z和x的特征圖,并且計算兩個分支響應R1和R2,最終融合兩個響應完成兩層特征的集成。多層次特征響應的自適應融合過程具體如下:
1)對于任意一個視頻序列,將第1 幀圖像裁剪為像素127×127 像素,然后將其作為模板圖像z輸入骨干網絡ResNet-22。在Conv2 層提取首幀位置模板,在Conv3 層提取首幀語義模板。
2)在視頻序列的后續每一幀i∈{1,2,…,N}中,將第i幀裁剪為255 像素×255 像素,然后將其作為搜索圖像x輸入骨干網絡ResNet-22。在Conv2 層提取位置特征FConv2,在Conv3 層提取語義特征FConv3。
3)第i幀的位置混合模板為,語義混合模板為。根據前一幀目標位置在第i幀提取位置模板和語義模板。使用自適應模板更新函數來確定和。

在融合后的響應圖中,響應值最高的位置即為目標最可能出現的位置。
多數孿生網絡僅使用首幀模板,但不執行模板更新,使得跟蹤器無法適應各種變化。本文算法在2.1 節的第3 步執行模板更新,考慮到位置模板反映目標位置特征,相鄰幀位移通常不大,無需頻繁更新;語義模板反映目標語義特征,目標在外觀變化時常改變語義特征,需要及時更新。因此,本文算法針對以上問題設計如圖4所示的SiamFC-22 雙模板嵌套更新策略。

圖4 SiamFC-22 雙模板嵌套更新Fig.4 SiamFC-22 dual-template nested update
SiamFC-22 雙模板嵌套更新策略具體步驟如下:
1)更新頻率設置為3。每3 幀執行一次判斷,通過第2 步和第3 步判斷是否需要更新兩個模板。
2)判斷語義模板是否需要更新。使用平均峰值相關能量(Average Peak-to-Correlation Energy,APCE)[17]和最大響應值Fmax變化進行判斷。當這兩個值突然減小時,通常是目標遮擋或丟失的情況,此時更新模板會造成污染,不進行更新。具體操作如下:當由式(7)得到融合響應圖r時,首先使用式(8)計算最大響應值Fmax:

然后使用式(9)計算APCE 值:

其中:Fmax、Fmin及Fw,h分別代表響應圖r中最大響應值、最小響應值及第w行和第h列元素的響應值。最后使用式(10)進行判斷:

其中:mean(Fmax)和mean(AAPCE)代表前面幀的歷史Fmax和AAPCE值的均值;ξmax和ξAPCE代表兩個閾值。當滿足式(10)時,使用式(11)更新第i幀的語義混合模板。這樣可以在很大程度上避免模型漂移現象,減少模型更新次數,提高運行速度。

經過實驗可得:β=0.010 3,μ=0.005,ξmax和ξAPCE分別設置為0.8 和0.2。
3)在語義模板執行更新的前提下,使用式(13)的方差梯度比值(Variance Gradient Ratio,VGR)方法對位置模板進行判斷,決定是否更新。VGR 值可以及時反映目標位移情況,當目標出現在搜索圖像周邊區域時,響應圖r的峰值響應也會出現在周邊區域。由于響應圖存在余弦窗口,因此它對周邊響應值進行抑制,此時響應圖峰值減小,響應圖方差出現明顯變化。
首先使用式(12)計算響應圖r的方差值:

然后使用式(13)進行判斷:

其中:Vlast代表前一幀的方差;mean(V)代表歷史方差的均值。當滿足式(13)時,使用式(14)更新第i幀的位置混合模板。這樣可以有效地反映目標的位置變化,并及時做出更新。

經過實驗可得,α設置為0.011 3,ζ設置為0.4。在雙模板嵌套更新過程中,兩個不同大小的響應圖經過雙三次線性插值調整為接近搜索圖像x的大小后再進行融合。
SiamFC-22 網絡進行離線訓練時,無需進行在線微調。在訓練SiamFC-22 的過程中,網絡參數的初始值遵循高斯分布。使用權重衰減為0.000 1 的隨機梯度下降方法進行網絡優化。學習率設置為0.01,共訓練50 個epoch。在每個epoch 之后,學習率以對數形式下降,直到最后一個時期達到0.000 01。動量設置為0.9,batch size 設置為32。在雙模板嵌套更新過程中,由式(6)在訓練階段得到雙模板融合權重ω1和ω2并用于跟蹤,ω1和ω2約分別為0.3 和0.7時,跟蹤算法可以獲得最佳性能。
實驗軟件環境為安裝Pycharm 的Ubuntu 16.04,利用Pytorch 編程框架驗證算法性能。所有實驗均運行在配置為Intel Core i5-8400 2.80 GHz CPU 和GeForce GTX 1080 GPU 顯卡的計算機上,算法執行的平均運行速度為34 frame/s。本文選用OTB2015[18]和VOT2016[19]數據集,在選定的數據集上進行定性和定量分析實驗。實驗對比算法為DeepSRDCF[6]、SiamFC[9]、SiamRPN[10]、SiamDW[12]、SRDCF[20]、fDSST[21]、GradNet[22]、Staple[23]等具有代表性的跟蹤算法,并將SiamFC 和SiamDW 作為基準算法。
3.1.1 OTB 定量實驗
OTB 數據集中的OTB2015 包括100 個視頻序列,包含光照變化、快速運動、模糊、遮擋等11 個復雜場景。為定量地評估本文算法性能,采用OTB2015 視頻序列進行比較。評價指標主要為精確度和成功率兩個指標,并通過精確度曲線圖和成功率曲線圖來顯示評價結果。精確度代表視頻中跟蹤成功幀數占總幀數的比率,使用跟蹤預測框和真實標注框的中心位置的歐式距離判斷跟蹤是否成功,若中心位置誤差低于閾值,則表示跟蹤成功;成功率代表覆蓋率大于某個閾值的幀數和視頻幀總數的比率,覆蓋率是指跟蹤預測框和真實標注框的交并比(Intersection over Union,IOU)。
圖5 給出了SiamFC-22 與對比算法在OTB2015數據集上的定量對比結果,其中圖示框方括號中的數據表示平均值。可以看出,本文算法的平均精確度和成功率分別為88.6%和66.0%,明顯優于對比算法。與基準算法SiamFC 和SiamDW 相比,SiamFC-22的平均精確度分別提升了14.4%和4.9%,平均成功率分別提升了13.4%和2.6%。這表明SiamFC-22 的雙模板嵌套更新機制是有效的。同時,本文算法在OTB2015 數據集上獲得了34 frame/s 的運行速度,能夠實時穩定地跟蹤目標。

圖5 8 種算法在OTB2015 數據集上的精確度和成功率對比Fig.5 Comparison of the accuracy and success rate of eight algorithms on OTB2015 dataset
為詳細分析SiamFC-22 的性能表現,在光照變化(Illumination Variation,IV)、尺度變化(Scale Variation,SV)、遮擋(Occlusion,OCC)、運動模糊(Motion Blur,MB)、快速移動(Fast Motion,FM)、平面內旋轉(In-Plane Rotation,IPR)、平面外旋轉(Outof-Plane Rotation,OPR)、相似背景(Background Clutters,BC)、低分辨率(Low Resolution,LR)、變形(Deformation,DEF)和離開視野(Out-of-View,OV)場景下,將本文算法與對比算法進行精確度比較,如圖6所示。可以看出,本文算法在IV、SV、MB、FM、IPR、OPR、BC、DEF 和OV 場景下的精確度均優于對比算法,而在OCC 和LR 場景下排第2,并且本文算法的精確度在所有場景下均優于基準算法。

圖6 8 種算法在OTB2015 數據集上的精確度對比Fig.6 Comparison of the precision of eight algorithms on OTB2015 dataset
圖6 結果表明本文算法與對比算法相比,能更好地應對目標的語義變化和位置變化,具體分析如下:1)在快速移動場景下,本文算法相比基準算法平均精確度分別提高了11.7%和4.1%,這表明本文引入位置模板并根據語義模板嵌套更新,能夠為跟蹤器補充目標位置信息,提升快速移動等場景下的跟蹤效果;2)遮擋、變形、運動模糊、內外旋轉等場景會引起目標語義的變化,此時本文算法的精確度仍然比基準算法更高,這表明本文算法對語義模板的更新方法是有效的,能夠使跟蹤器獲得及時準確的語義信息,并且更具魯棒性。
3.1.2 OTB 定性實驗
為分析本文算法的性能,在OTB2015 數據集中選擇5 組視頻序列,將本文算法與基準算法SiamFC和SiamDW 進行比較。在圖7 中,跟蹤結果與紅色框重疊度越高,說明跟蹤效果越好(彩色效果見《計算機工程》官網HTML 版)。視頻序列的跟蹤精確度對比結果如表2所示。

圖7 5 組視頻序列的跟蹤效果對比Fig.7 Comparison of the tracking effect of five groups of video sequences

表2 5 組視頻序列的跟蹤精確度對比Table 2 Comparison of the tracking precision of five groups of video sequences
下面結合圖7 和表2 做進一步分析,具體如下:
1)尺度變化場景。在ClifBar 視頻序列中,紅色框的跟蹤框大小會發生變化。從第194幀和第216幀,隨著跟蹤框變大,SiamFC 和SiamDW 能定位目標,但跟蹤精確度出現偏差。在第261 幀時,隨著跟蹤框由大變小,SiamFC 徹底跟丟目標。SiamFC-22 始終能穩定跟蹤。根據表2 可知,SiamFC-22 的精確度較SiamFC 和SiamDW 分別提升了0.519 和0.137 個百分點。由此可見,SiamFC-22 更能適應尺度變化,相比SiamFC 和SiamDW 能及時調整跟蹤框大小。
2)遮擋場景。在Liquor 視頻序列中,紅色框中的酒瓶不停地與其他瓶子相互遮擋。從第1 181 幀到第1 184 幀,因為多次遮擋目標,SiamFC 和SiamFC-22 都發生跟蹤漂移,而SiamDW 徹底跟丟目標。在第1 185 幀時,SiamFC-22 因為及時更新模板,重新定位目標。根據表2 可知,SiamFC-22 的精確度較SiamFC 和SiamDW 分別提升了0.145 和0.049 個百分點。由此可見,SiamFC-22 具有雙模板嵌套更新機制,相比SiamFC 和SiamDW 可以及時處理由遮擋引起的跟蹤漂移等問題。
3)變形場景。在Jump 視頻序列中,紅色框中的人發生變形。從第16 幀到第73 幀,因為目標不斷變形,SiamFC 和SiamDW 相繼跟丟,SiamFC-22 還能跟蹤目標,但是跟蹤精確度無法保證。在第106 幀時,SiamFC-22 及時調整跟蹤框。根據表2 可知,SiamFC-22 的精確度較SiamFC 和SiamDW 分別提升了0.617 和0.345 個百分點。由此可見,SiamFC-22的語義模板具有高置信度的更新機制,可以及時更新目標的語義信息,這使得其可以有效反映目標外觀發生的變化。
4)快速移動場景。在MotorRolling 視頻序列中,紅色框中的摩托車位置快速改變。從第29 幀到第37 幀,因為目標快速運動,所以SiamFC 逐漸跟丟目標。在第49 幀時,SiamDW 目標跟蹤出現誤差。根據表2 可知,SiamFC-22 的精確度較SiamFC 和SiamDW 分別提升了0.309 和0.042 個百分點。由此可見,SiamFC-22 的位置分支響應使用淺層特征,包含大量位置信息,并通過位置模板更新補充信息,這使得SiamFC-22 適用于快速移動的場景。
5)相似背景場景。在Football 視頻序列中,紅色框中的人頭移動時不斷出現相似的人頭。在第100 幀時能穩定跟蹤目標,在第111 幀和第137 幀時因為相似目標干擾,所以SiamFC 和SiamDW 跟丟目標。由表2 可以看出,SiamFC-22 的精確度較SiamFC和SiamDW 分別提升了0.591 和0.542 個百分點。SiamFC-22 相比SiamFC 和SiamDW 能更準確地區分相似背景,抑制相似背景的高響應值。
在目標跟蹤VOT 數據集中,本文選用VOT2016[19]數據集進行算法性能評估實驗,采用平均重疊期望(Expected Average Overlap,EAO)、準確率和魯棒性分數(R)作為主要評測指標,其中魯棒性分數表示跟蹤失敗的幀數除以跟蹤重復的次數,魯棒性分數越低,跟蹤越穩定。準確率和平均重疊期望分數越高,魯棒性分數越低,跟蹤性能越好。實驗對比算法為DeepSRDCF6]、SiamFC[9]、SiamRPN[10]、SiamDW[12]、SRDCF[20]、和Staple[23]。
由表3 可知,SiamFC-22 的平均重疊期望、準確率以及魯棒性分數僅低于SiamRPN。在圖8 中,SiamFC-22 將基準算法SiamFC 和SiamDW 的EAO分別提升了30.0%和6.8%。同時,運行速度為32 frame/s,滿足實時性要求。因此,SiamFC-22 在VOT2016 數據集上的性能表現優于基準算法SiamFC 和SiamDW,僅次于SiamRPN。

表3 VOT2016 跟蹤結果Table 3 VOT2016 tracking results

圖8 VOT 2016 數據集EAO 結果Fig.8 EAO results of VOT 2016 dataset
為提高SiamFC 在快速移動、遮擋等復雜場景下的跟蹤能力,本文提出一種基于多響應圖融合與雙模板嵌套更新的跟蹤算法。將骨干網絡替換為特征提取能力更高的ResNet-22 網絡,增強跟蹤算法的特征提取能力。使用淺層特征計算位置分支響應,利用骨干特征計算語義分支響應,并對兩個分支進行融合,提高跟蹤算法的識別和定位能力。通過高置信度的雙模板嵌套更新機制,兼顧兩個模板不同的更新速率需求和更新置信度,適應目標的外觀變化和位置變化。在OTB2015和VOT2016 數據集上的實驗結果表明,本文算法有效提升了目標跟蹤效果。后續將使用動態參數改進位置分支與語義分支模板的融合方式,并引入注意力機制進一步提高網絡跟蹤性能。