郭 睿,藍 龍,王正華
(國防科技大學 計算機學院,湖南 長沙 410073)
視頻目標跟蹤是一個具有較大挑戰性的計算機視覺研究方向,也是計算機視覺應用領域的基礎性研究內容,在眾多社會生產實踐中有著廣泛應用,如視頻監控、智能機器人、無人機等。視頻目標跟蹤旨在根據初始視頻幀中給定感興趣物體的初始位置信息,在后續視頻幀中連續鎖定該物體,即給出該物體在后續視頻幀中的位置信息。近年來,深度學習技術取得了長足發展,成為計算機視覺領域的關鍵技術之一,極大地推動了視頻目標跟蹤技術的進步,且顯著提高了視頻目標跟蹤效果。然而,在面對諸如遮擋、模糊等復雜的視頻應用場景時,設計一個具有高魯棒性的視頻目標跟蹤器仍具有很大的挑戰性。
視頻目標跟蹤的核心在于如何根據外觀及運動推測信息有效地檢測目標,并連接視頻幀序列中的已檢測目標,從而獲得穩定、健壯、平滑的跟蹤軌跡。視頻目標跟蹤主要包括針對多目標的跟蹤以及針對單目標的跟蹤兩個方向。多目標跟蹤是跟蹤領域中一個更復雜的研究方向,相比單目標跟蹤,多目標跟蹤還需要正確識別不同視頻幀中的目標ID[1]。本文中提到的跟蹤都為單目標跟蹤。
視頻目標跟蹤與目標檢測、視頻目標檢測有著緊密聯系。目標檢測是將單張圖片作為研究對象,對圖片中所有感興趣的物體進行檢測,給出待檢測物體的位置信息和類別信息。由于目標檢測僅依賴單張圖片中的信息,相比于視頻目標檢測,目標檢測的性能仍然受到一定限制。視頻目標檢測利用待檢測目標在連續視頻幀中的時序相關性,能夠顯著地提高檢測性能,甚至在模糊、遮擋等場景下也能較準確地輸出檢測結果。視頻目標檢測與視頻目標跟蹤在研究目的上存在交集:二者都需要在視頻幀中準確給出感興趣物體的位置信息。如果不考慮輸出感興趣物體的類別信息等,而僅是研究視頻幀中感興趣物體的位置信息,視頻目標檢測與視頻目標跟蹤沒有明顯區別。
傳統的視頻目標跟蹤根據第一幀中給定物體的初始位置對后續視頻幀中感興趣的物體進行位置預測,跟蹤器在后續幀中根據物體的外觀特征與前序幀的運動信息預測感興趣物體位置。這種類型的方法往往更關注跟蹤器速度,通常應用于簡單的場景中。但現實中更多不可預知的情況會顯著降低視頻幀質量,如視頻幀中物體間的遮擋、模糊,待跟蹤物體尺寸大小和外觀在不同幀中的變化以及光照影響等[2]。對于傳統跟蹤算法,預測待跟蹤目標的位置信息主要取決于特征信息豐富與否,而上述因素會顯著削弱神經網絡對待跟蹤目標的特征提取能力,進而造成包括目標顏色、紋理等諸多特征信息的缺失,以及前后背景差異的減小,容易導致目標跟蹤錯誤或丟失;特征信息的突變也極易造成跟蹤結果漂移,從而很大程度上影響最終的跟蹤效果。為設計出更健壯的跟蹤器以解決這些問題,研究者們提出一些新算法。對于目標跟蹤而言,更多特征信息即意味著算法擁有更多輸入信息,因而能有效提升跟蹤效果。如文獻[3]提出Gradient-Guided 網絡并將其應用于跟蹤領域,利用梯度信息得到更豐富的特征信息;文獻[4]提出基于子幀分析的方法以減少運算的高開銷,其將視頻幀分成若干子幀,通過對每一個子幀中的目標進行檢測,再對檢測結果進行后處理以達到跟蹤目的,從而實現了將跟蹤算法部署在低算力設備上的可能。
文獻[5]引入SA-Siam 網絡以提高實時跟蹤性能,網絡結構包括語義分支和表觀分支,兩個分支相互作用以提升跟蹤效果;文獻[6]提出Siamese-RPN 算法,RPN 概念首先被應用于檢測領域,將其應用于跟蹤中,可提高視頻目標跟蹤性能。然而,這兩種方法都忽略了視頻中鑲嵌在前序幀序列中的信息。從跟蹤的另一個方面來考慮,研究視頻目標跟蹤,還在于如何有效利用歷史信息提高物體在當前幀的位置預測精度。文獻[7]利用RNN 進行跟蹤,其基于RNN 對視頻中的物體運動進行預測;文獻[8]利用STLSTM 實現跟蹤,LSTM 按照用途可分為兩大類,一類是空間LSTM,用于提取視頻幀的空間特征,另一類是時間LSTM,用于獲取時間相關變化特征,通過對時空兩個維度的研究提高跟蹤效果。
由于視頻目標檢測與目標跟蹤在研究目的上的相似性,因此一些視頻目標檢測研究方法也給視頻目標跟蹤研究帶來了一定啟示。文獻[9]引入關鍵幀技術,并在關鍵幀篩選方面進行創新,取得了理想的視頻目標檢測效果;文獻[10]提出一種STSN 算法,該算法的時空采樣模塊會根據當前幀的特征圖,從臨近幀的特征中提取所需特征并進行融合,然后作為檢測的輸入信息產生檢測結果;文獻[11]對視頻幀進行特征提取得到特征圖,根據光流推測的幀間運動信息對臨近幀進行warp 操作,并將其與當前幀特征圖進行融合;文獻[12]從pixel-level 和instance-level 兩個角度進行特征對齊,能更好地處理遮擋問題。
2017 年,文獻[13]提出目標跟蹤算法ROLO,ROLO 是基于YOLO 并將LSTM 引入目標跟蹤中的算法。YOLO 是you only look once 的簡稱,是一個高性能的目標檢測算法。ROLO 將YOLO 作為特征提取模塊,以生成初始位置信息與當前視頻幀的特征信息,并采用目前普遍使用的循環神經網絡LSTM,根據特征預測感興趣物體的位置信息。RO?LO 從時間和空間兩方面研究跟蹤,該思想也被廣泛應用于多目標跟蹤中[14]。
基于上述算法可得出如下結論,檢測器與豐富的歷史信息兩個因素在視頻目標跟蹤中起著重要作用。在面對復雜場景時,比如受到物體間遮擋、目標物體外形劇烈變化以及光照等因素影響,由于特征表達的缺失,會導致跟蹤算法對目標跟蹤丟失或漂移。因此,本文針對目標跟蹤問題設計一款基于IOU 匹配的跟蹤器,利用檢測信息與歷史信息,使其在實際跟蹤過程中面對復雜場景具有更強的魯棒性、檢測速度更快。
近年來,目標檢測同樣是計算機視覺領域一個重要的基礎性研究方向,因此目標檢測技術的發展也經歷了從傳統到融合深度學習的過程。傳統檢測器基于滑動窗口選擇區域,然后對區域進行特征提取,再使用分類器進行分類,從而達到檢測目的[15-16]。然而傳統目標檢測方法的檢測精度仍有較大提升空間,而且基于滑動窗口獲取區域會產生巨大的計算開銷。隨著深度學習的發展,目標檢測與卷積神經網絡的結合突破了目標檢測領域的研究瓶頸,檢測效果得到了大幅提高?;谏疃葘W習的目標檢測算法有兩大分支:①兩階段的目標檢測算法,典型代表包括RCNN[17]、Fast R-CNN[18]、Faster R-CNN[19]算法等;②單階段的目標檢測算法,也稱為端到端的目標檢測算法,典型算法包括SSD[20]與YOLO[21]系列算法,目前眾多版本的YO?LO 系列算法已廣泛應用于檢測領域[22-23]。ROLO 采用YO?LO 作為特征提取模塊,YOLO 是由Redmon 等[21]于2016 年提出的一個端到端的目標檢測算法。在該算法中,待檢測圖片只需被處理一次即能得到物體的位置信息和類別信息。YOLO 的核心思想是把一張圖片劃分為S*S的網格,每一個小網格負責預測中心落在該網格中的物體。網絡以一張圖片作為輸入,將其大小調整為448*448,經過神經網絡的處理,最終輸出S*S*(B*5 +C)維度大小的張量。其中,S 一般取7,B 代表每個網格預測的檢測框個數(B 一般取2),5 代表檢測框的坐標信息、高度、寬度及置信度,C 代表待分類別總數。YOLO 網絡包括24 個卷積層,在網絡最后有兩個全連接層,維度分別為4 096 和1 470。在深度神經網絡中,全連接層能融合先前神經網絡層的輸出,因此全連接層常被應用于分類中。在YOLO 中,網絡中的全連接層包含了待檢測圖片極其豐富的特征信息,因而ROLO采用YOLO 網絡中4 096 維全連接層的輸出作為重要的特征來源。
循環神經網絡是一種專門處理序列問題的神經網絡,其能充分利用歷史信息進行相應運算,因此被廣泛應用于自然語言處理與計算機視覺領域。一些研究人員將循環神經網絡應用于目標跟蹤中,如文獻[24]采用循環神經網絡進行多人跟蹤。LSTM(Long Short-Term Memory)是一種特殊的循環神經網絡,其可以克服循環神經網絡梯度消失的缺陷,因此在處理長序列問題時具有獨特優勢[25]。通常而言,循環神經網絡有兩類輸入,x 與h,x 是當前輸入信息,h 是先前循環神經網絡單元的輸出信息。相比于普通循環神經網絡,除x 與h 兩類輸入外,LSTM 還有一個特殊結構:cell state(c)。LSTM 會根據xt和ht-1的輸入決定丟棄一些用處不大的狀態信息,在完成丟棄操作后,LSTM 會對狀態信息進行更新:將ct-1更新為ct,并將有價值的信息存儲進狀態中。狀態信息的引入極大地提高了LSTM 處理長序列問題的能力。因此,在ROLO 中使用LSTM 預測視頻中感興趣的物體位置。
ROLO 沿用傳統的檢測—跟蹤模式,使用循環神經網絡學習歷史信息以達到跟蹤目的[13]。ROLO 利用LSTM 處理融合特征信息,并對其進行運算。算法主要由兩部分組成:第一部分用來提取特征,在該模塊中,ROLO 使用YOLO網絡提取視頻幀特征,ROLO 把重心放在YOLO 網絡末端的全連接層上,將全連接層輸出的4 096 維度特征與6 維的檢測輸出結果[class,x,y,w,h,confidence]融合(class 為檢測輸出的類別信息,x、y 為檢測框坐標信息,w、h 為檢測框的寬、高信息,confidence 為檢測輸出的置信度信息),生成4 102 維的特征向量,以其作為LSTM 單元的輸入產生最終結果。對于跟蹤問題,類別信息和置信度信息不是核心研究目標,因此將6 維特征[class,x,y,w,h,confidence]中的class 和confidence 置零,變為[0,x,y,w,h,0],將4 096 維的特征與調整后的6 維特征拼接在一起成為新的特征向量。第二部分是LSTM 模塊,也是ROLO 跟蹤算法的核心模塊,該部分負責解釋融合后的4 102 維度特征向量以產生最終的位置信息。每個LSTM 單元的輸入來自于兩部分:一是當前視頻幀融合后的4 102 維度特征向量,二是LSTM 單元的狀態信息。
在訓練階段,ROLO 采用Mean Squared Error 作為損失函數,計算預測的x、y、w、h 與ground truth 中各自對應屬性的均方差,采用Adam 方法優化網絡,以期獲得更優的網絡。
針對LSTM,LSTM 單元需要學習來自前序狀態中的歷史狀態信息,因此ROLO 探究了LSTM 單元步長對實驗結果的影響。具體而言,ROLO 選取步長為3、6、9 分別進行實驗,所有實驗都在OTB-30 數據集上展開,以22 個場景的數據集作為訓練集、剩余8 個場景作為測試集展開實驗。從實驗結果來看,步長為6 獲得了最好的實驗效果。
本節提出一個簡單的基于IOU 匹配的跟蹤器與ROLO算法進行對比。在跟蹤過程中,視頻中緊密相連的視頻幀僅有非常微小的變化,相應地,待跟蹤物體的位置變化幅度也很小。受此啟發,本節通過計算當前幀的檢測候選框與前一幀跟蹤框之間的IOU 預測物體位置。相比跟蹤器的位置預測,檢測器擁有比跟蹤器更精確的位置輸出,加上利用前序幀的跟蹤結果,從視頻首幀層層傳遞跟蹤結果,有效避免了由于特征信息缺失等原因造成跟蹤神經網絡輸入特征信息受限,進而影響最終跟蹤結果的情況。該算法在第一幀中使用ground truth 明確指出待跟蹤的物體,在剩余幀中使用IOU 匹配策略預測待跟蹤物體的位置信息。具體方法如圖1 所示。
圖1 左側為輸入的視頻幀,從上到下依次是視頻的序列幀。視頻幀首先經過YOLO 檢測網絡的處理,輸出檢測到的物體位置信息,綠色檢測框即是初始的檢測輸出。對于t+1 幀,紅色跟蹤框代表第t 幀的跟蹤結果,綠色檢測框代表當前幀的檢測結果。本文方法就是要從綠色候選檢測框集合中選擇一個最合適的檢測框作為當前幀的跟蹤結果。具體篩選流程如式(1)-式(5)所示。

其中,Tt代表第t 幀的跟蹤結果,xt、yt、wt、ht代表跟蹤框的坐標信息和寬高信息,Tt即是圖中的紅色框。Dt+1代表第t+1 幀的檢測結果(即圖中的綠色檢測框集合),dn代表檢測框集合Dt+1中的第n 個檢測框,是第n 個檢測框的坐標信息和寬高信息。具體而言,計算Dt+1集中每一個檢測框和Tt的IOU 數值,當IOU 數值最大時,選擇此時用于計算的檢測框作為當前幀跟蹤結果。

Fig.1 Tracker based on IOU matching圖1 基于IOU 匹配的跟蹤器
基于IOU 匹配的跟蹤器以一段待跟蹤的視頻作為跟蹤器的輸入,在視頻幀首幀中給出擬跟蹤目標的初始位置信息,之后將視頻每一幀依次輸入網絡。首先經過YOLO 檢測模塊,給出視頻幀中的初始檢測結果集合,然后以前后緊鄰的視頻幀為研究對象,關注后一幀的檢測結果與前一幀的跟蹤結果。具體地,前序幀跟蹤結果與當前幀檢測結果作為IOU 匹配的輸入,按照式(1)-式(5)的IOU 匹配策略從當前視頻幀的檢測結果集合中篩選出跟蹤結果,以此作為當前幀跟蹤目標的位置信息,再進行bounding box 輸出,將整個視頻的跟蹤結果依次輸出,即達到了跟蹤目標對象的目的。
本文實驗基于Python 與Tensorflow 深度學習框架,在配置有Intel Core i9-9820X CPU 和NVIDIA RTX 2080Ti 的機器上完成。實驗選擇OTB100 作為測試數據集來源,該數據集包含98 個場景,其中大部分場景都屬于復雜場景,如遮擋、形變、尺度變化、模糊等。為與ROLO 進行公平的對比,本文選擇ROLO 所用的實驗數據集OTB-30 進行實驗(該數據集選自OTB100 數據集中比較復雜的30 個場景),文獻[13]證實了OTB-30 數據集比OTB100 數據集具有更大的挑戰性。
圖2 展示了OTB-30 的一些場景,實驗中使用bounding box 框定物體來顯示跟蹤對象。紅色框是真實值,綠色框是ROLO 的結果,藍色框是本文提出跟蹤器的結果。
為了與ROLO 進行公平的對比,本文采用與ROLO 相同的實驗設置。ROLO 進行了3 組定量實驗,一組的實驗背景與監控場景有關,另一組實驗用來證明訓練圖片數目對實驗結果影響較大,這兩組實驗對通常意義上的目標跟蹤評估參考價值不大。除這兩組實驗外,另一組實驗是常規實驗,ROLO 在OTB-30 數據集上選擇22 個場景進行訓練,并在剩余8 個場景中進行測試。

Fig.2 Qualitative tracking results圖2 定性跟蹤結果
對于OTB 數據集,最重要的評估指標為success plot。該評估指標反映了跟蹤框與真實值之間的重合度,具體如圖3 所示(彩圖掃OSID 碼可見,下同)。其中,橫坐標為閾值,范圍為0~1。對于范圍內的每一個閾值,計算在當前閾值下,跟蹤框與ground truth 之間的IOU 超過該閾值的視頻幀數量占整個視頻幀數量的比例,曲線下方面積即為最終的定量結果。
圖3 為實驗的success plot 結果,將本文提出的跟蹤器與ROLO、跟蹤算法FOT(OTB 數據集官網公布的跟蹤器)進行對比。實驗中,本文按照ROLO 從OTB-30 中選擇8 個場景作為測試集,分別為[Human2,Human9,Suv,BlurBody,BlurCar1,Dog,Singer2,Woman](該場景集合稱為場景A 集合),可以看出,本文方法在精度上超過了ROLO、FOT。
為避免偶然因素對實驗的影響,本文進行了另外一組對比實驗,仍然從OTB-30 數據集中隨機選擇另外8 組場景作為測試集,分別為[Skater,Skater2,Dancer,Dancer2,CarScale,Gym,Human8,Jump](該場景集合稱為場景B 集合)。這8 個場景與上一組實驗場景完全不同,并且這兩組實驗測試的16 個場景覆蓋了OTB-30 數據集場景的一半以上。
實驗結果如圖4 所示,本文方法取得了與ROLO 相似的結果。

Fig.3 Comparison of tracking algorithms under scene A set圖3 場景A 集合下各跟蹤算法對比

Fig.4 Comparison of tracking algorithms under scene B set圖4 場景B 集合下各跟蹤算法對比
為探究本文方法在采用不同策略時的性能,設計了兩組消融實驗,具體如下:實驗中通常選擇緊鄰前序幀的跟蹤結果,然而在現實情況下,由于視頻幀質量的原因,緊鄰前序幀不一定都能穩定輸出跟蹤結果。為解決該問題,需要繼續尋找合理的前序跟蹤結果以幫助當前幀輸出跟蹤結果。特別地,當緊鄰前序幀中沒有跟蹤結果時,依次向前尋找次緊鄰幀的跟蹤結果,如果都沒有跟蹤結果,則使用ground truth,上述過程稱為策略1(trick1)。本文對應又提出策略2(trick2),針對單目標跟蹤,由于待跟蹤物體大都是視頻幀中最明顯的目標,因此在遇到前序幀沒有跟蹤結果的情況時,選擇當前視頻幀中置信度最高的檢測結果作為跟蹤結果,策略2 為前面實驗默認的設置。
對于測試集合A,兩種策略的對比實驗結果如圖5 所示,可看出策略1 取得了更好的結果。針對測試集合B,采用兩種策略進行了新的實驗。實驗結果如圖6 所示,可看出策略2 取得了更好的結果。

Fig.5 Comparison of two tricks under scene A set圖5 場景A 集合下兩種策略對比

Fig.6 Comparison of two tricks under scene B set圖6 場景B 集合下兩種策略對比
綜合兩個實驗結果,本文推測兩種策略對場景的差異比較敏感。場景A 集合大多屬于MB(Motion Blur)屬性,而場景B 集合大多屬于SV(Scale Variation)屬性,兩種策略在面對不同屬性的場景時,實驗結果存在差異。
面對復雜場景,如圖7(屬性為Scale Variation)、圖8(屬性為Illumination Variation)所示,由于特征信息的突變或缺失,ROLO 算法對目標的跟蹤出現了漂移。然而,本文方法依靠檢測信息和歷史信息,通過檢測可給出精確的位置信息,再利用前序的跟蹤結果,有效避免了由于特征信息不足導致位置預測的偏離,能夠穩定地輸出跟蹤結果,展示出較強的魯棒性。

Fig.7 Scene CarScale圖7 場景CarScale

Fig.8 Scene Human8圖8 場景Human8
本文分析了ROLO 算法與提出的IOU 匹配跟蹤器的效率,實驗結果表明,ROLO 算法效率為18fps,而本文提出的跟蹤器效率達到了65fps,相比ROLO 提高了約2.5 倍,并且算法的運行對運算資源要求較低,可滿足實時性以及部署在低算力設備上的需求。
從實驗結果來看,本文跟蹤器達到了與ROLO 相似的實驗效果。本文跟蹤器是將YOLO 的檢測結果進行后處理,再將經過處理的檢測結果連接起來作為跟蹤結果,而ROLO 使用LSTM 解釋融合特征,進而輸出跟蹤結果。
通過對二者進行詳細分析,本文跟蹤器使用YOLO 作為檢測模塊,檢測模塊中4 096 維的特征,再經過全連接層處理并輸出檢測結果,對該結果進行優化處理后即為跟蹤結果。ROLO 算法使用LSTM 對4 102 維的融合特征進行解釋,然后輸出跟蹤結果,其采用的融合特征形式為(f1,f2,…,f4095,f4096,0,x,y,w,h,0)。事實上,4 102 維特征由4 096 維特征與6 維特征(4 維的位置信息加上類別、置信度的2 個置零位)拼接而成,而這6 維的特征信息在整個融合特征中占比較低,與4 096 維特征差距微小,兩種方法取得了相似的實驗結果,因此本文推測ROLO 中使用的LSTM 起到了全連接層的作用。
在運算開銷方面,ROLO 算法在訓練階段首先需要輸出所有訓練視頻幀在YOLO 中的特征提取結果,再以其作為輸入來訓練LSTM,過程較為復雜,并且使用LSTM 處理4 102 維度特征,運算過程開銷巨大,難以部署在低算力設備上。而本文提出的跟蹤器運算開銷較小,運算速度較快,適合部署在低算力設備上。
本文探究了ROLO 跟蹤算法,指出ROLO 算法雖然取得了一定效果,但其在復雜視覺場景下魯棒性不佳,因此提出一款基于IOU 匹配的目標跟蹤器。為突出該跟蹤器在復雜視覺場景下的優異性能,本文使用OTB-30 作為實驗數據集,實驗所用數據集的30 個場景相比通常使用的OTB數據集具有更大的挑戰性。實驗結果顯示,基于IOU 匹配策略的跟蹤器在處理復雜場景下的跟蹤問題時,有效避免了因特征信息缺失對跟蹤結果造成的較大影響,實驗結果具有更強的魯棒性,且大幅提高了跟蹤速度,在對實時性要求較高且算力有限的條件下具有一定應用價值。