基于深度學習的多目標跟蹤算法的主要任務是,優化檢測目標之間的相似性或距離度量的設計。根網絡學習到的特征的區別,可以將基于深度學習的多目標跟蹤算法分為基于深度表現特征的跟蹤網絡,基于相似性度量的跟蹤網絡以及基于高階匹配特征的跟蹤網絡如下圖所示。
將神經網絡學習到的目標的表觀特征引入到多目標跟蹤算法中,是提升多目標跟蹤算法效果的最簡單直接的辦法。其具體的操作方法有以下幾種:利用在圖像識別或行人重識別任務訓練得到的特征提取網絡,直接替換現有的多目標跟蹤算法框架中的表觀特征提取模塊;采用深度神經網絡學習光流運動特征,將光流網絡引入到算法中計算目標之間的運動相關性等。而通過深度學習提升多目標跟蹤算法更加直接的方法是學習檢測之間的特征相似性。譬如,設計深度網絡對不同目標之間的相似性進行度量,使得同一目標的相似距離小,不同目標的相似距離大,從而構造關于檢測距離的代價函數。也可以通過設計二分類代價,使相同目標的檢測特征匹配類型為 1,然不同目標的檢測特征匹配類型為 0,從而學習并輸出(0,1]之間的檢測匹配度。如果考慮已有軌跡與檢測之間的匹配,采用深度學習方法可以用于設計并計算軌跡之間的匹配相似度,這種方法可以認為是基于深度學習的高階特征匹配方法。使用深度學習計算高階特征匹配算法,可以學習多幀表現特征的高階匹配相似度,也可以學習運動特征的匹配相關度。下面將通過對基于孿生網絡的深度學習多目標跟蹤算法的詳細介紹,來說明基于深度學習的多目標跟蹤算法的詳細步驟。
基于對稱網絡的多目標跟蹤算法有很多種,而其中的一種便是采用 Siamese對稱卷積網絡,該算法以兩個尺寸相同的檢測圖像塊為輸入,輸出為兩個圖像塊是否屬于同一個目標的判別。通常有三種拓撲形式的 Siamese 網絡,其結構分別如下圖所示。經過實驗表明,第三種網絡結構能夠生成更好的判別效果,因此,Lealtaixe等人采用第三種拓撲形式的 Siamese 網絡訓練計算兩個檢測的匹配相似度,原始的檢測特征包括正則化的 LUV 圖像L1 和L2,以及包含 x,y 方向分量的光流圖像O1 和O2 ,然后吧這些圖像縮放到 121*53,疊加到一起構成 10 個通道的特征特征矩陣,將這個特征矩陣作為網絡的輸入。卷積網絡由三個卷積層、4 個全連接層以及二元分類損失層組成。
該網絡的損失函數如下公式所示,其中 phi(d1,d2) 表示檢測d1和檢測d2經過卷積之后得到的特征,y 表示是否對應相同目標,如果d1和d2, 來自同一個目標的檢測,則 y=1,否則 y=0。
為了訓練這個網絡,訓練樣本將從真實跟蹤數據中抽取,其中利用檢測算法得到的同一個軌跡的檢測對作為正樣本,而從不同的軌跡中得到的檢測作為負樣本。
為了增加樣本的多樣性,增強分類器的泛化能力,負樣本還包括從檢測周圍隨機采集的重疊率較小的圖像塊。
在 Siamese 網絡學習完成之后,網絡采用第六層全連接網絡的輸出作為表觀特征。為了將運動信息融入到算法中,又設計了 6 維的上下文運動特征,其中包括目標的尺度特征,目標的位置特征以及目標的速度特征,然后通過經典的梯度下降算法學習集成分類器。多目標跟蹤過程采用全局最優算法框架,通過對兩個檢測建立連接關系,生成目標匹配矩陣,計算他們的匹配度,最后利用最小代價網絡流轉化為線性規劃進行求解。
從上面的例子中可以看出,基于深度學習的多目標跟蹤算法和基于傳統機器學習的多目標跟蹤算法在流程結構上又很大的相似度,主要流程依然是提取前后幀檢測到的對象的特征(表觀特征,運動特征等),計算當前幀中檢測到的對象的特征和已有軌跡特征的匹配度,通過計算匹配度得到當前幀所有檢測對象和已有軌跡的一一對應的相似度矩陣,根據相似度矩陣利用代價最小化算法進行對象和軌跡的分配,最終得到多目標跟蹤的結果。
知乎主頁:
https://www.zhihu.com/people/zhuimeng208