1. 程式人生 > >Relation Networks for Object Detection

Relation Networks for Object Detection

 目錄

1. Background

2. Object Relation Module

3. Duplicate removal

4. Experiment

5. Summary

參考


主要貢獻點有兩條: 
1. 提出了一種relation module,可以在以往常見的物體特徵中融合進物體之間的關聯性資訊,同時不改變特徵的維數,能很好地嵌進目前各種檢測框架,提高效能 
2. 在1的基礎上,提出了一種特別的代替NMS的去重模組,可以避免NMS需要手動設定引數的問題

1. Background

假設現在有一個顯示螢幕,問這是電腦顯示屏還是電視螢幕,該怎麼判斷?如果單純把螢幕取出來,確實很難回答這個問題,但是如果結合周圍的東西,就很好解決了……比如,放在客廳環境、旁邊有茶几的是電視,而旁邊有鍵盤和滑鼠的是電腦顯示屏;又或者,寬度有沙發那麼大的是電視,而只比一般座椅稍大一點的是電腦屏…… 
總之,周邊其他物體的資訊很可能對某個物體的分類定位有著幫助作用,這個作用在目前的使用RoI的網路中是體現不出來的,因為在第二階段往往就把感興趣的區域取出來單獨進行分類定位了。這篇文章作者就考慮改良這個情況,來引入關聯性資訊。 
放一個直觀的例子,藍色代表檢測到的物體,橙色框和數值代表對該次檢測有幫助的關聯資訊。 

實際上以往也有人嘗試過類似的工作,但是由於關聯性涉及到對其它物體特徵和位置的假設等原因,一直不是個容易的問題,本文作者從google在NLP(https://arxiv.org/abs/1706.03762)方面的一篇論文中的Attention模組得到啟發,設計了本文的這種思路。

2. Object Relation Module

這個模組的特點就是聯合所有object的資訊來提升每個object recognition的準確性。它的模組示意圖如下圖所示:

 
 
fR(n)fR(n)是第n個relation模組的輸出,它是由各個所有物體的apperance特徵經過WVWV的維數變化後,又賦予不同的權重疊加得到的……也許看到這裡有人疑惑,不是說geometry特徵也是輸入嗎,怎麼沒看到?其實位置特徵是體現在權重裡的,第m個物體對於當前第n個物體的權重ωmn的求法如下: 


 

 

 可以看出fg就是一維長度為4的向量,目標長度是dg=64。

 
 
改變為: 
 

上面的N表示RPN選取出來的proposal的個數,比如300。

r1,r2代表重複次數,也可以用圖來表示: 

3. Duplicate removal

作者的另一個貢獻就是提出了這種可以代替NMS的消除重複框的方法。框架如下: 

4. Experiment

這部分就不詳細介紹了,作者主要使用了ResNet 50和101,用兩個fc層作為baseline進行了很多對比實驗。 
包括:

  • geometric feature特徵的使用
  • NrNr的數量
  • relation modules的重複次數
  • 效果的提升是源於relation module還是隻是因為多加了幾個層
  • NMS和SoftNMS
  • end2end和分階段訓練哪個更好
  • 等等……

最終的實驗結果: 

5. Summary

本文主要是在detection當中引入了relation的資訊,我個人覺得算是個很不錯的切入點,而且motivation是源自NLP的,某種方面也說明了知識寬度的重要性。但是一個比較可惜的點就是,relation module更像是拍腦袋思考了一個方法然後直接去實驗驗證了,對於relation到底學到了什麼,能不能更好地理解這個資訊,作者認為這還是個有待解決的問題。期待在relation問題上能看到更多有趣的思路吧。

另外這種RM模組是在RPN選出proposal之後,就直接對這所有的框進行位置關係的計算,這是不合理的,畢竟你只和其中某些有關係,全都用上感覺就有點扯了(這當中可是有很多錯誤的框,而且也有很多重複的框),應該可以用的更好點的。

這個物體之間的關聯的想法我認為是有效的,在作者已經做的實驗的基礎上再做改進,應該對檢測精度是有幫助的。

參考

https://blog.csdn.net/qq_21949357/article/details/80369848

https://blog.csdn.net/u014380165/article/details/80779712