長久以來,我們都認為如果模型能夠學到不同目標之間的關係,會對目標檢測有很大的提升,但是目前還沒有確切的證據表明在深度學習領域這種方法行得通,當今所有的主流高效檢測系統都是依賴於目標實例之間獨立進行識別檢測而不是試圖在學習的時候嘗試利用它們之間的關係。本篇論文提出了一個「object relation」模型,同時處理一組目標,通過它們外觀和形狀之間的交互,對它們的關係進行建模。該模型並不需要額外的監督,很容易嵌入到當前的網路模型中,實現端到端的訓練(自己翻譯的,太不專業)如下圖所示,藍色框為圈出的object,橙色框和數值代表對該次檢測有幫助的關聯信息。
當前SOTA的檢測方法還是注重於基於區域的檢測,找到region proposal後,利用classification和bounding box回歸,在每一個推薦區域獨立的進行操作,隨後用一些啟發式的演算法,NMS等方法,去掉冗餘的框。關注不同object之間的關係對detection大有裨益,但是在深度網路領域,還沒有很好的辦法進行內容之間的融合來對目標檢測提供更多的支持,大多數方法還是聚焦在獨立的處理每一個objects。一個很重要的原因是因為這種object-object的關係很難進行建模,objects在圖像中的位置不定,尺度不定,數目不定,類別不定,這些都是針對object-object建模的難點,目前的CNN系列網路尚不清楚如何在現存的方法中適應上述特點。本文提出的方法受NLP領域的注意力機制(Attention)的啟發,在機器翻譯中,注意力模型可以通過信息聚合對目標語句中的單獨詞語起作用,聚合的權重是受任務目標驅動,由網路自己學到的。注意力模型可以獨立的對元素之間的關係進行建模而不需要對它們的位置和特徵信息做過多的假設。近來,注意力模型已經成功的應用在視覺領域。本篇論文首次提出了適用於目標檢測的注意力模型,該模型建立在基礎在注意力模型之上,一個很明顯的區別是初始的元素是objects而不是words,objects有二維空間的布局和長寬比例的變化。objects的位置信息和幾何特徵信息會有更加重要和複雜的作用。新的模型在原有注意力模型上將原先的注意力參數拓展為兩部分:原始權重和新的幾何權重,後者對對象之間的空間關係進行建模,只考慮對象之間的相對幾何關係,使得模塊平移不變,是一個理想的對象識別屬性。新的幾何權重在我們的實驗中被證明是重要的。我們稱該模型為「object relation module」,該模型的本質是表明,一組objects是可以同時處理,推理和影響的,而不是單獨進行。此外該模型可以融合到不同的目標檢測網路中去,具有很好的適應性。它具有和注意力模型相同的特點,它需要可變數量的輸入,並行運行(而不是順序建模),是完全可微分還是in-place的(輸入輸出之間沒有維度的變化)
本文的模型受到NLP領域Attention機制的啟發影響,所以我們有必要先來了解NLP中的注意力模型
其中,我們要計算Yi的注意力概況分布,可以用i時刻隱節點狀態Hi去和每個對應單詞對應的隱節點狀態hj進行對比,即通過函數F(hj,Hi)來獲得目標單詞和每個輸入源單詞對齊的可能性,這個F函數有不同的做法進行匹配,然後經過softmax歸一化後得到概率分布。
attention函數共有三步完成得到attention value。
當前準確度最高的目標檢測器基本是四步走,如下圖所示,本文提出的關係模型可以很方面的融合進instance recognition和duplicate removal兩部分中,提升表現,實現端到端的訓練
如下圖所示,這個模型的特點就是聯合所有的object的信息來提升每個object recognition的準確性
注意:
右圖是一個relation的內部結構,可以看到:
其中,分母為歸一化操作,可以不用看,著重看分子,主要由兩者決定,即第m個物體相對於當前第n個物體在geometry上的權重和在appearance上的權重,它們各自的求法如下:
這裡的Wk,WQ,WG都是需要進行學習的,都起到變化維數的效果,dot是點乘操作,dk是點乘後的維數,
總結一下這個模塊的方法:
==================================================================================再理解一下公式===================
關係模塊 Relation Networks Module具有相同的輸入輸出維度,因此可以被看作是在任何網路體系結構中使用的基本構件,是可微的,可以實現輕鬆地反向傳播,下列是在目標檢測系統中的應用:
第一步生成全圖特徵。從輸入圖像中,一個深層的卷積主幹網路提取出全解析度卷積特徵(usually 16× smaller than input image resolution通常比輸入圖像解析度要小16×)。骨幹網路在ImageNet分類任務中預訓練並且在檢測訓練中進行微調。
原本的從ROI Pooling 得到的特徵經過兩個fc之後,進行坐標和類別回歸,考慮對第n個候選的ROI池化,採用1024維的兩個全連接層,然後通過線性層執行回歸操作,這個過程可以被總結為:
本文把duplicate removal歸結為一個二分類問題,對每一個ground-truth,只有一個detect box被分為correct,其餘的都是分為duplicate重複的。論文的duplicate removal networks是接在分類器classifier後面的。該模塊的輸入包括候選目標object proposal的score vector(分數向量,屬於各個類別的概率),bounding box(邊界框),proposal候選特徵,如下圖所示,某個候選區域的某個類別,假設屬於這個類別的概率是score,首先經過一個rank embed模塊,即拿出其他候選目標屬於該類別的分數,進行排序,得到第n個候選目標在排序中的下標(rank),然後將rank值映射到128維向量,同時將候選區域也映射到128維,將兩種的128維特徵相加之後作為新的外觀特徵,然後將邊界框的幾何特徵作為關係模塊的輸入,得到新的128維的輸出,和Ws做內積後通過sigmoid得到分數S1,然後分數S0和S1相乘作為最終得分,再進行選擇保留/不保留
為0.5時的效果最好,mAP0.75的t同理,而mAP使用多個 閾值效果最好。
NMS:在被檢測圖片中產生一系列的檢測框B以及對應的分數S。當選中最大分數的檢測框M,他被從集合B中移出並且放入最終的檢測結果集合D中。與此同時,集合B中任何與檢測框M的IOU大於閾值的候選框都會被移除。NMS最大的問題就是它將相鄰檢測框的分數強制的置為0,在這種情況下,如果一個真實物體在重疊區域出現,則會導致對該物體的檢測失敗並降低了演算法的平均檢測率