论文地址: 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的类别、坐标偏移。
网络结构图
- 使用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。各自大小如上图。
- 特征图上设置检验框主要考虑:尺度(大小)和长宽比。检验框会扫过特征图的每个点,生成相应的检验框。参数生成方式见上图。
- 训练过程,先确定图片中的ground truth(真实目标)与检验框是否匹配,根据iou过滤出最优先验框,保证正负样本比例接近1:3。
- 损失函数:损失函数主要为:位置误差和置信度误差的加权。
- 数据增强:主要通过水平翻转、随机裁剪颜色扭曲和随机采集块区域。
- 预测过程中会保留置信度高的top-k个预测框,然后使用nms算法过滤重叠较大的预测款,最后剩余的预测款即为结果。
本文暂时没有评论,来添加一个吧(●'◡'●)