Learning to Track: Online Multi-Object Tracking by Decision Making
ICCV 2015
本文主要是研究多目標跟蹤,而 online 的多目標檢測的主要挑戰是 如何有效的將當前幀檢測出來的目標和之前跟蹤出來的目標進行聯系。本文將 online MOT problem 看做是 MDPs 問題,用一個 MDP 來建模一個物體的生命周期。學習物體相似性的度量 就等價於學習MDP的一個策略,而該策略的學習可以用RL 的方式進行,能夠兼顧 online 和 offline 方式的優點。與此同時,本文算法可以處理物體的出現和消失的情況,即將該過程轉化為 MDP的狀態轉移問題。
1. Introduction
首先介紹的是 MOT 的重要意義和廣泛的應用,然后提出各個其他算法基本都是 batch mode 的進行跟蹤。進一步的指出這種算法模式不適合需要 online 的應用場景,如:機器人導航 和 自動駕駛等問題。
然后提出對於 online mode 中tracking-by-detection方法的主要挑戰是:how to associate noisy object detections in the current video frame with previously tracked objects ? 任何數據聯系算法的基礎都是物體檢測和目標的相似性函數的計算。為了排除聯系過程中的模糊現象,要盡可能的利用一切有用的信息來協助進行聯系,如:appearance,location,motion等等。
最近的MOT算法可以大致分為兩類:
首先是,offline-learning,在進行跟蹤之前就進行學習,從gt軌跡有監督的學習到物體檢測和目標之間的相似性函數。所以,offline-learning 是靜態的:他沒有考慮到動態狀態和物體的軌跡,這些在實際跟蹤過程中緩解模糊情況,都是非常重要的。
與此對應的是,online learning 是在跟蹤的過程中進行學習。一種常見的策略是將跟蹤地結果分為 positive and negative samples,然后根據這些樣本進行相似性函數的計算(similarity function)。
online-learning的方法可以充分的結合 dynamic status 和 the history of the target。但是悲劇的是,並沒有 gt 可以參考進行有監督的學習。所以,就容易導致當跟蹤地結果出現誤差時,錯誤的分類,最終導致模型的 drift。
如上圖所示,本文將單個目標的跟蹤問題看做是 MDP 過程中的策略決定問題,從而,多目標跟蹤就變成了多個 MDP 的問題。本文將數據聯系的相似性函數的學習看作是學習MDP的一個策略。策略的學習通過 RL 的方式,可以兼顧 offline learning 和 online learning 的優勢。
首先,學習以offline的方式進行,所以可以利用 gt 軌跡進行協助的有監督方式進行;
其次,當跟蹤目標出現在訓練序列中才進行學習,所以 MDP 可以根據當前的狀態和軌跡的歷史進行綜合的做出決定。
特別地,給定物體的 gt 軌跡 和一個初始的相似性函數,MDP 可以試着去跟蹤物體然后從gt中收集反饋信息。根據反饋信息,MDP 更新相似性函數來改善跟蹤性能。只有當 MDP 做出了錯誤的決定時,才進行相似性函數的更新,這樣就可以確保我們收集hard training samples 來學習相似性函數。
最后,MDP 可以成功的跟蹤上物體的時候,就停止學習過程。
除了我們學習策略的優勢之外,還可以自然的處理物體的消失和產生,即:將其看做是MDP 的狀態轉移問題。我們的方法也從 online 的單目標跟蹤方法上受益,我們學習和更新一個 appearance model 來處理物體檢測失敗的情況。
2. 相關工作(略)
3. Online Multi-Object Tracking Framework
3.1 Markov Decision Process
本文的框架中,用MDP 來建模一個物體的 lifetime,主要包括四個成分:狀態,動作,狀態轉移矩陣,實值獎勵函數。
States. 作者將目標 MDP 的狀態空間分為 4個子空間,即:$\mathcal{S} = \mathcal{S}_{Active} U \mathcal{S}_{Tracked} U \mathcal{S}_{Lost} U \mathcal{S}_{Inactive}$,每一個子空間包括有限的狀態個數,編碼依賴於特征表示的目標信息。
各個狀態之間的轉換也是很有意思的,有點像操作系統中進程的幾個狀態之間的轉換。任何物體的初始狀態都是 “Active”,然后該物體可能被跟蹤到,即轉到“Tracked”,或者沒有被激活,就是“Inactive”。被跟蹤的物體有可能被跟蹤丟失,即:由“Tracked”轉到“Lost”。丟失的物體可能重新被發現,即轉回到 “Tracked” 狀態,或者就此丟失了,或者轉為“Inactive”狀態。此處需要注意的是:“Inactive” 永遠無法被重新跟蹤了,即是一種死鎖狀態。
Actions and Transition Function. 聯系各個狀態之間的轉換,利用的就是 狀態轉移函數。例如,在跟蹤的物體上,執行動作 a4 就會導致狀態轉向 Lost state, 即:$T(s_{Tracked}, a_4) = s_{Lost}$。
Reward Function.
3.2. Policy:
在MDP當中,一個策略 $\pi$ 是從狀態空間 S 到動作空間 A 的一個映射。給定目標的當前狀態,該策略可以決定才去哪一個動作。同樣的,MDP 當中的策略決定也是按照一定的策略進行的。策略學習的目標就是可以學到一個策略使得最終的總的獎勵最大。本節首先講講在 Active subspace and the Tracked subspace 的策略設計,然后才是在 Lost subspace 中數據聯系的策略。
3.2.1 Policy in an Active State
在一個 Active state s,MDP 決定了關於轉移一個物體檢測到被跟蹤或者 inactive target 來處理噪聲檢測。策略決定可以看做是tracking 的預處理。像 NMS 或者 閾值化檢測得分的策略經常被使用。
3.2.2 Policy in a Tracked State
在一個Tracked state,MDP 需要決定是否要繼續跟蹤該物體或者將其轉換為 lost state。只要該物體沒有被遮擋或者說一直在視野當中,那么就要一直保持 tracked state。否則,就要將其標記為:lost。本文采用了單目標跟蹤經常使用的 appearance model 來對物體進行跟蹤,並且采用了 TLD tracker 來跟蹤物體。
Template Representation:
物體的外觀可以簡單地看做是視頻幀上的圖像patch,不管何時一個物體檢測轉化為跟蹤目標,我們都用檢測的 bounding box 來初始化目標模板。下圖給出了一組行人的模板。當物體被跟蹤時,MDP 在跟蹤地視頻幀上收集其模板來表示目標的歷史,這個會在 lost state 做決策的時候用到。
Template Tracking.
Template Updating.
3.2.3 Policy in a Lost State.
Data Association.