摘要 SSD,一次深度神经网络前馈来进行目标检测. 通过对不同 scales 的各 feature map 位置,根据不同的 aspect ratios,将 bounding boxes 的输出空间离散化为 default boxes 集合. 在预测阶段,网络得到在每个 default box 中各物体类别的存在概率,以及与物体形状最佳匹配的 box. SSD 网络通过结合多个不同分辨率的 feature maps,可以更好的检测不同尺寸的物体. 相对于需要 object proposals 的方法,SSD 不需要生成 proposal 和 像素或特征重采样阶段,将所有的计算封装在一个网络中. 即使输入图像尺寸较小时,SSD 仍有较好的精度. SSD主网络结构是VGG16,将 2 个全连接层替换为卷积层,并新增 4 个卷积层构造网络结构. 对其中5个不同的卷积层输出的 feature maps,分别用两个 3*3 卷积核的卷积层处理,其中一个卷积层输出分类用的 confidence,每个default box 生成 N+1 个confidence值;另一个卷积层输出回归的localization,每个default box 生成 4 个坐标值(x,y,w,h).
SSD 方法基于前馈卷积网路来生成 bounding boxes集合,以及各box中物体类别分数,采用 NMS(non-maximum suppression) 来得到最终的检测结果.
base network: VGG-16
Fig.2. SSD 和 YOLO 对比. SSD在 base network 后添加了几个特征层,来预测不同 scales 和 aspect ratios 的default boxes的偏移及对应的confidence.
SSD 特点:
SSD 的训练与传统采用region proposals 的CNN检测器的关键不同在于,ground truth 需要分配给检测器输出的固定集中的特定输出. 之后 loss 函数和BP都是 end-to-end 训练的.
训练还涉及 default boxes 的选择和检测尺度(scales)的选择,以及 hard negative mining 和数据增广策略.
训练时需要确定默认 boxes 所对应的 ground truth.
每个 groundtruth box,是从变化位置(vary over location)、纵横比(aspect ratio)和尺度(scale)所得到的 default boxes中进行选择的.
首先,根据最大的 jaccard overlap(类似于MultiBox) 来将各 groundtruth box 与 default box 进行匹配;
然后,将 default boxes 与任何 jaccard overlap 阈值大于某个特定值(0.5)的 groundtruth box 进行匹配.
这种操作简化了学习问题,使得网络可以预测多个高分数的 overlapping default boxes,而不是只选择一个最大的 overlap.