SSD(Single Shot Multibox Detector)算法介绍

目标检测主要分为单阶段和双阶段两个类型

双阶段:主要是通过启发式算法(selective search)或者CNN网络(RPN)产生一系列的候选框,然后对这些框进行分类和回归。

单阶段:主要是均匀的在不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,然后利用CNN提取特征后直接进行分类和回归。

整体需要一步,虽然速度较快,但是比较难训练,模型准确度也较低。

1、SSD算法在准确度和速度上比Yolo算法更快,SSD是卷积进行检测,Yolo是在卷积之后使用了一个全连接层进行检测。

2、SSD算法采用不同尺度的特征图进行检测,在大尺度特征图上检测小目标,在尺度特征图上检测大目标。

3、SSD使用了不同尺度的先验框(Prior boxer,也叫Anchors)解决了Yolo中难以检测小目标而且定位不准确的情况。

4、Yolov3采用的是darknet,而SSD采用的是VGG的backbone

算法原理:

首先将图片调整到300*300的大小(为防止失真,会在其余部分加上灰条),之后将这幅图像分成6种大小不同的网格,分别是38*38,19*19,10*10,5*5,3*3,1*1,由于卷积在多次压缩后,小物体的特征容易消失,所以38*38,19*19,10*10用来检测小物体,1*1和3*3的网格用于检测大物体,如果这个物体的重心落在某个网格点(区域),这个物体的位置就由这个网格点来确定

设计理念:

1.采用多尺度特征图用于检测。CNN前面的特征图比较大,后面采用Stride=2的卷积和pool来降低特征图的大小,都用来进行检测,用大尺度检测小目标,小尺度检测大目标,先验框尺寸也比较小。

2.采用卷积进行检测。SSD采用和卷积对特征图提取检测结果,只采用3*3*p这样比较小的卷积核得到检测值。

3.设置先验框。

网络结构:目标检测】SSD算法—-模型结构的详解及Python源码分析_ ...

backbone是用来提取图片特征的,SSD采用VGG16作为基础模型,并在其基础上有所改变,首先把两个全连接层FC6和FC7换成了两个卷积网络,并且再加上了4个卷积网络用来构成整个模型的框架(后面的卷积用来计算物体位置和物体类别)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值