1. 程式人生 > >論文閱讀-《Relation Networks for Object Detection》

論文閱讀-《Relation Networks for Object Detection》

MSRA jifeng dai

1.abstract:

在目標檢測領域,model object之間的關係能夠提高檢測的準確度,但是這種方法在基於深度學習的模型中還沒有很好的work。當下主流的目標檢測的方法還是對各個物體進行單獨的檢測,本文提出了一種object relation module,通過引入不同物體之間的外觀和集合關係做interaction,實現對物體之間relation的建模。relation module引數不多,in-place,可以用來提高目標檢測的效能以及實現duplicate removal(通過可以end-to-end學習的module替換nms),實現完全的end-to-end目標檢測器。

2.Object relation module

作者的relation module和google的一篇做機器翻譯的論文“attention is all your need”思想類似。模組的的應用可以增強fc輸出的特徵以及做duplicate removal,如下圖所示:
1
這裡的relation module是in-place的,也就是說,比如在instance recognition裡面,輸入的是300個object proposal的特徵,經過relation module之後,輸出的還是300個對應object proposal的特徵,只不過這些特徵都融合了其他object proposal的資訊。

具體的,假設一個object proposal用他的幾何特徵fG(4維的bounding box)以及外觀特徵fA(典型的1024維)表示。對於給定的一組object{(fnA,fnG)}Nn=1(比如RPN輸出的300個object proposal),對於第n個object, 它收集得到的relation feature可以表示為
2
其中m=1:N,相當於就是其他所有的object的特徵,通過一個矩陣變化之後的加權平均。這個矩陣是學習得到的。下面具體講不同object之間的權重是怎麼得到的。

權重wmn的表示式為:
3
分母是對分子的歸一化。第m個object對第n個object產生影響的權重是由appearance和geometry共同決定的。

appearance的權重表示為:
4
式表示分別將下標為m和下標為n的object對映到低維空間(實際操作是降維了),然後通過向量的內積來衡量兩個object外觀特徵的相似性。分母表示降維之後的維度(典型的64維)。

geometry的權重表示為:
5
其中ξG函式用來將第m個object和第n個object之間的幾何特徵對映到高維空間(典型的64維),方法是首先計算m和n之間的相對位姿,
6
上述得到的相對位姿就是平移和尺度不變的了。然後將4維的相對位姿對映到64維的向量,和WG做內積之後,通過relu,relu的存在表明特徵的融合只對具有特徵幾何結構的object之間進行。

上面的fR(n)表示第n個object收集到的一種relation feature,實際上,在作者的論文裡,一個object會收集Nr種(典型的16種)relation feature,然後將這Nr種feature concatenate在一起,和原本第n個object的feature相加,得到增強之後的特徵。如下式:
7

對於目標檢測,原來是用第n個object proposal的特徵fnA輸入classifier,現在是用融合了relation feature的特徵輸出classifier。為了保證concate之後的relation feature能夠和原來的fnA維度一致,矩陣WVfmA起到了降維的作用。

下圖表示上面的操作過程
8

3.Relation for Instance recognition

原本的RCNN系列的目標檢測流程如下所示,從ROI pooling得到的特徵經過兩個fc之後,進行分類和座標迴歸。
9
引入relation module(RM)之後,instance recognition的流程為:
10
其中r1和r2分別表示在第一個fc和第二個fc之後連線的RM的數目

整體的instance recognition的示意圖如下圖(a)所示:
11

4.Relation for duplicate removal

作者把duplicate removal歸結成一個二分類問題,即對於每一個gt box,只有一個detected box是被分成correct,其他的都是分成duplicate。作者的duplicate removal network是接在classifier的輸出後面。該模組的輸入包括object proposal的score vector(屬於各個類別的概率), bbox,以及proposal的特徵(典型的1024維)。

對於某一個object proposal的某一個類別,假設屬於這個類別的概率為scoren,首先經過一個rank embed模組,即拿出其他object proposal屬於該類別的score,進行排序,得到第n個object proposal在排序中的下標(rank),作者特別說明了,使用rank值而不是直接score的值非常重要。然後將rank值對映到128維向量,同時將該proposal的特徵也對映到128維,將兩種128維的特徵相加之後作為新的appearance feature,然後和bbox作為relation module的輸入,得到新的128維的輸出,和W_s做內積之後通過sigmoid得到s_1,最終的correct的概率s=s_0 * s_1。整體流程如上圖(b)所示

5.Experiment:

所有的實驗都是在COCO上做的。
5.1 Ablation study on relation module structure and parameter
12

為了驗證relation module裡面幾何特徵的重要性,作者設計了兩個對比實驗
1)none表示直接設定幾何特徵的權重是1;
2)unary表示直接將相對位姿對映到appearance feature一樣的維度,然後和appearance feature相加作為新的appearance feature。

5.2 relation module improve the instance recognition performance
13

5.3 relation module for duplicate removal
14
從上圖可以看到,不使用rank feature或者直接使用score的值都會使得mAP相比baseline降低很多…作者也沒有解釋為什麼會出現這種現象。

5.4 What is learnt in relation module
15
作者在論文的最後說,relation module裡面到底學習什麼不在本文的討論範圍,為了給一個直觀的感受,作者將instance recognition裡面接在第一個fc後面的relation module學習得到的w拿出來,如上圖所示,藍色框表示reference box,左邊的圖表示重疊度高的框對藍色框的貢獻都很高,右邊表示對手套特徵貢獻高的包括了人。