Learning to track online multi-object tracking by decision making

論文:Yu Xiang , Alexandre Alahi , and Silvio Savarese “Learning to track online multi-object tracking by decision making”, IEEE International Conf. on Computer Vision (ICCV) (AVSS), Dec. 2015.

連結:link

Introduction

此篇論文由Yu Xiang , Alexandre Alahi 與 Silvio Savarese 在2015年提出於IEEE International Conf. on Computer Vision (ICCV) (AVSS)。此方法將每個追蹤物件都定義成一個Markov Decision Processes(MDPs)模型,每個MDP都具有四個狀態:Active、Tracked、Lost、Inactive,演算法將根據每個MDP的狀態採取不同的策略,並將MDP轉移至下一個狀態進行追蹤。

Method

MDP-Track將多物件追蹤問題視為多個物件的狀態決策問題,並使用Markov Decision Processes(MDPs)模型作為解決方法對單個物件進行建模。演算法將根據MDP的狀態採取不同的追蹤策略,並將MDP轉移至下一個狀態進行追蹤。每個MDP都具有四個狀態:Active、Tracked、Lost、Inactive,首先輸入一個detection在Active狀態被初始化為一個MDP;接著在Tracked進行追蹤;追蹤中如遭到遮蔽將轉為Lost狀態並試圖與新的detection做資料連結,此部分將使用一個訓練過的相似度方程式進行相似度的計算;最後當物件離開時將轉為Inactive將MDP中止。

圖為物件的MDP模型示意圖,此MDP模型有四個狀態:Active、Tracked、Lost、Inactive。首先當物件偵測器偵測到物件時,會將detection輸入至MDP模型中進入Active狀態,Active會判斷是否該進行後續追蹤,將狀態轉移至Tracked或Inactive。理想上,如果detection是目標物件,會將狀態轉移至Tracked對物件進行追蹤;如果detection是false alarm,會將狀態轉移Inactive中止動作。當狀態為Tracked時會持續對目標進行追蹤並維持狀態為Tracked;當遇到某些原因無法進行追蹤時,例如:遭遇遮蔽、目標離開攝影機視角…等,會將狀態轉移至Lost。當狀態為Lost時,如果目標再次出現並被成功連結到時會將狀態轉移至Tracked,否則將維持為Lost;當狀態持續為Lost超過一段有效時間時,會將狀態轉移至Inactive,此時MDP將中止所有動作且不會再做任何的狀態轉移。

當物件偵測器偵測到物件時,detection會輸入至MDP模型中進入Active狀態,此時MDP須決定該將狀態轉移至Tracked或Inactive。此步驟如Figure. 14所示,如果detection是目標物件,MDP會將狀態轉移至Tracked對物件進行追蹤;反之,如果detection是false alarm,MDP會將狀態轉移Inactive中止動作。

這個判斷的目的為抑制偵測器的誤判,可以視為執行tracking前的前處理。一般常見的策略為使用non-maximum suppression或對detection scores使用thresholding來判斷。此演算法則使用一個經過訓練的support vector machine(SVM)來對detection的5D feature vector做分類判斷,此5D feature vector由bounding box的座標位置、bounding box的寬高和detection score所組成。

在Tracked狀態時,MDP需判斷是否維持Tracked狀態或是轉移至Lost狀態,理想上,只要目標沒有遭到遮蔽並存在於攝影機視角內,都應該判斷為可繼續追蹤而維持Tracked狀態,反之則轉移至Lost狀態。

MDP在追蹤步驟上採用與單物件追蹤同樣的作法,即是對目標建造一個表面特徵模型,藉此模型持續對目標進行追蹤。此部分可以選擇現有的單物件追蹤演算法來做追蹤,此演算法在實現上,選擇TLD tracker作為MDP的追蹤方法。

在Lost狀態時,MDP需要決定是否維持Lost狀態或是轉移至Tracked狀態,或是轉移至Inactive狀態結束追蹤。Lost狀態需要面對的挑戰可以視為一個data association問題,簡單來說,MDP需要在新的frame中嘗試連結到新的目標detection,如果有連結到則轉移至Tracked狀態;否則會繼續維持Lost狀態;而當維持Lost狀態超過一定的frame數,則會被認為目標已離開攝影機視角,MDP將轉移至Inactive狀態結束追蹤工作。

在訓練用於data association的二元分類器時,MDP採用強化式學習(reinforcement learning)的學習方式。假設給定多部影片序列作為訓練資料,訓練時將會讓MDP實際去追蹤這些影片中的所有物件,而訓練目標就是讓MDP能成功追蹤全部的物件,此時MDP會按照在各個狀態下的完整策略去追蹤目標並使得在各個狀態下的reward function達到最大,而二元分類器將依初始參數,)進行計算。訓練演算法會不斷迴圈計算所有的訓練影片及追蹤所有訓練目標,直到成功追蹤全部的目標才結束訓練。訓練中,二元分類器只有在做Data association時發生錯誤才會更新,在這種情況下,MDP將會作出與ground truth不同的決策判斷。

MDP-Track會將多個物件以多個MDP進行追蹤,每個MDP只對單一目標進行單物件追蹤,並以不同狀態的策略去預測每個物件的狀態。整個MDP-Track演算法在計算上大略可以分為三個步驟:首先,對所有在Tracked狀態的MDP進行計算,依照Tracked狀態時的追蹤策略,將MDP轉移至下個狀態;接著對所有在Lost狀態的MDP進行計算,依照Lost狀態時的策略,計算MDP與detection的相似度做data association,將MDP轉移至下個狀態;最後,對沒有被連結到的detection做初始化的動作,新增MDP並進入Active狀態進行計算並轉移狀態,最後不斷重複此流程值直到追蹤結束。