SSD

    科技2022-08-25  112

    目录

    1. 概述2. SSD2.1 网络结构2.2 anchor的设置2.3 label assignment2.4 损失函数与RPN基本相同2.5 正负样本平衡策略: 3. 实验4. 优点

    论文:SSD: Single Shot MultiBox Detector 时间及出处:CVPR 2016

    1. 概述

    SSD的整体架构借鉴了YOLOv1,即,直接在特征图上输出物体的类别和位置。与YOLOv1不同的是,SSD引入了Faster R-CNN中的anchor机制,并且去掉了YOLOv1的全连接层,采用卷积层进行预测。

    SSD最大的贡献就是引入多尺度特征预测

    YOLOv1只在最后一层特征图上预测物体的类别和位置,SSD则在多个不同大小的特征图上同时预测物体的类别和位置;Faster R-CNN中的RPN只在最后一层特征图上设置anchor,SSD则在多个不同大小的特征图上同时设置anchor

    2. SSD

    2.1 网络结构

    以去除全连接层的VGG16作为backbone,并在后面添加一系列的卷积,得到6个不同大小的预测特征图(conv4、conv7~conv11),对于每一个预测特征图,采用 3 × 3 3\times3 3×3的卷积核做预测,在特征图的每一个位置输出 ( c + 4 ) k (c+4)k (c+4)k维向量, k = 4 k=4 k=4是每个位置的anchor数量,c是类别数(包含背景类)。

    2.2 anchor的设置

    s k s_k sk是第 k k k层特征图上的anchor映射到原图之后,占原图大小的比例。假设原图大小为 300 × 300 300\times300 300×300,特征图大小为 8 × 8 8\times8 8×8,该特征图上的anchor面积占原图的比例为 s k = 0.6 s_k=0.6 sk=0.6,则该特征图的anchor的面积为 300 × 300 × 0.6 300\times300\times0.6 300×300×0.6。从公式(4)看出,显然每层anchor的面积是线性递增的。浅层特征图的anchor面积小,适合用来检测小物体;深层特征图的anchor面积大,适合用来检测大物体。

    2.3 label assignment

    anchor和ground truth的匹配策略如下: 正样本负样本描述表示该anchor负责预测某个gt,即含有object表示该anchor不负责预测任何gt,即不含有object准则(1)对于每个gt,选择与其IoU最大的anchor:保证所有的gt至少有一个anchor负责预测它。(2)若某个anchor与任何一个gt的IoU大于0.5,则为positiveotherwise作用用于多分类和边界框回归用于多分类 注:与RPN的区别是没有设置忽略样本。

    2.4 损失函数与RPN基本相同

    softmax多分类损失+smoothL1回归损失。

    2.5 正负样本平衡策略:

    在线难例挖掘(OHEM):对所有负样本的loss(只有分类损失)进行排序,选取损失最高的一定数量的负样本,保证正负样本的比例为1:3。

    3. 实验

    4. 优点

    速度比Faster R-CNN和YOLOv1快准确度比Faster R-CNN和YOLOv1高
    Processed: 0.013, SQL: 9