rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记

rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第1张图片

R-CNN

Github源码

原理:通过提取多个候选区域,输入CNN网络,来判断候选区域是否存在物体,以及物体的分类和边界框

论文创新点

  • 将CNN方法引入目标检测领域,大大提高了目标检测的效果,改变了目标检测领域的研究思路,续作包括Fast RCNN, Faster RCNN, Mask RCNN
  • 预训练的思想,在训练过程中,先采用比较大的数据集(ImageNet ILSVC 2012)标定每张图片中物体的类别。一千万图像,1000类。一个较小的检测库(PASCAL VOC 2007):标定每张图片中,物体的类别和位置,一万图像,20类。本文使用识别库进行预训练得到CNN(有监督预训练),而后用检测库调优参数,最后在检测库上评测。迁移学习Transfer Learning的思想是不是也来自这里?

R-CNN 具体算法:

rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第2张图片
R-CNN architecture
  1. 输入图像,使用Selective Search算法得到~2k的Region Proposal,这个数量相比使用Sliding Window算法得到的候选区域数量极大减少
  2. 提取特征,将每一个Region Proposal Resize后分别输入CNN网络,得到对应的feature map
  3. 区域分类,把CNN输出的特征向量,输入每一类的SVM分类器(如果我有十个类别,那么每个region proposal要跑10个SVM,得到类别),这里为什么要用SVM而不是softmax,有一种说法是为了解决样本不均衡的问题,另外是早期神经网络还不如现在这样发达,当时SVM还是比较领先的分类器。
  4. 分类框的回归,对CNN输出的特征向量,做回归(左上角右下角的四个坐标),修正Region Proposal的位置,得到更加精确的Bbox

算法详解

  1. Selective Search
    1. 使用一种过分割手段,将图像分割成小区域 (1k~2k 个)
    2. 查看现有小区域,按照合并规则合并可能性最高的相邻两个区域。重复直到整张图像合并成一个区域位置
    3. 输出所有曾经存在过的区域,所谓候选区域
  2. CNN网络架构选用的Alexnet 和VGG16

存在的问题

  • 计算量大,需要把每一个候选区域单独输入CNN网络,得到特征向量
  • 冗余计算大,候选区域有重叠的,单独计算
  • 需要分别训练分类和回归任务,麻烦
  • 内存占用比较大,需要存储多个SVM分类器和bounding box回归器
  • CNN输入图片尺寸fixed227*227,所以所有的Regional Proposal都需要Resize

Fast R-CNN

具体算法:

rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第3张图片
Fast R-CNN architecture

rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第4张图片
Fast R-CNN框图
  1. 将任意size的图片输入CNN,得到feature map, 解决了R-CNN中多个region proposal分别做卷积的重复操作,节约了时间
  2. 在原始图片上selective research算法,得到2k候选区域region proposal
  3. 在特征图上面找到每一个region proposal对应的特征框,在ROI池化中把每一个特征框池化到统一大小
  4. 统一大小的特征框经过全连接层得到固定大小的特征向量,进行softmax分类和bbox回归,Fast R-CNN组合了classification和regression,做成了一个网络,实现了端到端的训练

算法细节部分

  1. ROI Pooling ROI Pooling层理解+代码解析 ROI Pooling层解析 ROI Pooling就是Spatial Pyramid Pooling的特殊情况

存在的问题

  • 候选区域算法还是Selective Search,速度慢

Faster R-CNN

Faster R-CNN将Fast R-CNN中的Selective Search算法替换为一个RPN-Region proposal network ,进而把feature extraction, region proposal,分类,Bouding Box回归整合在一个网络里面,极大提高了检测框候选的速度

具体算法:

rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第5张图片

rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第6张图片
Faster R-CNN architecture
  1. 输入图片,经过一个CNN网络,得到feature map
  2. 上一步提取到的feature map经过RPN网络生成region proposal
  3. 由feature map和region proposal得到proposal feature maps
  4. 将Roi pooling生成的proposal feature maps分别传入softmax分类和bounding box regression获得检测物体类别和检测框最终的精确位置

算法细节部分

  1. RPN-Region Proposal Network
  2. Anchor box概念 目前不理解

rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第7张图片
RPN

参考文献

Slumbers:RCNN, Fast R-CNN 与 Faster RCNN理解及改进方法​zhuanlan.zhihu.com
晓雷:RCNN- 将CNN引入目标检测的开山之作​zhuanlan.zhihu.com
rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第8张图片
白裳:一文读懂Faster RCNN​zhuanlan.zhihu.com
rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第9张图片
Object Detection and Classification using R-CNNs​www.telesens.co
rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第10张图片
小小将:综述|基于深度学习的目标检测(一)​zhuanlan.zhihu.com
rcnn论文_RCNN/Fast R-CNN/Faster RCNN/Mask RCNN 论文学习笔记_第11张图片
Jacqueline:【目标检测】Faster R-CNN​zhuanlan.zhihu.com
Jacqueline:【目标检测】Faster R-CNN代码解析​zhuanlan.zhihu.com

你可能感兴趣的:(rcnn论文)