• SSD
  • DSSD
  • FSSD
  • DSOD

SSD

动机

目前目标检测的一些算法包括基于深度学习的,都是先假定一些候选框,接着对候选框内容进行特征提取再分类,然后再对边框的位置进行修正这一系列的计算,最典型的例如Faster RCNN,虽然准确,但是计算太过于密集,即使是在高端的硬件上,检测的速度也非常慢,难以达到实时检测的要求。
而另一种基于回归的方法例如YOLO算法,虽然达到了实时的要求,但是牺牲了准确率,并且对于目标的位置也不够精确。并且对于相邻比较近的多个物体,YOLO只能检测出一个。另外对于小物体的检测效果比较差。
因此希望在YOLO的基础上改良,希望能在达到实时的标准下,能够做到和Faster RCNN相媲美的准确率。

主要创新点

不同比例的默认框(Default boxes)

YOLO网络对于一个网格生成B个候选框,而SSD在此基础上添加了不同的长宽比的概念,因此候选框的生成能够更好的涵盖各种各样的目标,如图所示在一个特征点上生成4个不同的候选框,候选框的大小不同,长宽比例也不一样。这里的default boxes与Faster RCNN的锚点anchors相类似,但是SSD与RPN不同的是,SSD在多个大小的特征图上提取候选区域,而RPN只在最后一层特征图上提取候选区域。因此SSD可以对不同大小的目标都具有比较好的检测效果,高层的特征图负责大目标,低层的特征图负责小目标。

多尺度预测

SSD在原来卷积网络的基础上,又增加了几个卷积层,使得网络能够在多个不同大小的特征图上分别进行预测,这样就能够保证对于图中的不同大小的目标都可以有效的检测,大大提高了目标检测的准确率。

算法


SSD在YOLO网络的基础上进行改进,首先是将原始图像输入一系列卷积层,经过VGG16基础网络的5层卷积层之后得到38x38x512的特征图,与YOLO不同的是,SSD网络去除接下的来的全连接层,将VGG中的fc6、fc7用一系列卷积层来代替,得到了不同大小的特征图,例如图中的19x19,10x10,5x5,3x3,对每一个特征图分别进行预测。
预测的方法是用一个3x3的卷积核,例如在图中38x38的特征图上进行预测,对于原来的38x38x512的特征图,乘上3x3x512x(4x(classes+4))的卷积核,填充为1,步长的为1的卷积得到38x38x(4x(classes+4))((38-3+1x2)/1+1=38)的特征图,表示38x38每个特征点上默认生成4个默认框,每个默认框中有4个位置偏移的预测值以及每一个类别的得分值。因此输出的是4x(classes+4)个通道,分别表示的是每一个特征点各个默认框的位置偏移以及类别打分,这样就可以一次性预测同一个特征图上的所有区域。
最后将所有特征图的输出结合到一起,就达到了同时预测一张图片上所有的默认框的类别,实现了YOLO一次运算就完成了整张图像的检测的思想。

优缺点

SSD检测速度比较快,能够达到实时检测目标的要求,但是对于默认框的设置比较依赖经验,而这对准确率有比较大影响,因此适合于一些大小已知比较固定的目标。

准确率

由于用到了多个不同尺度的特征图进行预测,再加上多个不同长宽比例的默认框的思想,检测的准确率相较于YOLO的63.4%提高到了74.3%,达到了Faster RCNN的效果(73.2%)。

运行速度

由于将YOLO网络中的全连接层用卷积层代替,运算的参数也减少了,检测速度由YOLO的45fps提到高了59fps。

缺点

  • 网络中默认框的大小和长宽比不能通过学习得到,因此非常依赖于经验调整。
  • 虽然用到了多个尺度特征图,但是最大仍然是VGG5个卷积层之后得到的,因此对于小物体的检测效果也没有那么好。
  • 没有结合多层特征图(例如FPN中的那样),导致底层特征图虽然对于位置的预测比较准确,但是对于语义的判定还比较低级,只能检测表示边缘特征。

DSSD

TODO

FSSD

TODO

DSOD

动机

卷积神经网络在计算机视觉领域已经有了很广泛的应用,包括图像分类、目标检测以及图像的分割,而在目标检测领域内,基于深度学习的模型已经取得了很好的效果。
但是之前的一些基于深度学习的目标检测的模型都是从已有的模型进行微调得到的,例如ImageNet上的分类模型,这样会在学习的过程带来偏差。首先是已有模型中参数非常大,因此新的模型难以在原有的预训练模型的基础上改变结构;其次就是在分类和检测的过程中,损失函数以及类别的分布并不相同,导致学习有偏差;最后就是一些特定的领域例如医学图像与传统的图像有较大差异,造成学习有所误差。
因此就希望能够提出一种新的模型,能够从零开始进行学习,也能够达到从预训练模型微调那样保持比较高的准确率。

主要创新点

Dense Block

DOSD一大特点就是吸取了DenseNet的优点,将DOSD基础的卷积网络部分换成了DenseNet,通过一个个Dense Block连接。

如图所示,Dense Block吸取了ResNet的残差的特性,但是在ResNet中只连接了间接相邻的一层,例如H2与H4之间有一个残差连接,如果H3层卷积导致整个网络的分类效果有所下降,则跳过H3,将H2的直接输入到H4。而DenseNet则是在一个模块内,一个卷积层的输入来自之前所有层的输出,例如图中H4的输入则是H0、H1、H2以及H3所有的层。通过加深了网络的结构,有效的提高了网络的分类性能。
除此以外,由于卷积层的输入是网络前面多个卷积层输出的特征图,因此减少了每一层卷积核的通道数,这样通过融合多层卷积层输出的特征图,也能得到ResNet一样的效果。通过“特征复用”不但融合了多层特征图,并且可以大大减少了网络中需要训练的参数。

密集的预测结构


如图所示,左侧是SSD的结构,SSD中用到了6个种不同尺度的特征图进行预测,只不过六个特征图都是单独来进行预测。而右侧就是DOSD的结构,同样吸取了DenseNet的密集型结构,加上SSD原本的框架,通过一个下采样层将高维的特征图降低到下一个特征图一样的维度,再将两层特征图相加结合起来进行预测,这样就做到了对于新的特征图一半是新学习到的而另一半是复用的上一层特征图,因此也大大减少了需要学习的参数。

算法

DOSD主要的思想就是希望能够从零开始学习训练也能够达到与那些预训练模型上微调得到的模型所一样的效果,但那些基于区域提取的网络例如Faster RCNN从零开始训练无法收敛,因此选择了SSD的基础上进行改进。DOSD实际上就是SSD加上DenseNet,整体的流程与SSD基本一致,主要变化的地方在于首先是基础的卷积网络由VGG换成了分类性能更好的DenseNet,另外就是对于新的特征图采取一半学习一半复用的原则,通过融合了两层特征图,既提高了检测的性能,同时减少了参数,对于从零开始训练加快了训练的速度。
整体的流程就是首先对于一张输入的图像进行卷积运算,接着得到不同尺度的特征图,通过密集的预测结构来得到6个新的不同尺度的特征图,分别在这6个新的特征图上进行预测。

优点

DOSD主要解决的就是不需要预训练模型也能跑出很好的效果,因此适用于例如医疗影像这些与传统图像相差较大的领域。

准确率

DOSD主要就是希望能够对于不用预训练模型从零开始也能够达到相媲美的效果,在VOC07的测试集上准确率达到77.7%,相较于Faster RCNN+ResNet的结构甚至略有提升(Faster RCNN76.4%),虽然相较于R-FCN(79.5%)还略有不足。

运行速度

由于密集型结构的思想,DOSD网络中的参数非常少,因此在单一GPU上,检测速度达到17.4fps,相比之下R-FCN只有11fps,SSD+ResNet-101也仅有12.1fps。(SSD+VGG 有45fps)。

目标检测系列:SSD系列SSD、FSSD、DSSD、DSOD相关推荐

  1. [Intensive Reading]目标检测(object detection)系列(九) YOLOv3:取百家所长成一家之言

    目标检测系列: 目标检测(object detection)系列(一) R-CNN:CNN目标检测的开山之作 目标检测(object detection)系列(二) SPP-Net:让卷积计算可以共享 ...

  2. 目标检测模型 YOLO系列

    目标检测模型 YOLO系列 文章目录 目标检测模型 YOLO系列 YOLOv1 一.背景 二.YOLO模型 主要思想 模型结构 损失函数 三.优缺点 四.参考 YOLOv2与YOLO9000 YOLO ...

  3. 睿智的目标检测23——Pytorch搭建SSD目标检测平台

    睿智的目标检测23--Pytorch搭建SSD目标检测平台 学习前言 什么是SSD目标检测算法 源码下载 SSD实现思路 一.预测部分 1.主干网络介绍 2.从特征获取预测结果 3.预测结果的解码 4 ...

  4. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv1详解及复现

    检测器通常能够被分为两类,一类是two-stage检测器,最具代表的为faster R-CNN:另一类是one-stage检测器,包括YOLO,SSD等.一般来说,two-stage检测器具有高定位和 ...

  5. yolo v3制作自己的数据_小白也能弄懂的目标检测之YOLO系列 第一期

    大家好,上期分享了电脑端几个免费无广告且实用的录屏软件,这期想给大家来讲解YOLO这个算法,从零基础学起,并最终学会YOLOV3的Pytorch实现,并学会自己制作数据集进行模型训练,然后用自己训练好 ...

  6. 目标检测(十)--SSD

    转自:http://blog.csdn.net/u010167269/article/details/52563573 论文:SSD single shot multibox detector 论 ...

  7. 目标检测之yolo系列

    YOLO v.s Faster R-CNN 1.统一网络:YOLO没有显示求取region proposal的过程.Faster R-CNN中尽管RPN与fast rcnn共享卷积层,但是在模型训练过 ...

  8. 目标检测之经典网络SSD解读

    SSD:Single Shot MultiBox Detector解读.若博文有不妥之处,望加以指点,笔者一定及时修正. 文章目录 ① 论文概要 1. 前言 2.引言 3.网络结构 3.1 多尺度特征 ...

  9. 【目标检测】RCNN系列

      在计算机视觉的众多技术领域中,目标检测(物体检测,object detection)是一项非常基础的任务,图像分割.物体追踪.关键点检测都依赖于目标检测,广泛应用于自动驾驶.机器人导航.智能视频监 ...

  10. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv2详解及复现

    YOLO v2 Yolov2论文链接:YOLO9000: Better, Faster, Stronger yolov2的改进 从Yolov2论文的标题可以直观看到就是Better.Faster.St ...

最新文章

  1. 【转】SAP 条形码
  2. ORACLE如何删除归档日志文件
  3. 人工智能与机器学习有哪些不同
  4. cordova报错:Could not find an installed version of Gradle either in Android Studio, or on your system
  5. 今天见 | 洞见数据库前沿趋势 DTCC 2020阿里云9大看点早知道
  6. studio--常见设置
  7. 如何用20%精力搞定80%任务
  8. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第6节 Lambda表达式_5_Lambda表达式的无参数无返回值的...
  9. 制作Linux系统安装程序,制作自己的rpm包
  10. .NET工具篇(二)—GACUtil
  11. 转大神的日志 【大杂烩】杂7杂8的东西
  12. 摄影知识系列讲座 - 第一章《光圈、快门篇》
  13. JS处理JSON字符串转数组,数字超17为处理方法
  14. 正运动技术荣膺“CMCD 2020年度运动控制领域最具成长品牌”等三项大奖
  15. Lua下的ECS框架
  16. 让看代码成为一种享受!使用Carbon生成漂亮的代码图片
  17. MySQL中间件Atlas
  18. HUAWEI-ECS常用运维工具(干)
  19. Consider defining a bean of type ‘com.service.UserService‘ in your configuration解决方案
  20. Linux--yum的安装与管理

热门文章

  1. 电脑桌面无图标,任务栏也不见了
  2. 客户端网页API(二)——从服务器获取数据
  3. XPS如何在线转Word格式
  4. 图计算发展简史(1)
  5. 学习 Java8 函数式编程 (二)
  6. HAL库STM32CuBe实现按键扫描芯片STM32F407
  7. nvme协议阅读笔记
  8. 计算机科学与技术专业考研方向
  9. C盘太满怎么办? 这些文件可以放心删除!
  10. Android p刷机红米4a,红米4A(Redmi 4A 全网通)刷机教程,简单几步搞定刷机