1. 程式人生 > >論文閱讀:Multiple Object Tracking Using K-Shortest Paths Optimization, PAMI2011

論文閱讀:Multiple Object Tracking Using K-Shortest Paths Optimization, PAMI2011



引文:

多目標跟蹤問題通常分為兩步:第一步是與時間無關的目標檢測,即針對每一視訊幀檢測出目標出現的位置,以及在這些位置上出現的置信度;第二步是在時間軸上連線候選目標形成軌跡,在生成軌跡時要儘可能保證同一條軌跡上的所有目標對應同一個真實物體,軌跡數量對應目標數量。

從數學優化的角度,已知所有候選目標求解最優軌跡的複雜度是NP完全規模的。現有的一些近似求解演算法包括粒子濾波,卡爾曼濾波以及貪心動態規劃等在一定程度能夠獲得正確軌跡(消除false positive,或更正false negtive候選),但都無法保證全域性最優解。本文將軌跡求解問題轉化為帶約束的流優化問題,進而形成標準線性規劃問題。由於約束矩陣的特殊性,恰好可以利用

K最短路徑演算法求解該優化系統,從而獲得實時性效率。與已有跟蹤演算法相比,本文演算法具有以下優勢:1)演算法輸入簡單,只需要各候選目標的位置及置信度(Probabilistic occupancy map),由檢測演算法提供;2)根據優化結果(路徑數量),演算法能夠自動輸出目標數量;3)演算法的控制引數較少,演算法效率能夠達到實時。

演算法介紹:

    該論文將多目標跟蹤問題轉化為整數規劃問題。第一步是構建網路模型(Graph model):假設當前要跟蹤的視訊流包含T幀,每一幀影象被檢測出K個候選目標(即K個節點),相鄰幀間的候選目標根據距離約束形成邊連線關係。左下圖為一維節點模型示意,右下圖為二維節點模型示意。每個節點變數

m表示當前該節點處目標物體的數量;每條邊權重表示有f個目標從該條邊流過。

目標優化時還需要定義流的起點與終點,故增加兩個虛擬節點Vsource, Vsink,一個完整的流約束圖模型如下:

該網路模型的約束條件:

其中(1)和(4)定義了節點的流入與流出約束,即目標物體不會突然出現或消失(只能從起點Vsource出現,在終點Vsink消失),每個節點的流入與流出均衡;(2)和(3)定義了每個節點在同一時刻最多隻能出現一個目標(f,m取值為01)。

每個節點的目標出現概率(由檢測演算法獲得):

該系統的優化目標是對所有節點尋找最優m集,使得全域性聯合概率最大:

其中(7)假設各節點條件獨立,(

8)是因為m01,9)是忽略掉(8)中與m無關的量,(10)為目標優化函式。至此,該整數規劃的目標已相當明確,約束條件(1~4),m為優化待求變數(01),log函式已知可以認為是節點出現目標的置信度。

mf的關係,將上述規劃稍作變換,f成為目標變數:

由於(11)的約束矩陣具備unimodularity性質,因而鬆弛線性規劃求解方法可以收斂到整數解。但為了進一步提高求解效率,該論文使用KSP演算法快速求解。

K最短路徑演算法分為節點不相交的K最短路徑演算法和邊不相交的K最短路徑演算法。K條節點不相交路徑一定是K條邊不相交路徑,但反之未必。該論文使用的是節點不相交路徑演算法。首先將(11)中的log函式視為方向邊權重:

則(11)中的目標函式轉化為:

即尋找K條節點不相交最短路徑,使得所有路徑的Cost最小,而K就是目標數量。

1)使用Dijkstra演算法計算從s到其他頂點的最短路徑,s到各頂點u的最短距離儲存為d(s,u),s->t的最短路徑為P1;

2)對P1上的除VsourceVsink之外的所有頂點進行splitreverse變換:節點複製,邊方向反轉,邊權重求負;

3)邊權重更新:c’(u,v)= c(u,v) + d(s,u) – d(s,v);

4)重新計算最短路徑p2*;

5)p2*P1求並,消除掉兩者中的方向相反的公共邊,保留其他所有正向邊,得到P2 = {p1,p2}.

論文總結:

1)該論文演算法完全忽略了目標的特徵關係(僅使用目標出現概率做引數優化),當兩目標趨於靠近然後再分開時,優化結果極有可能導致錯誤的身份交換。為此,作者的另一篇論文(Tracking Multiple People under Global Appearance Constraints,ICCV2011)利用稀疏特徵約束來矯正identity switch.

2)演算法精度嚴重依賴目標出現概率(邊權重係數)。

3)本文在利用KSP進行計算時,從同一頂點出發的所有邊具有相同的邊權重(no appearance model,一個可行的改進:根據候選目標的相似性計算或得不同的邊權重係數。