SSD神經網絡模型介紹(兼顧準確性和實時性)

詳細內容查看論文 SSD: Single Shot MultiBox Detector微信


1.概述網絡


SSD 物體檢測模型,與如今流行的檢測模型同樣,將檢測過程整個成一個獨立的深度神經網絡,便於訓練與優化,同時提升檢測速度。與其餘單級方法相比,SSD具備更好的精度,即便輸入圖像尺寸更小。對VOC2007,在300×300輸入,SSD在Nvidia Titan X上58FPS時達到72.1%的mAP,500×500輸入SSD達到75.1%的mAP,優於相似的stateof the art如今最高水平現有技術FasterR-CNN模型。架構


SSD 將輸出一系列離散化的邊界框,這些邊界框是在不一樣層次上的特徵圖上生成的,而且有着不一樣的寬高比。在預測期間,網絡針對每一個默認框中的每一個存在對象類別生成分數,而且對框進行調整以更好地匹配對象形狀。另外,網絡組合來自具備不一樣分辨率的多個特徵圖的預測,以適應處理各類尺寸的對象。框架



(a)SSD在訓練期間僅須要每一個目標的輸入圖像和真實標籤框。卷積處理時,咱們在具備不一樣尺度(例如(b)和(c)中的8×8和4×4)的若干特徵圖中的每一個位置處評估出一系列不一樣橫寬比的(例如4個)默認框。對於每一個默認框,咱們預測對全部目標類別((c1,c2,...,cp))的形狀偏移和置信度。在訓練時,咱們首先將這些默認框匹配到真實標籤框。例如,兩個默認框匹配到貓和狗,這些框爲正,其他視爲負。模型損失是定位損失(例如平滑L1)和置信損失(例如Softmax)之間的加權和。函數


2.模型學習


SSD方法基於前饋卷積網絡,其產生固定大小的邊界框集合和框中對象類別的分數,接着是非最大化抑制步驟以產生最終檢測。早期網絡基於高質量圖像分類的標準架構,咱們將其稱爲基礎網絡。而後,咱們向網絡添加輔助結構,產生了具備如下主要特徵的檢測:優化



多尺度特徵圖檢測:咱們將卷積特徵層添加到截斷的基礎網絡的末尾。這些層尺寸逐漸減少,獲得多個尺度檢測的預測值。檢測的卷積模型對於每一個特徵層是不一樣的。
人工智能


檢測的卷積預測器:每一個添加的特徵層(或可選的基礎網絡的現有特徵層)可使用一組卷積濾波器產生固定的預測集合。對於具備p個通道的大小爲m×n的特徵層,使用3×3×p卷積核卷積操做,產生類別的分數或相對於默認框的座標偏移。在每一個應用卷積核運算的m×n大小位置處,產生一個輸出值。邊界框偏移輸出值是相對於默認框測量,默認框位置則相對於特徵圖。spa


默認框與寬高比:將一組默認邊界框與頂層網絡每一個特徵圖單元關聯。默認框對特徵圖做卷積運算,使得每一個框實例相對於其對應單元格的位置是固定的。在每一個特徵映射單元中,咱們預測相對於單元格中的默認框形狀的偏移,以及每一個框中實例的每類分數。具體來講,對於在給定位置的k個框中每一個框,咱們計算c類分數和相對於原始默認框的4個偏移量。這使得在特徵圖中的每一個位置須要總共(c+4)k個濾波器,對於m×n特徵圖產生(c+4)kmn個輸出。在多個特徵圖中使用不一樣的默認框形狀,能夠有效地離散可能的輸出框形狀空間。.net


3.訓練


 訓練SSD和訓練使用候選框、池化的典型分類器的關鍵區別在於,真實標籤信息須要被指定到固定的檢測器輸出集合中的某一特定輸出。一旦肯定了該指定,則端對端地應用損失函數和反向傳播。訓練還涉及選擇用於檢測的默認框和尺度集合,以及Hard negativemining和數據增廣策略。


匹配策略:在訓練時,咱們須要創建真實標籤和默認框之間的對應關係。請注意,對於每一個真實標籤框,咱們從默認框中進行選擇,這些默認框隨位置、縱橫比和比例而變化。啓始時,咱們匹配每一個真實標籤框與默認框最好的jaccard重疊。添加這些匹配簡化了學習問題:它使得有多個重疊默認框時網絡預測得到高置信度,而不是要求它選擇具備最大重疊的那個。


訓練:SSD訓練來自MultiBox,但擴展處處理多個對象類別。整體目標損失函數是位置損失(loc)和置信損失(conf)的加權和。咱們的置信損失是softmax損失對多類別置信(c)和權重項α設置爲1的交叉驗證。


選擇默認框的比例和橫寬比:大多數卷積網絡經過加深層數減少特徵圖的大小。這不只減小計算和存儲消耗,並且還提供必定程度的平移和尺寸不變性。爲了處理不一樣的對象尺寸,一些方法建議將圖像轉換爲不一樣的尺寸,而後單獨處理每一個尺寸,而後組合結果。然而,經過用單個網絡中的若干不一樣層的特徵圖來進行預測,咱們能夠獲得相同的效果,同時還在全部對象尺度上共享參數。以前的研究已經代表使用來自較低層的特徵圖能夠提升語義分割質量,由於較低層捕獲到輸入對象的更精細的細節。相似地,添加從高層特徵圖下采樣的全局文本能夠幫助平滑分割結果。受這些方法的啓發,咱們使用低層和高層的特徵圖進行檢測預測。固然在實踐中,咱們可使用更多具備相對小的計算開銷的特徵圖。


已知網絡中不一樣級別的特徵圖具備不一樣的(經驗)感覺野大小。幸運的是,在SSD框架內,默認框不須要對應於每層的實際感覺野。咱們能夠設計平鋪,使得特定位置特徵圖,學習響應於圖像的特定區域和對象的特定尺度。實際上,能夠設計默認框的分佈以最佳地擬合特定數據集。


經過組合許多特徵圖在全部位置的不一樣尺寸和寬高比的全部默認框的預測,咱們具備多樣化的預測集合,覆蓋各類輸入對象尺寸和形狀。


Hardnegative mining:在匹配步驟以後,大多數默認框都是負樣本,特別是當可能的默認框數量很大時。這致使了訓練期間正負樣本的嚴重不平衡。咱們使用每一個默認框的最高置信度對它們進行排序,並選擇前面的那些,使得正負樣本之間的比率最多爲3:1,以代替使用全部的負樣本。咱們發現,這致使更快的優化和更穩定的訓練。


數據增廣:爲了使模型對於各類輸入對象大小和形狀更加魯棒,每一個訓練圖像經過如下選項之一隨機採樣:


①使用整個原始輸入圖像

②採樣一個片斷,使對象最小的jaccard重疊爲0.1,0.3,0.5,0.7或0.9。

③隨機採樣一個片斷


每一個採樣片斷的大小爲原始圖像大小的[0.1,1],橫寬比在1/2和2之間。若是真實標籤框中心在採樣片斷內,則保留重疊部分。在上述採樣步驟以後,將每一個採樣片大小調整爲固定大小,並以0.5的機率水平翻轉。


4.優勢


SSD模型相對於須要region proposal的方法是簡單的,由於它徹底消除了proposal生成和後續的像素或特徵重採樣階段,並將全部計算封裝在單網絡中。這使得SSD容易訓練和直接集成到須要檢測組件的系統。SSD方法的核心是使用小卷積濾波器來預測特徵圖上固定的一組默認邊界框的類別分數和位置偏移。

本文分享自微信公衆號 - AI MOOC人工智能平臺(AIMOOC_XLAB)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索