SSD: Single Shot MultiBox Detector

https://arxiv.org/pdf/1512.02325.pdf

Wei Liu1, Dragomir Anguelov2, Dumitru Erhan3, Christian Szegedy3,
Scott Reed4, Cheng-Y ang Fu1, Alexander C. Berg1
1UNC Chapel Hill2Zoox Inc.3Google Inc.4University of Michigan, Ann-Arbor
[email protected],
[email protected],
3{dumitru,szegedy}@google.com,
[email protected],
1{cyfu,aberg}@cs.unc.edu

摘要. 提出了一種利用單一深度神經網絡檢測圖像中目標的方法。我們的方法名爲SSD,它將邊界框的輸出空間離散爲一組默認框,並根據不同的縱橫比和每個要素地圖位置的比例進行調整。在預測時,網絡爲每個默認框中每個對象類別的存在生成分數,並對框進行調整以更好地匹配對象形狀。此外,該網絡將來自多個具有不同分辨率的特徵地圖的預測結合起來,以自然地處理各種大小的對象。SSD相對於需要對象建議的方法來說很簡單,因爲它完全消除了建議生成和隨後的像素或特徵重採樣階段,並將所有計算封裝在一個網絡中。這使得SSD易於訓練,並且易於集成到需要檢測組件的系統中。在PASCAL-VOC、COCO和ILSVRC數據集上的實驗結果證實,SSD對於使用額外的對象建議步驟且速度更快的方法具有競爭力的準確性,同時爲訓練和推理提供了統一的框架。對於300×300輸入,SSD在Nvidia Titan X上以59 FPS的速度在VOC1007測試中達到74.3%的MAP1,而對於512×512輸入,SSD達到76.9%的MAP1,優於同類最先進的更快R-CNN模型。與其他單級方法相比,SSD在輸入圖像較小的情況下具有更好的精度。代碼位於:https://github.com/weiliu89/caffe/tree/ssd。

關鍵詞:實時目標檢測;卷積神經網絡

1簡介

當前最先進的目標檢測系統是以下方法的變體:假設邊界框,對每個框重新採樣像素或特徵,並應用高質量分類器。自從選擇性搜索工作[1]以來,這條管道在檢測基準上佔了上風,目前在PASCAL VOC、COCO和ILSVRC檢測方面的領先結果都是基於更快的R-CNN[2]的,儘管具有更深的特徵,如[3]。這些方法雖然準確,但對於嵌入式系統來說,計算量太大,即使是高端硬件,對於實時應用來說也太慢。

(在後續實驗中,我們使用改進的數據增強方案取得了更好的效果:300×300輸入的mAP爲77.2%,512×512輸入的mAP爲79.8%。請看第二節。3.6瞭解詳情。)

通常這些方法的檢測速度是以每幀秒數(SPF)來衡量的,即使是最快的高精度檢測器,更快的R-CNN,也只能以每秒7幀(FPS)的速度工作。已經有很多人試圖通過攻擊檢測管道的每個階段來構建更快的檢測器(參見第二節中的相關工作)。但到目前爲止,顯著提高速度的代價只是顯著降低檢測精度。

本文提出了第一種基於深度網絡的目標檢測器,它不針對邊界盒假設對像素或特徵進行重採樣,並且與現有方法一樣精確。這將顯著提高高精度檢測的速度(在VOC2007測試中,59 FPS的mAP爲74.3%,而在mAP爲73.2%的R-CNN爲7 FPS,在mAP爲63.4%的情況下,YOLO爲45 FPS)。速度的根本改進來自於消除邊界框建議和隨後的像素或特徵重採樣階段。我們不是第一個這樣做的(cf[4,5]),但是通過添加一系列改進,我們設法比以前的嘗試顯著地提高準確性。我們的改進包括使用一個小卷積濾波器來預測邊界框位置中的對象類別和偏移量,使用不同長寬比檢測的單獨預測器(濾波器),並將這些濾波器應用於網絡後期的多個特徵映射,以便在多尺度下執行檢測。通過這些改進,特別是在不同尺度下使用多層預測,我們可以使用相對較低分辨率的輸入實現高精度,進一步提高檢測速度。雖然這些貢獻可能看起來很小,但我們注意到,結果系統提高了實時檢測帕斯卡VOC的準確性,從YOLO的63.4%mAP提高到我們SSD的74.3%mAP。這是一個更大的檢測精度相對提高,比最近的,非常引人注目的剩餘網絡工作[3]。此外,顯著提高高質量檢測的速度可以拓寬計算機視覺有用的設置範圍。

我們的貢獻總結如下:

–我們介紹了SSD,一種用於多個類別的單次激發檢測器,它比以前的單次激發檢測器(YOLO)的最新技術更快,並且顯著地更精確,事實上與執行顯式區域建議和池(包括更快的R-CNN)的較慢技術一樣精確。

–SSD的核心是使用應用於特徵地圖的小卷積濾波器預測一組固定默認邊界框的類別分數和框偏移量。–爲了獲得高的檢測精度,我們從不同尺度的特徵圖中生成不同尺度的預測,並按縱橫比明確分離預測。

–這些設計特點導致了簡單的端到端訓練和高精度,即使在低分辨率輸入圖像上,進一步提高了速度與精度的權衡。

–實驗包括對輸入大小不同的模型進行計時和精度分析,這些模型在PASCAL VOC、COCO和ILSVRC上進行評估,並與一系列最新的最新方法進行比較。

2 The Single Shot Detector (SSD)

本節描述了我們提出的用於檢測的SSD框架(第。2.1)和相關的培訓方法(第。2.2條)。之後,第3部分給出了數據集特有的模型細節和實驗結果。

圖1:SSD框架。(a)在訓練期間,SSD只需要爲每個物體提供一個輸入圖像和地面真相盒。以卷積的方式,我們在不同尺度(如(b)和(c)中的8×8和4×4)的多個特徵映射中,在每個位置評估不同長寬比的默認框的小集合(如4)。對於每個默認框,我們預測所有對象類別(c1、c2、···、cp)的形狀偏移和置信度。在訓練時,我們首先將這些默認框與地面真相框匹配。例如,我們將兩個默認框與貓匹配,一個與狗匹配,這兩個框被視爲正框,其餘框被視爲負框。模型損失是定位損失(例如平滑L1[6])和置信損失(例如Softmax)之間的加權和。

2.1 Model

SSD方法是基於前饋卷積網絡,它產生固定大小的包圍盒集合和在這些框中存在對象類實例的分數,隨後是非最大抑制步驟以產生最終檢測。早期的網絡層基於用於高質量圖像分類的標準體系結構(在任何分類層之前截斷),我們稱之爲基礎網絡2。然後,我們將輔助結構添加到網絡中以產生以下關鍵特徵的檢測:

基於多尺度特徵映射的檢測算法在截斷基網絡的末端加入卷積特徵層。這些層的大小逐漸減小,並允許在多個尺度上進行探測預測。用於預測檢測的卷積模型對於每個特徵層是不同的(cf Overfeat[4]和YOLO[5]在單尺度特徵地圖上操作)。

卷積預測器用於檢測每個添加的特徵層(或可選地來自基礎網絡的現有特徵層),可以使用一組卷積濾波器產生固定的檢測預測集。這些在圖2中的SSD網絡架構的頂部指示。對於具有p通道的m×n大小的特徵層,預測潛在檢測參數的基本元素是一個3×3×p的小核,它產生類別的分數或相對於默認框座標的形狀偏移。在應用內核的每個m×n位置,它都會產生一個輸出值。 邊界框偏移輸出值是相對於默認值測量的相對於每個特徵地圖位置的框位置(參見YOLO[5]的架構,該架構使用中間完全連接層,而不是該步驟的卷積濾波。

對於網絡頂部的多個要素地圖,我們將一組默認邊界框與每個要素地圖單元相關聯。默認框以卷積方式平鋪特徵映射,因此每個框相對於其對應單元格的位置是固定的。在每個特徵映射單元格中,我們預測相對於單元格中默認框形狀的偏移量,以及指示每個框中存在類實例的每類分數。具體地說,對於給定位置k中的每個框,我們計算c類分數和相對於原始默認框形狀的4個偏移。這導致在特徵映射的每個位置應用總共(c+4)k個濾波器,從而產生m×n特徵映射的(c+4)kmn輸出。有關默認框的說明,請參閱圖1。我們的默認框類似於快速R-CNN[2]中使用的錨定框,但是我們將它們應用於不同分辨率的幾個特徵映射。允許在多個特徵映射中使用不同的默認框形狀可以有效地離散可能的輸出框形狀的空間。

圖2:SSD和YOLO兩種單點檢測模型的比較[5]。我們的SSD模型在一個基礎網絡的末端添加了幾個特性層,這些特性層可以預測不同尺度和縱橫比的默認框的偏移量及其相關的可信度。在VOC2007測試中,輸入尺寸爲300×300的SSD在精度上明顯優於448×448yolo的SSD,同時也提高了測試速度。

2.2 Training

訓練SSD和訓練使用區域建議的典型檢測器的關鍵區別在於,地面真實信息需要分配給固定檢測器輸出集中的特定輸出。在YOLO[5]的培訓和Faster R-CNN[2]和MultiBox[7]的地區建議階段,也需要一些版本。一旦確定了這個分配,損耗函數和反向傳播將被端到端地應用。訓練還包括選擇一組默認的檢測框和尺度,以及硬負挖掘和數據擴充策略。

在訓練過程中,我們需要確定哪些默認框對應於地面真相檢測,並相應地訓練網絡。對於每個地面真實值框,我們從默認框中選擇,這些框隨位置、縱橫比和比例而變化。我們首先將每個地面真值框匹配到具有最佳jaccard重疊的默認框(如MultiBox[7])。與MultiBox不同的是,我們將默認框與任何地面真實值匹配,jaccard重疊高於閾值(0.5)。這簡化了學習問題,允許網絡預測多個重疊的默認框的高分,而不是要求它只選擇具有最大重疊的一個。

訓練目標SSD訓練目標源於MultiBox目標[7,8],但擴展到處理多個對象類別。設作爲第i個默認框與p類的第j個基本真值框匹配的指標,在上面的匹配策略中,我們可以得到。總體目標損失函數定位損失(loc)和置信損失(conf)的加權和:

其中N是匹配的默認框數。如果N=0,則將損耗設爲0。定位損失是預測框(l)和地面真值框(g)參數之間的平滑L1損失[6]。與更快的R-CNN[2]類似,我們迴歸到默認邊界框(d)的中心(cx,cy)及其寬度(w)和高度(h)的偏移。 

 

置信損失是多類置信的軟最大損失(c)。

通過交叉驗證將權重項α設爲1。

選擇默認框的比例和縱橫比來處理不同的對象比例,一些方法[4,9]建議以不同的大小處理圖像,然後將結果組合起來。然而,通過在一個網絡中利用來自多個不同層的特徵地圖進行預測,我們可以模擬相同的效果,同時在所有對象尺度上共享參數。以前的工作[10,11]已經表明,使用來自較低層的特徵映射可以提高語義分割質量,因爲較低層捕獲輸入對象的更精細細節。類似地,[12]表明,從特徵映射中加入全局上下文池有助於平滑分割結果。

在這些方法的驅動下,我們使用上下兩個特徵映射進行檢測。圖1顯示了框架中使用的兩個示例特徵圖(8×8和4×4)。在實踐中,我們可以使用更多的小計算開銷。

已知網絡中不同層次的特徵圖具有不同的(經驗)感受野大小[13]。幸運的是,在SSD框架中,默認框不需要對應於每個層的實際接收字段。我們設計了默認框的平鋪,以便特定的特徵地圖能夠對對象的特定比例做出響應。假設我們要使用m個特徵映射進行預測。每個要素地圖的默認框的比例計算爲:

 

其中爲 0.2和爲0.9,意味着最低層具有0.2的刻度,最高層具有0.9的刻度,並且中間層之間的所有層都是規則間隔的。我們對默認框施加不同的長寬比,並將其表示爲。我們可以計算每個默認框的寬度()和高度()。對於寬高比爲1的情況,我們還添加了一個默認框,其比例爲,結果是每個要素地圖位置有6個默認框。我們將每個默認框的中心設置爲(),其中是第k個正方形特徵映射的大小,。在實踐中,還可以設計默認框的分佈以最適合特定數據集。如何設計最優的瓷磚也是一個有待解決的問題。 

通過組合來自多個功能圖所有位置的具有不同語法和頻譜的所有默認框的預測,我們有一組不同的預測,涵蓋不同的輸入對象大小和形狀。例如,在圖1中,狗與4×4特徵映射中的默認框匹配,但不與8×8特徵映射中的任何默認框匹配。這是因爲這些盒子有不同的刻度,與狗盒子不匹配,因此在訓練期間被視爲負片。

硬負挖掘匹配步驟之後,大多數默認框都是負的,特別是當可能的默認框的數量很大時。這就導致了積極和消極的訓練例子之間的嚴重不平衡。我們沒有使用所有的負面例子,而是使用每個默認框的最大置信損失對它們進行排序,並選擇最上面的一個,這樣負面和正面的比率最多爲3:1。我們發現這會導致更快的優化和更穩定的訓練。

爲了使模型對各種輸入對象的大小和形狀更爲魯棒,每個訓練圖像通過以下選項之一進行隨機採樣:

–使用整個原始輸入圖像。

–對補丁進行採樣,使jaccard與對象的最小重疊爲0.1、0.3、0.5、0.7或0.9。

–隨機抽取一個貼片。

每個採樣面片的大小是原始圖像大小的[0.1,1],縱橫比在1/2和2之間。如果地面真值框的中心位於採樣點,則保留其重疊部分。在上述採樣步驟之後,除了應用一些與[14]中描述的類似的光學度量失真之外,每個採樣的面片被調整到固定大小,並且以0.5的概率水平翻轉。

3實驗結果

基本網絡我們的實驗都是基於VGG16[15],它是在ILSVRC CLS-LOC數據集[16]上預先訓練的。與DeepLab LargeFOV[17]類似,我們將fc6和fc7轉換爲卷積層,將fc6和fc7的子樣本參數,將pool5從2×2-s2更改爲3×3-s1,並使用a trous算法[18]填充“孔”。我們移除所有的脫落層和fc8層。我們使用初始學習率爲10-3、動量爲0.9、重量衰減爲0.0005和批量大小爲32的SGD對得到的模型進行微調。每個數據集的學習率衰減策略略有不同,我們稍後將詳細描述。完整的培訓和測試代碼建立在Caffe[19]之上,並且是開源的:https://github.com/weiliu89/Caffe/tree/ssd。

3.1 PASCAL VOC2007

在這個數據集上,我們對比了VOC2007測試中快速R-CNN[6]和快速R-CNN[2]的結果(4952張圖片)。所有方法在相同的預先訓練的VGG16網絡上進行微調。圖2顯示了SSD300模型的架構細節。我們使用conv4 3、conv7(fc7)、conv8 2、conv9 2、conv10 2和conv11 2來預測位置和可信度。我們在conv4 33上設置了默認框,比例爲0.1。我們使用“xavier”方法初始化所有新添加捲積層的參數[20]。對於conv4 3、conv10 2和conv11 2,我們只在每個要素地圖位置關聯4個默認框—忽略13和3的縱橫比。對於所有其他層,我們放置了6個默認框,如第2節所述。2.2條。由於如[12]所指出,與其他層相比,conv4 3具有不同的特徵尺度,因此我們使用[12]中介紹的L2規範化技術將特徵映射中每個位置的特徵範數縮放到20,並在反向傳播期間學習尺度。我們使用10-3的學習率進行40k次迭代,然後使用10-4和10-5繼續進行10k次迭代的訓練。在VOC2007 trainval上進行培訓時,表1顯示我們的低分辨率SSD300模型已經比Fast R-CNN更精確。當我們在更大的512×512輸入圖像上訓練SSD時,它更加精確,比更快的R-CNN快1.7%。如果我們用更多(即07+12)數據訓練SSD,我們會發現SSD300已經比更快的R-CNN好1.1%,SSD512好3.6%。如果我們採用COCO trainval35k培訓的模型,如第2節所述。3.4並用SSD512對07+12數據集進行微調,得到了81.6%的mAP。

爲了更詳細地瞭解我們兩個SSD模型的性能,我們使用了來自[21]的檢測分析工具。圖3顯示SSD可以高質量地檢測各種對象類別(大白區)。它大多數自信的探測結果都是正確的。召回率在85-90%之間,並且以“弱”(0.1個jaccard重疊)標準更高。與R-CNN[22]相比,SSD具有較小的定位誤差,表明SSD能夠更好地定位目標,因爲它直接學習迴歸目標形狀和分類目標類別,而不是使用兩個分離步驟。然而,SSD與類似的對象類別(尤其是動物)有更多的混淆,部分原因是我們共享多個類別的位置。圖4顯示SSD對邊界框大小非常敏感。換句話說,它在較小的物體比大的物體更爲敏感。這並不奇怪,因爲這些小對象甚至可能在最頂層沒有任何信息。增加輸入尺寸(如從300×300增加到512×512)有助於提高對小目標的檢測,但仍有很大的改進空間。從正面來看,我們可以清楚地看到SSD在大型對象上的性能非常好。而且它對不同的對象縱橫比非常健壯,因爲我們在每個特徵地圖位置使用不同縱橫比的默認框。

3.2 Model analysis

爲了更好地理解SSD,我們進行了控制實驗,以研究每個組件如何影響性能。對於所有的實驗,我們使用相同的設置和輸入大小(300×300),除了對設置或組件的指定更改。

表2:各種設計選擇和組件對SSD性能的影響。 

數據擴充至關重要。快速快速的R-CNN使用原始圖像和水平翻轉進行訓練。我們使用更廣泛的抽樣策略,類似於YOLO[5]。表2顯示,使用這種抽樣策略,我們可以改進8.8%的mAP。我們不知道我們的採樣策略對快速和更快的R-CNN有多大的好處,但它們可能受益較少,因爲它們在分類過程中使用的特徵池步驟對設計的對象轉換相對穩健。

圖3:VOC2007試驗中SSD512在動物、車輛和傢俱上的性能可視化。頂行顯示由於定位不良(Loc)、與相似類別(Sim)、與其他類別(Oth)或與背景(BG)混淆而正確(Cor)或假陽性的檢測的累積分數。紅色實線反映了隨着檢測次數的增加,召回標準的變化(0.5jaccard重疊)。虛線紅線使用弱標準(0.1 jaccard重疊)。最下面一行顯示了排名靠前的假陽性類型的分佈。

圖4:使用[21]的不同對象特性對VOC2007測試集的靈敏度和影響。左邊的圖顯示BBox Area per category的效果,右邊的圖顯示縱橫比的效果。鍵:BBox Area:XS=超小;S=小;M=中;L=大;XL=超大。縱橫比:XT=特高/窄;T=高;M=中;W=寬;XW=特寬。

默認框形狀越多越好。如第。2.2,默認情況下,每個位置使用6個默認框。如果我們去掉13和3寬高比的盒子,性能會下降0.6%。通過進一步移除12和2寬高比的盒子,性能又下降了2.1%。使用各種默認框形狀似乎使預測網絡框的任務更容易。

萎縮更快。如第。3,我們使用了亞採樣VGG16的阿託羅斯版本,緊跟着DeepLab LargeFOV[17]。如果我們使用完整的VGG16,保持pool5爲2×2-s2,而不是fc6和fc7的子採樣參數,並加上conv5 3進行預測,結果大致相同,而速度大約慢20%。 

 

 不同分辨率的多個輸出層更好。SSD的一個主要貢獻是在不同的輸出層上使用不同比例的默認框。爲了衡量所獲得的優勢,我們逐步刪除圖層並比較結果。爲了進行公平的比較,每次刪除圖層時,我們都會調整默認的框平鋪,以使框的總數與原始的(8732)相似。這是通過在剩餘的層上堆疊更多的盒子刻度,並在需要時調整盒子刻度來完成的。我們不會爲每個設置徹底優化平鋪。表3顯示了在更少的圖層下精度的下降,從74.3單調下降到62.4。當我們在一個層上堆疊多個尺度的盒子時,許多盒子都在圖像邊界上,需要小心處理。我們嘗試了快速R-CNN[2]中使用的策略,忽略了邊界上的框。我們觀察到一些有趣的趨勢。例如,如果我們使用非常粗糙的特徵映射(例如conv11 2(1×1)或conv10 2(3×3))會大大降低性能。原因可能是修剪後我們沒有足夠大的盒子來覆蓋大的物體。當我們主要使用更精細的分辨率貼圖時,性能再次開始提高,因爲即使在修剪了足夠數量的大框之後,仍然會保留。如果我們只使用conv7進行預測,那麼性能是最差的,這強化了這樣一個信息:在不同的層上分佈不同規模的框是至關重要的。此外,由於我們的預測不像[6]那樣依賴於ROI池,因此我們在低分辨率特徵圖中沒有摺疊箱問題[23]。SSD架構結合了來自不同分辨率特徵圖的預測,以達到與更快的R-CNN相當的精度,同時使用較低分辨率的輸入圖像。

我們使用與上述基本VOC2007實驗相同的設置,但我們使用VOC1201TrainVal和VOC2007 trainval和test(21503個圖像)進行訓練,並對VOC12012測試(10991個圖像)進行測試。我們用10-3的學習率訓練模型60k次迭代,然後用10-4訓練20k次迭代。表4顯示了我們的SSD300和ssd5124模型的結果。我們看到了與VOC2007測試相同的性能趨勢。我們的SSD300比快速/更快的RCNN提高了精度。通過將訓練和測試圖像大小增加到512×512,我們比更快的R-CNN準確率提高了4.5%。與YOLO相比,SSD更精確,這可能是由於在訓練過程中使用了來自多個特徵映射的卷積默認框和我們的匹配策略。當從COCO上訓練的模型進行微調時,我們的SSD512達到80.0%的mAP,比更快的R-CNN高4.1%。

表4:PASCAL VOC12012測試檢測結果。快速快速的R-CNN使用最小尺寸爲600的圖像,而YOLO的圖像大小爲448×448。數據:“07++12”:VOC2007 trainval和test以及VOC2012 trainval的聯合。“07++12+COCO”:首先在COCO trainval35k上訓練,然後在07++12上微調。

3.4 COCO

爲了進一步驗證SSD框架,我們在COCO數據集上訓練了SSD300和SSD512體系結構。由於COCO中的對象往往小於PASCAL VOC,因此我們對所有層使用較小的默認框。我們遵循Sec中提到的策略。2.2,但現在我們最小的默認框的比例是0.15而不是0.2,conv4 3上的默認框的比例是0.07(例如,300×300圖像爲21像素)。

我們使用trainval35k[24]進行訓練。我們首先用10-3學習率訓練模型160k次迭代,然後用10-4和40k迭代用10-5繼續訓練40k次迭代。表5顯示了test-dev2015的結果。與我們在PASCAL VOC數據集上觀察到的相似,SSD300在[email protected][email protected]:0.95上都優於Fast R-CNN。SSD300的[email protected]與ION[24]相似,R-CNN更快[25],但[email protected]更差。通過將圖像大小增加到512×512,我們的SSD512在這兩個標準中都優於更快的R-CNN[25]。有趣的是,我們觀察到,在[email protected]中SSD512比[email protected]好5.3%,但在[email protected]中只有1.2%。我們還觀察到,對於大的物體,它有更好的AP(4.8%)和AR(4.6%),但是對AP(1.3%)和AR(2.0%)的改善相對較少的小物件。與離子相比,大小物體的AR改善更爲相似(5.4%比3.9%)。我們推測,快速R-CNN在SSD的小物體上更具競爭力,因爲它在RPN部分和快速R-CNN部分都執行兩個盒求精步驟。在圖5中,我們用SSD512模型展示了COCO測試dev的一些檢測示例。

 

3.5 Preliminary ILSVRC results

我們對ILSVRC DET數據集應用了與COCO相同的網絡架構[16]。我們使用ILSVRC2014 DET列車和[22]中使用的val1來訓練SSD300模型。我們首先用10-3的學習率訓練模型3200k次迭代,然後用10-4和40k的迭代用10-5繼續訓練80k次迭代。我們可以在val2集上實現43.4地圖[22]。再次,驗證了SSD是一個高質量實時檢測的通用框架。

3.6小目標精度的數據增強

如果沒有後續的特徵重採樣步驟(如快速R-CNN中所述),SSD對小對象的分類任務相對比較困難,如我們的分析所示(見圖4)。第2.1節中描述的數據增強策略。2.2有助於顯著提高性能,特別是在小數據集(如PASCAL VOC)上。由該策略生成的隨機作物可以被認爲是一種“放大”操作,並且可以生成許多更大的訓練示例。爲了實現“縮小”操作以創建更多的小訓練示例,我們首先將圖像隨機放置在畫布上,畫布大小爲原始圖像大小的16倍,並填充平均值,然後再執行任意裁剪操作。因爲我們有更多的訓練圖像通過引入這種新的“擴展”數據增強技巧,我們必須加倍訓練迭代。如表6所示,我們已經看到多個數據集的mAP持續增長了2%-3%。具體來說,圖6顯示了新的增強技巧顯著提高了小對象的性能。這一結果強調了數據增強策略對最終模型精度的重要性。

改進SSD的另一種方法是設計更好的默認框平鋪,以便其位置和比例更好地與功能圖上每個位置的接收場對齊。我們把這個留給以後的工作。

 

 

表6:添加圖像擴展數據增強技巧時對多個數據集的結果。SSD300*和SSD512*是使用新的數據增強進行訓練的模型 

 圖6:VOC2007測試集上使用[21]增加新數據的對象大小的靈敏度和影響。頂行顯示原始SSD300和SSD512模型的BBox Area per category的效果,底行對應使用新數據增強技巧訓練的SSD300*和SSD512*模型。顯然,新的數據增強技巧有助於顯著地檢測小對象。

3.7 Inference time

考慮到由我們的方法產生的大量的盒子,在推理過程中有效地執行非最大抑制(NMS)是必要的。通過使用0.01的置信閾值,我們可以篩選出大多數框。然後,我們使用每類0.45個jaccard重疊的nms,並保持每個圖像的前200個檢測。對於SSD300和20個VOC類,此步驟每幅圖像大約花費1.7毫秒,這接近於所有新添加層上花費的總時間(2.4毫秒)。我們使用Titan X和cuDNN v4(含Intel Xeon [email protected])測量批量大小爲8的速度。

表7顯示了SSD、更快的R-CNN[2]和YOLO[5]之間的比較。我們的SSD300和SSD512方法在速度和精度上都優於更快的R-CNN。儘管Fast YOLO[5]可以以155 FPS的速度運行,但它的精度比mAP低近22%。據我們所知,SSD300是第一個實現70%以上地圖的實時方法。注意,大約80%的轉發時間花在基礎網絡上(在我們的例子中是VGG16)。因此,使用更快的基礎網絡可以進一步提高速度,這也可能使SSD512模型實時。

4 Related Work

現有的圖像目標檢測方法有兩類,一類是基於滑動窗口的方法,另一類是基於區域建議分類的方法。在卷積神經網絡出現之前,這兩種方法(變形零件模型(DPM)[26]和選擇性搜索[1])的技術水平具有可比的性能。然而,在R-CNN[22]將選擇性搜索區域建議和基於卷積網絡的後分類相結合帶來了巨大的改進之後,區域建議目標檢測方法開始流行起來。

最初的R-CNN方法已經以多種方式得到改進。第一組方法提高了崗位分類的質量和速度,因爲它需要他對成千上萬種圖像作物進行分類,這既費錢又費時。SPPnet[9]顯著加快了最初的R-CNN方法。它引入了一個空間金字塔池層,該層對區域大小和規模更爲穩健,並允許分類層重用在多個圖像分辨率下生成的特徵地圖上計算的特徵。Fast R-CNN[6]擴展了SPPnet,通過最小化置信度和邊界盒迴歸的損失,它可以微調所有層的端到端,這是MultiBox[7]中首次引入的學習對象。

第二組方法使用深層神經網絡來提高方案生成的質量。在最近的工作中,如MultiBox[7,8],基於低層圖像特徵的選擇性搜索區域建議被直接從單獨的深層神經網絡生成的建議所代替。這進一步提高了檢測精度,但會導致一個有點複雜的設置,需要訓練兩個相互依賴的神經網絡。Faster R-CNN[2]用從區域建議網絡(RPN)學習到的搜索建議代替了選擇性搜索建議,並介紹了一種通過在兩個網絡的共享卷積層和預測層之間交替微調來將RPN與Fast R-CNN集成的方法。這種方式使用區域建議來彙集中級特徵,而最終的分類步驟成本更低。我們的SSD與快速R-CNN中的區域建議網絡(RPN)非常相似,因爲我們還使用一組固定的(默認)框進行預測,類似於RPN中的錨定框。但是,我們不使用這些來彙集特徵和評估另一個分類器,而是同時爲每個框中的每個對象類別生成一個分數。因此,我們的方法避免了將RPN與快速R-CNN合併的複雜性,並且更易於訓練、更快,並且易於集成到其他任務中。

另一套方法,直接關聯到近似,完全跳過七步,直接預測多個類別的邊界框和置信度。OverFeat[4]是滑動窗口方法的一個深入版本,它在知道底層對象類別的可信度之後,直接從最上面的特徵映射的每個位置預測邊界框。YOLO[5]使用最頂部的特徵映射來預測多個類別和邊界框(這些類別共享)的可信度。我們的SSD方法屬於這一類,因爲我們沒有建議步驟,而是使用默認框。然而,我們的方法比現有方法更靈活,因爲我們可以使用不同方面的默認框16 Lu等。從不同比例的多個要素地圖中提取的每個要素位置上的比率。如果我們在最上面的功能圖中每個位置只使用一個默認框,那麼我們的SSD將具有類似於OverFeat[4]的架構;如果我們使用整個最上面的功能圖並添加一個完全連接的層來進行預測,而不是我們的卷積預測,並且不顯式地考慮多個縱橫比,我們可以近似複製YOLO〔5〕。

5 Conclusions

介紹了一種快速的多類別單點目標檢測方法SSD。我們模型的一個關鍵特性是使用附加到網絡頂部多個特徵映射的多尺度卷積包圍盒輸出。這種表示使我們能夠有效地對可能的長方體形狀的空間進行建模。實驗證明,在適當的訓練策略下,大量精心選擇的默認邊界框可以提高系統的性能。我們建立SSD模型與至少一個數量級的更多的箱預測採樣位置,規模和縱橫比,比現有的方法[5,7]。我們證明,在相同的VGG-16基本架構下,SSD在精度和速度方面都優於其最先進的目標檢測器。我們的SSD512模型在PASCAL VOC和COCO的準確度方面明顯優於最快R-CNN[2]的狀態,同時速度提高了3倍。我們的實時SSD300模型以59 FPS的速度運行,這比當前的實時YOLO[5]方案更快,同時產生顯著的優越的檢測精度。

除了獨立的實用程序外,我們相信我們的單片和相對簡單的SSD模型爲採用對象檢測組件的大型系統提供了有用的構建塊。一個有希望的未來方向是探索它作爲一個系統的一部分使用遞歸神經網絡來同時檢測和跟蹤視頻中的對象。

6感謝

這項工作是作爲谷歌的一個實習項目開始的,並繼續在北卡羅來納州。我們要感謝Alex Toshev的有益討論,感謝谷歌的圖像理解和DistFeedge團隊。我們還感謝菲利普·安米拉託和帕特里克·波森的有益評論。感謝英偉達提供GPU,感謝NSF 1452851144663115263671533771的支持。

References
1. Uijlings, J.R., van de Sande, K.E., Gevers, T., Smeulders, A.W.: Selective search for object
recognition. IJCV (2013)
2. Ren, S., He, K., Girshick, R., Sun, J.: Faster R-CNN: Towards real-time object detection
with region proposal networks. In: NIPS. (2015)
3. He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: CVPR.
(2016)
4. Sermanet, P ., Eigen, D., Zhang, X., Mathieu, M., Fergus, R., LeCun, Y .: Overfeat: Integrated
recognition, localization and detection using convolutional networks. In: ICLR. (2014)
SSD: Single Shot MultiBox Detector  17
5. Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: Y ou only look once: Unified, real-time
object detection. In: CVPR. (2016)
6. Girshick, R.: Fast R-CNN. In: ICCV . (2015)
7. Erhan, D., Szegedy, C., Toshev, A., Anguelov, D.: Scalable object detection using deep
neural networks. In: CVPR. (2014)
8. Szegedy, C., Reed, S., Erhan, D., Anguelov, D.: Scalable, high-quality object detection.
arXiv preprint arXiv:1412.1441 v3 (2015)
9. He, K., Zhang, X., Ren, S., Sun, J.: Spatial pyramid pooling in deep convolutional networks
for visual recognition. In: ECCV . (2014)
10. Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmentation.
In: CVPR. (2015)
11. Hariharan, B., Arbeláez, P ., Girshick, R., Malik, J.: Hypercolumns for object segmentation
and fine-grained localization. In: CVPR. (2015)
12. Liu, W., Rabinovich, A., Berg, A.C.: ParseNet: Looking wider to see better. In: ILCR. (2016)
13. Zhou, B., Khosla, A., Lapedriza, A., Oliva, A., Torralba, A.: Object detectors emerge in deep
scene cnns. In: ICLR. (2015)
14. Howard, A.G.: Some improvements on deep convolutional neural network based image
classification. arXiv preprint arXiv:1312.5402 (2013)
15. Simonyan, K., Zisserman, A.: V ery deep convolutional networks for large-scale image recog-
nition. In: NIPS. (2015)
16. Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Huang, Z., Karpathy, A.,
Khosla, A., Bernstein, M., Berg, A.C., Fei-Fei, L.: Imagenet large scale visual recognition
challenge. IJCV (2015)
17. Chen, L.C., Papandreou, G., Kokkinos, I., Murphy, K., Y uille, A.L.: Semantic image seg-
mentation with deep convolutional nets and fully connected crfs. In: ICLR. (2015)
18. Holschneider, M., Kronland-Martinet, R., Morlet, J., Tchamitchian, P .: A real-time algorithm
for signal analysis with the help of the wavelet transform. In: Wavelets. Springer (1990)
286–297
19. Jia, Y ., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S.,
Darrell, T.: Caffe: Convolutional architecture for fast feature embedding. In: MM. (2014)
20. Glorot, X., Bengio, Y .: Understanding the difficulty of training deep feedforward neural
networks. In: AISTATS. (2010)
21. Hoiem, D., Chodpathumwan, Y ., Dai, Q.: Diagnosing error in object detectors. In: ECCV
2012. (2012)
22. Girshick, R., Donahue, J., Darrell, T., Malik, J.: Rich feature hierarchies for accurate object
detection and semantic segmentation. In: CVPR. (2014)
23. Zhang, L., Lin, L., Liang, X., He, K.: Is faster r-cnn doing well for pedestrian detection. In:
ECCV . (2016)
24. Bell, S., Zitnick, C.L., Bala, K., Girshick, R.: Inside-outside net: Detecting objects in context
with skip pooling and recurrent neural networks. In: CVPR. (2016)
25. COCO:  Common Objects in Context. http://mscoco.org/dataset/
#detections-leaderboard (2016) [Online; accessed 25-July-2016].
26. Felzenszwalb, P ., McAllester, D., Ramanan, D.: A discriminatively trained, multiscale, de-
formable part model. In: CVPR. (2008)

 

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