SSD(Single shot multibox detector)目标检测模型架构和设计细节分析
? ? ? ? 先給出論文鏈接:SSD: Single Shot MultiBox Detector
? ? ? ? 本文將對SSD中一些難以理解的細節做仔細分析,包括了default box和ground truth的結合,default box結合到不同檢測的feature map層上,難樣本挖掘,數據擴充,Atrous Algorithm算法原理等。包括了SSD對一階段目標檢測的貢獻以及總結了SSD對其他目標檢測方法的關鍵改進點。
一、SSD具有如下主要特點
? ? ? ? 1. 從YOLO中繼承了將detection轉化為regression的思路,一次完成目標定位與分類。
? ? ? ? 2. 基于Faster RCNN中的Anchor,提出了相似的(default box)Prior box。
? ? ? ? 3. 加入基于特征金字塔(Pyramidal Feature Hierarchy)的檢測方式,即在不同感受野的feature map上預測目標。
二、優點和缺點
? ? ? ? SSD算法的優點應該很明顯:運行速度可以和YOLO媲美,檢測精度可以和Faster RCNN媲美。除此之外,還有一些雞毛蒜皮的優點,不解釋了。這里談談缺點:
? ? ? ? 1. 需要人工設置prior box的min_size,max_size和aspect_ratio值。網絡中prior box的基礎大小和形狀不能直接通過學習獲得,而是需要手工設置。而網絡中每一層feature使用的prior box大小和形狀恰好都不一樣,導致調試過程非常依賴經驗。
? ? ? ? 2. 雖然采用了pyramdial feature hierarchy的思路,但是對小目標的recall依然一般,并沒有達到碾壓Faster RCNN的級別。作者認為,這是由于SSD使用conv4_3低級feature去檢測小目標,而低級特征卷積層數少,存在特征提取不充分的問題。
三、關鍵點分析
? ? ? ? 1. 多尺度feature map得到default boxes及其 4個位置偏移和21個類別置信度。
? ? ? ? 對于不同尺度feature map(圖中 38x38x512,19x19x512, 10x10x512, 5x5x512, 3x3x512, 1x1x256)上的所有特征點:以5x5x256為例,它的#defalut_boxes = 6。
? ? ? ? 結合這個圖,就可以厘清上面的思路。
四、其他相關技術點分析
? ? ? ? 1. Hard Negative Mining(難負樣本挖掘)
? ? ? ? 指的是分類錯誤,很難分辨的樣本,包括了前景和背景。SSD做了這方面的處理。有一個名詞是OHEM(Online Hard Example Mining)。是將容易分為負樣本的正類,即圖像中的目標類別。
? ? ? ? 2. 數據擴充
? ? ? ? 3. Atrous Algorithm
? ? ? ? SSD在設計模型的時候,用了Atrous算法,這提高了模型的性能。其實Atrous算法就是一個下采樣算法。在卷積操作的時候,stride增加,比如stride為2,則feature map下采樣為1/4大小(長寬分別為上一層的1/2),此時表示感受野增加。相反,當stride減少時,比如stride為1,則feature map不變,此時你獲得的特征感受野就減少。為了防止feature map和receptive filed之間的互斥性,采用了Atrous 算法。具體的講解如下分析所示。
五、總結
? ? ? ? 1. SSD對目標檢測的貢獻
? ? ? ? (1). SSD, a single-shot detector for multiple categories (faster than YOLO, accurate as Faster R-CNN).
? ? ? ? (2). The core of SSD is predicting category scores and box offsets for a fixed set of default bounding boxes using small convolutional filters applied to multiple feature maps from different layers.
? ? ? ? (3). Experimental evidence: high accuracy, high speed, simple end-to-end training (single shot).
? ? ? ? 2.?SSD對于其他方法的改進的關鍵點
? ? ? ? (1). Using a small convolutional filter to predict object categories and offsets in bounding box locations.
? ? ? ? (2). Using separate predictors (filters) for different aspect ratio detections.
? ? ? ? (3). Using multiple layers for prediction at different scales (apply these filters to multiple feature maps to perform detection at multiple stages).
六、感謝
? ? ? ? 感謝這些博主的詳細分析。給出他們的鏈接:
? ? ? ? 目標檢測方法——SSD:https://www.bbsmax.com/A/gGdX0Vepd4/
? ? ? ? SSD分析:?SSD - 知乎
**如果有用,記得點贊👍加收藏哦。!!!!**
總結
以上是生活随笔為你收集整理的SSD(Single shot multibox detector)目标检测模型架构和设计细节分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样删掉个性签名
- 下一篇: 面向Mobile device的CNN模