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