人臉跟蹤:POI多目標跟蹤

轉載請標明鏈接:http://www.cnblogs.com/yanwei-li/p/8683933.html

網上已有很多關於MOT的文章,此係列僅爲個人閱讀隨筆,便於初學者的共同成長。若希望詳細瞭解,建議閱讀原文。

本文是tracking by detection 方法進行多目標跟蹤的文章,最大的特點是使用了state-of-the-art的detection和feature來代替以往的方法,使用簡單的匹配方法就能達到最好的水平。

論文地址:https://arxiv.org/pdf/1610.06136.pdf

Detection 以及  Appearance特徵地址(Google Drive 需FQ):https://drive.google.com/open?id=0B5ACiy41McAHMjczS2p0dFg3emM

 

文章方法:

  1. Detection部分

文章針對MOT16所使用的MOTA指標中的FP與FN,使用Faster R-CNN + Skip pooling + multi-region 的方法來結合多尺度特徵,從而降低FP與FN。

  1. Appearance 特徵部分
  • 使用類似於GoogLeNet的網絡來提取128維的特徵,並使用cosine距離來度量表觀特徵(與之前SORT文章所使用的方法類似);
  • 結合Softmax和Triplet loss來訓練網絡。其中Softmax loss用於保證appearance特徵有良好的判別性,Triplet loss用來保證同一ID內的cosine距離足夠小。(這裏與SORT不同的是使用了Triplet loss來減小類內的cosine距離,相當於在training過程中使得特徵更加針對於MOT的任務)。
  1. Online Tracker

使用Kalman濾波來預測track,使用 Kuhn-Munkres 算法來進行結合track和detection (與SORT類似,不同的是SORT使用了Hungarian算法來匹配),具體步驟見下:

  • 構造相似度矩陣

計算track和detection間的關聯度矩陣At−1 = Affinity(Tt−1,Dt)。計算時結合運動(affmot),形狀(affshp),和外觀(affapp)的關聯度作爲最後的關聯度矩陣,具體計算如下:

 

  • 匹配track和detection

使用 Kuhn-Munkres 算法來匹配track和detection。由於KM算法是全局優化算法,在一些detection遺失時會出錯。因此我們使用兩步匹配的策略,首先根據閾值Tt=0.5將track分爲高質量的track和低質量的track(大於閾值爲高質量,小於爲低質量);然後首先匹配高質量的track和detection,再匹配前一步剩下的和低質量的track。Track的質量計算如下,其中couples(trackleti)包含了過往的所有匹配成功的track與detection的關聯度:

 

  • 具體流程

具體流程見下表,其中w1=0.5,  w2=1.5, w3=1.2, τt=0.5, τa=0.4, τm=100。

 

4. Offline Tracker

Offline Tracker 是基於H2T的改進版本,主要使用了K-Dense Neighbors搜索算法,具體步驟見下:

  • 使用了和Online Tracker相同的特徵構建關聯度矩陣。
  • 文章提出兩個閾值來解決motion和平滑關聯性對於過大target不穩定的問題。
  • 在構建關聯度矩陣時放棄了高階信息,來減少矩陣維度並提高DN搜索的效率。
  • 具體步驟見下,由於主要着眼於Online Track,這裏就不再詳細展開,感興趣的讀者可以參考原文及其給出的參考文獻。

 

文章結果

文章結果見下表,文章結果還是很不錯的,在當時也達到了SOTA。不過相比於之前文章分析的SORT(60Hz)以及Deep SORT(40Hz),此方法(10Hz)在實時性方面還是有比較大的差距。個人認爲主要是由於檢測部分以及用於提取appearance特徵的GoogLeNet計算量較大所導致的,這個網絡結構換爲輕量級的網絡即可,在此就不再贅述。