一個基於高階圖匹配的多目標跟蹤器:Online Multi-Target Tracking with Tensor-Based High-Order Graph Matching

Moens發表於2020-12-08

論文地址:Online Multi-Target Tracking with Tensor-Based High-Order Graph Matching

一、 摘要

將目標相應軌跡匹配投影為一個超圖匹配問題,在關聯的所有序列上最大化多線性目標函式。由一個張量來定義關聯元組之間的成對資訊的相似度,運動一致性和空間結構的關係。並且傳統的外貌特徵提取直接使用矩形邊界框,當邊界框重疊大的時侯,會影響外貌相似度矩陣的計算,本方法提出了一個基於object mask的相似度矩陣,只使用真實目標區域的特徵來改良之前的問題。

創新貢獻:

  1. 提出了一種線上MTT框架,通過將MTT中相應關係的搜尋構造為一個超序圖匹配問題,可以靈活地整合高階資訊。
  2. 提出一個雙向單元ℓ1-norm張量迭代演算法區解決超圖中軌跡和檢測1對1匹配的問題。
  3. 為了更好地刻畫成對外觀親和力,提出了一種基於目標 mask的度量學習網路

二、 相關介紹

現在隨著檢測器的繁榮,DBT正規化取得了很大的成功,有些網路甚至直接將目標軌跡生成轉變為一個全域性優化問題,直接一次性處理視訊。

另一種最近流行的批處理解決方案(offline)是將資料關聯作為子圖分解問題來考慮的子圖多分割任務,在計算點之間親密度的同時還可以通過傳遞性約束確保長期時間一致性。由於是批處理,所以不是online 方法。

本論文提出了一種基於張量的高階圖匹配的線上多目標跟蹤框架,以引入更多的全域性資訊進行匹配。

具體地說,搜尋當前檢測觀測值與歷史上一些選定的跟蹤檢測值之間的對應關係作為一個超圖匹配問題,其高階能量函式由成對的外觀相似度、運動一致性和空間結構資訊組成

在超圖中,每個目標(檢測軌跡中的單獨目標或當前檢測觀察)用一個節點表示,每個軌跡或觀察用一個超邊緣表示。提取超邊緣之間的幾何關係作為空間結構資訊(紅線)。匹配問題是找到觀測值和保持其拓撲的軌跡之間的超邊對應,如下圖:

在這裡插入圖片描述
舉例說明觀察軌跡與高階圖的匹配:

軌跡取樣檢測的觀測組成的超邊緣用橢圓表示。候選分配由實線和點線(E1 ~E18)表示,紅線反映它們的幾何關係。我們的目標是通過超圖匹配找到保持其拓撲的節點對應,然後根據節點對應分配觀測到相應的軌跡。D表示缺失檢測,實線為最後得到的關聯,則我們可以將O1,O2分配給T2, T3,軌跡T1在當前階段消失。(E1 ~ E18)的權重代表通過超圖匹配獲得的匹配可能性,檢測和軌跡之間的分配在他們之間產生,例如O2分配給T3,相應的E16~E18值會很高。軌跡T1匹配到虛擬節點D,代表檢測丟失,在缺失外觀相似度的情況下,由幾何關係推導。

為了實現軌跡和檢測一對一的關聯,雙向單元ℓ1-norm迭代演算法可以解決超圖匹配問題。一個軌跡到觀測(向前)和觀測到軌跡(向後)兩者的總能量應當都是有界的單元,這個迭代更新的基本思想是通過張量操作後對分配矩陣的行和列分別進行ℓ1 單元標準化。

外貌親密度計算方面, 不同於傳統的方法計算外貌親密度使用邊界框中的特徵,作者認為邊界框的重疊會影響外貌的提取與親密度的計算,所以提出了另一種基於object mask的引數學習網路,只考慮真正前景的特徵,而不是用帶有背景噪聲的邊界框計算。

三、 高階超圖匹配

1. 問題設定

在時刻 t t t,假設軌跡 T = { T 1 , T 2 , T N } \mathcal T = \{T_1,T_2,T_N\} T={T1,T2,TN}根據某些原則(費布拉切數列)取樣生成 N 1 = ∑ n ∣ T ∣ ∣ T n ∣ N_1=∑_n^{|\mathcal T|}|T_n | N1=nTTn個已追蹤檢測, T n T_n Tn表示從第 n n n個軌跡取樣檢測的數量,當前幀檢測到 N 2 N_2 N2個觀察值,因為軌跡的消失或者新生,以及誤檢或漏檢, N 1 N_1 N1一般不等於 N 2 N_2 N2。從 1 1 1 N s ( s = 1 , 2 ) N_s(s=1,2) Ns(s=1,2) i s , j s , k s i_s, j_s, k_s is,js,ks不斷變化。使用 i = ( i 1 , i 2 ) , j = ( j 1 , j 2 ) , k = ( k 1 , k 2 ) i = (i_1,i_2),j=(j_1,j_2),k=(k_1,k_2) i=(i1,i2),j=(j1,j2),k=(k1,k2)表示檢測觀察值和歷史軌跡可能的關聯。

使用 S i 1 1 , S i 2 1 S_{i_1}^1,S_{i_2}^1 Si11,Si21分別表示軌跡和觀察值,將軌跡和觀察值匹配問題就轉變為尋找一個 N 1 × N 2 N_1×N_2 N1×N2的分配矩陣 X X X X ( i 1 , i 2 ) X_{(i_1,i_2 )} X(i1,i2) X i X_i Xi,當 S i 1 1 , S i 2 1 S_{i_1}^1,S_{i_2}^1 Si11,Si21符合匹配則 X ( i 1 , i 2 ) X_{(i_1,i_2 )} X(i1,i2)為1,否則則為0。在多目標追蹤任務中,一個軌跡只能最多分配給一個目標檢測,反之亦然,每行每列的總和為1,認為 X \mathcal X X為分配矩陣的集合:
X = { X ∈ { 0 , 1 } N 1 × N 2 }  s.t.  ∀ i 1 , ∑ i 1 X i 1 , i 2 = 1 ; ∀ i 2 , ∑ i 2 X i 1 , i 2 = 1 (1) \begin{array}{l} \mathcal{X}=\left\{X \in\{0,1\}^{N_{1} \times N_{2}}\right\} \\ \text { s.t. } \quad \forall i_{1}, \sum_{i_{1}} X_{i_{1}, i_{2}}=1 ; \forall i_{2}, \sum_{i_{2}} X_{i_{1}, i_{2}}=1 \end{array} \tag{1} X={X{0,1}N1×N2} s.t. i1,i1Xi1,i2=1;i2,i2Xi1,i2=1(1)

MOT任務目的是最大化 X \mathcal X X的得分,從候選空間中選擇 N = m i n ( N 1 , N 2 ) N = min(N_1,N_2) N=min(N1,N2)個最佳連線:
score ⁡ ( X ) = H c 1 c 2 ⋯ c N X c 1 X c 2 ⋯ X c N (2) \operatorname{score}(\mathcal{X})=H_{c_{1} c_{2} \cdots c_{N}} X_{c_{1}} X_{c_{2}} \cdots X_{c_{N}} \tag{2} score(X)=Hc1c2cNXc1Xc2XcN(2)

c i ∈ R N 1 N 2 , i = 1 , 2 , … , N c_i∈R^{N_1 N_2 },i=1,2,…,N ciRN1N2,i=1,2,,N代表候選連線的下標,每個下標代表一組匹配, H c 1 c 2 ⋯ c N H_{c_1 c_2⋯c_N } Hc1c2cN是關於連線組合的潛在整合函式,下面會介紹。 H H H得分越高,則匹配的組合越多。

但是這樣操作當考慮 n n n階資訊時,搜尋空間的計算量會非常大。因此作者只採用了 p ( p ≤ 3 ) p(p≤3) p(p3)階。 P = 1 , 2 , 3 P=1,2,3 P=1,2,3分別對應1對1,2對2,3對3對比匹配。當然,高階資訊可以被直接整合。為了簡化,模型使用 p = 3 p=3 p=3,即3對3進行對比匹配,匹配問題變為:
max ⁡ score ⁡ ( X ) = ∑ i , j , k H i , j , k X i X j X k  s.t.  { ∑ i 2 X i 1 i 2 = 1 , i 1 = 1 , 2 , ⋯   , N 1 ∑ i 1 X i 1 i 2 = 1 , i 2 = 1 , 2 , ⋯   , N 2 (3) \begin{array}{l} \max \quad \operatorname{score}(\mathcal{X})=\sum_{i, j, k} H_{i, j, k} X_{i} X_{j} X_{k} \\ \text { s.t. } \quad\left\{\begin{array}{ll} \sum_{i_{2}} X_{i_{1} i_{2}}=1, \quad i_{1}=1,2, \cdots, N_{1} \\ \sum_{i_{1}} X_{i_{1} i_{2}}=1, \quad i_{2}=1,2, \cdots, N_{2} \end{array}\right. \end{array} \tag{3} maxscore(X)=i,j,kHi,j,kXiXjXk s.t. {i2Xi1i2=1,i1=1,2,,N1i1Xi1i2=1,i2=1,2,,N2(3)
如下圖:
在這裡插入圖片描述
(在軌跡和觀測集合中分別新增虛擬節點,以解釋軌跡的開始、結束或遺漏的檢測。一個單元ℓ1-norm虛擬節點的約束不能滿足需求。)

觀察檢測 O i 2 O_{i_2 } Oi2通過連線選擇分配給了相應的第n條軌跡軌跡:
n = argmax ⁡ n 1 ∣ T n ∣ ∑ i 1 X i 1 i 2 , ∀ i 1 ∈ T n (4) n=\operatorname{argmax}_{n} \frac{1}{\left|T_{n}\right|} \sum_{i_{1}} X_{i_{1} i_{2}}, \quad \forall i_{1} \in T_{n} \tag{4} n=argmaxnTn1i1Xi1i2,i1Tn(4)

n = 1 , 2 , … , ∣ T n ∣ n=1,2,…,|\mathcal T_n | n=1,2,,Tn是軌跡索引,具體過程如下:
在這裡插入圖片描述
1:序列中所有檢測D
2:序列幀數F
3:逐幀進行操作
4:從已存在軌跡 T i T_i Ti中進行取樣多個軌跡檢測
5:當前幀的檢測 O f O_f Of
6:通過 E q . ( 7 ) Eq.(7) Eq.(7)挑選候選可能連線 X \mathcal X X
7:通過 E q . ( 8 ) Eq.(8) Eq.(8)計算候選連線的高階能量張量
8:隨機賦值 V V V進行迭代更新,匹配小於閾值退出
9:更新並返回 T T T

2. 張量公式

張量即高維矩陣, K K K階張量 S ∈ R I 1 × I 2 ⋅ ⋅ ⋅ × I K S ∈ R^{I_1×I_2···×I_K } SRI1×I2×IK,每個元素代表 S i 1 … i k … i K ( 1 ≤ i k ≤ i K ) S_{i_1…i_k…i_K }(1≤i_k≤i_K) Si1ikiK(1ikiK),張量的每個維度代表一種模式。
一個張量和一個向量可以像矩陣和向量一樣相乘,表示如下:
B = S ⊗ n V B i 1 … i n − 1 i n + 1 … i K = ∑ i n S i 1 … i n − 1 i n … i K V i n \begin{array}{l} \mathcal{B}=\mathcal{S} \otimes_{n} V \\ \mathcal{B}_{i_{1} \ldots i_{n-1} i_{n+1} \ldots i_{K}}=\sum_{i_{n}} \mathcal{S}_{i_{1} \ldots i_{n-1} i_{n} \ldots i_{K}} V_{i_{n}} \end{array} B=SnVBi1in1in+1iK=inSi1in1iniKVin

V V V I n I_n In維度的向量,相乘後獲得 B ∈ R I 1 × I 2 ⋅ ⋅ ⋅ I n − 1 × I n + 1 … × I k B∈ R^{I_1×I_2···I_{n-1}×I_{n+1}…×I_k } BRI1×I2In1×In+1×Ik, ⊗ n ⊗_n n表示第 n n n維上的Kronecker積

那麼下面的 E q . ( 5 ) Eq.(5) Eq.(5)可以表示為一個可以通過冪次迭代演算法有效求解的張量逼近問題:
max ⁡ ∑ S i 1 i 2 ⋯ i K V i 1 ( 1 ) V i 2 ( 2 ) ⋯ V i K ( K )  s.t.  ∥ V k ∥ 2 2 = 1 , ∀ k ∈ { 1 , 2 , … , K } (5) \begin{array}{c} \max \sum \mathcal{S}_{i_{1} i_{2} \cdots i_{K}} V_{i_{1}}^{(1)} V_{i_{2}}^{(2)} \cdots V_{i_{K}}^{(K)} \\ \text { s.t. }\left\|V^{k}\right\|_{2}^{2}=1, \forall k \in\{1,2, \ldots, K\} \end{array} \tag{5} maxSi1i2iKVi1(1)Vi2(2)ViK(K) s.t. Vk22=1,k{1,2,,K}(5)

3. 雙向單元ℓ1-norm迭代

匹配問題 E q . ( 3 ) Eq.(3) Eq.(3)嘗試獲得一個分配矩陣,這裡使用雙向單元ℓ1-norm迭代去解決。基本思想是通過引入 Y i 2 = X i , ( Y i ∈ [ 0 , 1 ] ) Y_i^2=X_i,(Y_i∈[0,1]) Yi2=Xi,(Yi[0,1])來重改Eq.(3)將 ℓ 1 − n o r m ℓ1-norm 1norm先變為 l 2 − n o r m l_2-norm l2norm
max ⁡ Y ∑ i , j , k H i , j , k Y i 2 Y j 2 Y k 2  s.t.  { ∑ i 2 Y i 1 i 2 2 = 1 , i 1 = 1 , 2 , ⋯   , N 1 ∑ i 1 Y i 1 i 2 2 = 1 , i 2 = 1 , 2 , ⋯   , N 2 (6) \begin{array}{l} \max _{Y} \sum_{i, j, k} H_{i, j, k} Y_{i}^{2} Y_{j}^{2} Y_{k}^{2} \\ \text { s.t. } \quad\left\{\begin{array}{ll} \sum_{i_{2}} Y_{i_{1} i_{2}}^{2}=1, \quad i_{1}=1,2, \cdots, N_{1} \\ \sum_{i_{1}} Y_{i_{1} i_{2}}^{2}=1, \quad i_{2}=1,2, \cdots, N_{2} \end{array}\right. \end{array} \tag{6} maxYi,j,kHi,j,kYi2Yj2Yk2 s.t. {i2Yi1i22=1,i1=1,2,,N1i1Yi1i22=1,i2=1,2,,N2(6)
然後分別對賦值矩陣 X X X的行和列進行 l 2 l_2 l2單位歸一化,迭代更新解。在演算法 1 1 1中體現, ○ ○ 表示hadamard乘積(元素相乘)。 ⊗ k ⊗_k k表示Kronecker積(張量積),經過證明收斂。

4. 構建高階圖匹配張量

假設軌跡集 T = { T 1 , T 2 , ⋅ ⋅ ⋅ , T N T } T = \{T_1,T_2,· · · ,T_{N_T}\} T={T1,T2,,TNT},當前幀檢測的觀察集 O = { O 1 , O 2 , ⋅ ⋅ ⋅ , O N 2 } O = \{O_1,O_2,· · · ,O_{N_2} \} O={O1,O2,,ON2},時間 N \mathcal N N根據費布拉切數列從 T T T中取樣獲得的追蹤檢測集 D = { D 1 , D 2 , ⋅ ⋅ ⋅ , D N 1 } D=\{D_1,D_2,· · · ,D_{N_1}\} D={D1,D2,,DN1} D i , O j D_i,O_j Di,Oj為四元表示 ( x , y , w , h ) (x,y,w,h) (x,y,w,h),代表邊界框中心位置,寬和高。依據 E q . ( 7 ) Eq.(7) Eq.(7),通過一個距離閾值 η η η去過濾 D D D O O O的連線,避免搜尋由於一對一地將跟蹤的檢測與觀測連線而產生的巨大的解決空間:
C = { ( i 1 , i 2 ) ∣ D i 1 ∈ T t , d ( P t , O i 2 ) h i 2 ≤ η } (7) \mathcal{C}=\left\{\left(i_{1}, i_{2}\right) \mid D_{i_{1}} \in T_{t}, \frac{d\left(P_{t}, O_{i_{2}}\right)}{h_{i_{2}}} \leq \eta\right\} \tag{7} C={(i1,i2)Di1Tt,hi2d(Pt,Oi2)η}(7)
P t P_t Pt表示當前時刻軌跡 T t T_t Tt均勻運動假設預測的位置, h i 2 h_{i_2 } hi2表示觀測值 O i 2 O_{i_2 } Oi2的高, d ( a , b ) d(a,b) d(a,b)表示 a , b a,b ab中心點的歐氏距離。

然後構造一個高階張量 H ∈ R K × K × K , K = ∣ C ∣ H ∈ R^{K×K×K},K = |\mathcal C| HRK×K×K,K=C來整合外貌相似度,運動一致性和空間結構潛在性:
H i j k = ϕ a ( i , j , k ) ϕ m ( i , j , k ) ϕ s ( i , j , k ) (8) H_{i j k}=\phi_{a}(i, j, k) \phi_{m}(i, j, k) \phi_{s}(i, j, k) \tag{8} Hijk=ϕa(i,j,k)ϕm(i,j,k)ϕs(i,j,k)(8)

i , j , k ∈ C , ϕ a ( i , j , k ) , ϕ m ( i , j , k ) , ϕ s ( i , j , k ) i,j,k ∈ \mathcal C,ϕ_a (i,j,k),ϕ_m (i,j,k),ϕ_s (i,j,k) i,j,kCϕa(i,j,k)ϕm(i,j,k)ϕs(i,j,k)分別代表當同時選擇連線 i , j , k i,j,k ijk時的外貌相似度,運動一致性和空間潛在結構。

A. 外貌親密度

外貌親密度常用於資料關聯,不同目標之間的外貌親密度應當相對較小,相同目標的親密度應該較大。許多方法中,使用成對或者三組行人補丁作為輸入的一個孿生網路來獲得親密度矩陣,但是當邊界框重疊時,這種方法由於共享特徵而無法分辨身份,因此我們使用一個基於ResNet-FPN作為backbone的Mask RCNN的孿生網路來只在 m a s k mask mask區域提取外貌特徵。

在這裡插入圖片描述
目標邊界框以及 m a s k mask mask由Mask RCNN獲得,底部特徵(ResNet50第三階段的最後卷積層)通過mask選擇。然後選取三組樣本作為淺層孿生網路的輸入,提取128維的外觀特徵,三元組損失為:
L = ∑ i max ⁡ ( cos ⁡ ( p r e d i , n e g i ) − cos ⁡ ( p r e d i , p o s i ) + m , 0 ) (9) \mathcal{L}=\sum_{i} \max \left(\cos \left(p r e d_{i}, n e g_{i}\right)-\cos \left(p r e d_{i}, p o s_{i}\right)+m, 0\right) \tag{9} L=imax(cos(predi,negi)cos(predi,posi)+m,0)(9)

p r e d i , p o s i , n e g i pred_i,pos_i,neg_i prediposinegi分別表示預測樣本,正樣本和負樣本。 m m m代表正確錯誤樣本對的分隔範圍, c o s ⁡ ( a , b ) cos⁡(a,b) cos(a,b)代表 a a a b b b的餘弦距離。
計算選擇連線元組時外觀親密度所產生的能量:
ϕ a ( i , j , k ) = a i a j a k (10) \phi_{a}(i, j, k)=a_{i} a_{j} a_{k} \tag{10} ϕa(i,j,k)=aiajak(10)
a i = a ( i 1 , i 2 ) = c o s ⁡ ( f i 1 , f i 2 ) , f i ⋅ a_i= a(i_1,i_2 )=cos⁡(f_{i_1 },f_{i_2 } ), f_{i_· } ai=a(i1,i2)=cos(fi1,fi2),fi代表網路提取的深度特徵。

B. 運動一致性

一般情況下,會假設一個目標的速度在短時間內是恆定的。可以使用一個簡單的線性模型來預測目標當前狀態 ( x , y , w , h ) (x,y,w,h) (x,y,w,h),運動一致性計算如下:
ϕ m ( i , j , k ) = exp ⁡ ( − w 1 3 ∑ c = { i , i k } ∥ P t c − O l c ∥ 2 ) (11) \phi_{m}(i, j, k)=\exp \left(-\frac{w_{1}}{3} \sum_{c=\{i, i k\}}\left\|P_{t_{c}}-O_{l_{c}}\right\|_{2}\right) \tag{11} ϕm(i,j,k)=exp3w1c={i,ik}PtcOlc2(11)
w 1 w_1 w1是一個權重引數; t c t_c tc是一在連線 c c c的情況下,追蹤軌跡的索引; l c l_c lc是在 c c c的連線情況下,目標檢測觀察值的索引。

C. 空間潛力

對於某些情況,簡單的運動模型進行線性預測就過於簡單,例如攝像機的運動。在這些情況下,節點(軌跡或觀測)的相對結構資訊可以被利用,因為它是仿射不變勢。為了對這種仿射不變性進行建模,在 H H H中定義了連線元組的空間勢:
ϕ s ( i , j , k ) = exp ⁡ ( − w 2 ∑ c 1 , c 2 ∥ d ( P t c 1 , P t c 2 ) − d ( O l c 1 , O l c 2 ) ∥ ) (12) \phi_{s}(i, j, k)=\exp \left(-w_{2} \sum_{c_{1}, c_{2}}\left\|d\left(P_{t_{c 1}}, P_{t_{c 2}}\right)-d\left(O_{l_{c 1}}, O_{l_{c 2}}\right)\right\|\right) \tag{12} ϕs(i,j,k)=exp(w2c1,c2d(Ptc1,Ptc2)d(Olc1,Olc2))(12)
w 2 w_2 w2是一個權重引數, c 1 , c 2 ∈ { i , j , k } c1,c2∈\{i,j,k\} c1c2{i,j,k}。注意,這裡使用節點距離的絕對差而不是相對比,因為距離越大,改變相對位置的可能性就越小。

除了MOT16-13 and MOT16-14使用 w 1 = 0.4 , w 2 = 1.1 , η = 0.5 w_1 = 0.4, w_2 = 1.1, η = 0.5 w1=0.4,w2=1.1,η=0.5,其他資料集使用 w 1 = 0.7 , w 2 = 0.3 w_1 = 0.7, w_2 = 0.3 w1=0.7,w2=0.3

四、 實驗

追蹤MOT16挑戰的結果,將其與其他私有檢測器的公開方法進行比較。
在這裡插入圖片描述
消融mask實驗:
在這裡插入圖片描述
不同階張量的對比
在這裡插入圖片描述

五、 總結

本文提出了一種多目標跟蹤器,它將分配任務描述為一個具有有效解的高階圖匹配問題。該公式可以方便地嵌入運動一致性和空間結構不變性等高階資訊。另外,加入孿生網路,提取基於id mask的特徵來表示外貌相似度,並且實驗證明使用mask比全域性的效果要好。演算法的公式實現簡潔並且實時執行。

只是公式中直接使用線性運動來預測運動模型,不適用所有場景,因此有待改善。

相關文章