李 睿,連繼榮
蘭州理工大學 計算機與通信學院,蘭州730050
目標跟蹤是計算機視覺中一項基本但具有挑戰性的任務[1-2]。給定視頻序列初始幀中的目標狀態,跟蹤器需要預測每個后續幀中目標的位置和大小。盡管近年來取得了很大進展,但由于遮擋、尺度變化、背景雜波、快速運動、光照變化和形變等因素的影響[3],視覺跟蹤仍然面臨巨大挑戰。
在現實生活中,目標的大小和寬高比例隨著目標的移動、攝像機的移動和目標外觀的變化而變化。在目標跟蹤任務中能夠快速、準確地確定目標的位置和大小是視覺跟蹤領域一個難以解決的問題。近幾年視覺跟蹤方法都是基于Siamese 網絡的架構來實現[4-7]。許多研究者對此提出了大量改進方法以實現準確的目標跟蹤。
Siamese網絡將目標跟蹤看作目標匹配問題來處理,核心思想是學習目標模板和搜索區域的相似圖,一個常見的策略是在搜索區域的多個尺度上進行匹配,以確定目標尺度的變化,這就是這些跟蹤器耗費時間、耗費空間的原因。其中文獻[5]引入區域建議網絡以獲取更加準確的目標邊界框,通過聯合一個分類分支和一個回歸分支進行視覺跟蹤,避免了由于目標尺度不變性而費時提取多特征的步驟,在許多基準上取得了較好的結果。但是為了處理不同的尺度大小和高寬比,他們基于啟發式知識設計錨框,如此做將會引入大量的超參數以及計算復雜度很高。DaSiam[7]和SiamRPN++[8]針對以上問題對Siam-RPN 進行了改進。然而,由于為區域建議引入了錨點,這些跟蹤器對錨盒的數量、大小和長寬比都很敏感,超參數調優技術對于成功地使用這些跟蹤器進行跟蹤至關重要[9]。
本文按照Siamese 網絡的特點,將跟蹤問題分解為兩個子問題:一個分類問題和一個回歸問題。其中分類任務是將每個位置預測為一個標簽,而回歸任務將每個位置回歸為一個相對的邊界框。通過這種分解,可以將跟蹤任務進行按模塊求解,設計一個簡單有效的Siamese自適應網絡用于特征提取,同時進一步進行分類和回歸,以端到端的方式同時進行學習。
近年來,隨著大數據、機器學習等的快速發展,憑借計算機強大的計算能力極大地推動人工智能快速發展。目標跟蹤成為計算機視覺領域最活躍的研究主題之一[10-13]。深度學習算法相比傳統的相關濾波算法,在目標跟蹤精確度和成功率方面得到巨大的改善和提高。本章主要回顧基于Siamese 網絡設計的一系列跟蹤器,因為近幾年這些跟蹤器在性能方面遙遙領先。
目標跟蹤領域的研究者主要從特征提取[14-15]、模板更新[16-17]、分類器設計[18]、邊界框回歸[19]等不同方面,致力于設計更快、更準確的跟蹤器。早期的特征提取主要使用顏色特征、紋理特征或其他手工制作的特征[20]。得益于深度學習的發展,卷積神經網絡(convolutional neural network,CNN)的深度卷積特性被廣泛采用。模板更新可以提高模型的適應性,但在線跟蹤效率很低。
此外,模板更新的跟蹤漂移問題還有待解決。相關濾波方法[14]的引入使得跟蹤的效率和準確率都達到了前所未有的高度[21-22]。目前的研究表明,基于Siamese的在線訓練和帶有深度神經網絡的離線跟蹤方法在準確率和效率之間取得了最好的平衡。
作為開創性的工作之一,SiamFC[6]構建了一個完全卷積的Siamese 網絡用于特征提取。由于SiamFC的結構簡單,跟蹤速度可以達到86 frame/s。受其成功的鼓舞,許多研究者認可了這項工作并基于Siam-FC提出了一些改進方法。
CFNet[23]在SiamFC 框架中引入相關濾波層,進行在線跟蹤,提高精度。DSiam 學習了一個特征變換,用于解決目標外觀變化以及背景干擾。通過動態的Siamese 網絡,在可接受的速度損失的情況下,提高了跟蹤精度[7]。SAsiam構建了一個雙重Siamese網絡,包括語義分支和外觀分支,兩個分支分開訓練以保證輸出特征的異質性,提高跟蹤精度。為了解決目標尺度變化問題,這些跟蹤器需要進行多尺度搜索,這會造成大量的時間消耗和空間浪費。
SiamRPN[5]通過聯合訓練一個分類分支和一個回歸分支進行區域建議,避免了由于目標尺度不變性而費時提取多尺度特征圖的步驟,取得了非常高效的結果。然而,它很難處理與物體外觀相似的干擾物。至今,已對SiamFC 做了很多修改和改進,但是使用AlexNet[24]作為主干網絡,跟蹤器的性能無法進一步提高。針對這個問題,SiamRPN++通過使用ResNet[25]作為主干網絡,優化了網絡架構。為了消除中心位置偏差,在訓練期間隨機移動目標在搜索圖像區域的位置。經過以上改進,可以使用非常深的網絡結構實現更高精度的目標跟蹤。
本文的主要創新點:
(1)設計了一個Siamese 自適應網絡,即在Siamese 網絡的每個分支同時構建AlexNet 淺層網絡和改進的ResNet深層網絡,用于特征提取。
(2)提出一種全新的跟蹤策略,對淺層特征和深層特征進行自適應選擇以及基于多特征融合進行識別和定位,增強網絡判別力,提高目標跟蹤精度。同時采用由局部到全局的搜索策略,減小計算復雜度,降低時間資源和空間資源的浪費。
(3)經實驗比較,提出的算法能夠達到較好的效果,與一些跟蹤器比較,具有較好的性能改善。
本章主要詳細介紹提出的網絡結構和實現方法。首先分析視覺目標跟蹤的特點,需要說明的是,本文方法對于目標的快速運動不穩定,在此基礎上提出一個假設:在視頻序列中,物體在相鄰幀之間的位移不大。
事實上,這個假設對于大多數數據集來說是成立的。因為對于一個視頻序列而言,相鄰幀之間的時間間隔極小,所以在極小的時間間隔里常規運動導致的位移很小。基于此假設,本文提出一種全新的目標跟蹤策略。
隨著Siamese網絡的提出,研究學者將該網絡模型應用于視覺跟蹤領域,得到很好的效果。首先是基于全卷積的Siamese網絡,只有簡單的幾層就能夠達到很好的效果。隨后研究學者對其進行改進,將AlexNet 加入Siamese 網絡中,得到一定的改善,但也遇到瓶頸。之后又將更深層次的ResNet替換淺層的AlexNet。
如圖1所示,SiamFC網絡結構由兩個分支構成:一個是目標分支,輸入數據為模板圖像塊(z:127×127×3);另一個是搜索分支,輸入數據為搜索圖像塊(x:255×255×3)。

圖1 SiamFC網絡結構Fig.1 SiamFC network structure
兩個分支的卷積神經網絡共享參數,確保相同的變換應用于不同的兩個圖像塊。分別輸出兩個特征圖φZ和φX,為了結合兩個分支的信息,對φZ和φX執行互相關操作,得到響應圖R,為了后續獲得目標的位置信息和比例信息,需要R包含大量的特征信息。因此,響應圖R為:

根據Siamese網絡的結構特點,將目標跟蹤問題分為兩個分支:分類分支、回歸分支。
如圖2 所示,本文在Siamese 網絡的每個分支同時構建AlexNet 淺層網絡和ResNet 深層網絡。低層次特征如邊緣、角、顏色、形狀等代表較好的視覺屬性,是定位不可或缺的特征,而高層次特征對語義屬性具有較好的表征,對識別更為關鍵。

圖2 改進的Siamese自適應網絡結構Fig.2 Improved Siamese adaptive network structure
在Siamese自適應網絡學習過程中,根據圖像幀背景的復雜程度,對網絡設置不同的權重。對于淺層的AlexNet網絡設置權重為α,對于深層的ResNet網絡設置權重為β。
當正樣本數量大于負樣本數量時,賦予α較大值。當圖像幀背景復雜,負樣本數量大于正樣本數量時,賦予β較大值。則選擇用于特征提取的神經網絡為:

其中,CA表示選擇AlexNet網絡,Ck為該網絡得分。CR表示選擇ResNet網絡,Cl為該網絡得分。根據網絡得分可以得知該幀圖像背景復雜程度,進而選擇兩個網絡得分較大值用于該圖像幀特征提取的網絡。
在本文算法中,為了適應提出的網絡結構,需要對ResNet-50 作為主干網絡并進行修改。基本的殘差單元如圖3所示。

圖3 殘差單元結構Fig.3 Residual unit structure
由圖3可以看出,X為上一層特征圖的輸出。跳轉連接,被稱為Identity Function。G(X)=F(X)+X為深層輸出。
原始的ResNet-50的總步長為32,與本文構建的網絡結構不匹配,因此將conv4 和conv5 的步長改為1,使得總步長減少為8。并且對每個塊添加步長為1的卷積層。將conv3-3、conv4-6、conv5-3 的特征圖輸出,用于計算分類和回歸。
改進的殘差網絡結構如圖4所示,以conv5為例。

圖4 改進的殘差單元結構Fig.4 Improved residual unit structure
在神經網絡中,一般淺層特征如邊緣、顏色、形狀等,包含更多的位置信息,是用于定位不可或缺的特征。而深層特征魯棒性好,包含更多的語義信息,對識別更為關鍵。
在本文算法中,提出兩個多特征融合的方法:其一,兩個分支含有完全相同的兩個網絡。對于不同的輸入,提取更加完善、多樣性的特征。最后對兩個分支得到的特征進行相加融合。通過將淺層特征和深層特征共同使用,能夠更好地進行識別。其二,對于不同的圖像幀,由于其背景復雜程度不同,對于簡單背景來說,淺層特征可以輕松識別、定位目標。但是如果選擇使用深層特征則會造成大量的時間消耗,增加計算復雜度,降低目標跟蹤速度。因此,進行自適應的特征選擇和多特征融合,根據圖像幀的復雜程度,自動選擇使用淺層特征、深層特征還是淺層、深層混合使用。
給定圖像Ij以及使用哪些特征進行組合的決策P(·),因此,每個特征上的響應圖為:

其中,fj∈{Lj,Hj,Mj},L、H、M分別表示為淺層特征、深層特征、混合特征。
對于改進的ResNet網絡提取的深層特征進行加權總和,最終融合得到的自適應特征圖ψ為:

其中,αi、βi為每個圖對應的權重,與網絡一起參與訓練,⊕表示特征融合操作。進一步為了確保網絡自主學習每個特征圖的重要性,運用Softmax函數規范化權重,表示每個特征圖的重要性:

其中,wi和wj表示學習的權值,Ci表示第i層的特征。
通過以上方法,能夠得到更加精確、更加精細的特征,用于特定的圖像幀進行魯棒、快速的識別和定位。
本文通過端到端的完全卷積來訓練網絡,直接對每個目標位置進行分類和回歸,避免了人工干預和多余的參數調整。用交叉熵損失用于分類,用具有標準化坐標的Smooth L1 損失用于回歸。對于跟蹤數據集來說,每個圖像幀都有已標注的真實邊界框。因此,用Tw、Th、(x1,y1)、(x0,y0)、(x2,y2)分別表示真實邊界框的寬度、高度、左上角坐標、中心點坐標、右下角坐標。則以(x0,y0)為中心,Tw/2、Th/2 為軸長,可以得到橢圓Q1:

同理,以(x0,y0)為中心,Tw/4、Th/4 為軸長,可以得到橢圓Q2:

此時,如果目標位置(pi,pj)在橢圓Q2內,則將其標記為正。如果在橢圓Q1之外,則標記為負。如果位于橢圓Q2和Q1之間,則忽略不計。然后將標記為正的位置(pi,pj)用于邊界框回歸,回歸目標可以公式化為:

其中,d1、d2、d3、d4分別表示目標位置(pi,pj)到邊界框四條邊的距離。為此,定義多任務損失函數:

其中,Lc為交叉熵損失,Lr表示Smooth L1損失。在訓練期間,根據多次實驗設定λ1=1,λ2=2。
Smooth L1損失函數如式(12)所示:

本文實驗使用的數據集為目標跟蹤標準數據集VOT(visual object tracking)[26]和OTB(object tracking benchmark)[27],視頻序列均經過精心標注,更具權威性。OTB數據集包括OTB50和OTB100。其中50和100 代表該數據集中視頻序列的數目。VOT 是官方競賽的數據集,有VOT2015、VOT2016 等,且每年均會更新。OTB 和VOT 數據集存在一定的差別,其中OTB 數據集含有25%的灰度圖像,VOT 中均為彩色圖像。
本文實驗主要使用以下四種評價指標對提出的算法進行分析。
(1)中心位置誤差
中心位置誤差(center location error,CLE)是計算預測目標位置中心點和真實目標中心點之間的歐氏距離。假設真實目標的中心位置坐標為(xg,yg),預測的目標中心位置坐標為(xp,yp)。因此,中心位置誤差計算如下:

一般來說,計算視頻序列中所有圖像幀的平均中心位置誤差,在一定程度上能夠近似看作目標跟蹤準確度。但是,跟蹤算法在某些圖像幀中難免會丟失目標,造成跟蹤目標中心位置的預測具有隨機性。因此,此時的平均中心位置誤差值難以評價跟蹤器的準確性。為此,在中心位置誤差的基礎上,通常采用準確率擬合曲線來反映跟蹤器的準確度,統計不同閾值下,成功跟蹤目標的中心位置誤差的比例,使用誤差閾值為20個像素點時所對應的數值,作為跟蹤算法在各個測試視頻序列中的準確率。
(2)精確度
精確性表示目標跟蹤算法預測的目標框與真實目標框的重疊程度,數值越大,表示該算法的精確性更好,如式(14)所示。

其中,φt(i,k)表示經過k次重復后,第t幀圖像的精確性,N表示重復的次數。則平均準確率為:

其中,M表示有效跟蹤圖像幀的數量。
(3)成功率
成功率用預測框和真實框之間的交并比表示。通過重疊率(overlap ratio,OR)表示預測目標區域和真實目標區域的重疊比率,即兩個邊界框的交并比,如式(16)所示。

其中,OR表示區域重疊比率;R表示預測目標區域;G表示真實目標區域。
(4)速度
在目標跟蹤領域,跟蹤速度通常指算法所用時間與視頻序列幀數的比值,即平均每秒跟蹤的視頻幀數,值越大表示跟蹤的速度越快。
該方法基于PyTorch 框架在Python 中實現。實驗設備硬件為一臺裝備NVIDIA Titan X 顯示處理核心并配備i7-7700k處理器的計算機。
構建的網絡在ImageNet[28]上進行了預訓練,然后使用該參數作為初始化來重新訓練本文構建的網絡模型。在OTB-50 數據集上實現的一些具有代表性的跟蹤效果如圖5所示。

圖5 跟蹤效果比較Fig.5 Tracking performance comparison
由圖5 可以看出,在各種影響因素下,本文算法能夠穩定地跟蹤目標。
將提出的算法與現有的跟蹤器在標準數據集上進行公平比較。用一次性通過評估(one-pass evaluation,OPE)繪制精度曲線圖和成功曲線圖。由圖6可以看出,本文方法比一些現有跟蹤器的效果好,能夠在一些影響因素下進行魯棒跟蹤。

圖6 精度和成功率曲線圖Fig.6 Accuracy graph and success rate graph
在OTB數據集上對不同算法在形變、背景雜波、遮擋等影響因素下進行測試,繪制精度圖和成功率圖,如圖7~圖9所示。

圖7 形變影響下的精度和成功率曲線圖Fig.7 Accuracy graph and success rate graph drawn under influence of deformation

圖8 背景雜波影響下的精度和成功率曲線圖Fig.8 Accuracy graph and success rate graph drawn under influence of background clutter

圖9 遮擋影響下的精度和成功率曲線圖Fig.9 Accuracy graph and success rate graph drawn under influence of occlusion
將本文算法與已有跟蹤器Struck(structured output tracking with kernels)[29]、LOT(locally orderless tracking)[30]、TLD[31]、CT(real-time compressive tracking)[32]、SMS(mean-shift blob tracking through scale space)[33]、MTT(robust visual tracking via multitask sparse learning)[34]、CSK(exploiting the circulant structure of tracking-by-detection with kernels)[35]在精確度、成功率、速度三項指標在OTB 數據集上進行詳細評估,如表1所示。為了公平評估,均使用各指標的平均值。

表1 提出的算法與已有跟蹤器性能對比Table 1 Performance comparison between proposed algorithm and existing trackers
由表1 顯示,本文算法在保證速度的前提下,能夠實現較好的跟蹤準確性和成功率。且對光照變化、形變、背景雜波、遮擋等影響較魯棒。
通過對提出的算法和已有的跟蹤器進行實驗比較,發現本文算法實現效果較好,提出的跟蹤方法可行性較高。為此,本節從網絡結構、特征圖選擇、跟蹤方法等方面對提出的方法進行內部比較。用N表示網絡結構,N1表示Siamese 網絡每個分支僅使用AlexNet網絡,N2表示每個分支同時使用AlexNet和ResNet,N3表示每個分支同時使用AlexNet 和改進的ResNet;F表示用于識別提取到的特征,其中F1表示僅用淺層特征,F2表示僅用深層特征,F3表示本文提出的多特征融合;M表示跟蹤方法,M1表示全局搜索,M2表示本文提出的由局部到全局的搜索方法。實驗結果如表2所示。
由表2數據可得,改進的網絡結構和多特征融合的方法能夠極大提高目標跟蹤的精確度和成功率,但是跟蹤速度會有所下降。提出的由局部到全局的搜索策略導致在準確度和成功率上效果不明顯,但是在跟蹤速度上有明顯提升。

表2 算法內部比較Table 2 Algorithm internal comparison
本文針對目標跟蹤領域存在的跟蹤精度和跟蹤速度不平衡問題,以Siamese 網絡為基礎,構建結合AlexNet網絡和改進的ResNet網絡的Siamese自適應網絡。通過對提取到的特征進行多特征融合和自適應選擇提高特征圖的高效性,提高網絡的識別和定位能力。進一步,通過加入一種由局部到全局的搜索策略,極大地降低網絡計算復雜度,能夠節約時間資源和空間資源。在目標跟蹤標準數據集上進行實驗對比,結果表明,本文算法能夠實現較好的效果,同時在形變、背景雜波、遮擋等影響因素下具有較強的魯棒性。下一步工作將對實現超高的跟蹤精確度進行深入研究。