翻译SSD论文(Single Shot MultiBox Detector)
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
1wliu@cs.unc.edu, 2drago@zoox.com, 3{dumitru,szegedy}@google.com,4reedscot@umich.edu,1 {cyfu,aberg}@cs.unc.edu
?
摘要:我們提出了一種使用單個(gè)深層神經(jīng)網(wǎng)絡(luò)檢測圖像中對象的方法。我們的方法,名為SSD,將邊界框的輸出空間離散化為一組默認(rèn)框,該默認(rèn)框在每個(gè)特征圖位置有不同的寬高比和尺寸。在預(yù)測期間,網(wǎng)絡(luò)針對每個(gè)默認(rèn)框中的每個(gè)存在對象類別生成分?jǐn)?shù),并且對框進(jìn)行調(diào)整以更好地匹配對象形狀。另外,網(wǎng)絡(luò)組合來自具有不同分辨率的多個(gè)特征圖的預(yù)測,以適應(yīng)處理各種尺寸的對象。我們的SSD模型相對于需要region proposal的方法是簡單的,因?yàn)樗耆藀roposal生成和后續(xù)的像素或特征重采樣階段,并將所有計(jì)算封裝在單網(wǎng)絡(luò)中。這使得SSD容易訓(xùn)練和直接集成到需要檢測組件的系統(tǒng)。PASCALVOC,MS COCO和ILSVRC數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果證實(shí),SSD與使用額外的region proposal的方法具有可比較的準(zhǔn)確性,并且速度更快,同時(shí)為訓(xùn)練和推理提供統(tǒng)一的框架。與其他單級方法相比,SSD具有更好的精度,即使輸入圖像尺寸更小。對VOC2007,在300×300輸入,SSD在Nvidia Titan X上58FPS時(shí)達(dá)到72.1%的mAP,500×500輸入SSD達(dá)到75.1%的mAP,優(yōu)于類似的現(xiàn)有技術(shù)Faster R-CNN模型。代碼鏈接:https://github.com/weiliu89/caffe/tree/ssd。
?
關(guān)鍵詞:實(shí)時(shí)對象檢測; 卷積神經(jīng)網(wǎng)絡(luò)
?
1、 引言
? ? ? ? 當(dāng)前,現(xiàn)有對象檢測系統(tǒng)是以下方法的變體:假設(shè)邊界框,對每個(gè)框重新取樣像素或特征,再應(yīng)用高質(zhì)量分類器。選擇性搜索[1]方法后,Faster R-CNN[2]在PASCAL VOC,MSCOCO和ILSVRC檢測取得領(lǐng)先結(jié)果,這種流程成為檢測領(lǐng)域的里程碑,具有更深的特征,如[3]所述。盡管準(zhǔn)確,但這些方法對于嵌入式系統(tǒng)來說計(jì)算量過大,即使對于高端硬件,對于實(shí)時(shí)或接近實(shí)時(shí)的應(yīng)用來說也太慢。 這些方法的檢測速度通常以每秒幀數(shù)為單位進(jìn)行測量,高精度檢測器(基礎(chǔ) Faster R-CNN)最快僅以每秒7幀(FPS)運(yùn)行。目前,已有廣泛的嘗試,通過研究檢測流程的每個(gè)階段(參見第4節(jié)中的相關(guān)工作)來建立更快的檢測器,但是迄今為止,顯著增加的速度僅僅是以顯著降低的檢測精度為代價(jià)。
? ? ? ? 本文提出了第一個(gè)基于深層網(wǎng)絡(luò)的對象檢測器,它不會對邊界框假設(shè)的像素或特征進(jìn)行重新取樣,但和這種做法一樣準(zhǔn)確。這使高精度檢測速度有顯著提高(在VOC2007測試中, 58 FPS下 72.1%mAP,對Faster R-CNN 7 FPS 下mAP 73.2%,YOLO 45 FPS 下mAP 63.4%)。速度的根本改進(jìn)來自消除邊界框proposal和隨后的像素或特征重采樣階段。這不是第一篇這么做的文章(cf [4,5]),但是通過增加一系列改進(jìn),我們設(shè)法提高了以前嘗試的準(zhǔn)確性。我們的改進(jìn)包括使用不同寬高比檢測的單獨(dú)的預(yù)測器(濾波器),預(yù)測邊界框中的對象類別和偏移,并且將這些濾波器應(yīng)用于網(wǎng)絡(luò)后期的多個(gè)特征圖,以便執(zhí)行多尺度檢測。通過這些修改,我們可以使用相對低分辨率的輸入實(shí)現(xiàn)高精度檢測,進(jìn)一步提高處理速度。 雖然這些貢獻(xiàn)可能獨(dú)立看起來很小,但我們注意到,所得系統(tǒng)提高了PASCAL VOC的高速檢測的準(zhǔn)確性,從YOLO的63.4%mAP到我們提出的網(wǎng)絡(luò)的72.1%mAP。相比近期工作,這是在檢測精度上的較大提高,殘差網(wǎng)絡(luò)上的卓越工作 [3]。 此外,顯著提高高質(zhì)量檢測的速度可以拓寬計(jì)算機(jī)視覺有用使用范圍。
總結(jié)我們的貢獻(xiàn)如下:
- 我們引用了SSD,一個(gè)單次檢測器,用于多個(gè)類別,比先前技術(shù)的單次檢測器(YOLO)速度更快,并且更準(zhǔn)確很多,實(shí)際上和使用regionproposal、pooling的更慢技術(shù)????一樣準(zhǔn)確(包括Faster RCNN)
-?? SSD方法的核心是使用小卷積濾波器來預(yù)測特征圖上固定的一組默認(rèn)邊界框的類別分?jǐn)?shù)和位置偏移。
-?? 為了實(shí)現(xiàn)高檢測精度,我們從不同尺度的特征圖產(chǎn)生不同尺度的預(yù)測,并且通過寬高比來明確地分離預(yù)測。
-?? 總之,這些設(shè)計(jì)特性得到了簡單的端到端訓(xùn)練和高精度,進(jìn)一步提高速度和精度的權(quán)衡,即使輸入相對低分辨率圖像。
- 實(shí)驗(yàn)包括在PASCAL VOC,MS COCO和ILSVRC上評估不同輸入大小下模型耗時(shí)和精度分析,并與一系列最新的先進(jìn)方法進(jìn)行比較。
?
2、單次檢測器(SSD)
? ? ? ? 本節(jié)介紹我們提出的SSD檢測架構(gòu)(第2.1節(jié))和相關(guān)的訓(xùn)練方法(第2.2節(jié))。之后, 第3節(jié)呈現(xiàn)特定數(shù)據(jù)集的模型細(xì)節(jié)和實(shí)驗(yàn)結(jié)果。
圖1:SSD架構(gòu)。 (a)SSD在訓(xùn)練期間僅需要每個(gè)對象的輸入圖像和真實(shí)標(biāo)簽框。 卷積處理時(shí),我們在具有不同尺度(例如(b)和(c)中的8×8和4×4)的若干特征圖中的每個(gè)位置處評估不同橫寬比的小集合(例如4個(gè))默認(rèn)框。 對于每個(gè)默認(rèn)框,我們預(yù)測對所有對象類別((c 1,c2,...,cp))的形狀偏移和置信度。在訓(xùn)練時(shí),我們首先將這些默認(rèn)框匹配到真實(shí)標(biāo)簽框。 例如,兩個(gè)默認(rèn)框匹配到貓和狗,這些框?yàn)檎?#xff0c;其余視為負(fù)。 模型損失是位置損失(例如平滑L1 [6])和置信損失(例如Softmax)之間的加權(quán)和。
2.1 模型
? ? ? ? SSD方法基于前饋卷積網(wǎng)絡(luò),其產(chǎn)生固定大小的邊界框集合和框中對象類別的分?jǐn)?shù),接著是非最大化抑制步驟以產(chǎn)生最終檢測。早期網(wǎng)絡(luò)基于高質(zhì)量圖像分類(在任何分類層之前截?cái)?#xff08;譯者注:特征提取網(wǎng)絡(luò),例如:VGG、googlenet、alexnet))的標(biāo)準(zhǔn)架構(gòu),我們將其稱為基礎(chǔ)網(wǎng)絡(luò)(我們的試驗(yàn)中使用了VGG-16網(wǎng)絡(luò)作為基礎(chǔ),其他網(wǎng)絡(luò)也應(yīng)該能產(chǎn)生好的結(jié)果)。然后,我們向網(wǎng)絡(luò)添加輔助結(jié)構(gòu),產(chǎn)生了具有以下主要特征的檢測:
多尺度特征圖檢測:我們將卷積特征層添加到截?cái)嗟幕A(chǔ)網(wǎng)絡(luò)的末尾。這些層尺寸逐漸減小,得到多個(gè)尺度檢測的預(yù)測值。檢測的卷積模型對于每個(gè)特征層是不同的(參見在單個(gè)尺度特征圖上操作的Overfeat [4]和YOLO[5])。
圖2:兩個(gè)單次檢測模型之間的比較:SSD和YOLO [5]。 我們的SSD模型在基礎(chǔ)網(wǎng)絡(luò)的末尾添加了幾個(gè)特征層,這些層預(yù)測了不同尺度和寬高比對默認(rèn)框的偏移及其相關(guān)置信度。 300×300輸入尺寸的SSD在VOC2007測試中的精度顯著優(yōu)于448×448輸入的YOLO的精度,同時(shí)還提高了運(yùn)行速度,盡管YOLO網(wǎng)絡(luò)比VGG16快。
檢測的卷積預(yù)測器:每個(gè)添加的特征層(或可選的基礎(chǔ)網(wǎng)絡(luò)的現(xiàn)有特征層)可以使用一組卷積濾波器產(chǎn)生固定的預(yù)測集合。這些在圖2中SSD網(wǎng)絡(luò)架構(gòu)頂部已指出。對于具有p個(gè)通道的大小為m×n的特征層,使用3×3×p卷積核卷積操作,產(chǎn)生類別的分?jǐn)?shù)或相對于默認(rèn)框的坐標(biāo)偏移。在每個(gè)應(yīng)用卷積核運(yùn)算的m×n大小位置處,產(chǎn)生一個(gè)輸出值。邊界框偏移輸出值是相對于默認(rèn)框測量,默認(rèn)框位置則相對于特征圖(參見YOLO [5]的架構(gòu),中間使用全連接層而不是用于該步驟的卷積濾波器)。
默認(rèn)框與寬高比:我們將一組默認(rèn)邊界框與頂層網(wǎng)絡(luò)每個(gè)特征圖單元關(guān)聯(lián)。默認(rèn)框?qū)μ卣鲌D作卷積運(yùn)算,使得每個(gè)框?qū)嵗鄬τ谄鋵?yīng)單元格的位置是固定的。在每個(gè)特征映射單元中,我們預(yù)測相對于單元格中的默認(rèn)框形狀的偏移,以及每個(gè)框中實(shí)例的每類分?jǐn)?shù)。具體來說,對于在給定位置的k個(gè)框中每個(gè)框,我們計(jì)算c類分?jǐn)?shù)和相對于原始默認(rèn)框的4個(gè)偏移量。這使得在特征圖中的每個(gè)位置需要總共(c+4)k個(gè)濾波器,對于m×n特征圖產(chǎn)生(c+4)kmn個(gè)輸出。有關(guān)默認(rèn)框的說明,請參見圖1。我們的默認(rèn)框類似于Faster R-CNN [2]中使用的anchor boxes,但我們將其應(yīng)用于不同分辨率的特征圖中。在多個(gè)特征圖中使用不同的默認(rèn)框形狀,可以有效地離散可能的輸出框形狀空間。
2、2 訓(xùn)練
???????? 訓(xùn)練SSD和訓(xùn)練使用region proposal、pooling的典型分類器的關(guān)鍵區(qū)別在于,真實(shí)標(biāo)簽信息需要被指定到固定的檢測器輸出集合中的某一特定輸出。Faster R-CNN [2]和MultiBox [7]的regionproposal階段、YOLO [5]的訓(xùn)練階段也需要類似這樣的標(biāo)簽。一旦確定了該指定,則端對端地應(yīng)用損失函數(shù)和反向傳播。訓(xùn)練還涉及選擇用于檢測的默認(rèn)框和尺度集合,以及hard negative mining和數(shù)據(jù)增廣策略。
???????? 匹配策略:在訓(xùn)練時(shí),我們需要建立真實(shí)標(biāo)簽和默認(rèn)框之間的對應(yīng)關(guān)系。請注意,對于每個(gè)真實(shí)標(biāo)簽框,我們從默認(rèn)框中進(jìn)行選擇,這些默認(rèn)框隨位置、縱橫比和比例而變化。啟始時(shí),我們匹配每個(gè)真實(shí)標(biāo)簽框與默認(rèn)框最好的jaccard重疊。這是原始MultiBox [7]使用的匹配方法,它確保每個(gè)真實(shí)標(biāo)簽框有一個(gè)匹配的默認(rèn)框。與MultiBox不同,匹配默認(rèn)框與真實(shí)標(biāo)簽jaccard重疊高于閾值(0.5)的默認(rèn)框。添加這些匹配簡化了學(xué)習(xí)問題:它使得有多個(gè)重疊默認(rèn)框時(shí)網(wǎng)絡(luò)預(yù)測獲得高置信度,而不是要求它選擇具有最大重疊的那個(gè)。
???????? 訓(xùn)練:SSD訓(xùn)練來自MultiBox[7,8],但擴(kuò)展到處理多個(gè)對象類別。 以 ? 表示第i個(gè)默認(rèn)框與類別p的第j個(gè)真實(shí)標(biāo)簽框相匹配,相反的 。 根據(jù)上述匹配策略,我們有 1,意味著可以有多于一個(gè)與第j個(gè)真實(shí)標(biāo)簽框相匹配的默認(rèn)框。總體目標(biāo)損失函數(shù)是位置損失(loc)和置信損失(conf)的加權(quán)和:
其中N是匹配的默認(rèn)框的數(shù)量,位置損失是預(yù)測框(l)和真實(shí)標(biāo)簽值框(g)參數(shù)之間的平滑L1損失[6]。 類似于Faster R-CNN [2],我們對邊界框的中心和其寬度和高度的偏移回歸。 我們的置信損失是softmax損失對多類別置信(c)和權(quán)重項(xiàng)α設(shè)置為1的交叉驗(yàn)證。
???????? 選擇默認(rèn)框的比例和橫寬比:大多數(shù)卷積網(wǎng)絡(luò)通過加深層數(shù)減小特征圖的大小。這不僅減少計(jì)算和存儲消耗,而且還提供一定程度的平移和尺寸不變性。為了處理不同的對象尺寸,一些方法[4,9]建議將圖像轉(zhuǎn)換為不同的尺寸,然后單獨(dú)處理每個(gè)尺寸,然后組合結(jié)果。然而,通過用單個(gè)網(wǎng)絡(luò)中的若干不同層的特征圖來進(jìn)行預(yù)測,我們可以得到相同的效果,同時(shí)還在所有對象尺度上共享參數(shù)。之前的研究[10,11]已經(jīng)表明使用來自較低層的特征圖可以提高語義分割質(zhì)量,因?yàn)檩^低層捕獲到輸入對象的更精細(xì)的細(xì)節(jié)。類似地,[12]表明,添加從高層特征圖下采樣的全局文本可以幫助平滑分割結(jié)果。受這些方法的啟發(fā),我們使用低層和高層的特征圖進(jìn)行檢測預(yù)測。圖1示出了在框架中使用的兩個(gè)示例特征圖(8×8和4×4),當(dāng)然在實(shí)踐中,我們可以使用更多具有相對小的計(jì)算開銷的特征圖。
???????? 已知網(wǎng)絡(luò)中不同級別的特征圖具有不同的(經(jīng)驗(yàn))感受野大小[13]。幸運(yùn)的是,在SSD框架內(nèi),默認(rèn)框不需要對應(yīng)于每層的實(shí)際感受野。我們可以設(shè)計(jì)平鋪,使得特定位置特征圖,學(xué)習(xí)響應(yīng)于圖像的特定區(qū)域和對象的特定尺度。假設(shè)我們要使用m個(gè)特征圖做預(yù)測。每個(gè)特征圖的默認(rèn)框的比例計(jì)算如下:
其中smin是0.2,smax是0.95,意味著最低層具有0.2的刻度,最高層具有0.95的刻度,并且其間的所有層是規(guī)則間隔的。我們對默認(rèn)框施以不同的寬高比,表示為ar∈{1,2,3,1/2,1/3}。我們可以計(jì)算每個(gè)默認(rèn)框的寬度( )和高度( )。對于寬高比為1,我們還添加了一個(gè)縮放為 的默認(rèn)框,從而使每個(gè)特征圖位置有6個(gè)默認(rèn)框。設(shè)定每個(gè)默認(rèn)框中心為( , ),其中 是第k個(gè)正方形特征圖的大小, ∈[0, ),隨后截取默認(rèn)框坐標(biāo)使其 始終在[0,1]內(nèi)。實(shí)際上,可以設(shè)計(jì)默認(rèn)框的分布以最佳地?cái)M合特定數(shù)據(jù)集。
???????? 通過組合許多特征圖在所有位置的不同尺寸和寬高比的所有默認(rèn)框的預(yù)測,我們具有多樣化的預(yù)測集合,覆蓋各種輸入對象尺寸和形狀。例如圖 1中,狗被匹配到4×4特征圖中的默認(rèn)框,但不匹配到8×8特征圖中的任何默認(rèn)框。這是因?yàn)槟切┛蚓哂胁煌某叨鹊黄ヅ涔返目?#xff0c;因此在訓(xùn)練期間被認(rèn)為是負(fù)樣本。
Hard negative mining :在匹配步驟之后,大多數(shù)默認(rèn)框都是負(fù)樣本,特別是當(dāng)可能的默認(rèn)框數(shù)量很大時(shí)。這導(dǎo)致了訓(xùn)練期間正負(fù)樣本的嚴(yán)重不平衡。我們使用每個(gè)默認(rèn)框的最高置信度對它們進(jìn)行排序,并選擇前面的那些,使得正負(fù)樣本之間的比率最多為3:1,以代替使用所有的負(fù)樣本。我們發(fā)現(xiàn),這導(dǎo)致更快的優(yōu)化和更穩(wěn)定的訓(xùn)練。
數(shù)據(jù)增廣:為了使模型對于各種輸入對象大小和形狀更加魯棒,每個(gè)訓(xùn)練圖像通過以下選項(xiàng)之一隨機(jī)采樣:
-??? 使用整個(gè)原始輸入圖像
-??? 采樣一個(gè)片段,使對象最小的jaccard重疊為0.1,0.3,0.5,0.7或0.9。
-??? 隨機(jī)采樣一個(gè)片段
每個(gè)采樣片段的大小為原始圖像大小的[0.1,1],橫寬比在1/2和2之間。如果真實(shí)標(biāo)簽框中心在采樣片段內(nèi),則保留重疊部分。在上述采樣步驟之后,將每個(gè)采樣片大小調(diào)整為固定大小,并以0.5的概率水平翻轉(zhuǎn)。
?
3、實(shí)驗(yàn)結(jié)果
? ? ? ? 基礎(chǔ)網(wǎng)絡(luò):我們的實(shí)驗(yàn)基于VGG16 [14]網(wǎng)絡(luò),在ILSVRC CLS-LOC數(shù)據(jù)集[15]預(yù)訓(xùn)練。類似于DeepLab-LargeFOV [16],我們將fc6和fc7轉(zhuǎn)換為卷積層,從fc6和fc7兩層采樣得到參數(shù),將pool5從2×2-s2更改為3×3-s1,并使用atrous算法填“洞”。我們刪除了所有的dropout層和fc8層,使用SGD對這個(gè)模型進(jìn)行fine-tune,初始學(xué)習(xí)率 ,0.9 momentum, 0.0005 weight decay, batch大小32。每個(gè)數(shù)據(jù)集的學(xué)習(xí)速率衰減策略略有不同,稍后我們將描述詳細(xì)信息。所有訓(xùn)練和測試代碼在caffe框架編寫,開源地址:https://github.com/weiliu89/caffe/tree/ssd。
3.1 PASCAL VOC2007
? ? ? ? ?在這個(gè)數(shù)據(jù)集上,我們比較了Fast R-CNN [6]和Faster R-CNN [2]。所有方法使用相同的訓(xùn)練數(shù)據(jù)和預(yù)訓(xùn)練的VGG16網(wǎng)絡(luò)。特別地,我們在VOC2007train val和VOC2012 train val(16551images)上訓(xùn)練,在VOC2007(4952圖像)測試。
? ? ? ? ?圖2顯示了SSD300模型的架構(gòu)細(xì)節(jié)。我們使用conv4_3,conv7(fc7),conv8_2,conv9_2,conv10_2和pool11來預(yù)測位置和置信度(對SSD500模型,額外增加了conv11_2用于預(yù)測),用“xavier”方法初始化所有新添加的卷積層的參數(shù)[18]。由于conv4_3的大小較大(38×38),因此我們只在其上放置3個(gè)默認(rèn)框 :一個(gè)0.1比例的框和另外縱橫比為1/2和2的框。對于所有其他層,我們設(shè)置6個(gè)默認(rèn)框,如第 2.2節(jié)。如[12]中所指出的,由于conv4_3與其他層相比具有不同的特征尺度,我們使用[12]中引入的L2正則化技術(shù),將特征圖中每個(gè)位置處的特征范數(shù)縮放為20,并在反向傳播期間學(xué)習(xí)比例。我們使用 學(xué)習(xí)速率進(jìn)行40k次迭代,然后將其衰減到 ,并繼續(xù)訓(xùn)練另外20k次迭代。表1顯示,我們的SSD300模型已經(jīng)比Fast R-CNN更準(zhǔn)確。當(dāng)以更大的500×500輸入圖像訓(xùn)練SSD,結(jié)果更準(zhǔn)確,甚至驚人的超過了Faster R-CNN 1.9% mAP。
? ? ? ? 為了更詳細(xì)地了解我們的兩個(gè)SSD模型的性能,我們使用了來自[19]的檢測分析工具。圖3顯示SSD可以高質(zhì)量檢測(大、白色區(qū)域)各種對象類別。它的大部分置信度高的檢測是正確的。召回率在85-90%左右,并且比“弱”(0.1 jaccard重疊)標(biāo)準(zhǔn)高得多。與R-CNN [20]相比,SSD具有較少的定位誤差,表明SSD可以更好地定位對象,因?yàn)樗苯踊貧w對象形狀和分類對象類別,而不是使用兩個(gè)去耦步驟。然而,SSD對相似對象類別(尤其是動物)有更多的混淆,部分是因?yàn)槎鄠€(gè)類別分享了位置。
表1 : PASCAL VOC2007測試集檢測結(jié)果。Fast和Faster R-CNN輸入圖像最小尺寸為600,兩個(gè)SSD模型除了輸入圖像尺寸(300*300和500*500),其他設(shè)置與其相同。很明顯,較大的輸入尺寸得到更好的結(jié)果。
? ? ? ? ?圖4顯示SSD對邊界框尺寸非常敏感。換句話說,它對較小的對象比較大的對象具有更差的性能。這毫不意外,因?yàn)樾ο笤谧铐攲涌赡軟]有任何信息保留下來。增加輸入尺寸(例如從300×300到500×500)可以幫助改善檢測小對象,但是仍然有很大改進(jìn)空間。積極的一面是,我們可以清楚地看到SSD在大對象上表現(xiàn)很好。并且對于不同的對象寬高比非常魯棒,因?yàn)槲覀儗γ總€(gè)特征圖位置使用各種長寬比的默認(rèn)框。
3.2 模型分析
? ? ? ? 為了更好地理解SSD,我們還進(jìn)行了幾個(gè)人為控制的實(shí)驗(yàn),以檢查每個(gè)組件如何影響最終性能。對于所有以下實(shí)驗(yàn),我們使用完全相同的設(shè)置和輸入大小(300×300),除了變動的組件。
表2: 不同選擇和組件對SSD表現(xiàn)的影響
關(guān)鍵的數(shù)據(jù)增廣Fast和Faster R-CNN使用原始圖像和水平翻轉(zhuǎn)(0.5概率)圖像訓(xùn)練。我們使用更廣泛的采樣策略,類似于YOLO [5],但它使用了我們沒有使用的光度失真。表2顯示,我們可以用這個(gè)抽樣策略提高6.7%的mAP。我們不知道我們的采樣策略將對Fast和Faster R-CNN提升多少,但可能效果不大,因?yàn)樗麄冊诜诸惼陂g使用了pooling,比人為設(shè)置更魯棒。
圖3:VOC2007測試集上SSD 500對動物、車輛和家具性能的可視化。 第一行顯示由于定位不良(Loc),與類似類別(Sim)、其他類別(Oth)或背景(BG)混淆的正確檢測(Cor)、假陽性檢測的累積分?jǐn)?shù)。 紅色實(shí)線反映了隨著檢測次數(shù)的增加,“強(qiáng)”標(biāo)準(zhǔn)(0.5 jaccard重疊)的召回率變化。 紅色虛線使用“弱”標(biāo)準(zhǔn)(0.1 jaccard重疊)。底行顯示排名靠前的假陽性類型的分布。
更多特征圖的提升? ?受許多語義分割工作啟發(fā)[10,11,12],我們也使用底層特征圖來預(yù)測邊界框輸出。我們比較使用conv4_3預(yù)測的模型和沒有它的模型。從表2,我們可以看出,通過添加conv4_3進(jìn)行預(yù)測,它有明顯更好的結(jié)果(72.1% vs 68.1%)。這也符合我們的直覺,conv4_3可以捕獲對象更好的細(xì)粒度,特別是細(xì)小的細(xì)節(jié)。
更多的默認(rèn)框形狀效果更好? 如第2.2節(jié)所述,默認(rèn)情況下,每個(gè)位置使用6個(gè)默認(rèn)框。如果我們刪除具有1/3和3寬高比的框,性能下降0.9%。通過進(jìn)一步移除1/2和2縱橫比的框,性能再下降2%。使用多種默認(rèn)框形狀似乎使網(wǎng)絡(luò)預(yù)測任務(wù)更容易。
Atrous算法更好更快?如第3節(jié)所述,我們使用了VGG16的atrous版本,遵循DeepLabLargeFOV[16]。如果我們使用完整的VGG16,保持pool5與2×2-s2,并且不從fc6和fc7的采集參數(shù),添加conv5_3,結(jié)果稍差(0.7%),而速度減慢大約50%。
3.3 PASCAL VOC2012
? ? ? ? ?采用和VOC2007上一樣的設(shè)置,這次,用VOC2012的訓(xùn)練驗(yàn)證集和VOC2007的訓(xùn)練驗(yàn)證集、測試集(21503張圖像)訓(xùn)練,在VOC2012測試集(10991張圖像)測試。由于有了更多的訓(xùn)練數(shù)據(jù),模型訓(xùn)練時(shí)以 學(xué)習(xí)率進(jìn)行60K次迭代,再減小到 繼續(xù)迭代20K次。
表3顯示了SSD300和SSD500模型的結(jié)果。我們看到與我們在VOC2007測試中觀察到的相同的性能趨勢。我們的SSD300已經(jīng)優(yōu)于Fast R-CNN,并且非常接近Faster R-CNN(只有0.1%的差異)。通過將訓(xùn)練和測試圖像大小增加到500×500,我們比Faster R-CNN高2.7%。與YOLO相比,SSD顯著更好,可能是由于使用來自多個(gè)特征圖的卷積默認(rèn)框和訓(xùn)練期間的匹配策略。
3.4? MSCOCO
? ? ? ? 為了進(jìn)一步驗(yàn)證SSD架構(gòu),我們在MS COCO數(shù)據(jù)集上訓(xùn)練了我們的SSD300和SSD500模型。由于COCO中的對象往往較小,因此我們對所有圖層使用較小的默認(rèn)框。我們遵循第2.2節(jié)中提到的策略,但是現(xiàn)在我們最小的默認(rèn)框具有0.1而不是0.2的縮放比例,并且conv4_3上默認(rèn)框的縮放比例是0.07(例如,對應(yīng)于300×300圖像的21個(gè)像素)。
? ? ? ? 我們使用trainval35k [21]來訓(xùn)練我們的模型。由于COCO有更多的對象類別,開始時(shí)的梯度不穩(wěn)定。我們首先用8× 的學(xué)習(xí)率迭代4K次訓(xùn)練模型,接著以 學(xué)習(xí)率進(jìn)行140K次迭代,再以 學(xué)習(xí)率迭代60K次, 學(xué)習(xí)率迭代40K次。表4顯示了test-dev2015上的結(jié)果。與我們在PASCAL VOC數(shù)據(jù)集上觀察到的類似,SSD300在mAP@0.5和mAP@[0.5:0.95]中優(yōu)于Fast R-CNN,在 mAP @ [0.5:0.95]與Faster R-CNN接近。然而,mAP@0.5更糟,我們推測,這是因?yàn)閳D像尺寸太小,這阻止了模型精確定位許多小對象。通過將圖像大小增加到500×500,我們的SSD500在兩個(gè)標(biāo)準(zhǔn)中都優(yōu)于Faster R-CNN。此外,我們的SSD500模型也比ION[21]更好,它是一個(gè)多尺寸版本的Fast R-CNN,使用循環(huán)網(wǎng)絡(luò)顯式模擬上下文。在圖5中,我們展示了使用SSD500模型在MSCOCO test-dev的一些檢測示例。
?
3.5 ILSVRC初步結(jié)果
? ? ? ? 我們將我們用于MS COCO的相同的網(wǎng)絡(luò)架構(gòu)應(yīng)用于ILSVRC DET數(shù)據(jù)集[15]。我們使用ILSVRC2014 DET train和val1來訓(xùn)練SSD300模型,如[20]中所使用。我們首先以8× 的學(xué)習(xí)率迭代4K次訓(xùn)練模型,再用 學(xué)習(xí)率進(jìn)行320k次迭代訓(xùn)練該模型,然后用 進(jìn)行100k次迭代和 繼續(xù)訓(xùn)練60k次迭代。我們可以在val2集上實(shí)現(xiàn)41.1mAP[20]。再一次的,它驗(yàn)證SSD是高質(zhì)量實(shí)時(shí)檢測的一般框架。
3.6 推理期間
? ? ? ? 考慮到從我們的方法生成的大量框,有必要在推理期間有效地執(zhí)行非最大抑制(nms)。通過使用0.01的置信度閾值,我們可以過濾掉大多數(shù)框。然后,我們使用Thrust CUDA庫進(jìn)行排序,使用GPU計(jì)算所有剩余框之間的重疊,對jaccard重疊為0.45的每個(gè)類應(yīng)用nms,并保存每個(gè)圖像的前200個(gè)檢測。對于20個(gè)VOC類別的SSD300,每個(gè)圖像該步花費(fèi)大約2.2毫秒,這接近在所有新添加的層上花費(fèi)的總時(shí)間。
? ? ? ? 表5顯示了SSD、Faster R-CNN[2]和YOLO [5]之間的比較。Faster R-CNN對region proposal使用額外的預(yù)測層,并且需要特征下采樣。相比之下,我們的SSD500方法在速度和精度上優(yōu)于Faster R-CNN。 值得一提的是,我們的方法SSD300是唯一的實(shí)時(shí)實(shí)現(xiàn)70%以上mAP的方法。 雖然快速YOLO[5]可以運(yùn)行在155 FPS,但精度只有差不多20%的mAP。
?
4、相關(guān)工作
? ? ? ? 目前有兩種已建立的用于圖像中對象檢測的方法,一種基于滑動窗口,另一種基于region proposal分類。在卷積神經(jīng)網(wǎng)絡(luò)出現(xiàn)之前,用于檢測的兩種方法DeformablePart Model(DPM)[22]和選擇性搜索[1]性能接近。然而,在R-CNN[20]帶來的顯著改進(jìn)之后,其結(jié)合了選擇性搜索region proposal和基于卷積網(wǎng)絡(luò)的后分類,region proposal對象檢測方法變得普遍。
? ? ? ? 原始的R-CNN方法已經(jīng)以各種方式進(jìn)行了改進(jìn)。第一組方法提高了后分類的質(zhì)量和速度,因?yàn)樗枰獙Τ汕先f的圖像作物進(jìn)行分類,這是昂貴和耗時(shí)的。SPPnet[9]對原始的R-CNN方法大大提速。它引入了空間金字塔池化層,其對區(qū)域大小和尺度更加魯棒,并且允許分類層重用在若干圖像分辨率生成的特征圖特征。Fast R-CNN[6]擴(kuò)展了SPPnet,使得它可以通過最小化置信度和邊界框回歸的損失來對所有層進(jìn)行端對端微調(diào),這在MultiBox[7]中首次引入用于學(xué)習(xí)對象。
? ? ? ? 第二組方法使用深層神經(jīng)網(wǎng)絡(luò)提高proposal生成的質(zhì)量。在最近的工作中,例如MultiBox[7,8],基于低層圖像特征的選擇性搜索region proposal被直接從單獨(dú)的深層神經(jīng)網(wǎng)絡(luò)生成的proposal所替代。這進(jìn)一步提高了檢測精度,但是導(dǎo)致了一些復(fù)雜的設(shè)置,需要訓(xùn)練兩個(gè)神經(jīng)網(wǎng)絡(luò)及其之間的依賴。Faster R-CNN[2]通過從region proposal網(wǎng)絡(luò)(RPN)中學(xué)習(xí)的方案替換了選擇性搜索proposal,并且引入了通過微調(diào)共享卷積層和兩個(gè)網(wǎng)絡(luò)的預(yù)測層之間交替來集成RPN與Fast R-CNN的方法。用這種方式region proposal池化中層特征圖,最終分類步驟更快速。我們的SSD與Faster R-CNN中的region proposal網(wǎng)絡(luò)(RPN)非常相似,因?yàn)槲覀冞€使用固定的(默認(rèn))框來進(jìn)行預(yù)測,類似于RPN中的achor框。但是,不是使用這些來池化特征和評估另一個(gè)分類器,我們同時(shí)在每個(gè)框中為每個(gè)對象類別產(chǎn)生一個(gè)分?jǐn)?shù)。因此,我們的方法避免了將RPN與Fast R-CNN合并的復(fù)雜性,并且更容易訓(xùn)練,更易于集成到其他任務(wù)中。
? ? ? ? ?另一組方法與我們的方法直接相關(guān),完全跳過proposal步驟,直接預(yù)測多個(gè)類別的邊界框和置信度。 OverFeat[4]是滑動窗口方法的深度版本,在知道基礎(chǔ)對象類別的置信度之后直接從最頂層特征圖的每個(gè)位置預(yù)測邊界框。YOLO [5]使用整個(gè)最高層特征圖來預(yù)測多個(gè)類別和邊界框(這些類別共享)的置信度。我們的SSD方法屬于此類別,因?yàn)槲覀儧]有提案步驟,但使用默認(rèn)框。然而,我們的方法比現(xiàn)有方法更靈活,因?yàn)槲覀兛梢栽诓煌叨鹊亩鄠€(gè)特征圖中的每個(gè)特征位置上使用不同寬高比的默認(rèn)框。如果頂層特征圖每個(gè)位置只使用一個(gè)默認(rèn)框,我們的SSD將具有與OverFeat[4]類似的架構(gòu);如果我們使用整個(gè)頂層特征圖并且添加一個(gè)全連接層用于預(yù)測而不是我們的卷積預(yù)測器,并且沒有明確考慮多個(gè)寬高比,我們可以近似地再現(xiàn)YOLO[5]。
?
5、結(jié)論
???? 本文介紹了SSD,一種用于多個(gè)類別的快速單次對象檢測器。我們的模型的一個(gè)關(guān)鍵特點(diǎn)是使用多尺度卷積邊界框輸出附加到網(wǎng)絡(luò)頂部的多個(gè)特征圖。這種表示允許我們有效地模擬可能的框形狀空間。我們實(shí)驗(yàn)驗(yàn)證,給定適當(dāng)?shù)挠?xùn)練策略,更大量的仔細(xì)選擇的默認(rèn)邊界框得到了性能的提高。我們建立SSD模型,與現(xiàn)有方法相比,至少相差一個(gè)數(shù)量級的框預(yù)測位置,規(guī)模和縱橫比[2,5,7]。
???? 我們證明,給定相同的VGG-16基礎(chǔ)架構(gòu),SSD在精度和速度方面勝過最先進(jìn)的對象檢測器。我們的SSD500型號在PASCAL VOC和MS COCO的精度方面明顯優(yōu)于最先進(jìn)的Faster R-CNN [2],速度快了3倍。 我們的實(shí)時(shí)SSD300模型運(yùn)行在58 FPS,這比當(dāng)前的實(shí)時(shí)YOLO[5]更快,同時(shí)有顯著高質(zhì)量的檢測。
???? 除了它的獨(dú)立實(shí)用程序,我們相信,我們的完整和相對簡單的SSD模型為使用對象檢測組件的大型系統(tǒng)提供了一個(gè)偉大的組成塊。一個(gè)有希望的未來方向,是探索其作為使用循環(huán)神經(jīng)網(wǎng)絡(luò)的系統(tǒng)一部分,用以檢測和跟蹤視頻中對象。
?
6、致謝
? ? ? ? 這個(gè)項(xiàng)目是在谷歌開始的實(shí)習(xí)項(xiàng)目,并在UNC繼續(xù)。 我們要感謝亞歷克斯·托舍夫有用的討論,并感謝谷歌的Image Understanding和DistBelief團(tuán)隊(duì)。 我們也感謝菲利普·阿米拉托和帕特里克·波爾森有益的意見。我們感謝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)
?
?
(菜鳥水平有限,錯(cuò)誤之處難免,忘大家多多拍磚,才能更快進(jìn)步。???????????????????????????? 2016.11.1翻譯完成
Ai Smith)
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的翻译SSD论文(Single Shot MultiBox Detector)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe-ssd编译、训练、测试全过程
- 下一篇: SSD安装及训练自己的数据集