[讨论] 深度学习Region Proposal方法

Region Proposal 方法看的比较头大,现在在此总结一下,欢迎大家批评指正

One Stage VS Two stage

one stage two stage
直接回归物体的类别概率和位置坐标值(无region proposal),但准确度低,速度相遇two-stage快。 先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类。
直接通过主干网络给出类别和位置信息,没有使用RPN网路。这样的算法速度更快,但是精度相对Two-stage目标检测网络了略低。 对于Two-stage的目标检测网络,主要通过一个卷积神经网络来完成目标检测过程,其提取的是CNN卷积特征,在训练网络时,其主要训练两个部分,第一步是训练RPN网络,第二步是训练目标区域检测的网络。网络的准确度高、速度相对One-stage慢。
目前常用的典型的One-stage目标检测网络 YOLOv1、YOLOv2、YOLOv3 SSD、DSSD等 Retina-Net等 R.Girshick et al等人在2014年提出的R-CNN到Faster R-CNN网络。

RCNN

出自论文 : Rich feature hierarchies for accurate object detection and semantic segmentation 链接
[讨论] 深度学习Region Proposal方法_第1张图片

侯选框的选择
  • 选取了Selective Search的方式对每张图提取了约2000个大小不一候选区域,为了使不同尺寸的候选区域可以喂给固定输入尺寸的网络提取特征,对这些候选区域都缩放到227,为避免缩放操作对识别检测精度的影响,作者对缩放过程做了优化,比如对候选区域边界扩展、warp等,并选取最好的缩放方式。

  • Selective Search for Object Recognition link

  • Selective Search 算法:

    1. 使用 Felzenszwalb and Huttenlocher【一种基于灰度值计算相临像素的方法】提出的方法得到初始分割区域R={r1,r2,…,rn};
    2. 初始化相似度集合S=∅;
    3. 计算两两相邻区域之间的相似度,将其添加到相似度集合S中;
    4. 从集合S中找出,相似度最大的两个区域 ri 和rj,将其合并成为一个区域 rt,从集合中删去原先与ri和rj相邻区域之间计算的相似度,计算rt与其相邻区域(与ri或rj相邻的区域)的相似度,将其结果加入到相似度集合S中。同时将新区域 rt 添加到区域集合R中;
    5. 获取每个区域的Bounding Boxes L,输出物体位置的可能结果L。

    在每次迭代中,形成更大的区域并将其添加到区域提议列表中。以自下而上的方式创建从较小的细分segments到较大细分segments的区域提案,如下图最左侧。
    [讨论] 深度学习Region Proposal方法_第2张图片

  • 在考虑相似性的部分作者也考虑了场景/光照/颜色/纹理/尺度/形状 等尺度综合衡量图片之间的相似程度等 来计算相关性。 还是手工产生的特征。

[讨论] 深度学习Region Proposal方法_第3张图片

完整的RCNN

RCNN:
1):利用selective-search方法提取2000个自下而上的region proposal;
2):针对每一个region proposal我们用一个大的CNN网络计算特征;
3):利用线性SVMs分类器对每个region proposal进行分类;
4):进行回归分析调整region proposal区域。

RCNN 缺点:速度慢,占用太多磁盘资源等,但也正是这些痛点
参考:
【理解Selective Search 】!!
【Selective Search for Object Recognition 论文原文】
【图像处理—基于图的图像分割(Graph-Based Image Segmentation】
【R-CNN论文详解 】!!!

Fast-RCNN:

ROI 的取法应该是一样的 Selective Search

  1. 读取整个图片和一个ROI(Regions of Interest,也就是一系列划分的bounding box)集合作为输入);
  2. 然后convnet从整个图片中提取特征,得到feature map;
  3. 对每一个ROI区域,pooling层从feature map中提取一个固定大小的feature factor;
  4. feature factor被送往FC(fully-connected layer),被映射到两个部分,一部分是评估k个目标类加上catch-all"背景"类的softmax probability;另一部分产生bbox regressor,即针对k个目标对象的每一个4值真值数量(4 real-valued numbers),每个4值编码集合(set of 4 values)K类目标对象之一的bounding-box位置。
    [讨论] 深度学习Region Proposal方法_第4张图片参考:
    【Fast RCNN论文的概括理解】
    【论文原文】

Faster-RCNN 之 RPN:

【TO - DO】RPN 网络设计!

【Faster R-CNN论文笔记——FR !!!非常棒的总结】
Faster R-CNN这篇论文解决了这个系统中的三个问题:

  1. 设计区域生成网络(RPN);
  2. 训练区域生成网络;
  3. 让区域生成网络和Fast RCNN网络共享特征提取网络。

Faster-R-CNN算法由两大模块组成:

  • .PRN候选框提取模块;
  • .Fast R-CNN检测模块。

R-CNN、Fast R-CNN、Faster R-CNN三者关系

[讨论] 深度学习Region Proposal方法_第5张图片[讨论] 深度学习Region Proposal方法_第6张图片

你可能感兴趣的:(计算机视觉)