基於層次關聯的魯棒多目標跟蹤
讀"C. Huang, B. Wu, R. Nevatia. Robust Object Tracking by Hierarchical Association of Detection Responses[J],ECCV,2008"筆記
論文方法將MOT問題轉化為3層逐步細化的數據關聯問題。在最底層是通過樣本和樣本的關聯實現簡單的tracklets的檢測,中間層使用最大化后驗概率的方法實現底層tracklets的初步拼接,最高層依據中間層的結果獲得一定的先驗知識使用EM算法去優化中間層檢測的結果得到最終多目標的跟蹤軌跡。
先定義一些量
檢測響應(detection response):
,分別表示位置,大小,時刻和表觀特征,這里表觀可以使用顏色直方圖
響應集合: 
目標軌跡(object tracklet/trajectory):
,表示集合中元素是有序的
不同層軌跡集合: 
前提假設1:
所有的響應屬於且僅屬於一條運動軌跡,這里的軌跡包括某些單獨的響應自身形成的長度為1的軌跡。
最底層關聯
關鍵詞:direct link, two-threshold strategy
首先定義響應之間相連的概率(可稱為direct link概率)
其中
,
分別表示響應
和
之間的位置、尺寸和表觀相似性。
由前提假設,可知對於
兩個時刻間任意的兩個響應對
,不可能存在
或
的情況。
為了保證這一層關聯的精度,要求direct link的概率要大於某一個閾值,而且要顯著的高於相關的其他關聯的direct link概率,即
這個過程就是two-threshold strategy。
這個階段進行關聯時,由於采用了two-threshold strategy能夠使關聯到的點對盡可能的精確,但同時也會導致那些相對於其他相關關聯(存在一個響應重合的關聯)優勢不明顯的關聯被遺漏。
下一階段采取一定方法緩解了這種困境。
中間層關聯
關鍵詞:MAP,Hungarian algorithm, Markov Chain, Kalman Filter, RANSAC
這一階段希望對底層關聯出的tracklets進行初步的整合,形成更長的軌跡。當然這個過程是個循環的過程,每一層循環都盡可能使獲得的軌跡長度更長。
用
表示獲得的有tracklets組成的更長的軌跡,那么中間層獲得的tracklets集合為
,我們希望由
推出
,這可以看作是最大化后延概率問題MAP,即
由假設1可以認為不同的
是相互獨立的,現在
假設2.
在給定
的前提下是條件獨立的,那么式(1)可以寫為
對於單獨的一條軌跡可以使用Markov Chain刻畫,所以
其中
分別對應起始段和終止段的概率,中間項對應着轉移概率。
是集合的基數。
表示軌跡集合
中應該有
的概率,也就是說
是正確檢測的概率,因為正確的都應該出現在最終軌跡集合中
假設3.
中的每一個響應服從伯努利分布。
假設檢測器的正確率為
,那么
那么將(2)式寫成對數形式
可以發現出現在
中的tracklet有兩類四種可能:軌跡開始段、軌跡終止段、軌跡中間段和虛警段,其中前三種響應應該出現在
中,第四種將不會出現在
中。(或許會好奇“你說不出現就不出現了?”,但因為我們使用的的是MAP方法,所以認為
是已知的,而這種認為也就意味着可以自己確定希望的
。)
因此(3)式可以看做是一種計算最大目標函數的指派問題,也就可以使用Hungarian algorithm求解,系數矩陣如下:
其中n是tracklets的個數,其中元素的值如下設置
其中將虛警段設置為自關聯的元素位置,當
時,認為是將
關聯到
的后面,這里
被分成兩個0.5是因為作為中間段,既承前又啟后,所以個出現一半。對於每一段軌跡只可能出現唯一一個開始段,所以在每一個開始段分配時只有一個賦值作為起始段的概率,其余的都設置為負無窮(因為這里計算的是最大問題),同樣處理終止段的元素賦值。而對於
處元素沒有實際意義,可以設置為0.
這樣最終得到assignment matrix,出現在左下方區域的1元素認為對應列的tracklet可以作為起始段,出現在右上角的1元素,意味着對應行的tracklet可以作為終止段,出現在左上角塊矩陣中對角位置上的1元素則認為是false alarm,左上角矩陣中其他1元素意味着軌跡的中間連接段,所在行的tracklet是關聯的前一個tracklet,所在列的tracklet對應關聯的后一個tracklet。
通過尋找起始段,然后逐步鏈接直到鏈接到終止段,也就找到一條更長的軌跡。
中間層的關聯是一個迭代的過程,首先依據底層tracklets關聯出稍長的tracklet,然后再在此基礎上關聯出更長的tracklet...
下面就要來看一看MAP中使用的概率都是怎么定義的。
類似於底層關聯使用的link概率定義方法
分別表示兩個tracklet的表觀相似性、運動相似性和時間相似性
為了使結果更加魯棒,這里首先對tracklet進行了一些預操作,使用Kalman filter對Tracklet中響應的位置和大小,速度進行平滑和微調,使用RANSCA對Tracklet中所有的響應操作以獲得一個表達能力更好的appearance color histogram.
於是
假設4. 即認為相關聯的tracklet中的響應相關程度
符合
的高斯分布,
是算法參數
假設5. 關聯
中的兩個tracklet
的起點
和終點
與對應預測位置
,
的差異應該服從方差為
的高斯分布。
如下圖示意
表征在定義的最大時間差內,兩個tracklet中間間隔若干個未檢測到目標時,他倆仍然應該關聯的概率
其中
表示允許的最大時間間隔,
是檢測器漏檢的概率(檢測器有漏檢率,檢測正確率,檢測錯誤率)。
這里還有一個量
表示
中丟失的響應中被其他目標遮擋的幀數。
首先檢測丟失的幀如何確定?文中使用的是對
和
插值得到的結果。
其次如何確定被其他目標遮擋?參見 基於人體部件小邊特征的多行人檢測和跟蹤算法。依據近大遠小的成像原理,一般認為攝像頭都是俯視視角,所以響應重合時可以通過縱坐標
值來確定誰在最前面,一般而言,
較大的認為在相對前方位置。
最后未檢測的響應中僅考慮的其他目標遮擋,那剩下的怎么辦?為什么不考慮?這個問題放在了最高層解決。
這樣就可以通過匈牙利算法得到中間層的tracklets了。
最高層關聯
EM算法,ground palne coordinates
最高層關聯是對中間層關聯的修正,在中間層計算概率時,提到過
對於未檢測到的響應僅考慮了被其他目標遮擋的響應,而其余的未檢測出的響應沒考慮,另外對於所有的tracklets,其作為起始段和終止段的概率都相同,也是不盡合理的。所以最高層對此進行了一步EM的修正
論文中處理的是單出入口的場景,這點很重要。如果找到出入口的位置,那么根據與出入口的距離可以對不同的tracklet賦予不同的概率,越靠近入口是起始段的可能越大,越靠近出口是終止段的可能性越大。
所以論文中定義了scene structure model包括entry map、exit map和scene occluder map,即圖像中像素位置是入口、出口和場景遮擋的概率。
這里因為在scene occluder map中要考慮場景的遮擋,所以要用到大地坐標,圖像坐標和大地坐標之間的映射關系是通過認為標定若干對應點計算出來的。
E-step
利用中檢測結果,去評估scene structure model.
假設6. 絕大多數tracklets的起始響應都應該在入口附近,即可以認為距離tracklet起點越近的位置越有可能是入口。
假設7. 同樣的絕大多數tracklets的終止響應都應該在出口附近,也就是說距離tracklet終點越近的位置越有可能是出口。
於是
這里
表示的是大地坐標,
表示預測入口和出口的時間延遲間隔。
假設8. 離軌跡tracklet中間響應節點越近,是出口或者入口的可能就越小
於是
這里
對應了響應
的大地坐標。
於是考慮所有的軌跡后,位置
可以作為入口和出口的概率分別為
位置
不是出口或者出口的概率分別為
這樣就可以計算得到entry map 和exit map。需要注意的是這里用到的
是完整的軌跡,也就是說是包含插值產生的虛擬響應的。
如何判斷圖像中哪些位置會給目標造成場景遮擋呢?
首先如果有遮擋,那么對應的目標肯定檢測不出來,其次檢測不出來的目標不一定是場景遮擋,還有可能是其他目標遮擋。
如果確定了被scene occluder的響應位置和相機的位置,那么遮擋的場景位置就極大可能出現在丟失響應的位置和相機位置之間,為什么不說一定在連線上是因為有些目標即使是部分遮擋也檢測不出來,造成丟失響應。
所以
作為場景遮擋了
的概率可以表示為
其中
是歸一化量,
是高斯分布的方差,待輸入。
是沒有檢測到的且不是因為其他目標遮擋導致沒檢測到的插值出來的響應。
於是可以利用這些不是由於其他目標遮擋導致的未檢測點來推斷圖像像素位置會產生場景遮擋的概率
反過來,那些檢測到的響應就可以提供位置點不會產生場景遮擋的可能性,於是
上面四個式子中的
是非其他目標遮擋卻未被檢測到的響應集合,
是檢測到的響應的集合。
這樣就得到了scene occluder map
M-step
既然已經通過E-step獲得scene structure model,那么就可以利用這個model去細化tracklet作為起始段、終止段的概率,而且在處理
是就可以考慮到所有的未被檢測到的響應的影響了。
其中
這里
是下確界符號,我覺得文中的(22)式可能是寫錯了,根本沒有使用到negative 概率。,通過正負概率的比值大於0.5,可以判定該點屬於入口或者出口,進而斷定所在的tracklet是初始段或者終止段才合理。
那么對於未檢測到卻通過插值得到的響應,可以判斷屬於被其他目標遮擋導致的個數,以及是由於場景遮擋到這檢測失敗的響應的個數,然后計算
,
如何判斷是被場景遮擋?
即判斷中間點存不存在可能導致場景遮擋的位置,如果存在,那么這個未被檢測到的響應就應該是因為場景遮擋導致的。
假設被其他目標遮擋的個數為
,被場景遮擋的個數為
,那么公式(4)可以重新寫為
現在概率都重新確定了,就可以再次使用匈牙利算法細化結果了。
整個層次關聯的步驟如下表
總結與分析
論文提出了一種處理獲得多目標運動軌跡的層次遞進的思想。該方法相對魯棒也實驗結果也比較理想,但是也存在着不少問題。
首先該方法中預先假設很多,分布也都是用的高斯分布刻畫的,是否足夠合理?
需要設定的參數也比較多,比如雙閾值策略的閾值,各個高斯分布的方差,最大時間差,以及中間層迭代次數等等
方法在獲取scene structure model時顯然針對的是單出入口的方法,對於多個出入口,假設肯定不成立,也就不能這么評估entry map和exit map了


