天天看點

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

目标檢測

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

導 讀

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

目前大部分的目标檢測算法都是獨立地檢測圖像中的目标,如果模型能學到目标之間的關系顯然對于檢測效果提升會有很大的幫助,是以作者希望在檢測過程中可以通過利用圖像中object之間的互相關系或圖像上下文來優化檢測效果,這種關系既包括相對位置關系也包括圖像特征關系。關于object的相對位置關系的利用是一個非常有意思的點,尤其是能夠實作相對位置關系的attention非常不錯的點子。

具體的做法借鑒了attention機制(Attention is all you need)的啟發,作者提出一個子產品:object relation module來描述目标之間的關系,進而以attention的形式附加到原來的特征上,最後進行回歸和分類,另外一個亮點是同時将這種attention機制引入NMS操作中,不僅實作了真正意義上的end-to-end訓練,而且對于原本的檢測網絡也有提升。

值得注意的是:object relation module和網絡結構的耦合度非常低,同時輸出的次元和輸入的次元相同,是以可以非常友善地插入到其他網絡結構中,而且可以疊加插入。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

亮 點

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

作者主要放在兩個全連接配接層後面和NMS子產品,如下圖中的紅色虛線框所示。在下圖中作者将目前目标檢測算法分為4步:

  1. 特征提取主網絡
  2. 得到ROI及特征
  3. 基于ROI做邊界框回歸和目标分類
  4. NMS處理,去除重複框

從作者的分步情況和源碼可以清晰地看出,這篇文章主要是基于Faster RCNN系列算法引入object relation module。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)
目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

基本架構

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

提出的Relation Module是對[“Attention Is All You Need”]中提出的“Scaled Dot-Product Attention”子產品的改造,其主要作用是建立目标檢測任務中不同目标之間的關系,以提高目标檢測任務的準确率。

本文使用的是Faster RCNN架構,如下圖所示,假設Faster RCNN的RPN子產品篩選出N個候選區,在這裡就預設每個候選區為一個目标,對每個目标提出其幾何特征和形狀特征。其中幾何特征通過候選區的邊框的坐标進行計算,而形狀特征的來源為:Faster RCNN提取出候選框後,需要對每個候選框進行ROI pool 然後經過兩個全連接配接層生成最終的目标類别預測,而在這裡形狀特征即為中間全連接配接層的輸出,為1維向量。然後通過目标關系子產品建立任意兩個目标之間的關系。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

在attention is all you need這篇文章中介紹了一個基本的attention子產品:scaled dot-product attention,如下所示:

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

假設輸入中有N個目标,那麼N個目标的兩種特征集合如下所示,fA是正常的圖像特征,fG是位置特征。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

簡單的來說公式2中的WV對應上面公式中的V,公式2中的wmn對應上面公式中的softmax()。

歸一化操作:

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

上面公式中的兩個變量wG和wA分别表示目标的位置特征權重(geometric weight)和圖像特征權重(appearance weight),後面通過如下公式分别得到。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)
目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

為了使其适應于平移和尺度變換,使用了一個4維的相對幾何特征。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

綜上,可以用下面的Algorithm 1來概括前面提到的公式算法,源碼中的實作基本上和Algorithm 1相同。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)
目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

左圖是整體上的attention子產品和圖像特征fA的融合;右圖是attention子產品的詳細建構過程。

接下來我們說說怎麼應用在目标檢測算法中了。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

上圖是object relation module插入目标檢測算法的示意圖,左圖是插入兩個全連接配接層的情況,在全連接配接層之後會基于提取到的特征和roi的坐标建構attention,然後将attention加到特征中傳遞給下一個全連接配接層,再重複一次後就開始做框的坐标回歸和分類。右圖是插入NMS子產品的情況,圖像特征通過預測框得分的高低順序和預測框特征的融合得到,然後将該融合特征與預測框坐标作為relation子產品的輸入得到attention結果,最後将NMS當作是一個二分類過程,并基于relation子產品輸出特征計算分類機率。

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

實 驗

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)
目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

Table1主要做了3個驗證:

  • 驗證引入位置特征(geometric feature)的有效性
  • 驗證關系特征數量的影響
  • 驗證relation module在兩個全連接配接層中的數量的影響
目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

表2主要是驗證RM效果提升是否是因為參數量增加帶來的

目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)
目标檢測架構|又一新架構來襲,關系網絡用于目标檢測(文末附源碼)

關于在不同算法上引入RM的效果

論文位址:​​https://arxiv.org/pdf/1711.11575.pdf​​

源碼:https://github.com/msracver/Relation-Networks-for-Object-Detection

繼續閱讀