RefineDet文章翻譯

RefineDet文章翻譯

論文:RefineDet:Single-Shot Refinement Neural Network for Object Detection
來源:CVPR2018
論文鏈接:https://arxiv.org/abs/1711.06897
代碼鏈接:https://github.com/sfzhang15/RefineDet

Abstract

對於物體檢測,兩階段方法(例如,Faster R-CNN)已達到最高的精度,一階段方法(例如SSD)具有高效率的優勢。 爲了繼承兩者的優點,同時克服它們的缺點,在本文中,我們提出了一種新的基於單階段的檢測器,稱爲RefineDet,它比兩階段方法獲得更好的精度,並保持一階段方法相當的效率。

Re-fineDet由兩個相互連接的模塊組成,即anchor細化模塊( anchor refinement module)和目標檢測模塊( object detection module)。具體地,前者旨在(1)過濾掉負錨點以減少分類器的搜索空間,以及(2)粗略地調整錨的位置和大小以爲後續迴歸器提供更好的初始化。

後一模塊將精細錨點作爲前者的輸入,以進一步改進迴歸並預測多類別標籤。同時,我們設計了一個傳輸連接塊來傳輸錨點細化模塊中的特徵,以預測對象檢測模塊中對象的位置,大小和類別標籤。多任務損失函數使我們能夠以端到端方式訓練整個網絡。

1.Introduction

在深度神經網絡(DNN)框架下,目標檢測技術近年來取得了顯著的進展。目前最先進的DNN探測器可分爲兩類:(1)兩級方法,包括[3,15,36,41];(2)單級方法,包括[30,35]。在兩階段方法中,首先生成一組稀疏的候選對象框,然後對它們進行分類和迴歸。兩階段方法已經在多個具有挑戰性的數據集測試中取得了優異的成績,包括PASCAL VOC[8]和MS COCO[29]。

單階段方法通過在位置、尺度和縱橫比上定期密集採樣來檢測目標。其主要優點是計算效率高。然而,其檢測精度往往落後於兩階段方法,主要原因之一是[28]存在類不平衡問題[28]。

近年來,一些單階段方法旨在解決類不平衡問題,提高檢測精度。Kong等人的[24]使用卷積特徵映射的對象優先約束來顯著減少對象的搜索空間。Lin等人通過重塑標準交叉熵損失來解決階級不平衡問題,將訓練集中在稀疏的一組硬例子上,並將損失降權爲簽名爲分類良好的例子。Zhang等人設計了一種最大輸出標記機制,以減少由於類不平衡導致的誤報。

在我們看來,目前最先進的兩階段方法,例如,Faster R-CNN [36],R-FCN [5]和FPN [27],比一階段方法有三個優勢具體如下:
(1)採用兩階段結構,採樣啓發式處理類不平衡;(2)採用兩步級聯反演對象框參數; (3)使用兩階段特徵來描述對象。在這項工作中,我們設計了一種新的物體檢測框架,稱爲RefineDet,以繼承兩種方法(即一階段和兩階段方法)的優點並克服它們的缺點。

它通過使用兩個互連模塊(參見圖1),即anchor調整模塊(ARM)和對象檢測模塊(ODM),改進了單級方法的體系結構。具體而言,ARM旨在(1)識別和移除負錨以減少分類器的搜索空間,以及(2)粗略調整錨定點的位置和大小,爲後續迴歸器提供更好的初始化。 ODM將重新定義的錨作爲前者的輸入,以進一步改進迴歸並預測多類標籤。

如圖1所示,這兩個相互連接的模塊模仿兩級結構,因此繼承了上述三個優點,以產生高效率的精確檢測結果。此外,我們設計了一個傳輸連接塊(TCB)來傳輸ARM中的features,以預測ODM中對象的位置,大小和類標籤。多任務損失函數使我們能夠以端到端的方式訓練整個網絡。

PASCAL VOC 2007,PASCAL VOC 2012和MS COCO基準測試的廣泛實驗表明,RefineDet優於最先進的方法。 具體而言,使用VGG-16網絡,它在VOC 2007和2012上實現了85.8%和86.8%的mAP。 同時,它通過使用ResNet-101在MS COCO test-dev上實現41.8%的AP4,優於單階段和兩階段方法的先前最佳公佈結果。 此外,RefineDet具有時間效率,即在NVIDIA Titan X GPU上以40.2 FPS和24.1 FPS運行,輸入尺寸爲320×320和512×512推理.

這項工作的主要貢獻概括如下。 (1)我們引入了一個新穎的一階段物體檢測框架,由兩個相互連接的模塊組成,即ARM和ODM。這導致性能優於兩階段方法,同時保持一個方面的高效率 - 階段方法。 (2)爲了確保有效性,我們設計TCB以轉移ARM中的功能以處理更具挑戰性的任務,即在ODM中預測準確的對象位置,大小和類別標籤。 (3)Re fi neDet在通用物體檢測方面取得了最新的最新成果(即PASCAL VOC 2007 [10],PASCAL VOC 2012 [11]和MS COCO [29])。

2.相關工作

經典目標探測器。早期的物體檢測方法基於滑動窗口範例,它將手工製作的特徵和分類應用於密集圖像網格上以找到對象。 作爲最成功的方法之一,Viola和Jones [47]使用Haar功能和AdaBoost訓練一系列用於人臉檢測的級聯分類器,以高效率實現令人滿意的準確性。 DPM [12]是另一種流行的方法,它使用多尺度可變形零件模型的混合來表示高度可變的對象類,多年來在PASCALVOC [8]上保持最佳結果。 然而,隨着深度卷積網絡的到來,對象檢測任務很快被基於CNN的檢測器所支配,其基本上可以分爲兩類,即兩階段方法和一階段方法。

兩階段方法.兩階段方法由兩部分組成,其中第一部分(例如,選擇性搜索[46],邊框[55],DeepMask [32,33],RPN [36])生成一組稀疏的候選對象提議, 第二個使用卷積網絡確定準確的對象區域和相應的類標籤。 值得注意的是,兩階段方法(例如,R-CNN [16],SPP網[18],快速RCNN [15]到更快的R-CNN [36])在幾個具有挑戰性的數據集上實現了主導性能(例如,PASCAL VOC 2012 [11]和MS COCO [29])。 之後,提出了許多有效的技術來進一步提高性能,如架構圖[5,26,54],訓練策略[41,48],上下文推理[1,14,40,50]和多層利用[ 3,25,27,42]。

單階段方法。考慮到高效率,一階段方法最近引起了更多的關注。 Sermanet等。 [38]提出了OverFeat方法,用於基於深度ConvNets的分類,定位和檢測,這種方法是從原始像素到最終類別的端到端訓練。 Redmon等。 [34]使用單個前饋卷積網絡直接預測對象類和位置,稱爲YOLO,這是非常快的。之後,YOLOv2 [35]被提出在幾個方面改進YOLO,即在所有卷積層上添加批量歸一化,使用高分辨率分類器,使用帶有錨框的卷積層來預測邊界框而不是完全連接的層等。劉等人。 [30]提出了SSD方法,該方法將不同尺度的錨點展開到ConvNet內的多個層,並強制每個層專注於預測特定尺度的對象。 DSSD [13]通過解卷積在SSD中引入了額外的上下文,以提高準確性。 DSOD [39]根據SSD的網絡結構設計了有效的框架和遠程學習對象檢測器。爲了提高準確性,一些單階段方法[24,28,53]旨在通過重新設計損失函數或分類策略來解決極端類不平衡問題。雖然單級探測器取得了很好的進展,但它們的準確性仍然落後於兩級探測器。

3.網絡結構

在這裏插入圖片描述
請參閱圖1中所示的整體網絡架構。與SSD [30]類似,Re fi neDet基於前饋卷積網絡,該網絡生成固定數量的邊界框,並且分數表明這些框中存在不同類別的對象,然後是非最大抑制,以產生最終結果。

RefineDet由兩個相互連接的模塊組成,即ARM和ODM.ARM旨在消除負錨,以減少分類器的搜索空間,並粗略調整錨的位置和大小,以便爲隨後的迴歸量,其中ODM旨在迴歸準確的對象位置並根據重新定義的錨點預測多類別標籤。通過移除分類層並添加兩個基本網絡的輔助結構(即,在ImageNet [37]上預訓練的VGG-16 [43]和ResNet-101 [19])來構建ARM以滿足我們的需要。

ODM由TCB的輸出和預測層(即具有3×3內核尺寸的卷積層)組成,其產生對象類的分數和相對於重新定義的錨框座標的形狀偏移。下面介紹Re fi neDet中的三個核心組件,即(1)傳輸連接塊(TCB),將功能從ARM轉換爲ODM進行檢測;(2)兩步級聯迴歸,準確迴歸對象的位置和大小; (3)負錨定濾波,早期拒絕良好分類的負錨,並緩解不平衡問題

轉移連接塊。爲了在ARM和ODM之間進行鏈接,我們引入了TCB,將ARM中不同層的特徵圖轉換爲ODM所需的形式,以便ODM可以共享ARM的功能。 值得注意的是,在ARM中,我們僅在與錨點關聯的要素圖上使用TCB。 TCB的另一個功能是通過向傳輸的特徵添加高級特徵來集成大尺寸的上下文內容[13,27],以提高檢測精度。 爲了匹配它們之間的尺寸,我們使用解卷積操作來放大高層特徵圖並以元素方式對它們求和。 然後,我們在求和之後添加捲積層以確保用於檢測的特徵的可辨別性。 TCB的體系結構如圖2所示。

在這裏插入圖片描述

兩步級聯迴歸。當前的一階段方法[13,24,30]依賴於基於具有不同尺度的各種特徵層的一步迴歸來預測對象的位置和大小,這在一些具有挑戰性的情況下是相當不準確的,尤其是對於小對象。 爲此,我們提出了一個兩步級聯迴歸策略來回歸對象的位置和大小。 也就是說,我們使用ARM首先調整錨點的位置和大小,以便爲ODM中的迴歸提供更好的初始化。 具體而言,我們將n個錨框與特徵圖上的每個規則劃分的單元格相關聯。 每個錨盒相對於其相應單元的初始位置是固定的。 在每個特徵映射單元格中,我們預測相對於原始平鋪錨點的重新定義的錨定框的四個偏移量和兩個表示這些框中前景對象存在的置信度分數。 因此,我們可以在每個特徵映射單元格中生成n個重新定義的錨定框。

獲得重新定義的錨框後,我們將它們傳遞給ODM中相應的特徵圖,以進一步生成對象類別和準確的對象位置和大小,如圖1所示.ARM和ODM中相應的特徵圖具有相同的維度。 我們計算c類分數和相對於重新定義的錨箱的四個精確的物體偏移量,爲每個重新定義的錨箱產生c + 4個輸出以完成檢測任務。 此過程類似於SSD [30]中使用的默認框。 然而,與SSD [30]直接使用規則平鋪的默認框進行檢測相比,RefineDet使用兩步策略,即ARM生成重新定義的錨盒,ODM將重新定義的錨盒作爲輸入進行進一步檢測, 導致更準確的檢測結果,特別是對於小物體

負錨過濾。爲了儘早丟棄分類好的負錨並減輕不平衡問題,我們設計了一種負錨定濾波機制。 具體來說,在訓練階段,對於一個改進的錨箱,如果它的負面信度大於預設的閾值θ(即,根據經驗設定θ= 0.99),我們將在訓練ODM時丟棄。也就是說,我們只通過重新設定的hard負錨箱和重新定義的正錨箱來訓練ODM。 同時,在推理階段,如果爲重新定義的錨箱分配負信度大於θ,則它將在ODM中被丟棄以進行檢測。

4.訓練和推理

數據增強。我們使用[30]中提出的幾種數據增強策略來構建一個適應對象變化的魯棒模型。 也就是說,我們隨機擴展並使用額外的隨機光度失真[20]裁剪原始訓練圖像並進行移動以生成訓練樣本。 有關詳細信息,請參閱[30]

主幹網絡。我們使用VGG-16 [43]和ResNet-101 [19]作爲我們的RefineDet中的主幹網絡,它們在ILSVRCCLS-LOCdataset [37]上進行了預訓練。

值得注意的是,RefineDet還可以在其他預訓練網絡上工作,例如Inception V2 [22],Inception ResNet [44]和ResNeXt101 [49]。 與DeepLab-LargeFOV [4]類似,我們通過子採樣參數將VGG-16的fc6和fc7轉換爲卷積層conv fc6和conv fc7。 由於conv4 3和conv5 3與其他層相比具有不同的特徵尺度,我們使用L2歸一化[31]來縮放conv4 3和conv5 3到10和8中的特徵範數,然後在反向傳播期間學習尺度。

同時,爲了捕獲高級信息並在多個尺度上驅動物體檢測,我們還在截斷的VGG-16的末端添加了兩個額外的卷積層(即conv6 1和conv6 2)和一個額外的殘餘塊(即res6))分別截斷到截斷的ResNet101的末尾。

錨設計與匹配。爲了處理不同尺度的物體,我們選擇了四個特徵層,其中VGG-16和ResNet 1015的總步幅大小分別爲8,16,32和64像素,並與幾種不同的錨定尺度相關聯以進行預測。 每個特徵層與一個特定尺度的錨(即,比例是相應層的總步幅尺寸的4倍)和三個縱橫比(即,0.5,1.0和2.0)相關聯。 我們在[53]中遵循不同層次上錨定尺度的設計,這確保了不同尺度的錨點在圖像上具有相同的平鋪密度[51,52]。 同時,在訓練階段,我們根據jaccard重疊[7]確定錨點和地面實例框之間的對應關係,並相應地對整個網絡進行端到端訓練。

具體而言,我們首先將每個地面實況與具有最佳重疊分數的錨箱匹配,然後將錨箱與任何重疊高於0.5的地面實況相匹配。

難例挖掘

在匹配步驟之後,大多數錨定框都是負數,即使對於ODM,其中一些容易的負錨被ARM拒絕。 類似於SSD [30],我們使用硬負挖掘來減輕極端前景 - 背景類不平衡,即,我們選擇一些具有最高損失值的負錨箱,使負數和正數之間的比率低於3:1,而不是 使用所有負錨或在訓練中隨機選擇負錨

損失函數

RefineDet的損失函數由兩部分組成,即ARM中的丟失和ODM中的丟失。對於ARM,我們爲每個錨分配一個二進制類標籤(對象與否)並對其位置和大小進行迴歸 同時獲得重新定位的錨點。 之後,我們將具有低於閾值的負面信息的重新定義的錨傳遞給ODM,以進一步預測對象類別和準確的對象位置和大小。 有了這些定義,我們將損失函數定義爲:

在這裏插入圖片描述

最優化

如上所述,我們的Re fi neDet方法中的骨幹網絡(例如,VGG-16和ResNet-101)在ILSVRC CLS-LOC數據集[37]上預先訓練。 我們使用“xavier”方法[17]隨機初始化基於VBG-16的Re fi neDet的兩個額外添加的卷積層(即conv6 1和conv6 2)中的參數,並從零均值Gaussiand中繪製參數。 基於ResNet-101的Re fi neDet的額外殘差塊(即res6)的偏差爲0.01。 我們在培訓中將默認批量大小設置爲32。 然後,使用具有0.9動量和0.0005重量衰減的SGD對整個網絡進行微調。 我們將初始學習率設置爲10-3,並對不同的數據集使用稍微不同的學習率衰減策略,稍後將對其進行詳細描述。

推斷

在推理階段,ARM首先濾出規則平鋪的錨點,其負面信度得分大於閾值θ,然後重新確定剩餘錨點的位置和大小。 之後,ODM接管這些重新定位的錨點,併爲每個圖像輸出前400個高精度檢測。 最後,我們應用非最大抑制,每個類別的jaccard重疊爲0.45,並保留每個圖像的前200個高位置檢測,以產生最終的檢測結果。

5. 實驗

5.1 pascal voc2007 pascal voc2012 MS COCO
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

6 結論

在本文中,我們提出了一種一階段改進神經網絡檢測器,有兩種內部模塊構成,ARM和ODM。ARM過濾負例,爲分類減少搜索空間,粗濾的調整anchors的位置和尺寸爲後續的迴歸器提供更好的初始值。ODM模塊利用前者的微調過的anchors作爲輸入,進一步的優化anchors的歸回值,和多分類的結果。

整個網絡是利用端到端的多任務訓練方式。我們實驗在PASCAL VOC 2007, PASCAL VOC 2012, 和 MS COCO數據集上證明了RefineDet有state-of-the-art檢測精度並且高效。

在未來,我們計劃用RefineDet檢測其他類別的物體,例如行人,車輛和人臉,並且在RefineDet使用注意力機制進一步提升效果。

您的支持,是我不斷創作的最大動力~

歡迎點贊關注留言交流~

深度學習,樂此不疲~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章