DeepSORT及SORT的說明

整體思路
SORT 算法的思路是將目標檢測算法得到的檢測框預測的跟蹤框的 iou(交併比)輸入到匈牙利算法中進行線性分配來關聯幀間 Id。而 DeepSORT 算法則是將目標的外觀信息加入到幀間匹配的計算中,這樣在目標被遮擋但後續再次出現的情況下,還能正確匹配 Id,從而減少 Id Switch。

算法思路
狀態估計(state estimation)和軌跡處理(track handing)
狀態估計

用一個 8 維空間表示軌跡在某個時刻的狀態即( u , v , γ , h , x ˙ , y ˙ , γ ˙ , h ˙ ) (u, v, \gamma, h, 
 ),( u , v ) (u,v)(u,v)表示 bbox 的中心座標,γ \gammaγ表示寬高比,h hh表示高度,最後四個變量代表前四個變量的速度信息。使用一個基於勻速模型和線性觀測模型的標準卡爾曼濾波器進行目標狀態的預測,預測結果爲( u , v , γ , h ) (u,v,\gamma , h)(u,v,γ,h)。
 

相比於SORT算法,DeepSORT到底做了哪部分的改進呢?這裏我們簡單瞭解下SORT算法的缺陷。

SORT算法利用卡爾曼濾波算法預測檢測框在下一幀的狀態,將該狀態下一幀的檢測結果進行匹配,實現車輛的追蹤。

那麼這樣的話,一旦物體受到遮擋或者其他原因沒有被檢測到,卡爾曼濾波預測的狀態信息將無法和檢測結果進行匹配,該追蹤片段將會提前結束

遮擋結束後,車輛檢測可能又將被繼續執行,那麼SORT只能分配給該物體一個新的ID編號,代表一個新的追蹤片段的開始。所以SORT的缺點是

受遮擋等情況影響較大,會有大量的ID切換

那麼如何解決SORT算法出現過多的ID切換呢?畢竟是online tracking,不能利用全局的視頻幀的檢測框數據,想要緩解擁堵造成的ID切換需要利用到前面已經檢測到的物體的外觀特徵(假設之前被檢測的物體的外觀特徵都被保存下來了),那麼當物體收到遮擋後到遮擋結束,我們能夠利用之前保存的外觀特徵分配該物體受遮擋前的ID編號,降低ID切換。

當然DeepSORT就是這麼做的,論文中提到

We overcome this issue by replacing the  association metric with a  more informed metric that combines  motion and appearance information.In particular,we apply a  convolutional neural network (CNN) that has been trained to  discriminate pedestrians on a large-scale person re-identification dataset.

很顯然,DeepSORT中採用了一個簡單(運算量不大)CNN來提取被檢測物體(檢測框物體中)的外觀特徵(低維向量表示),在每次(每幀)檢測+追蹤後,進行一次物體外觀特徵的提取並保存。

後面每執行一步時,都要執行一次當前幀被檢測物體外觀特徵之前存儲的外觀特徵相似度計算,這個相似度將作爲一個重要的判別依據(不是唯一的,因爲作者說是將運動特徵外觀特徵結合作爲判別依據,這個運動特徵就是SORT中卡爾曼濾波做的事)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章