RelationNet:學習目標間關係來增強特徵以及去除NMS | CVPR 2018

論文基於NLP的注意力機制提出了目標關係模塊,通過與其它目標的比對增強當前目標的特徵,而且還可以代替NMS進行端到端的重複結果去除,思想十分新穎,效果也不錯

來源:曉飛的算法工程筆記 公衆號

論文: Relation Networks for Object Detection

Introduction


  當前大多數目標檢測算法仍專注於單獨識別目標,沒有嘗試在訓練時挖掘目標之間的關係,受限於當前簡單的網絡結構,無法對無規律的目標關係進行建模。參考自然語言處理中的注意力機制,論文提出了用於目標檢測的自適應注意力機制 -- 目標關係模塊(object relation module),學習目標間的關係來增強特徵以及去除重複結果。
  檢測目標有2D空間分佈和不同的長寬比,比文本的場景要複雜些,所以論文拓展了NLP的注意力權重,分爲兩個權重:

  • 基於目標特徵產生的權重,跟NLP權重類似。
  • 基於目標相對幾何位置產生的權重,相對幾何位置保證平移不變性。

  目標關係模塊接收可變輸入並行計算,是可微的in-place操作,可作爲基礎構建block嵌入到任意目標檢測算法中,嵌入方式如圖1所示,用於目標識別部分以及重複目標去除:

  • 目標識別部分(instance recognition):利用目標關係模塊,聯合所有的檢測目標來進行特徵增強,再進行後續的識別。
  • 重複目標去除(du-plicate remova):在識別完成後,常規的做法使用NMS進行重複目標的去除,而論文使用輕量級網關係網絡進行該做法的替換。

Object Relation Module


  常規的注意力機制爲ScaledDot-Product Attention,計算爲:

  給定查詢目標$q$,計算與其它目標$K$的相似度,然後softmax歸一化爲權重,最後乘以各向量的值$V$得到加權後的特徵,這3個值一般都是對目標特徵進行embedding得到的。
  對於目標檢測中的相似性計算,每個目標包含幾何特徵$f_G$和外觀特徵$f_A$,給定$N$個目標${(f^n_A, fn_G)}N_{n=1}$,可計算每個目標相對於其它目標的關係特徵(relation feature)$f_R(n)$:

  關係特徵實際爲所有目標的外觀特徵的加權和,$W_V$爲線性變化,相當於將外觀特徵embedding爲公式1的值$V$。權值$w^{mn}$表明其它目標相對於當前目標的重要性,計算方法爲:

  公式3實際上等同於公式1中的softmax,唯一不同的是除了外觀權值$w{mn}_A$,還額外使用幾何權值$w{mn}_G$進行加權。
  外觀權值$w^{mn}_A$的計算跟公式1的softmax括號內的計算一樣,具體爲:

  $W_K$和$W_Q$同樣爲線性變化,分別將對比目標和當前目標的外觀特徵embedding成公式1的$K$和$Q$,embedding後的特徵維度爲$d_k$。
  幾何權值$w^{mn}_G$的計算爲:

  幾何特徵一般就是簡單的四維bbox,所以公式5在計算幾何權值包含兩個步驟:

  • 將當前目標和對比目標的幾何特徵通過$\varepsilon_G$embedding成高維特徵,爲了保證平移和尺寸不變性,幾何特徵轉爲相對值$(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}) )$,embedding方法跟Attention Is All You Need裏的位置編碼一樣,使用正弦函數和餘弦函數。
  • 使用$W_G$將高維幾何特徵轉換爲標量權值,小於0時設爲0。

  論文在幾何特徵的使用上也嘗試了其它方法:1) none,直接將$w^{mn}_G$設爲1.0計算權值,即不使用。 2) unary,將高維幾何特徵直接與外觀特徵融合,然後跟none一樣計算權值。實驗部分的表1有相關的結果對比,論文選擇的公式5加權方法比較有效。

  在實現時,類似於multi-head attention,一個目標關係模塊(object relation module)包含$N_r$個關係特徵,每個特徵的維度爲輸入特徵$f^m_A$的$\frac{1}{N_r}$,圖2可能會有一點問題,幾何特徵寫了兩個,但是外觀特徵只寫了一個,大家根據公式理解就好,最後通過相加對輸入目標的外觀特徵進行增強:

  目標關係模塊的計算邏輯如算法1所示,其空間複雜度和時間複雜度爲:

  一般而言,目標關係模塊的整體計算量不會很大,而且輸出特徵的維度和輸入特徵的維度一致,可作爲基礎構建block嵌入到任何網絡中。

Relation Networks For Object Detection


  論文主要討論將目標關係模塊嵌入到region-based目標檢測網絡中,region-based目標檢測網絡一般包含四個步驟:1) 通過主幹網絡生成整圖特徵 2) 生成候選框的區域特徵 3) 進行各實例識別和調整 4) 去除重複的檢測結果,目標關係模塊的嵌入主要在步驟3和步驟4。

Relation for Instance Recognition

  目標分類和目標迴歸一般使用兩個1024維全連接層對目標的RoI池化特徵進行處理:

  目標關係模塊可直接增強所有目標的1024維,不改變特徵的維度,不僅可以在任意位置插入,還可以多次堆疊:

  $r_1$和$r_2$爲目標關係模塊重複的次數,添加目標關係模塊能夠目標特徵,提高識別的準確率,公式10的可視化如圖a所示。

Relation for Duplicate Removal

  去除重複目標這個任務本身就需要窮盡目標間的關係,比如啓發式的NMS,高分目標可抹去其附近的低分目標。儘管NMS十分簡單,但其去重的方式並不總是最優的,爲此,論文采用目標關係模塊去除重複目標。

  如圖b所示,輸入目標的分數、1024維外觀特徵以及幾何特徵,重複目標去除包含以下幾個步驟:

  • 對目標分數進行名次的轉換,採用幾何特徵的embedding方式將分數轉換成128維特徵,將外觀特徵降維爲128維特徵,將兩個特徵相加。
  • 跟前面描述的目標關係模塊一樣與其它目標計算,輸出關係特徵。
  • 通過線性變化$W_s$和sigmoid函數輸出概率$s_1\in [0, 1]$,對原分數進行加權。
  • 分數高於閾值的即爲最終的結果。

  在訓練時直接對最終的分數使用交叉熵損失迭代,雖然大部分的目標都是重複的,但由於其最終分數都很小,所以不會對網絡造成很大的偏差。而在推理時,先按分類的分數過濾一輪,這樣能減輕計算量,論文實測大約增加2ms,相對的,NMS和SoftNMS增加5ms左右。

Experiments


  各位置設置的對比實驗。

  重複目標去重效果對比。

  在各網絡中的效果對比,分別對比2fc+SoftNMS、2fc+RM+SoftNMS和2fc+RM+e2e的效果。

Conclusion


  論文基於NLP的注意力機制提出了目標關係模塊,通過與其它目標的比對增強當前目標的特徵,而且還可以代替NMS進行端到端的重複結果去除,思想十分新穎,效果也不錯。



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公衆號【曉飛的算法工程筆記】

work-life balance.

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