(MTT)連續能量函數最小化方法
讀“A.Milan,S. Roth, K. Schindler, 'continuous Energy Minimization for Multitarget Tracking[J]',TPAMI,2014.”筆記
當前追蹤的主要策略是tracking-by-dection,即首先使用背景減除法或者分類器檢測出前景運動目標,然后再對目標軌跡進行估計。
tracking-by-detection的優勢:
增強了針對目標漂移時軌跡檢測的魯棒性
提高了追蹤失敗時的恢復率,也就是說這次沒找到下次還能以很高的概率找到正確的軌跡。而比如meanshift、Kalman濾波等跟蹤方法一旦目標跟蹤失敗,后續就很難再次正確跟蹤了
而在目標跟蹤中,多目標的跟蹤問題比單目標的跟蹤問題復雜得多。
單目標跟蹤問題中可以在每一幀相對較小的區間內檢測目標,然后將檢測的結果連接起來就可以得到較好的跟蹤結果
多目標跟蹤中,首先目標個數較多,而且未知,這就使目標的匹配問題較復雜。另外多個目標之間還會相互影響,比如遮擋等,這使得目標之間並不是相互獨立的。
目標跟蹤方法可以大體歸為兩類
recursive methods:這類方法當前幀目標的狀態僅有之前一幀或者若干幀信息確定。比如經典的Kalman濾波,粒子濾波
nonrecursive methods:這類方法則普遍在一個時間窗口內估計所有的軌跡,也就是說既利用了之前幀的信息也利用到了后續幀的信息。
對於解決現實問題,我們應首先建立模型,然后求解模型。而對於多目標跟蹤問題1).輸入數據包含噪聲較大,需要相對魯棒的模型,2).如果一個模型能夠准確的刻畫實際中狀態,那么模型很快就會高度非凸,相當復雜難以獲得最優解。
所以在nonrecursive的多目標跟蹤問題solutions中,有部分方法是構建相對簡單的模型以獲得該模型最優解,而另外一部分方法則盡可能的構建貼合真實情況的模型,最終使用次優解作為輸出。
本文就屬於后一類,模型盡可能詳細的反映出真實情況,對於非凸的模型,使用次優解代替最優解。論文結論表明,這種方法比構建相對簡單模型以獲得最優解的方法性能更好。
Notation:

其中

模型
本文提出的模型包含6個部分,即最終軌跡上點與檢測響應的緊密程度、前后幀間關聯目標的表觀相似性、目標的運動特性(同一個目標連續幀之間速度不可能突變)、目標間的相互遮擋問題(多個目標不能出現在同一個空間位置)、運動的持續性(大多數目標都有固定的起始和終止區域)、正則項(不能讓軌跡多到每一個響應都是一個軌跡)

其中分別對應於前面6中情況的能量,每種情況都使用的是連續函數,以方便求導。
跟蹤位置和檢測位置的貼合度

其中,表示第t幀中檢測到的目標的個數,
表示檢測到的響應是第g個目標的概率,
近似表示目標區域的面積,這就表示如果目標檢測和跟蹤差別一樣大,那么對較大目標的影響較小。
主要用來懲罰對於‘證據’不足的樣本。比如一個跟蹤目標僅僅0.5可能性,那么這不靠譜的跟蹤點當然要對目標影響少一點。但簡單的
並沒有充分利用不同目標的‘證據’,而是對所有的跟蹤點同樣對待,其中甚至還包括遮擋位置估計出來的跟蹤點。對於遮擋估計出來的點當然希望他最好不要影響我的能量函數,因為你本身就不大可靠,你要是再作用很大,很容易導致誤差累計。所以將
修正為與‘證據’有關的量。

Note. 由於是直接刻畫所有軌跡的能量函數,那么軌跡都是完整軌跡,即軌跡中間是包含對遮擋或檢測丟失估計出來的響應的。
Dynamic Model
對於運動目標,其相鄰幀間的運動應該是緩慢的、平滑的,所以可能通過限制速度矢量之間的關系刻畫運動目標的動態模型

Note. 中涉及了時域信息。
Mutual Exlusion
同一時刻不同的目標不可能出現在同一空間位置上,而且MTT中一個目標屬於切僅屬於一個軌跡,因此應該對同一幀中相互靠近的跟蹤點進行懲罰,禁止跟蹤點出現重合的狀況出現

是指所有的幀,
是和目標大小有關的量
Note. 涉及到了跟蹤點的空間相關性。
Trajectory Persistence
跟蹤的過程中有可能出現一條軌跡被跟蹤成若干段的現象,為了一定程度的緩和這種現象,可以給軌跡的出入口指定一定的區域,那么離這個區域越遠的點越不可能作為軌跡的起始點或者終止點。論文中使用sigmod刻畫一條軌跡的起始和終止點正確的概率。

其中表示
距離標定區域最近邊界的距離。 論文中soft entry margin 設為
.
Note. 加入了一定的先驗知識。
Regularizer
必須對軌跡的數量和長度進行限制,軌跡的個數不可能任意多,那樣每個檢測都可以作為單獨的軌跡了。。。同時每條軌跡不能太短,太短可能是因為噪聲引起的,所以加上如下正則項

Appearance Model
論文中刻畫目標的方式和meanshift方法類似,都是使用直方圖描述目標,然后再使用巴氏相關系數評估兩個分布的相似度。
為了使目標函數可導,同時讓直方圖更加魯棒,在統計直方圖時使用了Gaussian平滑

其中表示該目標的中心,
是示性函數,用來限制目標范圍內的點。
巴氏相關系數定義為

這里指直方圖的長度,論文中將RGB空間圖像在每一個channel中都划分出16個bins。
這種描述方式能夠很便捷的描述目標,但是對於遮擋或部分遮擋的圖像估計出來的響應,獲得的直方圖肯定是相對不可靠的,所以要降低這種情況的考慮力度,可以通過響應的可見度來評判信賴程度。

其中是關聯響應對的可見度的幾何平均值
顯然相似度BC越高越好,也就是說AC越小越好。
另外,論文中說實踐表明,直接使用AC沒有采用軟閾值化的方法好,采用軟閾值化的方法能夠更好的鑒別具有很大相似性的match和identity switch。

遮擋
目標跟蹤中一個很重要的問題就是遮擋,遮擋會導致跟蹤中斷、identity switch等問題。遮擋主要包含三種類型
interobject occlusion:這是多目標跟蹤中的問題,可能多個目標在運動過程中,會導致其他目標部分遮擋甚至完全遮擋。
scene occlusion:在運動中,目標還有可能被場景中靜態物體遮擋,比如行駛中的車輛可能被路標指示牌遮擋等。
self-occlusion:在跟蹤問題中,有些目標是非剛體物體,自身可能會出現旋轉或者變形,稱之為遮擋,比如在行人檢測中行人的轉體動作等。
本文方法主要考慮了相互遮擋的問題。一般刻畫目標遮擋都是使用目標間相互重疊區域所占目標總體大小的比例描述遮擋程度(scene occlusion就是目標和scene的重疊區域),但是為了讓目標函數可導,這里使用了二維高斯分布刻畫目標,那么目標間的重疊區域就可以使用

刻畫,其中表示目標的高斯區域表述。
是目標的區域中心,
表示協方差矩陣

兩個高斯的乘積還是高斯,所以相互遮擋可以通過下面為歸一化的高斯計算

現在就要確定誰被遮擋了,也就是說判斷誰比較靠近攝像頭。文獻[1]曾提出一種模型,這種模型認為攝像機一般都是俯視角度拍攝,所以可以通過目標的縱坐標來判定誰靠前。論文中也采用了這種模型,但是為了模型能夠可導,論文中使用sigmoid函數去度量目標靠前的概率,比如相對於第i個目標,那么第j個目標在i之前的概率為.
那么,定義遮擋矩陣,
表示目標i被目標j遮擋,且遮擋了
的概率。不考慮一個區域被多個目標遮擋,那么就可以評估目標i的可見度
。然后這個max函數又不可導了,所以又要使用指數函數近似,即目標i的可見度為

模型求解
顯然上述問題是一個非凸問題,那么就沒辦法直接得到最優解。所以本文提出了一種類似於蒙特卡洛的方法,在確定中引入隨機量,使搜索狀態有一定的可能性跳出局部最小值,以希望能夠找到全局最優值。這里的方法和蒙特卡洛方法的不同在於不是完全隨機的跳動,而是選擇讓目標函數值下降的路線隨機跳動。
其算法過程如下:

其中grow,shrink,add, remove.merge,split分別表示估計的生長,收縮,添加,移除,合並與分裂,示意圖如下

這里需要說明的是add過程,如果出現一個可靠都很高的檢測響應卻未曾划歸為任何一個trajectory,那么可以先假設這是一個新軌跡的起點,新軌跡表示為

將新軌跡添加到軌跡集合中。
Note.
1.算法在實現的過程中,每一個Jump move中都遍歷了所有的軌跡,而在尋找move中最優值的過程中參數的選擇使用的是貪婪法。
2.算法的初始化過程使用的是簡單的Kalman濾波得到初始的軌跡段。
實驗
關於參數的魯棒性
實驗表明,算法對模型中6個分量的權重系數在一定區間具有很好的魯棒性,結果如下圖所示,其中減小時,目標函數值急劇下降反映出
項的重要性,即目標間相互排斥的特性。

算法搜索策略的有效性
對比了5中搜索策略
找到使目標函數下降最大的move類型和trajectory,並執行move
找到使目標函數下降最大的move類型,並對所有的軌跡執行該類型操作
使用預定義的move順序,但在每個move中僅僅選擇下降最大的一個trajectory
和論文中方法唯一不同點在於預定義的move順序不同
隨機move,就是不保證每次move能量下降
實驗結果表明,在所有的搜索策略中,文中給出的搜索策略最棒,而且和第4個搜索策略相比差異不大表明該搜索策略對預定義的move順序要求不高。
模型的有效性
這里對比了四種方法,添加occlusion model + appearance 、 添加occlusion model、不含occlusion model,extended Kalman Filter還有k-shortest paths方法。
實驗結果表明appearance是很有必要的,另外對於目標密度低的場景,occlusion model用處不大,但對於dense scene中的多目標追蹤,occlusion explicitly reasoning能顯著提升跟蹤結果。
總結
該論文從運動的整體性出發,提出了一個整體的,比較貼合運動特征的能量函數,然后通過對該能量函數進行尋優得到較好的跟蹤結果。
該能量函數首先考慮了與檢測結果的關系,畢竟追蹤是源於檢測。其次對於跟蹤中的響應依據實際運動的特性分別限制了表觀相似性、運動一致性、運動目標互斥性,估計的持續性以及顯示分析了目標之間的遮擋關系,當然還包括對模型的正則化項處理。
對於高度非凸的能量函數,論文給出了一種結合共軛梯度法尋找局部最優解和jump move尋找全局最優解的方法。
文章的展望
希望能夠利用基於部件的檢測提升算法
希望能夠利用機器學習的方法自適應框架中參數的學習、甚至能量項的學習。
B. Wu, R. Nevatia. Detection and tracking of multiple, partially occluded humans by Bayesian combination of edgelet based part detectors[J],IJCV,75(2),247-266 ↩