SSD全稱:Single Shot MultiBox Detector
特點:
- 增加多尺度feature map。
- 在feature map上使用小的卷積核預測一系列 bounding boxes 的 box offsets
- 與Faster R-CNN和YOLO相比性能更優。
SSD結構
這一幅圖表示 SSD 的大概流程:首先用 VGG 或者 ResNet 等一些分類網絡生成
feature map,然後在 feature map 上直接並且同時進行預測迴歸。
下面看一下 SSD 架構:首先輸入 300×300 大小的圖像,在 VGG-16 中的第 6 層全連接層改爲了卷積層,在第 8 層中,先通過了 1×1 的卷積,然後再進行 3×3 的
512,步長爲 2 的卷積,後面也是一樣的。針對得到不同尺度的 feature map,對
這5個進行3×3的卷積,輸出兩個結果,一個輸出分類用的confidence,每個default
box 生成 21 類的 confidence(數據集裏面 20 類+1 類背景)另外一個用於邊框的
迴歸,輸出 localization,每個 default box 生成 4 個座標值(x, y, w, h)。
feature map cell: 是指 feature map 中每一個小格子
Default box:一系列固定大小的盒子
上圖所示:8×8 的 feature map 上有 64 個 cell,每一個 cell 有 4 個 default box,對於每個 default box 都需要預測 21 個類別 score 和 4 個 offset,數量 21×4×m×n 是confidence 輸出,表示每個 default box 的 confidence,也就是類別的概率;數量4×4×m×n 是 localization 輸出,表示每個 default box 迴歸後的座標。訓練中還有一個東西:prior box,是指實際中選擇的 default box。實際上並不是每一個 default box 都取
Default box 生成
- 中間層scale
- 使用不同ratio的寬和高
- Ratio = 0時規定
Loss計算
Confidence loss
Location loss
精度提高方法
- Data augmentation
- Hard Negative Mining
- 匹配策略
- Atrous Algorithm
- NMS非極大值抑制
Atrous Algorithm
膨脹的卷積核尺寸 = 膨脹係數 * (原始卷積核尺寸 - 1) + 1
** 膨脹卷積具體實現代碼**
參考文獻
- Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[C]// European Conference on Computer Vision. 2016.
- Zhao Q, Sheng T, Wang Y, et al. M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network[J]. 2018.
https://blog.csdn.net/WZZ18191171661/article/details/79444217
https://blog.csdn.net/weixin_42273095/article/details/81699352
https://blog.csdn.net/lilai619/article/details/85757503
http://www.themtank.org/a-year-in-computer-vision