目标检测论文综述(二)Two-Stage(R-CNN系列)

一、CNN based Two-Stage Detectors

所有论文综述均保持如下格式:
1、一页PPT内容总结一篇论文
2、标题格式一致:出处 年份 《标题》
3、内容格式一致:针对XX问题;提出了XX方法;本文证明了XXX
4、把握核心创新点,言简意赅
5、官方源码链接

强烈推荐:目标检测论文资源列表(各目标检测网络性能对比、论文链接、官方/非官方代码链接)
https://github.com/hoya012/deep_learning_object_detection#2014
作者GitHub里面的图片列出了目标检测网络近年来的一些里程碑
目标检测论文综述(二)Two-Stage(R-CNN系列)_第1张图片

一、CVPR 2014《R-CNN:Rich feature hierarchies for accurate object detection and semantic segmentation》
  • 针对:传统目标检测耗时、耗内存、精度低
  • 提出了:通过选择性搜索(Selective Search)提取感兴趣区域候选框proposal,将每个proposal缩放为固定大小的图像,输入到ImageNet训练的CNN模型中并提取特征,线性SVM分类器用于预测每个区域内对象类别,回归器调整目标框。
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第2张图片
    缺点:训练分多个步骤;正负样本候选区域由SS生成,算法速度受限,CNN对每一个生成的候选区域进行一次特征提取,存在大量重复计算,检测速度慢。
  • 本文证明了:使用卷积神经网络进行特征提取;使用bounding box regression进行目标包围框的修正
  • GitHub官方源码(caffe)
二、ECCV 2014《SPP-Net:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》
  • 针对:CNN模型全连接层需固定大小的输入,crop或者warp导致图像拉伸变形、裁剪不全,限制识别精确度
  • 提出了:卷积层和全连接层之间引入SPP layer,使CNN可生成固定长度的表示形式,不关注图像/区域的大小而无需重新缩放;SPPNet在SPP中加入pooling,使得网络任意输入,固定输出
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第3张图片
    缺点:训练仍是多阶段的;SPPNet只是微调了全连接层,而忽略其他层
  • 本文证明了:1.SPP结构有效避免R-CNN对图像区域裁剪、缩放等操作导致的裁剪不全以及形状扭曲问题
    2.SPP对原图进行一次卷积计算,得到整张图的feature map,找到每个候选框在feature map上的映射patch,作为其卷积特征输入到SPP layer,解决CNN对图像重复训练特征提取的问题
    GitHub官方源码(caffe)
    GitHub非官方源码(tensorflow)
三、ICCV 2015《Fast R-CNN》
  • 针对:R-CNN必须将图像区域剪裁、缩放到固定尺寸大小
  • 提出了:1.最后一个卷积层后加入ROI pooling的池化层结构,对每个region提取一固定维度的特征表示;2.使用多任务损失函数,将边框回归加入CNN中训练;3.softmax替代SVM分类
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第4张图片
    缺点:速度仍受限制于SS,Faster R-CNN解决了该问题
  • 本文证明了:ROI pooling结构有效解决R-CNN中的图像裁剪、缩放问题
  • 注意区别和SPPNet中pooling,ROI Pooling是对每一个RoI区域提取一固定维度的特征表示;而SPPNet是对不同特征区域进行不同尺寸的pooling。
    GitHub官方源码(caffe)
四、NIPS 2015《Faster RCNN:Towards Real-Time Object Detection with Region Proposal Networks》
  • 针对:SS找所有候选框很耗时
  • 提出了:提取候选区域的RPN(Region Proposal Network)替代SS
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第5张图片目标检测论文综述(二)Two-Stage(R-CNN系列)_第6张图片
    RPN:在feature map上滑动窗口,建立神经网络用于物体分类+框位置的回归,滑动窗口位置提供了物体大致位置,框回归提供更精确的位置
  • 本文证明了:第一个提出端到端、近实时深度学习检测器。
    GitHub官方源码(caffe)
    GitHub非官方源码(PyTorch)
五、CVPR 2015《 FCN:Fully convolutional networks for semantic segmentation》
  • 针对语义分割,图像像素级分类
  • 提出了:全卷积网络,适应任意尺寸输入,采用反卷积层对最后一个卷积层的特征图进行上采样,使其恢复到输入图像相同的尺寸,对每一个像素做预测;结合不同深度层结果的跳级结构skip-connection
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第7张图片
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第8张图片
    缺点:存在问题:1.分割结果不够精细,没有分割出目标图像的细节2.没有考虑像素之间的关系
  • 本文证明了:全卷积网络结构可用于图像语义分割
    GitHub开源代码
六、MICCAI 2015《 U-Net: Convolutional Networks for Biomedical Image Segmentation》
  • 针对:语义分割,在生物医学图像分割应用广泛
  • 提出了:1.Encoder-Decoder(U型)结构和skip-connection;2.应用图像增强,解决数据集有限问题
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第9张图片
  • 本文证明了:医疗影像的图像语义较为简单、结构固定,一般都是器官的图像,本身结构固定,语义信息没有很丰富,Unet的skip-connection和U型结构对高级语义信息和低级特征就很有用,但U-Net不仅仅是针对医学图像分割,这里只是提出它最佳应用的一个方面
七、CVPR 2016《 R-FCN:Object Detection via Region-based Fully Convolutional Networks》
  • 针对:分类网络的位置不敏感性和检测网络的位置敏感性之间的矛盾
  • 提出了:一种位置敏感(Position-Sensitive score map)分布的卷积网络代替ROI pooling层之后的全连接网络,解决了前者由于ROI pooling层后面的结构需对每一个样本区域跑一次而耗时大的问题
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第10张图片
  • 本文证明了:对预测特征图引入位置敏感分数图增强位置信息,提高检测精度。
    GitHub官方源码(caffe)
八、CVPR 2017《 Feature Pyramid Networks for Object Detection 》
  • 针对:大多目标检测器采用网络顶层特征做预测。低层特征语义信息较少,目标位置准确;高层信息丰富位置粗略
  • 提出了:在不同特征层独立进行预测,利用深层特征通过上采样和低层特征作融合
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第11张图片目标检测论文综述(二)Two-Stage(R-CNN系列)_第12张图片
  • 本文证明了:FPN在检测多尺度的物体方面显示出巨大的进步
    GitHub非官方源码(caffe)
九、ICCV 2017《 Mask R-CNN》
  • 针对:1.以Fastre R-CNN为原型,应用在实例分割;2.Faster R-CNN中RoI Pooling中的区域不匹配问题
  • 提出了:1.将ROI pooling层替换成ROI_Align。在边框识别的基础上添加分支FCN层(mask层),用于语义Mask识别,通过RPN网络生成目标候选框,再对每个目标候选框分类判断和边框回归,同时利用全卷积网络对每个目标候选框预测分割掩膜。
    目标检测论文综述(二)Two-Stage(R-CNN系列)_第13张图片
  • 本文证明了:1.FCN+Faster RCNN,构建一个三任务的损失函数优化模型;2.加入的掩膜预测结构解决了特征图像和原始图像上的ROI不对准问题,避免对ROI边界做任何量化,而用双线性插值到对准特征,再用池化操作融合。掩膜编码了输入图像的空间布局,用全卷积网络预测每个目标候选框的掩膜能完整的保留空间结构信息,实现目标像素级分割定位。
    GitHub官方源码(caffe2)
    GitHub非官方源码(PyTorch)

强烈推荐:思维导图软件 XMind 大家可以用这款软件做一个目标检测网络的思维导图,将各个网络的创新点以及与其他网络的联系都可以直观表示出来,或许可以找到一些idea,后续弄好了再发布出来。

二、致谢和说明

  • 感谢https://github.com/hoya012/deep_learning_object_detection#2014的作者细心整理近年来目标检测网络的资源列表,为我看论文,找开源节省了时间。
  • 博客内容只是总结每篇论文的主要创新点,针对什么问题,提出了什么方法,没有翻译论文,也没有详细阐述论文中提出的网络结构,实验方法。原因在于:网上有很多关于各种论文的详细翻译、理解,但读者很难集中时间去消化理解每一篇论文内容,往往都是看完一篇过几天就忘记了,所以本文采用这种总结方式,简洁明了,使其对基于Two-stage的目标检测网络有一整体的认识。
  • 以上内容均基于本人看论文的理解,可能在某些总结上存在错误或者理解不够,恳请大家能在留言提出来,我会及时修改,我希望通过写博客的方式,加深对论文的理解,并期望得到提高,谢谢大家!

你可能感兴趣的:(目标检测论文综述)