Sparse R-CNN: End-to-End Object Detection with Learnable Proposals - 論文閱讀翻譯

深度檢測發表於2020-12-10

Sparse R-CNN: End-to-End Object Detection with Learnable Proposals - 論文閱讀翻譯

在這裡插入圖片描述

一、Abstract

作者提出了Sparse R-CNN,一種purely稀疏目標檢測方法。現有工作中目標檢測嚴重依賴於密集的目標候選框,如在大小為H×W的的影像特徵圖的所有網格中各平鋪K個錨框。在作者的方法中,在目標識別頭提供了一組長度固定為N的可學習目標proposal稀疏集以進行分類和定位。通過將HWk個手工設計的目標候選框縮為N個可學習的proposal,Sparse R-CNN能夠完全避免目標候選框的手工設計和多到一的標籤分配的影響。並且其最終預測是直接輸出的,不需要經過NMS後處理。Sparse R-CNN在精度、執行時長和訓練收斂效能上與在COCO資料集上表現良好的baseline相當,在使用ResNet-50-FPN下訓練3x後能達到44.5AP、22FPS。
在這裡插入圖片描述

二、Introduction

目標檢測是要在影像中定位一組目標並識別其類別。密集先驗一直是檢測器成功的基石。在經典的計算機視覺中,滑動視窗正規化,也就是將分類器應用在密集影像網格上,引領了目標檢測方法多年。主流的一階檢測器是在密集的特徵圖網格上預定義標記,如錨框或參考點,並預測目標與邊界框的相對尺度和偏移以及相應的類別。儘管兩階檢測器是在一組稀疏的proposal上進行操作,但proposal生成演算法也是基於的密集候選框。
這些方法非常直觀,並且帶來了健壯的效能和快速的訓練及推理時間。但我們還需要注意的是這種密集先驗檢測器存在著一定的侷限:1)密集先驗方法會產生冗餘和近乎重複的結果,因此需要NMS後處理操作。2)訓練中的多到一的標籤分配問題使網路對於啟發式分配規則非常敏感。3)最終效能會受到錨框的大小,長寬比和數量,參考點的密集程度及proposal生成演算法的影響。
儘管在目標檢測中密集檢測已受到了廣泛認可,還有一個問題:是否可以設計一個稀疏的檢測器?DETR提出將目標檢測重新表述為一個直接的稀疏集預測問題,其輸入是100個可學習的目標queries。最終的預測集不需要任何手工設計的後處理操作即可直接輸出。儘管其框架簡單有效,但其要求每個目標query都要和影像全域性上下文互動,這樣不僅減慢了其訓練收斂,還阻止了其建立一種完全稀疏的目標檢測流程。
作者認為稀疏屬性應表現在兩個方面:稀疏框和稀疏特徵。稀疏框表示一組少量的初始框(100左右)即可預測影像中所有目標。稀疏特徵則是指每個框的特徵不需要去與整個影像中的其他特徵進行互動。從這個角度來看,DETR並不純粹,因為其每個目標query都需要和整個影像的密集特徵進行互動。
本文中作者提出了Sparse RCNN,一種純粹的稀疏方法,不需要在所有的影像網格中列舉候選目標框,也不需要將目標query與全域性(密集)影像特徵互動。如圖1c所示,作者以一組4-d座標表示的固定數量的可學習邊界框來作為候選框。如在COCO資料集中,每張圖只需要100個框和400個引數,而不是像RPN那樣需要成千上萬個候選框。這種稀疏候選框被用作proposal框通過ROIPool或ROIAlign提取ROI特徵。
可學習的proposal框是對影像中潛在目標位置的統計資訊,4-d座標是目標的粗略表示,缺少姿態和形狀等細節資訊。這裡作者引入了一個概念叫做proposal特徵,這是一個高維(256)的潛在向量。與粗糙邊界框相比,它被用於對豐富的例項特徵進行編碼。proposal特徵會針對其唯一的目標識別頭生成一系列自定義引數。作者稱這個操作為動態例項互動頭,因為其與最近的動態機制有一定的相似性。作者在實驗中證實,以唯一的proposal特徵而不是固定的引數來作為構建檢測頭的條件,是Sparse RCNN成功的關鍵。
在Sparse RCNN中最顯著的屬性是它的稀疏正規化。初始輸入是一組稀疏的proposal框和proposal特徵,以及一對一的動態例項互動。並且不存在密集的候選框或者是與全域性特徵的互動。這種純粹的稀疏性使Sparse RCNN成為RCNN系列中的新成員。
Sparse R-CNN在COCO資料集上證明了其準確度,執行時間和訓練收斂效能與當前的檢測器相當,其是第一個證明了稀疏設計合理的工作。
稀疏目標檢測有消除設計密集候選框的潛力,但是在準確性上有所落後。

三、Sparse R-CNN

Sparse R-CNN的中心思想是將由RPN得到的成千上萬的候選框替換為一組較小的proposal框集。

3.1. Pipeline

Sparse R-CNN是一個簡單的網路,由backbone,動態例項互動頭和兩個特定任務預測層組成(如圖3所示)。共有三個輸入,一張圖,一組proposal框和proposal特徵。後兩個是可學習的,可以與網路中的其他引數一起優化。
在這裡插入圖片描述

3.2. Module

Backbone

以ResNet-FPN作為backbone來生成多尺度的特徵圖,以P2-P5構建金字塔特徵。Sparse RCNN能夠從更復雜的設計中獲益以進一步提升其效能,如堆疊編碼器層和加入DCN。不過作者還是與Faster RCNN作比較以驗證其有效性和簡單性。

Learnable proposal box.

一組固定數量的可學習的proposal框(N×4)被用作區域建議,而不是由區域建議網路(RPN)的預測得到。這些proposal框由值在0到1間的4維參數列示,表示歸一化中心座標、高度和寬度。在訓練時proposal框的引數會通過反向傳播演算法更新。由於proposal框是可學習的,作者在實驗中發現初始化的影響很小,因此框架會更加靈活。
從概念上來說,這些學到的proposal框是訓練集中潛在目標位置的統計資訊,可看作不管輸入,對影像中最有可能包含目標的區域的初步猜測。RPN得到proposals與當前影像關聯密切,提供了粗糙的目標定位,作者認為第一階段的定位操作在後期存在對框的定位進行細化操作的情況下是可省略的。合理的統計資料即可作為初始候選框。因此Sparse RCNN可歸為由完全密集到由密集到稀疏到完全稀疏的目標檢測器正規化擴充套件。

Learnable proposal feature

4維proposal框是一種用來描述目標的簡短明瞭的表達方式,它提供了對目標的粗略定位,但丟失瞭如目標的姿勢和形狀等細節資訊。作者引入了proposal特徵(N×d)的概念,這是一個高維(如256)特徵向量,用於對豐富的例項特徵進行編碼。proposal特徵的數量和框的數量相同。

Dynamic instance interactive head.

給定N個proposal框,Sparse RCNN先利用ROIAlign操作來提取每個框的特徵,然後通過預測頭生成最終預測。
圖4有對預測頭進行描述,記為動態例項互動模組。每個ROI 特徵會輸入其專用的檢測頭來進行目標的定位和分類,即每個頭都基於特定的proposal特徵。proposal特徵和proposal框是一個一一對應的關係。N個proposal框對應N個proposal特徵。每個ROI特徵fi(S×S×C)會與對應的proposal特徵pi©互動,來過濾掉無效的bins並輸出最終的目標特徵©。最終的迴歸預測是通過帶ReLU和隱藏維度C的3層感知機來計算的,分類預測是通過線性對映層進行。
對於輕量化設計,作者使用帶Relu啟用函式的連續1×1卷積來實現互動。每個proposal特徵pi會與ROI特徵進行卷積以得到更具判別性的特徵。互動頭的實現細節並不關鍵,只要支援並行操作提升效率就行。
proposal特徵可看做一種注意力機制的實現,用於關注S×S大小的ROI中bins。Proposal特徵生成卷積的核引數,然後以得到的卷積處理ROI特徵獲得最終特徵。這樣會讓那些具有最多前景資訊的bins對最終的定位和分類產生影響。
作者採用迭代結構來進一步提升效能。新生成的目標框和目標特徵會用作下一階段的proposal框和proposal特徵。得益於稀疏特性和輕量動態頭,這隻帶來了少量的計算開銷。作者將自注意力模組嵌入到動態頭中以推斷目標之間的關係,只需輸入目標特徵。
DETR中提出的目標查詢與proposal特徵有相似的設計。但是目標查詢是對位置編碼進行學習。與目標查詢進行互動時,特徵圖需要新增空間位置編碼,否則會導致效能顯著下降。作者的proposal特徵與位置無關,並且證明了此框架無需位置編碼即能很好地work。
在這裡插入圖片描述

Set prediction loss.

Sparse R-CNN對固定大小的分類和框座標預測的集合採用集合預測損失。基於集合的損失會在預測框和GT目標間產生最佳的二分匹配,定義如下:
在這裡插入圖片描述
分類損失是focal loss,L1 loss和GIOU loss分別用於歸一化後的中心座標和寬高的損失計算。訓練loss和匹配cost一樣,除了只在各匹配對上執行。最終的loss是按照訓練batch內的目標數量歸一化後的所有對的loss的總和。
R-CNN系列一直受標籤分配問題的困擾,因為存在著多對一的匹配關係。在這裡作者提供了一種基於集合損失的一對一匹配的新的可能。這是一種端到端目標檢測的新的嘗試。

四、Experiments

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

相關文章