陳志浩,楊小軍
(長安大學 信息工程學院,陜西 西安 710001)
視覺目標跟蹤是計算機視覺的重要研究內容之一,在圖像識別、人工智能、無人駕駛等領域都有著廣泛的應用[1]。即使現階段已經存在很多的目標跟蹤模型和算法,但要解決尺度劇烈變化、部分或者全部遮擋、較大形變等挑戰性因素,視覺目標跟蹤算法的科學研究還有很長的路要走[2],所以,設計一種精度高且在復雜場景下魯棒性好的目標跟蹤算法有著重要的意義和價值[3]。目前視覺目標跟蹤算法主要分為相關濾波類算法和深度學習類算法。在相關濾波類算法中,KCF[4]利用傅里葉變換的性質和循環矩陣的優勢,很大程度上減少了計算量,提高了計算速度。深度學習類算法中又可以分為結合深度特征的相關濾波類方法和基于孿生網絡的目標跟蹤算法[5]。相關濾波結合深度特征是把手工設計的特征換成深度特征,提高了算法的準確度,卷積層輸出的深層特征比HOG淺層更具有判別力。吳剛[6]提出了相關濾波跟蹤器和DCNN深度特征結合的算法。從MOSSE[7]之后,一些相關濾波類跟蹤算法為了得到更好的跟蹤效果,使用了越來越高維度的特征,導致這些算法在GPU上也難以達到實時的跟蹤效果。Bertinett提出了基于匹配相似度的全卷積孿生網絡目標跟蹤算法SiamFC[8],SiamFC通過學習一個搜索幀圖像和模板幀圖像的相似度函數比較相似度來得到跟蹤結果。CFNet[9]將相關濾波器作為一個網絡層內嵌到孿生網絡中,提高對深度特征的學習能力。Li提出的SiamRPN[10]結合了孿生網絡和FasterR-CNN[11]中的區域推薦網絡,取消了多尺度檢測進而使用邊界框回歸來得到最大響應的邊界框,同時提高了跟蹤器的性能。針對SiamRPN的不足,SiamRPN++[12]采用了一種空間感知采樣策略使網絡的平移不變性不受影響,成功地把殘差網絡和孿生網絡結合在一起。之后,SiamDW[13]將SiamFC和SiamRPN的特征提取網絡換成了CIR殘差單元,提升了原來跟蹤器的性能。盡管SiamFC的跟蹤效果已經很好,但是還有可以提高的空間,其改進AlexNet[14]作為特征提取網絡,僅僅使用深層語義特征而未考慮將其和淺層位置特征融合,單一的特征表達導致快速移動時定位能力不好;并且僅使用首幀圖像當作模板在遮擋、變形等復雜場景下容易導致跟蹤失敗。針對以上不足,在SiamFC的基礎上將其特征提取網絡AlexNet替換為改進后的深層網絡MobileNetV2[15]并且引入模板更新策略,并設計了一種有效的多級串聯特征融合注意力機制,將第一幀圖像、當前幀的前一幀圖像的聚合注意特征和當前幀圖像不同層特征分別進行匹配,增強了算法的魯棒性。在OTB100數據集上的實驗表明,該算法可以實現魯棒跟蹤并且與其他跟蹤算法相比具有更高的跟蹤成功率、準確率。
如圖1所示,算法框架是由特征提取網絡、多級特征融合注意力模塊和模板更新模塊組成。特征提取網絡使用改進后的MobileNetV2,選擇在第三、五、七個BottleNeck的特征進行多級特征串聯地逐步融合,然后利用通道注意力模塊和空間注意力模塊對各層特征和特征的通道加權,對跟蹤任務發揮作用大的特征和通道給予較大的權重。最后計算模板圖像和搜索圖像之間的匹配相似度,生成4個響應圖,并通過加權和組合以預測跟蹤目標的位置和尺度。

圖1 算法整體架構
強大的特征表示對于魯棒的視頻目標跟蹤算法至關重要,由于跟蹤過程中目標和環境的復雜多變性,不同層的特征在不同的跟蹤階段發揮的作用不同。此研究不再使用較淺的AlexNet網絡,而以適當改進后的MobileNetV2作為特征提取網絡。為了平衡參數規模和特征豐富度同時又要解決特征冗余,選擇第三、五、七BottleNeck的特征進行多級特征融合。原本的MobileNetV2由三個卷積層、一個池化層和七個卷積區(BottleNeck)組成,針對目標跟蹤的任務特點,減少無關運算所用網絡去掉了最后一個卷積區后面的兩個池化層和卷積層,保留了常規卷積層。
大多數視覺跟蹤算法普遍采用跟蹤目標的模板作為視頻的第一幀圖像,并框出目標在第一幀圖像中的位置和區域,然后在后續的圖像幀中定位跟蹤目標。把第一幀圖像作為目標跟蹤任務的模板可以清楚地區分目標,為了提高跟蹤算法的跟蹤速度,傳統孿生網絡跟蹤算法只使用第一幀作為固定模板不進行模板的更新迭代,但是跟蹤目標所在的環境具有不確定性,尺度劇烈變化、部分或者全部遮擋、較大形變等挑戰性因素也可能隨時出現,固定的模板就限制了跟蹤準確率的提高,而且在搜索區域內存在多個相似物體的情況下容易漂移到其他物體上導致跟蹤失敗。使用當前幀的前一幀圖像或者前幾幀圖像作為目標模板則可以成功感知到目標的動態變化,但是只使用當前幀的前一幀圖像或前幾幀圖像實時更新模板,一旦目標出現劇烈變化跟蹤更新容易漂移到其他物體上便不能恢復,再也無法跟蹤到正確的目標。
為了解決這些問題,此研究設計了將第一幀圖像和當前預測幀的前一幀圖像作為目標模板的方法,同時考慮目標跟蹤需要豐富的特征表示,將不同模板的不同層次特征進行多級串聯的特征融合。如圖1所示,模型在孿生網絡兩個分支的基礎之上增加了一個模板分支,雖然會降低一些跟蹤速度但是當出現遮擋和較大形變時,算法也不會漂移到其他物體上導致跟蹤失敗。模型的輸入由視頻序列的第一幀裁剪的目標模板區域圖像,第t-1幀裁剪的目標區域圖像和第t幀圖像。
視覺目標跟蹤的任務需要從淺到深、從細到粗分辨率的豐富的特征表示,單層單一的特征是遠遠不夠的,甚至不同層的特征、每一層特征的不同通道和空間位置對于目標跟蹤任務的重要程度也不一樣。由于池化、卷積等下采樣操作,使得特征提取網絡的最后一層提取到的特征圖分辨率大大降低,雖然深層特征有著目標的語義信息,但是不能準確地定位目標,而淺層的語義信息不明確,但是一些淺層特征如顏色、形狀等對于定位是必不可少的。因此將深層的語義特征和包含空間結構信息的淺層特征應用到相似度匹配計算中對于目標的跟蹤是至關重要的。所以文中算法對各層特征從深到淺逐層融合并通過空間注意力網絡和通道注意力網絡生成更有判別力的特征表示,特征聚合網絡的結構如圖2所示。

圖2 特征聚合模塊

(1)
其中,A(·)表示SA-CA(空間通道注意力網絡),f1×1(·)表示通道壓縮操作,C(·)表示級聯操作,fd表示反卷積操作。
1.4.1 空間注意力
不是圖像中所有的區域對于跟蹤任務的貢獻程度都是同樣多的,只是和任務相關的區域才是最需要關心的。CNN(卷積神經網絡)的卷積運算是局部運算,只考慮局部區域。每個神經元的感受野通常通過疊加卷積層和池化層來擴大,但卷積層過多導致計算復雜度較高。非局部塊使每個神經元感知的不是局部圖像而是整個圖像。注意特征獲得了每個位置的重要程度,使目標物體的判別區域更加明顯[16]。空間注意力網絡結構如圖3所示。

圖3 空間注意力網絡結構
首先,將特征映射x∈Rw×h×d(w,h,d分別是其長寬和通道數)轉換為f,g,h空間進行進一步操作,計算結果為f(x)=W1·x,g(x)=W2·x,h(x)=W3·x。通過公式(2)所示的乘法和softmax操作,可以求出表示第p個像素位置與第q個像素位置之間的位置相關程度Sq,p。
(2)
空間注意力特征圖S∈Rwh×wh是由Sq,p組成的矩陣。然后在S與h(x)之間進行矩陣乘法,最后在特征x與矩陣乘法運算的輸出之間添加一個尺度參數β的跳躍連接,得到具有空間注意力的特征為:
(3)
將β初始化為0,因為逐漸分配空間注意可以使特征更加有判別力,為了減少空間注意力學習引入的參數量,搜索圖像則不需要通過空間注意力模塊。
1.4.2 通道注意力
通道注意力機制根據不同通道特征對于跟蹤的貢獻程度不同,給予每個深度特征的不同通道不同的權值。通道注意力模型為多層感知機結構,即包含至少兩個全連接層,另外加入池化層、激活層等。文中的通道注意力機制模塊采用與MobileNetV3[17]中的SENet模塊類似的網絡結構,由平均池化層、兩個全連接層和激活函數層組成,如圖4所示。

圖4 通道注意力模型
FCA,i=wi*Fi
(4)
算法采用Ubuntu18.04系統,采用pytorch編程框架驗證算法的跟蹤性能。所有實驗均是在Intel Core i7-9750 2.60 GHz CPU和GeForce GTX 2080Ti GPU上執行的,算法執行的平均速率為32 FPS。利用在ImageNet數據集上預先訓練好的權重初始化網絡參數。模型訓練輸入的首幀模板圖像、上一幀模板圖像與搜索圖像尺寸大小分別為127×127、127×127和255×255,輸出的響應圖大小為17×17。除了特征聚合分支外,網絡的搜索分支和模板分支共享權值參數。
為了充分驗證提出算法的有效性,選取公開標準測試數據集OTB100中的視頻序列進行實驗,選取的視頻序列包含了視頻目標跟蹤過程中會遇到的各類挑戰性因素。在測試視頻序列的第一幀的基礎真值位置初始化它們,并采用距離精度(distance precision,DP)、成功率(success rate,SR)作為主要評價指標。其中距離精度(DP)表示中心位置誤差(CLE)小于或者等于閾值(閾值設為20像素)像素T0的幀數占視頻總幀數的百分比。中心位置誤差(CLE)如公式(5)所示,表示預測目標與實際目標中心的歐氏距離。
DP=lDP(CLE≤T0)/l
(5)
其中,lDP表示中心位置誤差小于或者等于閾值的幀數,l是當前視頻的總幀數。而成功率(SR)表示跟蹤所得的目標區域MT和目標真實區域MG所得的重疊率大于等于閾值T1(設為0.5),代表跟蹤成功,但是這種方法不是主流方法,通常用成功率圖曲線下方的面積(AUC)去評估是否跟蹤成功,該面積也可用于對目標跟蹤算法進行排序。

(6)
提出的算法和一些現有算法進行對比。對比的算法包括MOSSE[9]、SRDCF[18]、MDNet[19]、SiamFC[11]、SiamRPN[13]、DaSiamRPN[20]、CFNet[12]、Staple[21],得益于使用結合空間和通道注意力機制的多級串聯特征融合策略和引入必要的模板更新機制,提出的算法取得了較好的結果,跟蹤精度和成功率對比如圖5所示。


圖5 精度和成功率對比
圖5體現了所有比較的算法在OTB100數據集上的一遍驗證(OPE)的測試結果,改進算法在跟蹤精度、成功率上都有不錯的表現,和SiamRPN算法相比較,精度上提升了4.5%,成功率上提升了4.3%。總體來說,提出的算法在精度和成功率都比其他幾種算法性能優越。
為了驗證提出算法的跟蹤性能,在標準測試數據集上選取了一些具有挑戰性因素的視頻序列進行測試,不同算法的跟蹤結果如圖6所示。

圖6 算法在不同視頻序列跟蹤結果
從圖6可以看出,在Diving_1視頻序列中,由于目標存在快速運動的變化,因此會對跟蹤產生干擾,從第153幀起,可以看出文中算法較其他算法能夠準確地跟蹤目標。在Dog_1序列中,文中算法由于使用多級串聯注意特征融合策略和模板更新機制,與其他算法相比,能夠更加精確地跟蹤目標。在DragonBaby_1視頻序列中,由于目標存在快速運動的干擾,其他算法在45幀開始并不能精確跟蹤目標,而文中算法一直可以有效地跟蹤目標。在Girl2_1視頻序列中,從122幀能夠看出,在目標存在遮擋的情況下,其他五種算法會跟丟目標,而文中算法由于跟蹤精度更高,能夠完成跟蹤過程。在Gym_1視頻序列中,當目標在快速運動的干擾下,文中算法的魯棒性仍然較好。在Human2_1視頻序列中,從223幀可以看出,在目標存在快速運動或遮擋的干擾下,其他算法并不能及時跟蹤到目標,而文中算法的跟蹤效果更好。
文中提出的基于孿生網絡的多級串聯特征融合和模板更新的跟蹤方法,通過強大的特征串聯融合策略和空間與通道的雙重注意力機制來獲取有判別力的特征表示,使得網絡可以選擇性地結合來自不同層的有效特征信息。引入的模板更新機制采用當前幀的前一幀圖像和首幀圖像作為模板可以有效避免跟蹤漂移到其他物體上導致的跟蹤失敗問題。該算法可以解決部分遮擋和背景雜亂的問題,在算法的成功率、準確率和魯棒性上較現有跟蹤算法都有所提升。在選定的視頻序列上進行對比實驗得到的結果表明,該算法優于現有的一些算法。