SSD算法是在YOLO的基礎上改進的單階段方法,他給予一個前向傳播的神經網絡,最主要的優點是能在兼顧速度的同時確保高精度,而且由于采用了END-TO-END的訓練方法,及時處理的分辨率比較低的照片,分類結果也很準確。
SSD 網絡結構分為4個部分:基礎網絡+附加特征層+預測 +非極大值抑制
其中,基礎網絡是VGG-16的前4層網絡,主要選取其中的Conv4_3 作為第一個特征層用于目標檢測,并將VGG16中的FC7改成了卷積層Conv7。
附加特征層是在 VGG-16基礎網絡上添加的特征圖逐漸變小的特征提取層,分別為Conv8_2、Conv9_2、Conv10 2、Conv11 2層。它們和VGG中的Conv4 3、Conv7共同組成了6層的金字塔網絡。金字塔網絡是 SSD的設計核心,能通過不同尺度的特征圖來預測目標分類與位置,進而提高檢測精度。對于每一層特征圖,SSD 網絡會對每個像素點預測多個邊界框,(假設每個像素點預測4個邊界框),然后使用不同尺寸邊界框的特征進行預測,這樣模擬了類似人眼從遠到近觀察事物的特點,較大尺寸的特征圖適合于對較大物體的預測,而較小尺寸的特征圖適合于對較小物體的預測。
預測層(detection layer)需要對邊界框中目標的類別進行預測,同時還需要對邊界框的實際位置進行預測。預測層分成 cls 分支和 1oc 分支,每個分支中包含6個(因為有6個特征層)卷積層 conv,conv 的輸出尺寸和輸人尺寸相同。cls 分支預測每個邊界框所有分類的得分;loc 分支預測4個對于邊界框的位置偏移量。以SSD300 網絡為例,最終可以得到8732個邊界框的預測結果。
非極大值抑制(Non-Maximum Suppression,NMS)將根據設置的置信度闕值對預測層輸出的預測結果進行排序和篩選,刪除不符合要求的邊界框,保留與真實結果匹配度較高的預測結果。
上面四層完成了 SSD 網絡的整個檢測流程。在訓練過程中SSD 網絡使用多框損失函數(MultiBoxLoss)優化網絡。多框損失函數包括類別損失和位置損失兩個部分。
下式中、入是通過NMS 匹配到真實結果的邊界框數量;Leonr(x,c)為類別損失,是典型的softmax損失;L(,g)為位置損失,是采用Smooth L1的回歸損失;a參數用于調整類別損失和位置損失之間的比例,默認 a=1。
L(x,c,l,g)=一(Lonr(x,c)+aLoc(x,l,g))
此外,SSD網絡的訓練過程中還使用了數據加強、匹配策略(matching strategy)、難分樣本挖掘(hardnegative mining)等技術提高準確率。最終SSD網絡在性能上取得了展示了SSD網絡在PASCALVOC2012數據集上同其他模型的對比數據。
-
SSD
+關注
關注
21文章
2889瀏覽量
117865 -
AI
+關注
關注
87文章
31536瀏覽量
270347 -
人工智能
+關注
關注
1796文章
47683瀏覽量
240307 -
目標檢測
+關注
關注
0文章
211瀏覽量
15664
發布評論請先 登錄
相關推薦
評論