1. 论文笔记

1.1 YOLO网络结构

论文链接:http://cn.arxiv.org/pdf/1506.02640

1.2 SSD网络结构

论文链接:http://cn.arxiv.org/pdf/1512.02325v5

SSD具有如下主要特点

(1)从YOLO中继承了将detection转化为regression的思路,同时一次即可完成网络训练

(2)基于Faster RCNN中的anchor,提出了相似的prior box

(3)加入基于特征金字塔(Pyramidal Feature Hierarchy)的检测方式

​ YOLO在卷积层后接全连接层,即检测时只利用了最高层feature maps(包括Faster RCNN也是如此);而SSD采用了特征金字塔结构进行检测,即检测时利用了conv4-3,conv-7(FC7),conv6-2,conv7-2,conv8_2,conv9_2这些大小不同的feature maps,在多个feature maps上同时进行softmax分类和位置回归。

​ SSD使用低层feature map检测小目标,使用高层feature map检测大目标,这也应该是SSD的突出贡献了。

1.3 DSSD网络结构

论文链接:http://cn.arxiv.org/pdf/1701.06659v1

2. 模型理解

​ DSSD在常用的目标检测算法中加入了更好的特征提取网络和上下文信息,相比于利用一层feature map的YOLO、Faster RCNN等,和利用多层feature map的SSD,DSSD充分利用了各层之间的信息结合。

​ YOLO算法把检测的图片划分为14*14的格子,每个格子都会提取出目标检测框,但最初时,每个格子只会提取出一个目标框,当两个目标落入一个格子中,会出现漏检。SSD利用Faster RCNN中Anchor的思路,将图片分成更小的格子(即在浅层上来更好地匹配小目标),再在这些格子中使用Anchor,即在格子中加上6到9个不同的检测框,有效地降低了漏检概率。但是SSD在浅层提取的feature map表征能力不够强,即浅层的feature map中每个格子包含的类的置信度不够高,同样会出现误检和漏检,因此SSD对小目标不够鲁棒。

​ 由于SSD算法的浅层feature map的表征能力不够导致对小目标不够鲁棒,因此,DSSD使用了ResNet-101基础网络和Deconvolution反卷积层,使浅层feature map具有更好的表征能力,更好地提高对小目标的检测能力,而且ResNet比VGG的收敛速度快很多。

​ DSSD将基础网络VGG换成ResNet,通过加深网络来增强网络的表征能力。但实验结果显示,图片大小不够时(321321),ResNet的SSD和VGG的SSD效果相当,整体稍差些,当输入图像为512512时,ResNet的优势才明显体现。

​ SSD的直接从数个卷积层中分别引出预测函数,预测量多达7000多,梯度计算量也很大。MS-CNN方法指出,改进每个任务的子网可以提高准确性。根据这一思想,作者在每一个预测层后增加残差模块,并且对于多种方案进行了对比,如下图所示。结果表明,增加残差预测模块后,高分辨率图片的检测精度比原始SSD提升明显。

​ 在反卷积模块中,实验结果显示,使用prod点积的操作的效果更好。

​ DSSD的训练方式沿用了SSD的训练方法,通过caffe实现。

总而言之,DSSD就是将ResNet、Prediction Module、Deconvolution Module结合起来构成的基于SSD的目标检测算法。

3. 模型运行进展

​ 在github上找到DSSD模型的caffe版程序代码,虽然有SSD的keras版程序源码,但是DSSD在SSD的基础上所做的改变较大,基准网络从VGG换成了Resnet-101,而且增加了反卷积层,如果在SSD的代码上做出改变难度很大。而且目前对Caffe与Keras的使用不熟悉,很难完成Caffe到Keras的代码转换。

DSSD_Caffe:https://github.com/chengyangfu/caffe/tree/dssd

SSD_Keras:https://github.com/pierluigiferrari/ssd_keras#overview

4、其他知识点

RPN网络:RPN网络的作用是输入一张图像,输出一批矩形候选区域,类似于以往目标检测中的Selective Search一步。网络结构是基于卷积神经网络,但输出包含二类softmax和bbox回归的多任务模型。网络结果如下(以ZF网络为参考模型):

Anchor机制:anchor是rpn网络的核心。刚刚说到,需要确定每个滑窗中心对应感受野内存在目标与否。由于目标大小和长宽比例不一,需要多个尺度的窗。Anchor即给出一个基准窗大小,按照倍数和长宽比例得到不同大小的窗。例如论文中基准窗大小为16,给了(8、16、32)三种倍数和(0.5、1、2)三种比例,这样能够得到一共9种尺度的anchor,如图

​ 因此,在对6040的map进行滑窗时,以中心像素为基点构造9种anchor映射到原来的1000600图像中,映射比例为16倍。那么总共可以得到60409大约2万个anchor。

目标检测学习笔记--DSSD算法相关推荐

  1. 《南溪的目标检测学习笔记》——模型预处理的学习笔记

    1 介绍 在目标检测任务中,模型预处理分为两个步骤: 图像预处理:基于图像处理算法 数值预处理:基于机器学习理论 关于图像预处理,请参考<南溪的目标检测学习笔记>--图像预处理的学习笔记 ...

  2. 《南溪的目标检测学习笔记》——目标检测模型的设计笔记

    1 南溪学习的目标检测模型--DETR 南溪最赞赏的目标检测模型是DETR, 论文名称:End-to-End Object Detection with Transformers 1.2 decode ...

  3. 《南溪的目标检测学习笔记》——夏侯南溪的CNN调参笔记,加油

    1 致谢 感谢赵老师的教导! 感谢张老师的指导! 2 调参目标 在COCO数据集上获得mAP>=10.0的模型,现在PaddleDetection上的Anchor-Free模型[TTFNet]的 ...

  4. [初窥目标检测]——《目标检测学习笔记(2):浅析Selective Search论文——“Selective Search for object recognition”》

    [初窥目标检测]--<目标检测学习笔记(2):浅析Selective Search论文--Selective Search for object recognition> 本文介绍 前文我 ...

  5. 9月1日目标检测学习笔记——文本检测

    文章目录 前言 一.类型 1.Top-Down 2.Bottom-up 二.基于深度学习的文本检测模型 1.CTPN 2.RRPN 3.FTSN 4.DMPNet 5.EAST 6.SegLink 7 ...

  6. 《南溪的目标检测学习笔记》——COCO数据集的学习笔记

    1 COCO数据集 COCO数据集下载链接:COCO_download 1.1 数据概览 数据集大小 train: 118287张 train+val: 123287张 val: 5000张 目标数量 ...

  7. 《南溪的目标检测学习笔记》的笔记目录

    1 前言 这是<南溪的目标检测学习笔记>的目录~ 2 学习目标检测的思路--"总纲" <南溪的目标检测学习笔记>--目标检测的学习笔记 我在这篇文章中介绍了 ...

  8. 目标检测学习笔记——SSD以及改进模型DSSD的原理解读及SSD的Tensorflow代码实现(图文并茂)

    目录 1.SSD的知识思维脑图 2.简介 2.1.SSD出现的背景 2.2.SSD的模型思想 2.2.1.多尺度特征图预测(Multi-Scale Feature Maps Prediction) 2 ...

  9. 深度神经网络及目标检测学习笔记

    这是一段实时目标识别的演示, 计算机在视频流上标注出物体的类别, 包括人.汽车.自行车.狗.背包.领带.椅子等. 今天的计算机视觉技术已经可以在图片. 视频中识别出大量类别的物体, 甚至可以初步理解图 ...

最新文章

  1. php操作MySQL
  2. Markdown = PPT ?这个工具给力!
  3. 详细讲解C++ 类的继承
  4. 前端:JS/38/canvas状态的保存和恢复(canvas常用状态大全),canvas画布中图像的变形
  5. PHP 连接MySQL数据库
  6. Oracle 网络配置与管理
  7. 在nhibernate 1.2 中使用sqlite时应注意sqlite的ado.net的提供者 .
  8. java关闭窗口的6种方法
  9. 百度地图 - js获取行政区边界范围
  10. 计算机信息统计试题,计算机概率统计复习试题.doc
  11. 华为手机上的计算机怎么没了,华为手机怎么连接电脑 华为手机连接不上电脑怎么回事 华为手机连接USB没反应...
  12. VRP基础,命令行基础,文件系统基础,系统管理(2017年12月13日 09:51:51)
  13. 微信小程序开发相关资料
  14. CodecContext-gop_size 是什么
  15. rna聚类分析_新技术助力单细胞RNA测序数据聚类分析
  16. java端口扫描器_简单端口扫描器java的设计与实现.doc
  17. 2021-04-15 三级管npn和pnp的区别
  18. 亚马逊广告CPC优化技巧 投放就有效
  19. 雅居乐陈卓林第二人生业主文化节收官,记录下这些天的温情与感动
  20. 微信团队分享:微信支付代码重构带来的移动端软件架构上的思考

热门文章

  1. python定义map数据_「每日一练」巧用Python处理列表中的数据
  2. Linux系统之高级用户组和权限管理
  3. 【BZOJ4873】[六省联考2017]寿司餐厅(网络流)
  4. Elasticsearch 因拷贝多余的jar到lib库导致无法启动的问题
  5. 使用hibernate建立mysql连接以及生成映射类和配置文件*.cfg.xml
  6. 整数数组中最大子数组求和02
  7. SQl 根据某列去重 partition by
  8. Eclipse 快捷键(转载)
  9. 软件工程师到30岁就要转行?
  10. 简历英文 计算机水平,计算机英文 简历