天天看點

python ssd目标檢測_人工智能深度學習:目标檢測SSD算法特點網絡結構圖

論文位址: https://arxiv.org/pdf/1512.02325.pdf

SSD(英文:Single Shot MultiBox Detector)算法屬于one stage方法,2016年由Wei Liu提出。使用神經網絡(VGG-16)提取feature map後進行分類和回歸來檢測目标物體。

特點

  • 結合yolo的回歸思想,直接回歸目标類别的位置。
  • 引入類似Faster-RCNN中的Anchor機制,設定先驗框(prior box),這兩個在名稱上不一咬牙,本質上差不多。
  • 主幹網絡提取特征。
  • 使用多種不同尺度的特征圖進行預測,大特征圖檢測小目标,小特征圖檢測大目标。
  • 特征圖上采用卷積核來預測一系列Default Bounding Boxes的類别、坐标偏移。

網絡結構圖

python ssd目标檢測_人工智能深度學習:目标檢測SSD算法特點網絡結構圖
python ssd目标檢測_人工智能深度學習:目标檢測SSD算法特點網絡結構圖

SSD算法結構圖

python ssd目标檢測_人工智能深度學習:目标檢測SSD算法特點網絡結構圖

檢驗框尺寸

  1. 使用vgg-16作為主幹模型,修改VGG全連接配接層fc6轉換成3*3卷積層conv6,fc7改成1*1卷積層conv7,同時将池化層pool5由原來的stride=2的 2*2 變成stride=1的3*3。另增加4個卷積層。Conv4_3層為第一個特征圖檢測子產品。後面新增卷積層依次為:Conv8_2,Conv9_2,Conv10_2,Conv11_2。各自大小如上圖。
  2. 特征圖上設定檢驗框主要考慮:尺度(大小)和長寬比。檢驗框會掃過特征圖的每個點,生成相應的檢驗框。參數生成方式見上圖。
  3. 訓練過程,先确定圖檔中的ground truth(真實目标)與檢驗框是否比對,根據iou過濾出最優先驗框,保證正負樣本比例接近1:3。
  4. 損失函數:損失函數主要為:位置誤差和置信度誤差的權重。
  5. 資料增強:主要通過水準翻轉、随機裁剪顔色扭曲和随機采集塊區域。
  6. 預測過程中會保留置信度高的top-k個預測框,然後使用nms算法過濾重疊較大的預測款,最後剩餘的預測款即為結果。

繼續閱讀