《Relation Networks for Object Detection》筆記

Introduction

上下文信息或對象之間的關係有助於對象識別。該論文提出了一個對象關係模塊,類似於自然語言處理的注意力機制。該對象關係模塊使用對象的外貌特徵和幾何特徵。後者模擬對象之間的空間關係,僅考慮它們之間的相對幾何關係,使模塊具有平移不變性——對象識別的理想屬性。該對象關係模塊對對象的外貌特徵和幾何特徵進行加權操作得到新的特徵,提高了目標檢測的預測精度。同時,對象關係模塊可以用來替換NMS,把NMS的去掉重複bounding box的操作定義成二分類問題——bounding box是正確的還是重複的。

Object Relation Module

該論文受到自然語言處理的注意力機制的啓發。論文參考的注意力機制模型"Scaled Dot-Product Attention"的輸入包括queries,dkd_k維的keys和dvd_v維的values。對query和keys進行點乘來獲取它們的相似度。給定一個query qq,所有keys (組成矩陣KK)和values (組成矩陣VV),輸出爲
(1)vout=softmax(qKtdk)V v^{out} = softmax (\frac{qK^t}{\sqrt{d_k}})V \tag{1}

對象關係模塊類似於公式(1)。一個對象包含幾何特徵fG\mathbf{f}_G和外貌特徵fA\mathbf{f}_A。幾何特徵是簡單的4維的對象bounding box,外貌特徵是指神經網絡的激活值特徵。給定N個對象的輸入集{(fAn,fGn)}n=1N\{ (\mathbf{f}_{A}^n, \mathbf{f}_G^n) \}_{n=1}^N,第n個對象的關係特徵fR(n)\mathbf{f}_R(n)
fR(n)=mwmn(WVfAm) \mathbf{f}_R(n) = \sum_{m} w^{mn} \cdot (W_V \cdot \mathbf{f}_A^m)
即把第n個對象與其他對象(m)的關係定義成外貌特徵的加權和。首先對外貌特徵進行線性變換WVfAmW_V \cdot \mathbf{f}_A^m,然後使用關係權重wmnw^{mn}對變換後的特徵進行加權和。

關係權重wmnw^{mn}的計算公式是
wmn=wGmnexp(wAmn)kwGknexp(wAkn) w^{mn} = \frac{w_G^{mn} \cdot \exp (w_A^{mn})}{\sum_k w_{G}^{kn} \cdot \exp (w_A^{kn})}
先算出對象m對對象n的重要性,然後normalize。

外貌權重wAmnw_A^{mn}通過點乘操作得到,具體如下
wAmn=dot(WKfAm,WQfAn)dk w_A^{mn} = \frac{dot(W_K \mathbf{f}_A^m, W_Q \mathbf{f}_A^n)}{\sqrt{d_k}}
其中矩陣WKW_KWQW_Q類似公式(1)的K和q,把原來的特徵fAn\mathbf{f}_A^nfAm\mathbf{f}_A^m映射到子空間中,然後點乘操作衡量他們之間的匹配程度。映射之後的特徵維度是dkd_k

幾何權重wGmnw_G^{mn}的計算公式爲
wGmn=max{0,WGεG(fGm,fGn)} w_G^{mn} = \max \{0, W_G \cdot \varepsilon_G(\mathbf{f}_G^m, \mathbf{f}_G^n)\}
幾何特徵是相對幾何特徵(log(xmxnwm),log(ymynhm),log(wnwm),log(hnhm))(\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})),然後把特徵嵌入到高維空間中εG(fGm,fGn)\varepsilon_G(\mathbf{f}_G^m, \mathbf{f}_G^n),維度是dgd_g,然後用WGW_G進行變換,最後通過ReLU函數。

上面說了怎麼計算對象n與其他對象的關係特徵fR(n)\mathbf{f}_R(n),這只是一種關係,對象n與其他對象可能有多種關係,作者設對象n與其他對象一共有NrN_r種關係。作者把對象n與其他對象的NrN_r種關係特徵組合起來
fAn=fAn+Concat[fR1(n), ,fR1(Nr)],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}
爲了匹配channel維度,每個WVrW_V^r的維度是1Nr\frac{1}{N_r}。作者設置這些參數爲Nr=16,dk=64,dg=64N_r=16,d_k=64,d_g=64

整個對象關係模塊的結構是
object relation module

對象關係模塊可以嵌入到目標檢測的流程中,如下圖
object detector
對象關係模塊既可以嵌入到全連接層之間,還可以用於刪除重複bounding box的duplicate removal network。

嵌入到全連接層的對象關係模型可以表示成
enhanced
r1r_1r2r_2表示對象關係模塊重複的次數,作者默認使用r1=1,r2=1r_1=1,r_2=1
enhanced 2fc head and duplicate removal network

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函數,得到分數s1s_1。最後分類分數s0s_0s1s_1相乘得到最終結果。

Experiment

下面列一些對比實驗結果
experiment
experiment
從上圖可以發現網絡加了對象關係模塊後效果都得到提升。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章