卞月樓 陸振宇 葛泉波 鄭 成 白延中
1(南京信息工程大學電子與信息工程學院 江蘇 南京 210044) 2(南京信息工程大學人工智能學院 江蘇 南京 210044) 3(同濟大學電子與信息工程學院 上海 200092)
目標跟蹤是當下計算機視覺領域中的重要研究課題之一,它在諸如視頻監控、自動駕駛、人機交互、防空預警等領域具有廣泛的應用。目前,盡管目標跟蹤已經取得了很多研究成果,但在一些復雜多變的場景中,由于受到目標部分遮擋、幾何變形、快速運動、尺度變換等因素的影響,現有的算法跟蹤目標的精度和魯棒性不佳,因此,目標跟蹤仍然是一個非常具有挑戰性的任務。
相關濾波一直是目標追蹤領域的主流方法。文獻[1]首次提出了最小化輸出平方誤差和濾波(MOSSE)算法,較大地提高了算法跟蹤速度。此后,一些基于核相關濾波改進的目標跟蹤算法也隨之產生[2-3]。在解決目標尺度變化問題上,文獻[4]提出了區分尺度空間(DSST)算法,通過訓練一個三維濾波器,對位置、尺度進行更新,實現了對目標尺度自適應跟蹤并在文獻[5-8]中進行了改進。在處理目標特征方面,文獻[9]將3維的RGB特征映射到11維的顏色名(CN),使得濾波器具有處理豐富的顏色特征的能力。隨后,文獻[10]利用多特征融合的方法,提出了尺度自適應多特征跟蹤器(SAMF),將CN和HOG特征進行特征融合,取得了較好的跟蹤效果。
近年來,卷積神經網絡發展十分迅速,憑借著強大的提取特征能力,在目標跟蹤領域取得了很大成功。文獻[11]首次訓練了一個用于目標跟蹤的多域通用模型,實現了端到端的跟蹤。但是模型采用在線學習的方式,難以達到實時的要求。基于此,文獻[12-13]都提出了采用離線學習的方式,運用孿生網絡結構,大大提高了跟蹤速度。隨后,出現了很多基于文獻[13]中全卷積孿生網絡(SiameseFC)模型的改進算法,開辟了深度學習模型的新領域。SenseTime團隊將Faster R-CNN的核心區域生成網絡(RPN)用于SiameseFC,提出了SiamRPN[14],在精度和速度上,都達到了不錯的效果。同年,SenseTime還提出了DaSiamRPN[15]模型,使算法更好地利用數據訓練,并在模型跟蹤失敗的時候,模型采取一種“局部-全局”增大搜索框的策略去重新跟蹤目標,可以很好地應對長時跟蹤的問題。文獻[16-17]都針對先前算法采用AlexNet這樣的淺層主干網絡進行分析,各自提出了使用深度神經網絡進行特征提取的方法,提高了算法性能。此外,文獻[18-21]通過將深度學習和相關濾波相結合的方式,也獲得了比較有競爭力的性能。
盡管當下基于深度學習的目標跟蹤算法憑借著卷積神經網絡強大的特征學習和表征能力取得了不錯的性能,但當跟蹤目標所在場景復雜時,跟蹤效果卻一般。一方面一些挑戰場景下,單純使用深度網絡提取特征還不足以得到更好的特征;另一方面深度網絡導致提取到的特征感受野太大,更加關注目標的語義信息而缺少了物體的位置、紋理等底層信息。最后深度網絡參數更大,需要更多計算資源,往往會導致跟蹤速度降低。從本質而言,采用深度神經網絡當作孿生網絡的主干網絡來提取特征,是用網絡運行速度換取跟蹤準確率的方式。然而,在實際應用中,考慮算法的性能時往往是綜合各方面因素的,實時性也是不可忽視的問題。一個真正優秀的跟蹤算法應同時具備較高的跟蹤精度和滿足實時應用要求。
為了克服以上問題,本文提出一種結合注意力機制和特征金字塔的全卷積孿生網絡目標跟蹤算法。注意力機制讓跟蹤器更專注于目標本身并抑制其余的無用背景信息,進而提高特征的表征能力。特征金字塔模型可以有效解決深度神經網絡帶來的感受野過大、小目標難以跟蹤的問題。這些改進能夠提高網絡性能的同時,也不會帶來巨大的資源開銷。最后,針對在跟蹤目標訓練過程中正負樣本不平衡、簡單和困難樣本問題,通過改進損失函數來優化網絡訓練。
綜上所述,本文的主要貢獻如下:
(1) 對網絡進行改進并在一些卷積層間加入通道注意力機制,對卷積特征的各個通道賦予相應的權值,提高最終卷積特征的判別力。
(2) 在網絡中加入特征金字塔網絡(FPN)[22]結構,通過融合高低卷積層特征,使得提取到的特征具有更強的表觀信息和語義信息。
(3) 針對網絡訓練過程中出現的正負樣本不平衡、簡單和困難樣本問題,通過使用焦點損失(Focal Loss)[23]函數來進一步提高跟蹤精度。
孿生神經網絡[24]是由兩個或更多的神經網絡分支構成的網絡結構,并且每個子網共享權重,信息通過各自的子網絡后,通過距離計算得出它們的相似性,從而可以在少量的樣本情況下精準分類。孿生神經網絡結構如圖1所示,其中:Z為模板圖像;X為候選圖像。經過該結構后可得相似度函數為:

圖1 孿生神經網絡結構
fW(Z,X)=φW(Z)*φW(X)+b1
(1)
式中:φ為共享權重W的卷積操作;*代表卷積相關性操作;b1為偏移量。式(1)為二維的置信得分圖,用來表示兩個特征之間相似度,只要找到置信得分圖中響應值最大的區域,并乘以相應的步長,通過計算就可以得到候選圖像中的目標位置。
在深度學習領域中,目標跟蹤算法大多是基于孿生網絡結構實現的。盡管當下已經取得了不錯的效果,然而諸如SiameseFC、SiamRPN等算法,無一例外都是采用類似AlexNet這樣的淺層神經網絡充當特征提取器。目標跟蹤實質是一個驗證的過程,淺層網絡效果不錯,同時跟蹤需要實時進行,增加網絡層數會增加計算負擔,影響實時性。但是,隨著深度學習的火熱發展,通過簡單地加深網絡層數、優化網絡結構,利用深度卷積神經網絡強大的提取特征能力,許多領域的算法性能都得到較大的提升。因此,在目標跟蹤領域網絡深度化也應當是大勢所趨。然而經過實驗發現,在不考慮跟蹤效率情況下,將深層基準網絡ResNet[25]、Inception[26]應用到孿生網絡結構中時,網絡并沒有像在其他視覺任務上表現得那么優秀。一方面深度網絡導致提取到的特征感受野太大,更加關注目標的語義信息而缺少了物體的位置、紋理等底層信息;另一方面使用深度網絡會存在很多的padding操作,會導致跟蹤出現漂移現象;最后,一些網絡的步長選擇過大會導致小目標定位困難。所以,單單使用深度神經網絡作為特征提取器并不能很好地提高算法精度。
為了提高跟蹤器的判別能力,利用深度神經網絡的特征提取能力,SiamDW[18]提出了新的殘差網絡結構,通過利用裁剪內部殘差(Cropping-Inside Residual,CIR)單元,很大程度地減弱padding操作產生的偏差影響,在網絡加深的同時也取得了較好的性能。但是,SiamDW在一些復雜場景判別能力不強,模型發生漂移,導致跟蹤失敗。本文基于此對算法進行改進,通過引入特征金字塔和通道注意力機制修改網絡結構,并在訓練中選取更加合適的損失函數,實驗證明,該方法能夠有效地減小跟蹤器的跟蹤誤差。
本文所提出的網絡結構如圖2所示,以SiamDW網絡為基礎進行改進,加入了特征金字塔和空間注意力機制,并針對目標跟蹤中正負樣本失衡的問題,在訓練中通過使用Focal Loss損失函數進行優化。

圖2 網絡總體結構
具體而言,在模型構建時,SiamDW選用的CIResNet-22作為原始主干網絡并將其分為四個卷積階段。我們首先在后兩個卷積階段所得的特征后加入收縮激勵(Squeeze-and-Excitation,SE)模塊[27],該模塊能夠充分利用特征圖的通道信息,使得模型更加關注信息量大的通道特征,從而提高整個特征圖的表達能力。隨后,在第二和第三個卷積階段后面加入最大池化操作,提高卷積的感受野。將各卷積階段得到的特征圖進行維度操作,并對高層特征進行上采樣,使之與其上一層具有相同的尺寸,并將這兩層網絡特征進行融合。反復以上操作至最底層網絡,就可以構造出特征金字塔。最后得到的特征融合了多層特征信息,不但具有高層的語義信息,還可以提供準確的位置、紋理等底層信息,增強了模型判別力的同時也提高了小目標物體跟蹤的精度。
注意力機制是指從大量的信息中有選擇性地關注重要的一部分,從而獲取需要目標的特征,而不關注無關信息的技術。目前,注意力機制已經在各種深度學習領域都有應用,諸如計算機視覺、自然語言處理和語音識別等,也誕生了很多高效的算法[28-30]。SiamDW網絡中的各層卷積操作,通過空間上的特征融合來增大感受野,提高特征的表征能力。而對于通道維度的特征,卷積并沒有關注各個通道之間的關系,而是對所有通道進行直接融合。因此,本文在SiamDW網絡中加入SE模塊,這使得最終得到的特征不僅考慮了空間信息,而且還利用學習到的各通道之間的相關性來增強提取特征的效果。此外,加入SE模塊并沒有改變原有特征的空間維度,網絡性能卻有一定的提升。該模塊結構如圖3所示。

圖3 通道注意力
模塊中特征圖的輸入、輸出維度均為H×W×C,FC為全連接網絡,ReLU和Sigmoid為兩種不同的激活函數,?為哈達瑪積。H×W×C的特征圖經過全局池化操作,將各個通道的特征轉變成一個實數z,第c個通道的特征圖對應的實數z為:
(2)
式中:uc(i,j)為輸入特征圖的第c個通道位置為(i,j)的圖像像素值;Fsq為全局池化。隨后將獲取的通道信息經過全連接層、ReLU激活函數和全連接層操作。再利用Sigmoid激活函數進行處理,得到權重賦值:
s=σ2(W2σ1(W1z))
(3)
式中:z為式(2)操作的結果;W1和W2為第一層和第二層卷積權重;σ1和σ2為ReLU和Sigmoid激活函數。最后將輸出的權重以加權的方式在原始特征圖上進行重新標定,將每個通道特征圖和對應權重值求哈達瑪積,最終得到通過通道注意力機制的特征。
網絡提取的特征的好壞是影響跟蹤器效果好壞的關鍵因素,在提取到通過通道注意力機制的特征后,本文使用特征金字塔模型對高低層卷積進行特征融合,從而獲得更加豐富的特征信息。文中所使用的原始SiamDW的主干網絡CIResNet-22由22個卷積層組成,并利用最高層的輸出作為主干網絡最終提取的特征,然而當跟蹤目標是小目標時,該特征由于感受野過大就難以捕獲目標的空間細節信息,最終導致模板漂移或者錯誤跟蹤。在卷積神經網絡中的所有的特征層中,淺層特征分辨率較高,具有更多的目標表觀信息和空間特征。當隨著網絡加深以及感受野的擴大,深層特征則具有更多的目標語義信息。因此,通過特征金字塔網絡將網絡的高低層特征進行一定方式的融合,可以使得融合后的特征同時具有目標不錯的表觀信息和語義信息。
在原始的CIResNet-22中,作者根據目標跟蹤的特點構建的卷積后三個階段特征圖的維度并沒有變化,保證了一個合理的網絡步長。本文為了進一步提高卷積特征的表征能力,在卷積的第三和第四階段加入最大池化,提高感受野的同時便于后續金字塔的構建。圖4為本文中的特征金字塔網絡結構。首先對提取到的三個階段卷積特征進行降維操作,即使用1×1的卷積使不同維度的輸出特征圖具有相同的通道數。其次自上而下地進行特征融合,由于上層特征圖尺度比較小,通過對其進行上采樣再與下一層的特征圖進行對應元素相加,得到融合高低層特征的卷積特征。最終在得到的三個特征圖上分別進行預測。在本文構建的網絡結構中,實驗表明融合后下層特征具有更好的表征能力,跟蹤器的性能也更加優異。

圖4 特征金字塔模型
由于物體的尺度變化,在跟蹤過程中網絡需要對搜索區域大小進行尺度放縮來確定目標大小,提高跟蹤性能。然而,生成大量的候選框中正負樣本數存在著不平衡,負樣本數遠遠大于正樣本數,這也導致了網絡訓練困難進而影響著模型的精度。為了解決這一問題,本文將目標檢測中的Focal Loss函數應用到跟蹤領域。Focal Loss函數是基于傳統交叉熵(CE)的改進函數,可以一定程度克服訓練正負樣本不平衡,使模型更加關注難分類的樣本。傳統的CE公式如下:
CE(p,y)=CE(pt)=-log(pt)
(4)

FL(p,y)=FL(pt)=-(1-pt)γlog(pt)
(5)
式中:(1-pt)γ(γ≥0)為調制系數,當γ=0時,Foca Loss即為傳統交叉熵函數。針對訓練時正負樣本不平衡的問題,Focal Loss又引入平衡因子αt,得到最終得Focal Loss函數為:
FL(p,y)=FL(pt)=-αt(1-pt)γlog(pt)
(6)

本文算法在Ubuntu16.04系統下PyTorch 0.3.1框架上實現,并使用GPU進行加速。實驗平臺中,CPU配置為:Inter core i5-8600k,計算機內存為16 GB。GPU配置為:NVIDIA GTX 1080Ti,顯存大小為12 GB。
在訓練階段,我們使用GOT-10K數據集對網絡進行預訓練,該數據集總共包含了10 000個視頻圖像序列,563個不同目標種類,87種常見的運動模式,具有更加豐富的現實場景。我們設置初始學習率為0.001,隨著網絡訓練次數的增加,學習率會逐漸遞減,最終降為0.000 000 1。此外,還設置α=0.25和γ=2來克服訓練時候正負樣本不平衡的問題。在測試階段,用目標跟蹤基準數據集OTB100對訓練好的網絡進行魯棒性和準確性的檢驗。
(1) 評估標準。為了有效地評估本文算法的性能,本文利用OTB100數據集進行測試,采用中心位置誤差(CLE)和重疊率(OP)作為基本度量方式,并使用精確度(Precision)和成功率(Success Rate)作為指標對算法性能進行評估。精確度衡量的是目標預測中心位置和標注目標中心位置的像素差值小于設定閾值的幀數占所有幀數的比例。公式為:
(7)

(8)
(9)
式中:N表示視頻序列的幀數;f表示某一幀是否跟蹤成功;d表示設定閾值;(xp,yp)和(xg,yg)表示預測框和標注框的中心位置坐標。成功率則計算預測框和標注框的重疊率(Overlap Rate)大于設定閾值的幀數占所有幀數的比例。公式為:
(10)

(11)
(12)
式中:g表示某一幀是否跟蹤成功;d表示設定閾值;k表示重疊率;rp和rg表示預測區域和標注區域。
(2) 消融實驗。為了驗證不同模塊對實驗最終結果的影響,本文在OTB100數據集上進行大量對比實驗,使用精確度和成功率作為指標對算法性能進行評估。在CIResNet-22主干網絡中組合加入空間注意力機制、特征金字塔和Focal Loss損失函數構建新的網絡。如表1所示,當僅加入其中一個模塊時,修改原網絡損失函數為Focal Loss取得了最好的結果,比原本的精確度和成功率分別提高了0.035和0.015;當同時使用空間注意力機制和特征金字塔構建網絡,并修改原損失函數為Focal Loss時,算法取得了最高的精確度和成功率,比原本算法分別提高了0.052和0.030,因此,我們將該情況下的最終精度用于和以下主流算法實驗對比來驗證本文算法的有效性。

表1 OTB100數據集上各模塊實驗結果

續表1
(3) 實驗對比。將本文算法與主流的9種目標跟蹤算法(fDSST[5]、Staple[31]、SiamFC[13]、CFNet[32]、SRDCF[33]、SiamDW[18]、DeepSRDCF[34]、SiamRPN[14]、GradNet[35])在OTB100數據集進行一次性通過評估(One-Pass Evaluation,OPE)比較。圖5和圖6展示了所有算法在不同閾值下精確度和成功率的曲線。其中,將成功率曲線的曲線下面積(Area Under Curve,AUC)用于跟蹤算法的排名。表2顯示了各個算法的對比結果。可以看出,本文算法在OTB100數據集上,精確度和成功率均在所有比較算法中排名第一,算法精確度和成功率比第二GradNet提高了0.019和0.018。結果表明本文改進的跟蹤算法取得了比較有競爭力的效果。

圖5 10種算法在OTB100數據集上的成功率曲線

圖6 10種算法在OTB100數據集上的精確度曲線

表2 10種算法在OTB100數據集上實驗結果
為了更好地說明本文算法對目標跟蹤中常見問題的有效性,我們對OTB100數據集的11個標注屬性目標進行獨立實驗。11種屬性分別是背景干擾(Background Clutter,BC)、非剛性形變( Deformation,DF)、快速移動(Fast Motion, FM)、平面內旋轉(In-plane Rotation,IR)、超出視野(Out-of-view,OV)、光照變化(Illumination Variation,IV)、低分辨率(Low Resolution,LR)、運動模糊(Motion Blur,MB)、遮擋(Occlusion,OC)、尺度變化(Scale Variation,SV)和平面外旋轉(Out-of-plane Rotation,OR)。表3和表4分別為本文算法和4種表現較好的對比算法在11種挑戰屬性下的成功率和精確度實驗結果。可以看出,本文算法在背景干擾、非剛性變化、平面內旋轉、光照變化、平面外旋轉和尺度變化這6種屬性中均取得了最好的效果。

表3 OTB100數據集上11種屬性的成功率

表4 OTB100數據集上11種屬性的精確度
與OTB基準一樣,VOT基準也是視覺跟蹤領域使用較廣泛的數據集。本文選用VOT2015數據集對算法進行實驗對比驗證。VOT2015包含了60個視頻圖像序列。在評價指標方面,我們選取3個常用的VOT基準評價指標來評價跟蹤器的性能,分別是準確率(Accuracy,A)、魯棒性(Robustness,R)和常用來對跟蹤器進行排名的評價指標平均重疊期望(Expected Average Overlap,EAO)。其中,跟蹤器準確率和平均重疊期望得分越高代表著算法表現更好,而魯棒性得分越低則反映跟蹤器跟蹤性能更優秀。
在VOT2015基準下,本文選用DSST[5]、SAMF[10]、SRDCF[33]、DeepSRDCF[34]、SiamFC[13]和SiamDW[18]六種主流算法和本文算法進行比較。從表5中可見,本文算法魯棒性為1.08,在7個算法中排名第三,但準確率和平均重疊期望都取得了最好的效果。在準確率中,本文算法比第二名算法SiamDW提高了0.01。在平均重疊期望中,本文算法和DeepSRDCF取得了同樣的結果,比DSST提高了0.15,但DeepSRDCF只有不到1幀/秒的跟蹤速度遠遠達不到實時性,而本文算法取得的65幀/秒達到了實時的跟蹤速度。此外,圖7展示了各算法在VOT2015數據集上平均數學期望的排名。

表5 7種算法在VOT2015數據集上實驗結果

圖7 VOT2015數據集上的平均重疊期望
本文在深度學習目標跟蹤算法的框架下,針對深度卷積網絡在復雜場景的不足,提出一種結合注意力機制和特征金字塔的目標跟蹤算法。通過對網絡的重新構建,將通道注意力機制和特征金字塔模型融入孿生卷積神經網絡并在訓練中利用Focal Loss函數解決樣本訓練的問題。實驗表明,本文算法能夠較好地解決一些復雜場景難以跟蹤的問題,有效地提高了目標跟蹤的成功率。但同時實驗也發現,引入特征金字塔模型來提高特征表征能力會增加計算量,降低了算法跟蹤的速度。因此,如何改進本文算法的跟蹤速度,將是下一步研究的工作重點。