趙奇慧 劉艷洋
(智慧互通科技有限公司靜態交通技術創新中心 河北省張家口市 075000)
計算機視覺技術使計算機能夠像人類一樣“看世界”。它利用攝像機來模擬人眼的功能,從而實現對目標的提取、識別和跟蹤。視覺跟蹤是計算機視覺中最具挑戰性的問題之一,它可以實現對指定目標的跟蹤、定位和識別功能,并將目標的參數提供給控制器供后續使用。視覺跟蹤在移動機器人、自動駕駛、人機交互、自動監控等機器智能領域有著廣泛的應用。
智能交通是“智慧城市”的關鍵內容之一。在城市的主干道,尤其是十字路口,對車輛、行人等目標的自動檢測與跟蹤是智能交通系統的重要任務。目前基于深度學習的目標跟蹤借助于云平臺,能夠及時有效地實現對交通狀態的感知,從而提高整個城市的交通效能,因而起著越來越重要的作用。
基于計算機視覺的車輛跟蹤任務主要分為三個步驟,首先人為確定視頻場景中的感興趣區域,然后在后續視頻幀中找出車輛的位置,最后通過一系列場景分析得出車輛運動的軌跡。
典型的車輛跟蹤算法主要包括四個部分:初始化、運動模型、外觀模型和更新模型。初始化的目的是確定要進行跟蹤的車輛的初始位置和大小,通常由人工標注獲得,而在實際應用中也可以由目標檢測算法提供。運動模型是對車輛的運動狀態進行建模,用來預測車輛在下一幀可能出現的位置或生成一組候選樣本供車輛外觀模型評價。外觀模型是通過對車輛外觀進行建模,用來評價候選位置或候選樣本。更新模型是根據跟蹤結果對外觀模型和運動模型進行更新,以適應目標和背景的動態變化。
當前許多研究學者對車輛跟蹤有研究,莫舒玥[1]提出了通過構建車輛動態目標位置的運動學模型,研究了車輛彎道保持系統中的動態目標位置跟蹤問題,實現了自適應預測。胥中南[2]提出了一種快速分類尺度空間跟蹤器,在核相關濾波算法的基礎上融合了卡爾曼濾波器,解決了復雜路況下車輛多尺度變換的問題。王威[3]等人提出考慮控制延時的MPC控制器,實現了車輛路徑的追蹤。劉國輝[4]等人將龐大的VGG-M網絡模型應用到實時跟蹤中,并結合在線觀測模型,實現了對前方車輛穩定精準的跟蹤。楊妍[5]等人提出通過確定車輛的質心位置、最小外接矩形和運動方向,使用基于匹配特征的方法來實現對運動車輛的跟蹤。范永昆[6]等人提出一種車輛目標的尺度搜索算法,通過比較目標區域上三個特定尺度相關濾波響應的平均峰值相關能量,推斷出目標尺度的變化方向,有效解決車輛跟蹤過程中尺度變化導致的模型漂移問題。宋士奇[7]等人提出了改進YOLOV3 網絡,其采用了密集連接卷積網絡的設計思想,實現了車輛的追蹤,改善了雨雪天下車輛追蹤精度不良的情況。
隨著人工智能技術的不斷發展,車輛跟蹤算法的性能逐漸改善,但是在復雜的環境下對運動目標實現實時、穩定的跟蹤,仍存在很大的挑戰,面臨的挑戰主要有四點:
(1)形態變化。姿態變化是車輛跟蹤中常見的干擾問題.運動目標發生姿態變化時,容易導致跟蹤失敗。
(2)尺度變化。由于跟蹤框不能自適應跟蹤,會將很多背景信息包含在內,導致目標模型的更新錯誤。
(3)遮擋與消失。車輛在運動過程中可能出現被遮擋或者短暫的消失情況。
(4)圖像模糊,光照強度變化,車輛快速運動,低分辨率等情況會導致圖像模糊。
但近年來,為了提高目標跟蹤器的跟蹤效率和魯棒性,出現了一些深度學習模型。主要包括有CNN、GRU、GAN、Siamese network等。
CNN[7]是一種前饋神經網絡,其中每個神經元與前一層感受野范圍內的神經單元相關。卷積神經網絡通常包含卷積層、激活函數、池化層以及全連接層,其中,卷積層由若干卷積單元組成,卷積運算是為了對輸入圖片進行特征提取,淺層的卷積神經網絡提取一些低級的特征如邊緣、輪廓和角點等,深層網絡從低級特征中提取更為復雜的特征。池化層即降采樣層,通常經過卷積層后會得到維度較大的特征,經過池化層后可得到維度較小的特征。全連接層把所有局部特征結合變成全局特征,代表性的CNN模型有 AlexNet[8]、VGGNet[9]、GoogLeNet[10]、ResNet[11]等。部分卷積網絡基本結構單元如圖1所示。
Siamese network[12]是Yann Lecun提出來的,以兩副圖為輸入,然后分別進行特征提取,最后判斷兩幅圖的相似性。孿生網絡是一種基于相似性度量方法的網絡,適用于樣本數少的多類別的識別和分類等情況。傳統的方法由于類別的樣本太少,所以無法訓練出現有效的神經網絡。SNN在過去幾年被廣泛用于視覺跟蹤,所有的基于SNN的方法的目的是為了克服預訓練的速度慢的缺點,充分實現端到端的學習,以達到實時跟蹤的目的。孿生網絡基本結構如圖2所示。
GAN[12]主要包括生成器與判別器兩部分。生成器通過學習真實圖像從而生成的和真實圖像極為相似的假圖像,以欺騙判別器,判別器對接收的圖像進行真假判別。在訓練過程中,生成器努力地讓生成的圖像更加真實,而判別器則努力地去識別出圖像的真假,隨著訓練的迭代,生成器和判別器在不斷地進行對抗,期望網絡達到一個均衡狀態。最終生成器生成的圖像越來越接近于真實的圖像,使得判別器識別不出真假圖像。GAN網絡基本結構如圖3所示。

圖1:部分卷積網絡基本結構單元

圖2:孿生網絡基本結構

圖3:GAN網絡基本結構

表1:各種基于預訓練模型的視覺追蹤方法

表2:各種基于在線訓練模型的目標跟蹤方法

表3:各種基于離線訓練模型的目標跟蹤方法
由于視覺跟蹤涉及到視頻幀的空間和動態信息,因此采用基于RNN[14]的方法來模擬目標的運動。由于訓練需要大量的參數導致訓練過程較為復雜,因此基于神經網絡的方法數量有限。此外,使用基于RNN方法的目的是避免對預先訓練好的CNN模型進行微調,因為微調已經訓練好的模型需要花費大量時間,而且容易出現過擬合的問題。基于RNN的方法的主要步驟是,首先利用金字塔型多向遞歸網絡或長短期記憶網絡(LSTM)合并到不同的網絡中,然后確定目標并研究前后目標物的時間依賴關系。最后,對目標的自結構進行編碼,以降低與相似干擾物相關的跟蹤靈敏度。RNN網絡基本結構如圖4所示。
目前基于深度學習的跟蹤方法主要是利用深度特征強大的表征能力來實現目標跟蹤。按照訓練方法不同,可分為基于預訓練的目標跟蹤、基于離線訓練的目標跟蹤和基于在線訓練的目標跟蹤三種類型。

圖4:RNN網絡基本結構
基于預訓練的目標跟蹤方法主要是利用現成的深度神經網絡模型對數據進行預訓練,是基于深度學習的視覺跟蹤方法中的最簡單方法。在結構方面,疊加了一個簡單的適用于車輛跟蹤的深度學習神經網絡模型,如AlexNet[8],VGGNet[9]。或疊加了一個有向無環圖拓撲,如GoogLeNet[10],ResNet[11],Siamese convolutional neural network[12]等,可以設計出更復雜的深層結構,包括多個輸入/輸出層,使用不同的特征模型便可設計出不同的方法,這些特征圖和模型主要是在ImageNet數據集等大型靜態圖像上預先訓練過的,用于目標的檢測和跟蹤任務。
從表1的對比數據可以看出,基于預訓練模型的跟蹤方法大多運行速度較快,該類型方法中預訓練網絡為大多VGG網絡,其中運行速度最快的方法是TADT,其預訓練模型為孿生匹配網絡。
其中:置信度圖(CM),顯著性圖(SM),邊界框(BB),目標評分(OS),特征圖(FM),分割蒙版(SGM),旋轉邊界框(RBB),動作(AC),深度外觀特征(DAF),深度運動特征(DMF)
采用預訓練的目標跟蹤方法有很多優點:一方面,完全使用預訓練網絡,節省了大量的訓練時間,而且無需在線更新網絡,可以取得較快的跟蹤速度;另一方面,預訓練網絡可以利用預訓練樣本中大量圖像分類的標注數據,解決了目標跟蹤中訓練樣本不足的問題。缺點有兩個,一是訓練的網絡不能完全適應目標跟蹤這個任務; 二是目標在跟蹤過程中會發生很多形變,跟蹤精度會不足。
基于在線訓練網絡的目標跟蹤方法能更好的進行目標跟蹤,其優點是可以適應目標尺度的變化。該訓練方法主要分為三步,首先采用預訓練的網絡對視頻進行初始化,然后用第1幀的標注樣本訓練目標檢測部分和特征提取部分,最后根據預測結果,生成一定的正、負樣本,微調整個網絡。
從表2的對比數據可以看出,基于在線訓練模型的跟蹤方法大多在運行速度上同樣不是很理想,該類型方法中預訓練網絡大多為VGG網絡。
這種方法可以進一步提高網絡的跟蹤精度,較好地適應目標尺度的變化,顯著提高跟蹤性能。但是,基于在線訓練的目標跟蹤方法的跟蹤速度十分有限,一般很難達到實時要求。
基于在線訓練的目標跟蹤方法跟蹤速度十分有限,特征的提取和更新很難做到實時。為解決這一問題,提出基于離線端到端訓練的全卷積孿生網絡的跟蹤方法 SiamFC。SiamFC 主要學習相似度函數,用于目標匹配。SiamFC 主要學習相似度函數,用于目標匹配。孿生網絡分別輸入初始幀模板以及當前幀的搜索區域,分別使用相同的全卷積網絡提取特征,再用相關操作進行模板匹配,生成響應圖。響應圖中最大值的位置即是目標在搜索區域內的相應位置。網絡訓練時,SiamFC 采用 ImageNet VID的視頻數據,選取視頻中相隔不遠的兩幀輸入網絡進行相似度函數學習; 跟蹤時,訓練好的網絡無需調整,目標模板也無需更新,從而實現實時跟蹤。基于離線訓練的目標跟蹤方法不僅提高了跟蹤的精度,還能通過改善訓練過程中的過擬合現象來達到較好的跟蹤速度。
從表3的對比數據可以看出,基于離線訓練模型的跟蹤方法較在線訓練的方法運行速度快很多,該類型方法中效果較好的,其特征提取網絡大多為AlexNet。
基于離線訓練的目標跟蹤可以很好的平衡準確率和跟蹤速度,但是基于離線訓練的模型應用于在線跟蹤的任務時仍有困難,因為在提取特征時,非深度學習的方法都是人工手動提取特征,而SiamFC等深度學習方法因為沒有使用注意機制,導致目標跟蹤精度不夠。
在現階段,視覺跟蹤的關注點主要分為兩大類:第一類關注于提高準確性,但是速度非常慢(無論是CPU還是GPU),無法滿足機器實時應用的需求。第二類側重于速度,但是準確性有所缺陷。目前來看,跟蹤效果較好是基于ECO-HC的預訓練目標跟蹤王法,主要因為其使用了卷積,具有卷積的跟蹤方法性能優于僅具有手工特征的跟蹤方法,但該類型跟蹤方法的速度并不理想。雖然隨著深度學習的發展,跟蹤方法的性能越來越好、越來越快,但當前仍然不能應用于移動端(基于ARM或CPU)。
目標跟蹤數據集的創建,目的是對各種跟蹤算法進行性能比較。第一個建立的用于對象跟蹤數據集為OTB2013[14],包含由51個經過注釋的視頻序列。OTB2015[15]是OTB2013數據集擴展而來,其包括100個經過注釋的視頻序列。OTB 數據集的出現也促進了其他視頻數據集的發展。為了評估基于顏色信息的目標跟蹤算法,建立了TempleColor128[16]數據集。該數據集共包含128個彩色視頻序列,部分序列與 OTB 數據集重合。BDD100K數據集在計算機視覺領域,是樣本量和數據規模最大的車輛視頻數據集,包括了不同情景的車輛視頻,數據集包括了一天中不同時刻、不同的天氣條件下的圖像,總時長超過1,100小時。總的來說,該數據集囊括了接近10萬個視頻,每個時長約40秒,其中樣本圖片是每個視頻的第10秒截取的,以此來作為關鍵幀,總共捕獲了10萬張照片。
為了比較各個算法的性能,通常使用三種指標進行度量:第一個指標是精準度 (Precision),在圖像中跟蹤目標的中心與標準中心的差值小于某一個閾值所占視頻總幀數的比例。

其中,N表示一個視頻序列中的幀數,CLE表示心位置誤差,d表示一個特定閾值,dis表示兩點之間的歐氏距離,p1表示檢測到的跟蹤目標的中心,p2表示該目標物真實的目標中心。
第二個指標是成功率 (Success rate)。將當前幀中跟蹤框和標準框的重疊部分的面積與其覆蓋總面積做比值,得到數值 (VOR)。成功率是指計算跟蹤成功的幀數所占總視頻幀數的比例。

其中,BT表示生成的跟蹤區域;BG表示實際的目標區域;
第三個指標是表示跟蹤算法的速度,采用幀/秒 (FPS)表示。
車輛跟蹤算法發展至今,在特征表達、處理尺度變化、解決遮擋問題等方面都取得了長足的進步,顯著提升了算法的跟蹤精度和跟蹤速度。目前,車輛跟蹤算法在目標跟蹤領域存在的主要問題:
(1)如何提升深度特征跟蹤速度。
(2)如何訓練出更適合于車輛跟蹤問題的端到端模型。