Introduction
上下文信息或對象之間的關係有助於對象識別。該論文提出了一個對象關係模塊,類似於自然語言處理的注意力機制。該對象關係模塊使用對象的外貌特徵和幾何特徵。後者模擬對象之間的空間關係,僅考慮它們之間的相對幾何關係,使模塊具有平移不變性——對象識別的理想屬性。該對象關係模塊對對象的外貌特徵和幾何特徵進行加權操作得到新的特徵,提高了目標檢測的預測精度。同時,對象關係模塊可以用來替換NMS,把NMS的去掉重複bounding box的操作定義成二分類問題——bounding box是正確的還是重複的。
Object Relation Module
該論文受到自然語言處理的注意力機制的啓發。論文參考的注意力機制模型"Scaled Dot-Product Attention"的輸入包括queries,d k d_k d k 維的keys和d v d_v d v 維的values。對query和keys進行點乘來獲取它們的相似度。給定一個query q q q ,所有keys (組成矩陣K K K )和values (組成矩陣V V V ),輸出爲
(1) v o u t = s o f t m a x ( q K t d k ) V
v^{out} = softmax (\frac{qK^t}{\sqrt{d_k}})V \tag{1}
v o u t = s o f t m a x ( d k q K t ) V ( 1 )
對象關係模塊類似於公式(1)。一個對象包含幾何特徵f G \mathbf{f}_G f G 和外貌特徵f A \mathbf{f}_A f A 。幾何特徵是簡單的4維的對象bounding box,外貌特徵是指神經網絡的激活值特徵。給定N個對象的輸入集{ ( f A n , f G n ) } n = 1 N \{ (\mathbf{f}_{A}^n, \mathbf{f}_G^n) \}_{n=1}^N { ( f A n , f G n ) } n = 1 N ,第n個對象的關係特徵f R ( n ) \mathbf{f}_R(n) f R ( n ) 爲
f R ( n ) = ∑ m w m n ⋅ ( W V ⋅ f A m )
\mathbf{f}_R(n) = \sum_{m} w^{mn} \cdot (W_V \cdot \mathbf{f}_A^m)
f R ( n ) = m ∑ w m n ⋅ ( W V ⋅ f A m )
即把第n個對象與其他對象(m)的關係定義成外貌特徵的加權和。首先對外貌特徵進行線性變換W V ⋅ f A m W_V \cdot \mathbf{f}_A^m W V ⋅ f A m ,然後使用關係權重w m n w^{mn} w m n 對變換後的特徵進行加權和。
關係權重w m n w^{mn} w m n 的計算公式是
w m n = w G m n ⋅ exp ( w A m n ) ∑ k w G k n ⋅ exp ( w A k n )
w^{mn} = \frac{w_G^{mn} \cdot \exp (w_A^{mn})}{\sum_k w_{G}^{kn} \cdot \exp (w_A^{kn})}
w m n = ∑ k w G k n ⋅ exp ( w A k n ) w G m n ⋅ exp ( w A m n )
先算出對象m對對象n的重要性,然後normalize。
外貌權重w A m n w_A^{mn} w A m n 通過點乘操作得到,具體如下
w A m n = d o t ( W K f A m , W Q f A n ) d k
w_A^{mn} = \frac{dot(W_K \mathbf{f}_A^m, W_Q \mathbf{f}_A^n)}{\sqrt{d_k}}
w A m n = d k d o t ( W K f A m , W Q f A n )
其中矩陣W K W_K W K 和W Q W_Q W Q 類似公式(1)的K和q,把原來的特徵f A n \mathbf{f}_A^n f A n 和f A m \mathbf{f}_A^m f A m 映射到子空間中,然後點乘操作衡量他們之間的匹配程度。映射之後的特徵維度是d k d_k d k 。
幾何權重w G m n w_G^{mn} w G m n 的計算公式爲
w G m n = max { 0 , W G ⋅ ε G ( f G m , f G n ) }
w_G^{mn} = \max \{0, W_G \cdot \varepsilon_G(\mathbf{f}_G^m, \mathbf{f}_G^n)\}
w G m n = max { 0 , W G ⋅ ε G ( f G m , f G n ) }
幾何特徵是相對幾何特徵( log ( ∣ x m − x n ∣ w m ) , log ( ∣ y m − y n ∣ h m ) , log ( w n w m ) , log ( h n h m ) ) (\log(\frac{|x_m - x_n|}{w_m}), \log(\frac{|y_m - y_n|}{h_m}), \log (\frac{w_n}{w_m}), \log(\frac{h_n}{h_m})) ( log ( w m ∣ x m − x n ∣ ) , log ( h m ∣ y m − y n ∣ ) , log ( w m w n ) , log ( h m h n ) ) ,然後把特徵嵌入到高維空間中ε G ( f G m , f G n ) \varepsilon_G(\mathbf{f}_G^m, \mathbf{f}_G^n) ε G ( f G m , f G n ) ,維度是d g d_g d g ,然後用W G W_G W G 進行變換,最後通過ReLU函數。
上面說了怎麼計算對象n與其他對象的關係特徵f R ( n ) \mathbf{f}_R(n) f R ( n ) ,這只是一種關係,對象n與其他對象可能有多種關係,作者設對象n與其他對象一共有N r N_r N r 種關係。作者把對象n與其他對象的N r N_r N r 種關係特徵組合起來
f A n = f A n + C o n c a t [ f R 1 ( n ) , ⋯  , f R 1 ( N r ) ] , for all n
\mathbf{f}_A^n = \mathbf{f}_A^n + Concat[\mathbf{f}_R^1(n), \cdots, \mathbf{f}_R^1(N_r)], \text{for all n}
f A n = f A n + C o n c a t [ f R 1 ( n ) , ⋯ , f R 1 ( N r ) ] , for all n
爲了匹配channel維度,每個W V r W_V^r W V r 的維度是1 N r \frac{1}{N_r} N r 1 。作者設置這些參數爲N r = 16 , d k = 64 , d g = 64 N_r=16,d_k=64,d_g=64 N r = 1 6 , d k = 6 4 , d g = 6 4 。
整個對象關係模塊的結構是
對象關係模塊可以嵌入到目標檢測的流程中,如下圖
對象關係模塊既可以嵌入到全連接層之間,還可以用於刪除重複bounding box的duplicate removal network。
嵌入到全連接層的對象關係模型可以表示成
r 1 r_1 r 1 和r 2 r_2 r 2 表示對象關係模塊重複的次數,作者默認使用r 1 = 1 , r 2 = 1 r_1=1,r_2=1 r 1 = 1 , r 2 = 1 。
Duplicate removal network
Duplicate removal network目的是爲了替換NMS,因爲NMS沒有考慮對象之間的關係信息。Duplicate removal 是一個二分類問題,對於每個ground truth對象,只有一個檢測到的匹配對象記爲correct,其它匹配的對象記爲duplicate。
Duplicate removal network的結構如上圖所示。該網絡有3個輸入,分別是對象的分類分數、1024維的對象特徵和bounding box。對象分類分數有助於分類,先把分類分數變成降序排列的序號,然後把它嵌入到128維的高維空間。同樣把對象特徵映射到128維,和對象分類分數組合成新的外貌特徵。外貌特徵和bounding box進入對象關係模塊,然後經過簡單的線性變化和sigmoid函數,得到分數s 1 s_1 s 1 。最後分類分數s 0 s_0 s 0 和s 1 s_1 s 1 相乘得到最終結果。
Experiment
下面列一些對比實驗結果
從上圖可以發現網絡加了對象關係模塊後效果都得到提升。