原文引用:http://lufo.me/2016/10/detection/

最近几年深度学习在计算机视觉领域取得了巨大的成功,而在目标检测这一计算机视觉的经典问题上直到去年(2015)才有了完全使用深度学习的方法,也就是大名鼎鼎的Faster-RCNN以及和它同一时期的工作YOLO。

目标检测就是要找到一张图中所有的物体它们的位置,在这两篇文章之前,人们通常的做法是先用一些传统视觉的方法如selective search找到proposal,即比较可能是物体的一个区域,然后再用CNN判断这个物体究竟是不是物体,是哪个物体,以及用CNN去优化这个框的位置,这种方法最典型的代表就是Faster-RCNN的前身,RCNN和Fast-RCNN,当然它们也是同样出色的工作。Faster-RCNN和YOLO解决的问题是省去了selective search,直接用CNN得到最后的结果,并且性能比之前的方法有很大提升。这篇文章主要介绍一下Faster-RCNN中替换掉selective search的RPN(Region Proposal Network)以及对RPN的改进:SSD(Single Shot MultiBox Detector)。

Faster-RCNN由RPN和Fast-RCNN组成,RPN负责寻找proposalFast-RCNN负责对RPN的结果进一步优化。其实RPN已经可以找到图片中每个物体的种类和位置,如果更注重速度而不是精度的话完全可以只使用RPN。RPN是一个全卷积网络(FCN),由于没有全连接层,所以可以输入任意分辨率的图像,经过网络后就得到一个feature map,然后怎么利用这个feature map得到物体的位置和类别那?这里要先介绍一下文章中提到的anchor这个概念,把这个feature map上的每一个点映射回原图,得到这些点的坐标,然后着这些点周围取一些提前设定好的区域,如选取每个点周围5x5的一个区域,这些选好的区域可以用来训练RPN。假设我们对feature map上的每个点选取了K个anchor,feature map的大小为H*W*C,那么我们再对这个feature map做两次卷积操作,输出分别是H*W*num_class*K和H*W*4*K,分别对应每个点每个anchor属于每一类的概率以及它所对应的物体的坐标,那么怎么训练这个网络那?这个网络的loss function就是一个用于分类的softmax loss和一个用于回归的smooth L1 loss,输出对应的ground truth也很好得到,对于每个anchor,如果它和图片中某个物体的IOU(面积的交/面积的并)大于一个阈值,就认为它属于这一类,否则认为是背景,对于那些是背景的anchor回归的loss就是0,其他anchor位置的ground truth就是它们所对应的物体的位置。RPN其实也很简单,关键的地方就在于选取了一些anchor然后进行pixel-wise的学习。论文中RPN的插图如下图:

但是RPN也有缺点,最大的问题就是对小物体检测效果很差,假设输入为512*512,经过网络后得到的feature map是32*32,那么feature map上的一个点就要负责周围至少是16*16的一个区域的特征表达,那对于在原图上很小的物体它的特征就难以得到充分的表示,因此检测效果比较差。去年年底的工作SSD: Single Shot MultiBox Detector很好的解决了这个问题。

我个人认为SSD可以理解为multi-scale版本的RPN,它和RPN最大的不同在于RPN只是在最后的feature map上预测检测的结果,而最后一层的feature map往往都比较抽象,对于小物体不能很好地表达特征,而SSD允许从CNN各个level的feature map预测检测结果,这样就能很好地适应不同scale的物体,对于小物体可以由更底层的feature map做预测。这就是SSD和RPN最大的不同,其他地方几乎一样。下图是SSD的网络结构,可以看到不同层的feature map都可以做预测。

另外SSD的代码也写得非常简洁优雅,不得不感叹作者真是碉堡,即写得了paper又做得了coding,不得不服。

目标检测方法简介:RPN(Region Proposal Network) and SSD(Single Shot MultiBox Detector)相关推荐

  1. 目标检测 SSD: Single Shot MultiBox Detector - SSD在MMDetection中的实现

    目标检测 SSD: Single Shot MultiBox Detector - SSD在MMDetection中的实现 flyfish 目标检测 SSD: Single Shot MultiBox ...

  2. SSD(Single shot multibox detector)目标检测模型架构和设计细节分析

    先给出论文链接:SSD: Single Shot MultiBox Detector 本文将对SSD中一些难以理解的细节做仔细分析,包括了default box和ground truth的结合,def ...

  3. 目标检测--SSD: Single Shot MultiBox Detector

    SSD: Single Shot MultiBox Detector ECCV2016 https://github.com/weiliu89/caffe/tree/ssd 针对目标检测问题,本文取消 ...

  4. 目标检测 - 基于 SSD: Single Shot MultiBox Detector 的人体上下半身检测

    基于 SSD 的人体上下半身检测 这里主要是通过将训练数据转换成 Pascal VOC 数据集格式来实现 SSD 检测人体上下半身. 由于没有对人体上下半身进行标注的数据集, 这里利用 MPII Hu ...

  5. 【目标检测】SSD: Single Shot MultiBox Detector 模型fine-tune和网络架构

    前言 博主在上一篇中提到了两种可能的改进方法.其中方法1,扩充类似数据集,详见Udacity Self-Driving 目标检测数据集简介与使用 ,由于一些原因,并未对此数据集做过多探索,一次简单训练 ...

  6. 【目标检测】SSD(Single Shot MultiBox Detector)的复现

    文章目录 SSD SSD源码解析 0. 从Git下载代码 1. 下载所需要的库 2. 数据集 3. Training SSD 4. Evaluation 参考资料 SSD 背景 这是一种 single ...

  7. python ssd目标检测_解读目标检测之SSD:Single Shot MultiBox Detector

    注:md文件,Typora书写,md兼容程度github=CSDN>知乎,若有不兼容处麻烦移步其他平台,github文档供下载. 发表在CSDN:https://blog.csdn.net/ha ...

  8. RPN(Region Proposal Network)

    RPN(Region Proposal Network) 学习RPN前最好先过一遍RCNN和Fast RCNN,本文的图来自原论文和bvBV1af4y1m7iL,有纰漏之处欢迎在评论区指出 RPN什么 ...

  9. SSD+caffe︱Single Shot MultiBox Detector 目标检测+fine-tuning(二)

    承接上一篇SSD介绍:SSD+caffe︱Single Shot MultiBox Detector 目标检测(一) 如果自己要训练SSD模型呢,关键的就是LMDB格式生成,从官方教程weiliu89 ...

最新文章

  1. 20家股东联名施压,要求贝佐斯停止向警方出售面部识别软件
  2. python绘制三维轨迹_Python学习(一) —— matplotlib绘制三维轨迹图
  3. 一文梳理水下检测方法
  4. 可扩展性的builder模式的构建方法
  5. python id()函数(返回对象在内存地址中的唯一标识)
  6. INT(M)表示什么意思?
  7. 【转】HTML5移动端最新兼容问题解决方案
  8. javaweb--HTTP状态码
  9. Android使用HttpURLConnection下载图片
  10. 2021上半年ICPC各类赛事时间日程
  11. 什么叫pin脚的pad_普思海鸥脚H1102NL百兆网络变压器
  12. Mybatis学习之接口编程
  13. 远程桌面登陆不上的解决思路
  14. Docker container 集装箱说明
  15. Java网络编程详解
  16. Carpet-mod常用的用法记录
  17. mysql lambda查询_SqlSugar常用查询实例-拉姆达表达式
  18. 机器人工作空间解析分析
  19. python3安装完,出现 No module named '_ssl',解决方案
  20. Unity3D热更新技术点——ToLua(上)

热门文章

  1. Jquery Easy UI--datagrid的使用(转)
  2. Spark 个人实战系列(1)--Spark 集群安装
  3. ipad流水布局及其旋转界面view间隔布局调整
  4. 浅谈PHP在各系统平台下的换行符
  5. hdu 1494(DP)
  6. hdu-4045 Machine scheduling
  7. 显示二维数组并计算和
  8. 【转载】图论 500题——主要为hdu/poj/zoj
  9. 免费素材下载:Box Of Bundles Number 2
  10. 单击CheckBox,全选GridView中所有CheckBox