1. 程式人生 > >ICCV 2017 Tracking The Untrackable:Learning to Track Multiple Cues with Long-Term Dependencies 閱讀筆記

ICCV 2017 Tracking The Untrackable:Learning to Track Multiple Cues with Long-Term Dependencies 閱讀筆記

預備知識

RNN

CNN

LSTM

摘要

本文提出一種對長時間存在的多線索依賴關係進行編碼的線上方法。其中,為了解決在跟蹤方法中不能很好地對發生遮擋或具有相似外觀環繞的目標進行區分跟蹤的問題,本文提出使用RNN架構,結合了一定時間窗內的多線索,來進行跟蹤這一方法。通過該方法,我們可以修正資料關聯的錯誤,以及從被遮擋狀態中恢復原目標觀測。本文證明了通過使用目標的外觀、運動、以及互動這三個方面來進行資料驅動的跟蹤演算法是十分魯棒的。

整體架構


  • 使用"tracking-by-detection"的方法進行多目標跟蹤,將跟蹤分為兩步,第一步是檢測每一幀的目標,第二步是將每一幀的檢測目標關聯形成一個軌跡集。其中,第一步是通過將每一幀影象作為輸入傳給目標檢測器得到的檢測結果。對於新的一幀而言,跟蹤器需要計算當前幀中的目標和已存在的軌跡之間的相似度,如Fig.2所示,然後在由當前目標檢測與已存在軌跡形成的二分圖中,利用匈牙利演算法找到最優匹配結果。
  • 而本文的工作就是使用新的方法來計算兩者的相似度,通過在外觀、運動、互動三個模型上使用RNN求得目標特徵,然後連線三者特徵再次使用RNN可以求得相似度。需要注意的是,對於已存在的軌跡而言,不只是單獨對上一幀軌跡中的目標求特徵,而是對一定幀數內的目標序列聯合求特徵,即摘要中提到的“時間窗”。

外觀模型


  • 外觀模型主要用於解決重識別問題,同時還要能夠處理遮擋和其他視覺問題。
  • 外觀模型是一個基於CNN和LSTM結構的RNN,首先將不同幀數的軌跡目標影象傳入CNN,得到500維的特徵向量,然後將序列所有特徵向量傳入LSTM得到H維特徵向量,接著將當前目標檢測也傳入CNN得到H維特徵向量,連線兩H維特徵向量並傳入FC層得到k維判別外觀的特徵向量。
  • 在訓練時使用Softmax分類器對0/1分類問題進行預訓練,判斷當前目標檢測是否屬於某軌跡;When combining with other cues, we use φA of size 500 as part of the input to our target RNN (O).(這裡存在疑問:前文說φA維數是k,這裡說是500,後文提到引數k實際設為100,所以這個500是否只是指在預訓練時的引數?);使用16層的VGGNet作為該模型的CNN,We begin with the pre-trained weights of this network, remove the last FC layer and add an FC layer of size 500 so that the network now outputs a 500-dimensional vector.(這裡應該是證實了上面的疑問猜想,在預訓練時先移除原先FC層,而用500大小的FC層來代替)。

運動模型


  • 運動模型主要用於判斷目標是否被遮擋或產生其他狀況,其主要面臨問題在於在遇到干擾的目標檢測時會有不好的結果,因此本文使用LSTM來處理這類問題。
  • 除了CNN外,運動模型和外觀模型的結構類似,唯有輸入從影象變成了運動向量,該向量主要包括x,y兩個方向的速率變化,其餘輸出的維度以及預訓練的操作都保持不變。

互動模型


  • 互動模型主要用於處理目標與其周圍事物的作用力關係。由於目標附近的其他目標數量是會發生變化的,為了使網路模型使用相同的輸入大小,本文將每個目標的周圍都建模成固定的"佔有塊"。
  • 和運動模型的結構相同,只有輸入變成了"佔有塊圖",其餘皆不變。

目標模型

  1. 第一,以上三個模型都會先獨立進行預訓練,使用標準Softmax classifier和cross-entropy loss,每個RNN輸出正或負的概率,其中正表示新目標檢測在三個方面都和之前的目標軌跡匹配,否則則是反。
  2. 第二,目標RNN的輸入是以上三個模型輸出出來的特徵向量的連線,最後目標RNN的隱藏狀態(H維向量)將經過一個全連線層,生成一個編碼了所有線索的長時間依賴關係的特徵向量φ(t,d)。同時,目標RNN還訓練用來進行資料關聯——使用Softmax classifier和cross-entropy loss來輸出檢測d與目標t之間的匹配分數。

實驗結果與分析

"To recall, we use our learned representation in the MDP framework. We have one target LSTM for each target, and the MDP framework tracks the targets using the similarity computed with our learned representation."

對於每個目標,MDP有兩個程序:第一,它採用基於光流法的單目標跟蹤子對目標獨立跟蹤;第二,當目標發生遮擋時,單目標跟粽子停止跟蹤,然後建立一個類似Fig.2的二分圖,使用匈牙利演算法回覆被遮擋的目標。需要注意的是,MDP也會根據給定的表示方式學習到一個相似性分數,而本文將這個表示方法替換成了目標RNN的輸出(φ(t,d)),去證實我們學習方法的作用。


  • 設引數H=128,k=100,序列長度=6,互動模型中的輸入影象被均勻分成15*15的網格,其中每個目標周圍有7*7的子網格被當作是"佔有塊"。其他RNN的引數具體參考論文。
  • 使用多線索長時間依賴關係可以使被遮擋或漂移了的目標恢復到正常,因此MT更高,ML更低,然而IDS卻也更高。實際上,當目標被遮擋時,我們的演算法可能會將它們錯誤地分配到其他檢測上,但是當目標重新出現時,我們的演算法會重新將它們匹配到正確的檢測上,這就導致了IDS的增高。

  • 與其他多目標跟蹤演算法相比,本文演算法優點之一在於相似性得分上,它是一個能在過去幀中結合多個線索並在每幀使用最正確的線索來度量的函式。這樣設計的原因在於經常存在這種情況:某些線索好用而其他線索存在噪聲干擾或不夠有區分度。
  • 例如Fig.9斯坦福無人機資料庫的跟蹤結果,所有的目標都比較小,因此用外觀模型來判別就會產生錯誤。

Ablation Study

目的在於解決兩個問題:一,高效地對每個線索建模;二,高效地結合所有線索。
  • 由上一小節可知斯坦福無人機資料庫目標較小,也因此不會產生較長的遮擋問題,所以只需要較短的序列長度。而且隨著序列長度的增加,MOTA也會逐漸達到飽和,這和遮擋時間長短有關,一般序列長度與最長遮擋幀數相等時,效果最好。

  • 為了驗證RNN的重要性,使用全連線層分別代替目標RNN和所有的RNN進行測試,結果如Table.2。

  • 測試不同成分對實驗結果的影響。
  • "Our proposed target LSTM (in charge of combining all the other RNNs) effectively reason on all the cues to increase the performance."