python ssd目标检测_人工智能深度学习:目标检测SSD算法

论文地址: 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的类别、坐标偏移。

网络结构图

0a50c366-e3be-4bdd-b556-39d84baf34a3
8dae9246-d766-4877-bc3d-206a6525a40f

SSD算法结构图

784fa0bb-1d59-4736-9b9c-4c128b0cfaa2

检验框尺寸

  1. 使用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。各自大小如上图。
  2. 特征图上设置检验框主要考虑:尺度(大小)和长宽比。检验框会扫过特征图的每个点,生成相应的检验框。参数生成方式见上图。
  3. 训练过程,先确定图片中的ground truth(真实目标)与检验框是否匹配,根据iou过滤出最优先验框,保证正负样本比例接近1:3。
  4. 损失函数:损失函数主要为:位置误差和置信度误差的加权。
  5. 数据增强:主要通过水平翻转、随机裁剪颜色扭曲和随机采集块区域。
  6. 预测过程中会保留置信度高的top-k个预测框,然后使用nms算法过滤重叠较大的预测款,最后剩余的预测款即为结果。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值