1. 程式人生 > >Ralation Networks for Object Detection演算法詳解

Ralation Networks for Object Detection演算法詳解

Ralation Networks for Object Detection演算法詳解

演算法背景

論文標題:Ralation Networks for Object Detection
下載地址:https://arxiv.org/abs/1711.11575


論文日期:2018.1.14

摘要

物體之間的模型關係對於目標檢測非常重要,但是目前的目標檢測演算法仍然是獨立地識別物體,沒有學習目標物體之間關係。本文提出了一個目標檢測模型,同時處理一系列物體通過聯絡他們表面特徵與幾何形狀,因此,允許建模他們的關係,不需要額外的監督,並且很容易嵌入現有的網路中。它被證明在改進現代物件檢測流水線中的物件識別和重複刪除步驟方面是有效的。它驗證了基於CNN的檢測中建模物件關係的有效性。

演算法簡介

在深度學習演算法開始流行之前,許多演算法都認為文字資訊以及目標物體之間的聯絡對於目標識別非常重要,但是在現在先進的目標檢測演算法中,大家都是獨立地識別每一個物體,不考慮聯絡。

不考慮聯絡的原因

目標物體之間的聯絡很難建模,一個物體可以在圖片中的任意位置,任意尺寸,任意類別,任意數量,但是CNN方法大多數只有一個簡單的常規結構,目前尚不清楚如何利用現有方法解決非常規行為的問題。

應用啟發

本文的方法是由自然語言處理領域的attention modules的成功所啟發。一個attention module能夠通過從一堆元素(原始語句中的所有詞)中收集資訊(特徵)來影響一個獨立元素(例如機器學習翻譯中一個句子裡面的一個詞),收集權重是自主學習的,通過驅動目標任務,一個attention module能在元素之間建立依賴,而不用在定位和特徵分佈上進行多餘的假設,attention module被成功地應用到視覺問題。

實現方法

本文提出了一個應用attention module的目標檢測演算法,建立在一個基礎的attention module上,有一個明顯的區別就是初始元素是目標而不是單詞。
物體在尺寸/比例方面有一個2D空間內的佈局與變化。他們的定位或幾何特徵是在一個常規的場景,比單詞在1維空間的定位更復雜並且更重要。
提出的模型拓展了原來的attention module權重為兩個元素:原始權重一個新幾何權重。後面的元素建模了目標與僅考慮相關幾何之間的空間關係,讓模型具有平移不變性,對於目標識別的一個很好的屬性,新的幾何權重在實驗中被證實很重要。

這個模型被稱為目標關係模型, 分享了attention module的相同優點,會利用輸入的變數數量,平行執行(與順序關係模型相反),是完全不同的並且是對應位置的(在輸入與輸出之間維度不變),因此,它作用為一個基礎構造塊因此可以在任意結構中靈活使用。
object relation module和網路結構的耦合度非常低,同時輸出的維度和輸入的維度相同,因此可以非常方便地插入到其他網路結構中,而且可以疊加插入。

被應用於改進例項識別步驟並且學習重複移除步驟。
在例項識別中,關係模組可以對所有物件進行聯合推理,並提高識別準確性(第4.2節)。 對於重複刪除,傳統的NMS方法由輕量級關係網路(第4.3節)替換和改進,從而產生了我們所知的第一個端到端物件檢測器(第4.4節)。

一組物件被同時處理,推理和相互影響,而不是單獨識別。

  • 以attention的形式附加到原來的特徵上最後進行迴歸和分類,
  • 同時將這種attention機制引入nms操作中。

演算法細節

演算法結構

在這裡插入圖片描述
首先在圖片中生成特徵,然後進行區域特徵提取,使用object relation module在instance recognition與duplicate removel兩部分,使神經網路成為一個端到端的目標檢測器。

訓練步驟:
1、特徵提取主網路;
2、得到ROI及特徵(RPN網路就包含在其中);
3、基於ROI做邊框迴歸和object分類;
4、NMS處理,去除重複框。

演算法虛擬碼

在這裡插入圖片描述
N:目標物體的數量;
N_r:目標物體之間的關係數量;
f_A:外觀特徵;
d_f:外觀特徵的維度;
f_G:幾何特徵;
d_g:幾何特徵的維度;
d_k:關鍵特徵維度;
W^r:學習權重;

目標關係模型

基於基礎attention module,又命名為縮放點運算關注,輸入是由查詢與關鍵特徵維度組成,查詢在所有關鍵特徵之間進行進行點運算從而獲得他們的相似性。最後一個softmax函式用來獲得權重。
在這裡插入圖片描述
目標物體關係計算,由幾何特徵(定位)與外觀特徵(分類)兩部分組成。幾何特徵是一個4維的邊界框,外觀特徵由任務確定。
可以用公式2來刻畫第n個object和所有object之間的關係特徵(relation feature)。其中fAm表示第m個object的影象特徵。Wv是一個線性變換操作,在程式碼中用1*1的卷積層實現。wmn是用來描述不同object之間的關係權重(relation weight),該變數通過後面的一系列公式可以得到。計算得到的關係特徵fR將和原有的影象特徵fA融合並傳遞給下一層網路,這就完成了attention過程。那麼公式2和公式1有什麼聯絡呢?簡單講,公式2中的WV對應公式1中的V,公式2中的wmn對應公式1中的softmax()。
在這裡插入圖片描述
其中,
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
首先將兩個物體的幾何特徵嵌入到高維特徵表示,4維的相關幾何特徵:
在這裡插入圖片描述
然後使用W_G轉換嵌入特徵到一個縮放的權重,並且修剪為0,使用ReLU非線性函式。
零修剪操作僅限制於確定幾何關係的物體之間。

在得到一個關係特徵fR後,這篇文章最後的做法是融合多個(Nr個,預設是16)關係特徵後再和影象特徵fA做融合,如公式6所示。這裡有個細節是關於關係特徵的融合方式,這裡採用的concat,主要原因在於計算量少,因為每個fR的通道維度是fA的1/Nr倍,concat後的維度和fA相同。假如用element-wise add的方式進行融合,那麼每個fR的維度和fA都一樣,這樣的加法計算量太大。
在這裡插入圖片描述

目標關係模型計算細節

左圖是整體上的attention模組和影象特徵fA的融合;右圖是attention模組的詳細構建過程。
在這裡插入圖片描述

神經網路結構細節

在這裡插入圖片描述
左邊的圖片是在RoI pooling之後加上了兩個全連線層,在全連線層之後會基於提取到的特徵和roi的座標構建attention,最後在對得到的框進行定位迴歸與分類。
右圖是插入NMS過程,重複刪除是一個二分類問題,影象特徵通過預測框得分的高低順序和預測框特徵的融合得到,然後將該融合特徵與預測框座標作為relation模組的輸入得到attention結果,最後將NMS當作是一個二分類過程,並基於relation模組輸出特徵計算分類概率。
1、先獲取輸入score的排序資訊(index),然後對index做embedding,並將embedding後的index和影象特徵(f)通過一些全連線層(維度從1024降為128)後進行融合,融合後的特徵作為relation module的輸入之一。
2、預測框的座標作為relation module的另一個輸入,經過relation module後得到關係特徵。
3、關係特徵經過一個線性變換(Figure3(b)中的Ws)後作為sigmoid的輸入得到分類結果,這樣就完成了預測框的二分類,且基於的特徵引入了attention。