翻譯SSD論文(Single Shot MultiBox Detector)
轉自http://lib.csdn.net/article/deeplearning/53059
本文翻譯而來,如有侵權,請聯絡博主刪除。未經博主允許,請勿轉載。每晚泡腳,閒來無事,所以就邊泡邊翻譯了SSD論文,總感覺英文看著不習慣,還是中文好理解,也是和大家一起學習。菜鳥水平有限,懇求大家指出錯誤之處。本翻譯僅作交流之用,請勿用於其他。
SSD: Single Shot MultiBoxDetector
Wei Liu1 , Dragomir Anguelov2 ,Dumitru Erhan3 , Christian Szegedy3,
Scott Reed4 , Cheng-Yang Fu1 ,Alexander C. Berg
1 UNC Chapel Hill 2Zoox Inc. 3GoogleInc.4University of Michigan, Ann-Arbor
[email protected], [email protected], 3{dumitru,szegedy}@google.com,[email protected],1 {cyfu,aberg}@cs.unc.edu
摘要:我們提出了一種使用單個深層神經網路檢測影象中物件的方法。我們的方法,名為SSD,將邊界框的輸出空間離散化為一組預設框,該預設框在每個特徵圖位置有不同的寬高比和尺寸。在預測期間,網路針對每個預設框中的每個存在物件類別生成分數,並且對框進行調整以更好地匹配物件形狀。另外,網路組合來自具有不同解析度的多個特徵圖的預測,以適應處理各種尺寸的物件。我們的SSD模型相對於需要region proposal的方法是簡單的,因為它完全消除了proposal生成和後續的畫素或特徵重取樣階段,並將所有計算封裝在單網路中。這使得SSD容易訓練和直接整合到需要檢測元件的系統。PASCALVOC,MS COCO和ILSVRC資料集的實驗結果證實,SSD與使用額外的region proposal的方法具有可比較的準確性,並且速度更快,同時為訓練和推理提供統一的框架。與其他單級方法相比,SSD具有更好的精度,即使輸入影象尺寸更小。對VOC2007,在300×300輸入,SSD在Nvidia Titan X上58FPS時達到72.1%的mAP,500×500輸入SSD達到75.1%的mAP,優於類似的現有技術Faster R-CNN模型。程式碼連結:
關鍵詞:實時物件檢測; 卷積神經網路
1、 引言
當前,現有物件檢測系統是以下方法的變體:假設邊界框,對每個框重新取樣畫素或特徵,再應用高質量分類器。選擇性搜尋[1]方法後,Faster R-CNN[2]在PASCAL VOC,MSCOCO和ILSVRC檢測取得領先結果,這種流程成為檢測領域的里程碑,具有更深的特徵,如[3]所述。儘管準確,但這些方法對於嵌入式系統來說計算量過大,即使對於高階硬體,對於實時或接近實時的應用來說也太慢。 這些方法的檢測速度通常以每秒幀數為單位進行測量,高精度檢測器(基礎 Faster R-CNN)最快僅以每秒7幀(FPS)執行。目前,已有廣泛的嘗試,通過研究檢測流程的每個階段(參見第4節中的相關工作)來建立更快的檢測器,但是迄今為止,顯著增加的速度僅僅是以顯著降低的檢測精度為代價。
本文提出了第一個基於深層網路的物件檢測器,它不會對邊界框假設的畫素或特徵進行重新取樣,但和這種做法一樣準確。這使高精度檢測速度有顯著提高(在VOC2007測試中, 58 FPS下 72.1%mAP,對Faster R-CNN 7 FPS 下mAP 73.2%,YOLO 45 FPS 下mAP 63.4%)。速度的根本改進來自消除邊界框proposal和隨後的畫素或特徵重取樣階段。這不是第一篇這麼做的文章(cf [4,5]),但是通過增加一系列改進,我們設法提高了以前嘗試的準確性。我們的改進包括使用不同寬高比檢測的單獨的預測器(濾波器),預測邊界框中的物件類別和偏移,並且將這些濾波器應用於網路後期的多個特徵圖,以便執行多尺度檢測。通過這些修改,我們可以使用相對低解析度的輸入實現高精度檢測,進一步提高處理速度。 雖然這些貢獻可能獨立看起來很小,但我們注意到,所得系統提高了PASCAL VOC的高速檢測的準確性,從YOLO的63.4%mAP到我們提出的網路的72.1%mAP。相比近期工作,這是在檢測精度上的較大提高,殘差網路上的卓越工作 [3]。 此外,顯著提高高質量檢測的速度可以拓寬計算機視覺有用使用範圍。
總結我們的貢獻如下:
- 我們引用了SSD,一個單次檢測器,用於多個類別,比先前技術的單次檢測器(YOLO)速度更快,並且更準確很多,實際上和使用regionproposal、pooling的更慢技術 一樣準確(包括Faster RCNN)
- SSD方法的核心是使用小卷積濾波器來預測特徵圖上固定的一組預設邊界框的類別分數和位置偏移。
- 為了實現高檢測精度,我們從不同尺度的特徵圖產生不同尺度的預測,並且通過寬高比來明確地分離預測。
- 總之,這些設計特性得到了簡單的端到端訓練和高精度,進一步提高速度和精度的權衡,即使輸入相對低解析度影象。
- 實驗包括在PASCAL VOC,MS COCO和ILSVRC上評估不同輸入大小下模型耗時和精度分析,並與一系列最新的先進方法進行比較。
2、單次檢測器(SSD)
本節介紹我們提出的SSD檢測架構(第2.1節)和相關的訓練方法(第2.2節)。之後, 第3節呈現特定資料集的模型細節和實驗結果。
圖1:SSD架構。 (a)SSD在訓練期間僅需要每個物件的輸入影象和真實標籤框。 卷積處理時,我們在具有不同尺度(例如(b)和(c)中的8×8和4×4)的若干特徵圖中的每個位置處評估不同橫寬比的小集合(例如4個)預設框。 對於每個預設框,我們預測對所有物件類別((c 1,c2,...,cp))的形狀偏移和置信度。在訓練時,我們首先將這些預設框匹配到真實標籤框。 例如,兩個預設框匹配到貓和狗,這些框為正,其餘視為負。 模型損失是位置損失(例如平滑L1 [6])和置信損失(例如Softmax)之間的加權和。
2.1 模型
SSD方法基於前饋卷積網路,其產生固定大小的邊界框集合和框中物件類別的分數,接著是非最大化抑制步驟以產生最終檢測。早期網路基於高質量影象分類(在任何分類層之前截斷(譯者注:特徵提取網路,例如:VGG、googlenet、alexnet))的標準架構,我們將其稱為基礎網路(我們的試驗中使用了VGG-16網路作為基礎,其他網路也應該能產生好的結果)。然後,我們向網路新增輔助結構,產生了具有以下主要特徵的檢測:
多尺度特徵圖檢測:我們將卷積特徵層新增到截斷的基礎網路的末尾。這些層尺寸逐漸減小,得到多個尺度檢測的預測值。檢測的卷積模型對於每個特徵層是不同的(參見在單個尺度特徵圖上操作的Overfeat [4]和YOLO[5])。
圖2:兩個單次檢測模型之間的比較:SSD和YOLO [5]。 我們的SSD模型在基礎網路的末尾添加了幾個特徵層,這些層預測了不同尺度和寬高比對預設框的偏移及其相關置信度。 300×300輸入尺寸的SSD在VOC2007測試中的精度顯著優於448×448輸入的YOLO的精度,同時還提高了執行速度,儘管YOLO網路比VGG16快。
檢測的卷積預測器:每個新增的特徵層(或可選的基礎網路的現有特徵層)可以使用一組卷積濾波器產生固定的預測集合。這些在圖2中SSD網路架構頂部已指出。對於具有p個通道的大小為m×n的特徵層,使用3×3×p卷積核卷積操作,產生類別的分數或相對於預設框的座標偏移。在每個應用卷積核運算的m×n大小位置處,產生一個輸出值。邊界框偏移輸出值是相對於預設框測量,預設框位置則相對於特徵圖(參見YOLO [5]的架構,中間使用全連線層而不是用於該步驟的卷積濾波器)。
預設框與寬高比:我們將一組預設邊界框與頂層網路每個特徵圖單元關聯。預設框對特徵圖作卷積運算,使得每個框例項相對於其對應單元格的位置是固定的。在每個特徵對映單元中,我們預測相對於單元格中的預設框形狀的偏移,以及每個框中例項的每類分數。具體來說,對於在給定位置的k個框中每個框,我們計算c類分數和相對於原始預設框的4個偏移量。這使得在特徵圖中的每個位置需要總共(c+4)k個濾波器,對於m×n特徵圖產生(c+4)kmn個輸出。有關預設框的說明,請參見圖1。我們的預設框類似於Faster R-CNN [2]中使用的anchor boxes,但我們將其應用於不同解析度的特徵圖中。在多個特徵圖中使用不同的預設框形狀,可以有效地離散可能的輸出框形狀空間。
2、2 訓練
訓練SSD和訓練使用region proposal、pooling的典型分類器的關鍵區別在於,真實標籤資訊需要被指定到固定的檢測器輸出集合中的某一特定輸出。Faster R-CNN [2]和MultiBox [7]的regionproposal階段、YOLO [5]的訓練階段也需要類似這樣的標籤。一旦確定了該指定,則端對端地應用損失函式和反向傳播。訓練還涉及選擇用於檢測的預設框和尺度集合,以及hard negative mining和資料增廣策略。
匹配策略:在訓練時,我們需要建立真實標籤和預設框之間的對應關係。請注意,對於每個真實標籤框,我們從預設框中進行選擇,這些預設框隨位置、縱橫比和比例而變化。啟始時,我們匹配每個真實標籤框與預設框最好的jaccard重疊。這是原始MultiBox [7]使用的匹配方法,它確保每個真實標籤框有一個匹配的預設框。與MultiBox不同,匹配預設框與真實標籤jaccard重疊高於閾值(0.5)的預設框。新增這些匹配簡化了學習問題:它使得有多個重疊預設框時網路預測獲得高置信度,而不是要求它選擇具有最大重疊的那個。
訓練:SSD訓練來自MultiBox[7,8],但擴充套件到處理多個物件類別。 以 表示第i個預設框與類別p的第j個真實標籤框相匹配,相反的 。 根據上述匹配策略,我們有 1,意味著可以有多於一個與第j個真實標籤框相匹配的預設框。總體目標損失函式是位置損失(loc)和置信損失(conf)的加權和:
其中N是匹配的預設框的數量,位置損失是預測框(l)和真實標籤值框(g)引數之間的平滑L1損失[6]。 類似於Faster R-CNN [2],我們對邊界框的中心和其寬度和高度的偏移回歸。 我們的置信損失是softmax損失對多類別置信(c)和權重項α設定為1的交叉驗證。
選擇預設框的比例和橫寬比:大多數卷積網路通過加深層數減小特徵圖的大小。這不僅減少計算和儲存消耗,而且還提供一定程度的平移和尺寸不變性。為了處理不同的物件尺寸,一些方法[4,9]建議將影象轉換為不同的尺寸,然後單獨處理每個尺寸,然後組合結果。然而,通過用單個網路中的若干不同層的特徵圖來進行預測,我們可以得到相同的效果,同時還在所有物件尺度上共享引數。之前的研究[10,11]已經表明使用來自較低層的特徵圖可以提高語義分割質量,因為較低層捕獲到輸入物件的更精細的細節。類似地,[12]表明,新增從高層特徵圖下采樣的全域性文字可以幫助平滑分割結果。受這些方法的啟發,我們使用低層和高層的特徵圖進行檢測預測。圖1示出了在框架中使用的兩個示例特徵圖(8×8和4×4),當然在實踐中,我們可以使用更多具有相對小的計算開銷的特徵圖。
已知網路中不同級別的特徵圖具有不同的(經驗)感受野大小[13]。幸運的是,在SSD框架內,預設框不需要對應於每層的實際感受野。我們可以設計平鋪,使得特定位置特徵圖,學習響應於影象的特定區域和物件的特定尺度。假設我們要使用m個特徵圖做預測。每個特徵圖的預設框的比例計算如下:
其中smin是0.2,smax是0.95,意味著最低層具有0.2的刻度,最高層具有0.95的刻度,並且其間的所有層是規則間隔的。我們對預設框施以不同的寬高比,表示為ar∈{1,2,3,1/2,1/3}。我們可以計算每個預設框的寬度( )和高度( )。對於寬高比為1,我們還添加了一個縮放為 的預設框,從而使每個特徵圖位置有6個預設框。設定每個預設框中心為( , ),其中 是第k個正方形特徵圖的大小, ∈[0, ),隨後擷取預設框座標使其 始終在[0,1]內。實際上,可以設計預設框的分佈以最佳地擬合特定資料集。
通過組合許多特徵圖在所有位置的不同尺寸和寬高比的所有預設框的預測,我們具有多樣化的預測集合,覆蓋各種輸入物件尺寸和形狀。例如圖 1中,狗被匹配到4×4特徵圖中的預設框,但不匹配到8×8特徵圖中的任何預設框。這是因為那些框具有不同的尺度但不匹配狗的框,因此在訓練期間被認為是負樣本。
Hard negative mining :在匹配步驟之後,大多數預設框都是負樣本,特別是當可能的預設框數量很大時。這導致了訓練期間正負樣本的嚴重不平衡。我們使用每個預設框的最高置信度對它們進行排序,並選擇前面的那些,使得正負樣本之間的比率最多為3:1,以代替使用所有的負樣本。我們發現,這導致更快的優化和更穩定的訓練。
資料增廣:為了使模型對於各種輸入物件大小和形狀更加魯棒,每個訓練影象通過以下選項之一隨機取樣:
- 使用整個原始輸入影象
- 取樣一個片段,使物件最小的jaccard重疊為0.1,0.3,0.5,0.7或0.9。
- 隨機取樣一個片段
每個取樣片段的大小為原始影象大小的[0.1,1],橫寬比在1/2和2之間。如果真實標籤框中心在取樣片段內,則保留重疊部分。在上述取樣步驟之後,將每個取樣片大小調整為固定大小,並以0.5的概率水平翻轉。
3、實驗結果
基礎網路:我們的實驗基於VGG16 [14]網路,在ILSVRC CLS-LOC資料集[15]預訓練。類似於DeepLab-LargeFOV [16],我們將fc6和fc7轉換為卷積層,從fc6和fc7兩層取樣得到引數,將pool5從2×2-s2更改為3×3-s1,並使用atrous演算法填“洞”。我們刪除了所有的dropout層和fc8層,使用SGD對這個模型進行fine-tune,初始學習率 ,0.9 momentum, 0.0005 weight decay, batch大小32。每個資料集的學習速率衰減策略略有不同,稍後我們將描述詳細資訊。所有訓練和測試程式碼在caffe框架編寫,開源地址:https://github.com/weiliu89/caffe/tree/ssd。
3.1 PASCAL VOC2007
在這個資料集上,我們比較了Fast R-CNN [6]和Faster R-CNN [2]。所有方法使用相同的訓練資料和預訓練的VGG16網路。特別地,我們在VOC2007train val和VOC2012 train val(16551images)上訓練,在VOC2007(4952影象)測試。
圖2顯示了SSD300模型的架構細節。我們使用conv4_3,conv7(fc7),conv8_2,conv9_2,conv10_2和pool11來預測位置和置信度(對SSD500模型,額外增加了conv11_2用於預測),用“xavier”方法初始化所有新新增的卷積層的引數[18]。由於conv4_3的大小較大(38×38),因此我們只在其上放置3個預設框 :一個0.1比例的框和另外縱橫比為1/2和2的框。對於所有其他層,我們設定6個預設框,如第 2.2節。如[12]中所指出的,由於conv4_3與其他層相比具有不同的特徵尺度,我們使用[12]中引入的L2正則化技術,將特徵圖中每個位置處的特徵範數縮放為20,並在反向傳播期間學習比例。我們使用 學習速率進行40k次迭代,然後將其衰減到 ,並繼續訓練另外20k次迭代。表1顯示,我們的SSD300模型已經比Fast R-CNN更準確。當以更大的500×500輸入影象訓練SSD,結果更準確,甚至驚人的超過了Faster R-CNN 1.9% mAP。
為了更詳細地瞭解我們的兩個SSD模型的效能,我們使用了來自[19]的檢測分析工具。圖3顯示SSD可以高質量檢測(大、白色區域)各種物件類別。它的大部分置信度高的檢測是正確的。召回率在85-90%左右,並且比“弱”(0.1 jaccard重疊)標準高得多。與R-CNN [20]相比,SSD具有較少的定位誤差,表明SSD可以更好地定位物件,因為它直接回歸物件形狀和分類物件類別,而不是使用兩個去耦步驟。然而,SSD對相似物件類別(尤其是動物)有更多的混淆,部分是因為多個類別分享了位置。
表1 : PASCAL VOC2007測試集檢測結果。Fast和Faster R-CNN輸入影象最小尺寸為600,兩個SSD模型除了輸入影象尺寸(300*300和500*500),其他設定與其相同。很明顯,較大的輸入尺寸得到更好的結果。
圖4顯示SSD對邊界框尺寸非常敏感。換句話說,它對較小的物件比較大的物件具有更差的效能。這毫不意外,因為小物件在最頂層可能沒有任何資訊保留下來。增加輸入尺寸(例如從300×300到500×500)可以幫助改善檢測小物件,但是仍然有很大改進空間。積極的一面是,我們可以清楚地看到SSD在大物件上表現很好。並且對於不同的物件寬高比非常魯棒,因為我們對每個特徵圖位置使用各種長寬比的預設框。
3.2 模型分析
為了更好地理解SSD,我們還進行了幾個人為控制的實驗,以檢查每個元件如何影響最終效能。對於所有以下實驗,我們使用完全相同的設定和輸入大小(300×300),除了變動的元件。
表2: 不同選擇和元件對SSD表現的影響
關鍵的資料增廣Fast和Faster R-CNN使用原始影象和水平翻轉(0.5概率)影象訓練。我們使用更廣泛的取樣策略,類似於YOLO [5],但它使用了我們沒有使用的光度失真。表2顯示,我們可以用這個抽樣策略提高6.7%的mAP。我們不知道我們的取樣策略將對Fast和Faster R-CNN提升多少,但可能效果不大,因為他們在分類期間使用了pooling,比人為設定更魯棒。
圖3:VOC2007測試集上SSD 500對動物、車輛和傢俱效能的視覺化。 第一行顯示由於定位不良(Loc),與類似類別(Sim)、其他類別(Oth)或背景(BG)混淆的正確檢測(Cor)、假陽性檢測的累積分數。 紅色實線反映了隨著檢測次數的增加,“強”標準(0.5 jaccard重疊)的召回率變化。 紅色虛線使用“弱”標準(0.1 jaccard重疊)。底行顯示排名靠前的假陽性型別的分佈。
更多特徵圖的提升 受許多語義分割工作啟發[10,11,12],我們也使用底層特徵圖來預測邊界框輸出。我們比較使用conv4_3預測的模型和沒有它的模型。從表2,我們可以看出,通過新增conv4_3進行預測,它有明顯更好的結果(72.1% vs 68.1%)。這也符合我們的直覺,conv4_3可以捕獲物件更好的細粒度,特別是細小的細節。
更多的預設框形狀效果更好 如第2.2節所述,預設情況下,每個位置使用6個預設框。如果我們刪除具有1/3和3寬高比的框,效能下降0.9%。通過進一步移除1/2和2縱橫比的框,效能再下降2%。使用多種預設框形狀似乎使網路預測任務更容易。
Atrous演算法更好更快 如第3節所述,我們使用了VGG16的atrous版本,遵循DeepLabLargeFOV[16]。如果我們使用完整的VGG16,保持pool5與2×2-s2,並且不從fc6和fc7的採集引數,新增conv5_3,結果稍差(0.7%),而速度減慢大約50%。
3.3 PASCAL VOC2012
採用和VOC2007上一樣的設定,這次,用VOC2012的訓練驗證集和VOC2007的訓練驗證集、測試集(21503張影象)訓練,在VOC2012測試集(10991張影象)測試。由於有了更多的訓練資料,模型訓練時以 學習率進行60K次迭代,再減小到 繼續迭代20K次。
表3顯示了SSD300和SSD500模型的結果。我們看到與我們在VOC2007測試中觀察到的相同的效能趨勢。我們的SSD300已經優於Fast R-CNN,並且非常接近Faster R-CNN(只有0.1%的差異)。通過將訓練和測試影象大小增加到500×500,我們比Faster R-CNN高2.7%。與YOLO相比,SSD顯著更好,可能是由於使用來自多個特徵圖的卷積預設框和訓練期間的匹配策略。
3.4 MSCOCO
為了進一步驗證SSD架構,我們在MS COCO資料集上訓練了我們的SSD300和SSD500模型。由於COCO中的物件往往較小,因此我們對所有圖層使用較小的預設框。我們遵循第2.2節中提到的策略,但是現在我們最小的預設框具有0.1而不是0.2的縮放比例,並且conv4_3上預設框的縮放比例是0.07(例如,對應於300×300影象的21個畫素)。
我們使用trainval35k [21]來訓練我們的模型。由於COCO有更多的物件類別,開始時的梯度不穩定。我們首先用8× 的學習率迭代4K次訓練模型,接著以 學習率進行140K次迭代,再以 學習率迭代60K次, 學習率迭代40K次。表4顯示了test-dev2015上的結果。與我們在PASCAL VOC資料集上觀察到的類似,SSD300在[email protected]和[email protected][0.5:0.95]中優於Fast R-CNN,在 mAP @ [0.5:0.95]與Faster R-CNN接近。然而,[email protected]更糟,我們推測,這是因為影象尺寸太小,這阻止了模型精確定位許多小物件。通過將影象大小增加到500×500,我們的SSD500在兩個標準中都優於Faster R-CNN。此外,我們的SSD500模型也比ION[21]更好,它是一個多尺寸版本的Fast R-CNN,使用迴圈網路顯式模擬上下文。在圖5中,我們展示了使用SSD500模型在MSCOCO test-dev的一些檢測示例。
3.5 ILSVRC初步結果
我們將我們用於MS COCO的相同的網路架構應用於ILSVRC DET資料集[15]。我們使用ILSVRC2014 DET train和val1來訓練SSD300模型,如[20]中所使用。我們首先以8× 的學習率迭代4K次訓練模型,再用 學習率進行320k次迭代訓練該模型,然後用 進行100k次迭代和 繼續訓練60k次迭代。我們可以在val2集上實現41.1mAP[20]。再一次的,它驗證SSD是高質量實時檢測的一般框架。
3.6 推理期間
考慮到從我們的方法生成的大量框,有必要在推理期間有效地執行非最大抑制(nms)。通過使用0.01的置信度閾值,我們可以過濾掉大多數框。然後,我們使用Thrust CUDA庫進行排序,使用GPU計算所有剩餘框之間的重疊,對jaccard重疊為0.45的每個類應用nms,並儲存每個影象的前200個檢測。對於20個VOC類別的SSD300,每個影象該步花費大約2.2毫秒,這接近在所有新新增的層上花費的總時間。
表5顯示了SSD、Faster R-CNN[2]和YOLO [5]之間的比較。Faster R-CNN對region proposal使用額外的預測層,並且需要特徵下采樣。相比之下,我們的SSD500方法在速度和精度上優於Faster R-CNN。 值得一提的是,我們的方法SSD300是唯一的實時實現70%以上mAP的方法。 雖然快速YOLO[5]可以執行在155 FPS,但精度只有差不多20%的mAP。
4、相關工作
目前有兩種已建立的用於影象中物件檢測的方法,一種基於滑動視窗,另一種基於region proposal分類。在卷積神經網路出現之前,用於檢測的兩種方法DeformablePart Model(DPM)[22]和選擇性搜尋[1]效能接近。然而,在R-CNN[20]帶來的顯著改進之後,其結合了選擇性搜尋region proposal和基於卷積網路的後分類,region proposal物件檢測方法變得普遍。
原始的R-CNN方法已經以各種方式進行了改進。第一組方法提高了後分類的質量和速度,因為它需要對成千上萬的影象作物進行分類,這是昂貴和耗時的。SPPnet[9]對原始的R-CNN方法大大提速。它引入了空間金字塔池化層,其對區域大小和尺度更加魯棒,並且允許分類層重用在若干影象解析度生成的特徵圖特徵。Fast R-CNN[6]擴充套件了SPPnet,使得它可以通過最小化置信度和邊界框迴歸的損失來對所有層進行端對端微調,這在MultiBox[7]中首次引入用於學習物件。
第二組方法使用深層神經網路提高proposal生成的質量。在最近的工作中,例如MultiBox[7,8],基於低層影象特徵的選擇性搜尋region proposal被直接從單獨的深層神經網路生成的proposal所替代。這進一步提高了檢測精度,但是導致了一些複雜的設定,需要訓練兩個神經網路及其之間的依賴。Faster R-CNN[2]通過從region proposal網路(RPN)中學習的方案替換了選擇性搜尋proposal,並且引入了通過微調共享卷積層和兩個網路的預測層之間交替來整合RPN與Fast R-CNN的方法。用這種方式region proposal池化中層特徵圖,最終分類步驟更快速。我們的SSD與Faster R-CNN中的region proposal網路(RPN)非常相似,因為我們還使用固定的(預設)框來進行預測,類似於RPN中的achor框。但是,不是使用這些來池化特徵和評估另一個分類器,我們同時在每個框中為每個物件類別產生一個分數。因此,我們的方法避免了將RPN與Fast R-CNN合併的複雜性,並且更容易訓練,更易於整合到其他任務中。
另一組方法與我們的方法直接相關,完全跳過proposal步驟,直接預測多個類別的邊界框和置信度。 OverFeat[4]是滑動視窗方法的深度版本,在知道基礎物件類別的置信度之後直接從最頂層特徵圖的每個位置預測邊界框。YOLO [5]使用整個最高層特徵圖來預測多個類別和邊界框(這些類別共享)的置信度。我們的SSD方法屬於此類別,因為我們沒有提案步驟,但使用預設框。然而,我們的方法比現有方法更靈活,因為我們可以在不同尺度的多個特徵圖中的每個特徵位置上使用不同寬高比的預設框。如果頂層特徵圖每個位置只使用一個預設框,我們的SSD將具有與OverFeat[4]類似的架構;如果我們使用整個頂層特徵圖並且新增一個全連線層用於預測而不是我們的卷積預測器,並且沒有明確考慮多個寬高比,我們可以近似地再現YOLO[5]。
5、結論
本文介紹了SSD,一種用於多個類別的快速單次物件檢測器。我們的模型的一個關鍵特點是使用多尺度卷積邊界框輸出附加到網路頂部的多個特徵圖。這種表示允許我們有效地模擬可能的框形狀空間。我們實驗驗證,給定適當的訓練策略,更大量的仔細選擇的預設邊界框得到了效能的提高。我們建立SSD模型,與現有方法相比,至少相差一個數量級的框預測位置,規模和縱橫比[2,5,7]。
我們證明,給定相同的VGG-16基礎架構,SSD在精度和速度方面勝過最先進的物件檢測器。我們的SSD500型號在PASCAL VOC和MS COCO的精度方面明顯優於最先進的Faster R-CNN [2],速度快了3倍。 我們的實時SSD300模型執行在58 FPS,這比當前的實時YOLO[5]更快,同時有顯著高質量的檢測。
除了它的獨立實用程式,我們相信,我們的完整和相對簡單的SSD模型為使用物件檢測元件的大型系統提供了一個偉大的組成塊。一個有希望的未來方向,是探索其作為使用迴圈神經網路的系統一部分,用以檢測和跟蹤視訊中物件。
6、致謝
這個專案是在谷歌開始的實習專案,並在UNC繼續。 我們要感謝亞歷克斯·託舍夫有用的討論,並感謝谷歌的Image Understanding和DistBelief團隊。 我們也感謝菲利普·阿米拉託和帕特里克·波爾森有益的意見。我們感謝NVIDIA提供K40 GPU並感謝NSF 1452851的支援。
引用
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.: FasterR-CNN: Towards real-time object detection with region proposal networks. In:NIPS. (2015)
3. He, K., Zhang, X., Ren, S., Sun, J.: Deepresidual learning for image recognition. In: CVPR.(2016)
4. Sermanet, P., Eigen, D., Zhang, X., Mathieu, M.,Fergus, R., LeCun, Y.: Overfeat: Integrated recognition, localization anddetection using convolutional networks. In: ICLR. (2014)
5. Redmon, J., Divvala, S., Girshick, R., Farhadi,A.: You 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 neuralnetworks. 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 convolutionalnetworks for visual recognition. In: ECCV. (2014)
10. Long, J., Shelhamer, E., Darrell, T.: Fullyconvolutional 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. Simonyan,K.,Zisserman,A.:Verydeepconvolutionalnetworksforlarge-scaleimagerecog-nition. In: NIPS. (2015)
15. Russakovsky, O., Deng, J., Su, H., Krause, J.,Satheesh, S., Ma, S., Huang, Z., Karpathy, A., Khosla, A., Bernstein, M., Berg,A.C., Li, F.F.: Imagenet large scale visual recognition challenge. IJCV (2015)
16. Chen, L.C., Papandreou, G., Kokkinos, I.,Murphy, K., Yuille, A.L.: Semantic image segmentation with deep convolutionalnets and fully connected crfs. In: ICLR. (2015)
17. Jia, Y., Shelhamer, E., Donahue, J., Karayev,S., Long, J., Girshick, R., Guadarrama, S., Darrell, T.: Caffe: Convolutionalarchitecture for fast feature embedding. In: MM, ACM (2014)
18. Glorot, X., Bengio, Y.: Understanding thedifficulty of training deep feedforward neural networks. In: AISTATS. (2010)
19. Hoiem, D., Chodpathumwan, Y., Dai, Q.:Diagnosing error in object detectors. In: ECCV 2012. (2012)
20. Girshick, R., Donahue, J., Darrell, T., Malik,J.: Rich feature hierarchies for accurate object detection and semanticsegmentation. In: CVPR. (2014)
21. Bell, S., Zitnick, C.L., Bala, K., Girshick, R.:Inside-outside net: Detecting objects in context with skip pooling andrecurrent neural networks. In: CVPR. (2016)
22. Felzenszwalb, P., McAllester, D., Ramanan, D.: Adiscriminatively trained, multiscale, deformable part model. In: CVPR. (2008)