天天看點

DeepSORT 多目标跟蹤算法筆記

SORT 是一種實用的多目标跟蹤算法,然而由于現實中目标運動多變且遮擋頻繁,該算法的身份轉換(Identity Switches)次數較高。DeepSORT 整合外觀資訊使得身份轉換的數量減少了45%。所提方案為:

  • 使用馬氏距離和深度特征餘弦距離兩種度量;
  • 采取級聯比對,優先比對距上次出現間隔短的目标;
  • 第一級關聯以餘弦距離作為成本函數,但設定馬氏距離和餘弦距離兩個門檻值限制;
  • 第二級關聯與 SORT 中相同,嘗試關聯未确認和年齡為 n = 1 n=1 n=1 的不比對軌迹;
  • 同樣采用試用期甄别目标,但大幅提高軌迹壽命 A m a x = 30 A_{\mathrm{max}}=30 Amax​=30。

帶有深度關聯度量的 SORT 算法

DeepSORT 屬于傳統的單假設跟蹤方法,采用遞歸卡爾曼濾波和逐幀資料關聯。

軌迹處理和狀态估計

多目标跟蹤問題的一個普遍場景為:錄影機未校準且沒有自身運動資訊可用。這也是多目标跟蹤基準測試中最常見的設定(MOT16)。是以,DeepSORT

  • 将跟蹤場景定義在八維狀态空間—— ( u , v , γ , h , x ˙ , y ˙ , γ ˙ , h ˙ ) (u, v, \gamma, h, \dot{x}, \dot{y}, \dot{\gamma}, \dot{h}) (u,v,γ,h,x˙,y˙​,γ˙​,h˙),包含邊界框中心位置 ( u , v ) (u, v) (u,v)、縱橫比 γ \gamma γ、高度 h h h 以及它們各自在圖像坐标中的速度。
  • 使用具有等速運動和線性觀測模型的标準卡爾曼濾波器,并把邊界坐标 ( u , v , γ , h ) (u, v, \gamma, h) (u,v,γ,h) 作為物體狀态的直接觀測。
  • 軌迹處理和卡爾曼濾波架構與 SORT 中的原始公式基本相同。

每個軌迹 K K K 内部記錄自上次成功關聯到測量 a k a_k ak​ 以來的幀數。該計數器在卡爾曼濾波器預測期間遞增,并且當軌迹與測量相關聯時重置為0。

  • 将超過預定義最大壽命 A m a x A_{\rm max} Amax​ 的軌迹視為已離開場景并從軌迹集中删除。
  • 由無法與現有軌迹相關聯的檢測建立新的軌迹假設。這些新軌迹在前三幀中被列為暫定軌迹。在此期間,每次檢測後如不能關聯到則删除該軌迹。

關聯問題

關聯預測卡爾曼狀态與新到達測量值的正常方法是将其看作配置設定問題,利用匈牙利算法求解。DeepSORT 通過結合目标框馬氏距離和特征餘弦距離兩個度量來整合運動和外觀資訊。一方面,馬式距離基于運動提供了有關物體可能位置的資訊,這對短期預測特别有用。另一方面,餘弦距離考慮外觀資訊,這對于在長期遮擋之後找回身份特别有用,此時運動不那麼具有辨識力。

預測卡爾曼狀态和新到測量值之間的(平方)馬氏距離(Mahalanobis 距離):

d ( 1 ) ( i , j ) = ( d j − y i ) ⊤ S i − 1 ( d j − y i ) , \begin{aligned} d^{(1)}(i,j) = (d_j - y_i)^\top S^{-1}_i (d_j - y_i), \end{aligned} d(1)(i,j)=(dj​−yi​)⊤Si−1​(dj​−yi​),​

其中, ( y i , S i ) (y_i, S_i) (yi​,Si​) 表示第 i i i 個軌迹分布到測量空間的投影, d j d_j dj​ 表示第 j j j 個檢測邊界框。

馬氏距離通過測算檢測與平均軌迹位置的距離超過多少标準差來考慮狀态估計的不确定性。此外,可以通過從逆 χ 2 \chi^2 χ2 分布計算 95 % 95\% 95% 置信區間的門檻值,排除可能性小的關聯。四維測量空間對應的馬氏門檻值為 t ( 1 ) = 9.4877 t^{(1)} = 9.4877 t(1)=9.4877。如果第 i i i 條軌迹和第 j j j 個檢測之間的關聯是可采納的,則:

b i , j ( 1 ) = 1 [ d ( 1 ) ( i , j ) ≤ t ( 1 ) ] \begin{aligned} b_{i,j}^{(1)} = \mathbb{1}[d^{(1)}(i, j) \leq t^{(1)}] \end{aligned} bi,j(1)​=1[d(1)(i,j)≤t(1)]​

當運動不确定性較低時,馬式距離是一個合适的關聯度量。但在跟蹤的圖像空間問題公式中,卡爾曼濾波架構僅提供目标位置的粗略估計。尤其是,未考慮的錄影機運動會在圖像平面中引入快速位移,使得在遮擋情況下跟蹤時馬式距離度量相當不精确。是以,DeepSORT

  • 對于每個檢測邊界框 d j d_j dj​ 計算一個外觀描述符 r j r_j rj​,滿足 ∥ r j ∥ = 1 \lVert r_j\rVert = 1 ∥rj​∥=1;
  • 每個軌迹保留最後 L k = 100 L_k=100 Lk​=100 個關聯外觀描述符的原型庫(gallery) R k = { r ⃗ k ( i ) } k = 1 L k \mathcal{R}_k = \{\vec{r}_k^{(i)}\}_{k=1}^{L_k} Rk​={r

繼續閱讀