多尺度学习——SSD算法

目标检测算法分为两类
1、two-stage检测算法:
将检测问题分为两个阶段,首先产生候选区(region proposals),然后对候选区域进行分类。
eg:Fast R-CNN、Faster R-CNN
优点:识别错误率低,漏识别率也较低。
缺点:速度慢
算法需要完成4个任务:
(1)特征抽取
(2)生成RP
(3)分类
(4)定位回归
2、one-stage检测算法:
不需要region proposal阶段,直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果,速度快。
eg:YOLOv1、SSD、YOLOv2、RetinaNet、YOLOv3
算法需要完成3个任务:
(1)特征抽取
(2)分类
(3)定位回归

SSD算法

SSD–Single Shot MultiBox Detector(one-stage)

  • 不同尺度的特征图上进行检测
    大尺度特征图(较靠前的特征图)可以用来检测小物体,而小尺度特征图(较靠后的特征图)用来检测大物体
  • MultiBox指明了SSD是多框预测
    SSD采用了不同尺度和长宽比的先验框
  • 采用卷积进行检测
    SSD直接采用卷积对不同的特征图来进行提取检测结果。对于形状为m * n *p的特征图,只需要采用 3 x 3 x p的卷积核获取检测值

一、网络结构
在这里插入图片描述
- 主干网络:VGGNet:
SSD以VGG16作为基础模型,然后在VGG16的基础上新增了卷积层来获得更多的特征图以用于检测。
SSD主干网络不仅可以使用VGG,还可以使用ResNet这种更优秀的卷积神经网络结构来提取相应的特征;还可以采用一些轻量级的网络提高目标检测时间和压缩计算量,如MobileNets。
- 多尺度Feature Map检测:
对其中5种不同的卷积层的输出(feature map)分别用两个不同的 3×3的卷积核进行卷积,一个输出分类用的confidence,每个default box 生成21个类别confidence;一个输出回归用的 localization,每个 default box生成4个坐标值(x, y, w, h);此外,这5个feature map还经过 PriorBox 层生成 prior box(生成的是坐标)。上述5个feature map中每一层的default box的数量是给定的(8732个)。最后将前面三个计算结果分别合并然后传给loss层。
- NMS筛选层:
SSD综合了各个不同feature map上的目标检测输出的default box,先过滤掉类别概率低于阈值的default box,再采用NMS非极大值抑制,筛掉重叠度较高的。

二、算法过程
SSD网络的详细结构:
在这里插入图片描述
基本步骤:

  • 输入一幅图片,让图片经过卷积神经网络(CNN)提取特征,并生成 feature map。
  • 抽取其中六层的feature map,然后再 feature map 的每个点上生成 default box(各层的个数不同,但每个点都有)。
  • 将生成的所有 default box 都集合起来,全部丢到 NMS(极大值抑制)中,输出筛选后的 default box,并输出。

三、损失函数
SSD算法的损失函数分为两部分:计算相应的default box与目标类别的confidence loss以及相应的位置回归。

四、数据扩增
采用数据扩增(Data Augmentation)可以提升SSD的性能,主要采用的技术有水平翻转(horizontal flip),随机裁剪加颜色扭曲(random crop & color distortion),随机采集块域(Randomly sample a patch)(获取小目标训练样本)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值