【论文学习笔记001】R-CNN

1.论文信息

题目Rich feature hierarchies for accurate oject detection and semantic segmentation针对高准确度的目标检测与语义分割的多特征层级
作者Ross Girshick,Jeff Donahue, Trevor Darrell, Jitendra Malik
年份2014
期刊Computer Vision and Pattern Recognition
论文地址https://arxiv.org/pdf/1311.2524.pdf
项目地址https://github.com/rbgirshick/rcnn

2. 论文创新点

2.1 利用候选区域与 CNN 结合做目标定位

在这里插入图片描述

  • 给定一张输入图片,从图片中提取 2000 个类别独立的候选区域
  • 对于每个区域利用 CNN 抽取一个固定长度的特征向量
  • 再对每个区域利用 SVM 进行目标分类
2.2 利用预训练与微调解决标注数据缺乏的问题
  • 采用在 ImageNet 上已经训练好的模型,然后在 PASCAL VOC 数据集上进行 fine-tune。现在我们称之为迁移学习。

3.论文要点

3.1 候选区域(Region Proposal)
  • R-CNN 采用的是 Selective Search 算法(选择性搜索)。
    传统算法使用穷举法或者滑动窗口选出所有物体可能出现的区域框,就是在原始图片上进行不同尺度不同大小的滑窗,获取每个可能的位置。而这样做的缺点就是复杂度太高,产生了很多的冗余候选区域,而且由于不可能每个尺度都兼顾到,因此得到的目标位置也不可能那么准,在现实当中不可行。而选择性搜索有效地去除冗余候选区域,使得计算量大大的减小。
    在这里插入图片描述
3.2 特征抽取(Feature Extraction)
  • R-CNN 抽取了一个 4096-D 的特征向量,采用的是 Alexnet,基于 Caffe 进行代码开发
  • 为了与 Alexnet 兼容,R-CNN无视候选区域的大小和形状,统一变换到 227*227 的尺寸。但在对 Region 进行变换的时候,首先对这些区域进行膨胀处理,在其 box 周围附加了 p 个像素,也就是人为添加了边框,在这里 p=16,再进行各向异性缩放。
    在这里插入图片描述
3.3 运行时长分析(Run-time analysis)

两个因素可以让目标识别变得高效。

  • CNN 的参数是所有类别共享的
  • R-CNN 生成的特征向量维度较少
    也就是运行过程中,参数变少了,所以比传统的高效。体现在提取特征的时间,如果用 GPU ,13s/张,CPU 53s/张。
3.4 训练
  • 采取迁移学习,提取在 ILSVRC 2012 的模型和权重,然后在 VOC 上进行 fine-tune。
  • ImageNet 的训练当中需要预测 1000 个类别,而 R-CNN 在 VOC 上进行迁移学习时,神经网络只需要识别 21 个类别( VOC 规定的 20 个类别加上背景这个类别)
  • R-CNN 将候选区域与 GroundTruth中的 box 标签相比较,采取非极大性抑制(NMS),如果 IoU > 0.5,说明两个对象重叠的位置比较多,于是就可以认为这个候选区域是 Positive,否则就是 Negative
  • 训练策略是:采用 SGD 训练,初始学习率为 0.001,mini-batch 大小为 128
3.5 可视化
  • 在CNN中,第一层可以直接用来显示,通常他们是为了捕捉物体边缘,及突出的颜色信息,但越往后的卷积层越抽象,这个时候进行可视化就是一个挑战了。
  • R-CNN 将 pool5 作为可视化对象,它的 feature map 是 6x6x255 的规格,可以理解为有 256 个小方块,每个方块对应一个特征。
  • 思路是挑选一个特征出来,把它直接当成一个物体分类器,然后计算它们处理不同的候选区域时,activation 的值,这个值代表了特征对这块区域的响应情况,然后将 activation 作为分数排名,取前几位,然后显示这些候选区域,自然也可以清楚明白,这个 feature 大概是什么。
    在这里插入图片描述
3.6 框架精简(Ablation studies)
  • fc6 与 pool5 构成全连接,为了计算 feature 它会乘以一个 4096x9216 的权重矩阵,然后在与一组 bias 相加,所以它有 3700 多万的参数。fc7 是最后一层,它的权重矩阵是 4096x409,它的参数有 1678 万多的参数。
  • 但在 PASCAL 上不做 fine-tune 处理,直接测试,可以发现 fc7 的意义没有 fc6 大,甚至移除它之后,对 mAP 没有影响。移除 fc7 就表示可以减少将近 1800 万个参数。同时移除 fc6 和 fc7 并没有多大的损失,甚至结果还要好一点点。
  • 神经网络最神奇的力量来自卷积层,而不是全连接层
  • fine-tune 后 fc6 与 fc7 提升的效果明显。pool5 从 ImageNet 训练集中学习了物体的泛化能力,而能力的提升则是通过特定领域的 fine-tune。
3.7 bbox 回归(Bounding-box regression)
  • bbox 的值其实就是物体方框的位置,预测它就是回归问题,而不是分类问题。
  • 作者训练了一个线性的回归模型,这个模型能够针对候选区域的 pool5 数据预测一个新的 box 位置。
  • 先求平移量
    在这里插入图片描述
  • 再求尺度放缩量
    在这里插入图片描述
  • 我们要学习的是dxP,dyP,dwP,dhP这四个变换,就可以得到估计框了
    在这里插入图片描述
    其中Φ5P是Alexnet pool5输出的特征,所以要求出w*T
  • 该回归器的损失函数为
    在这里插入图片描述
  • 上式中t*i可用如下公式求出:
    在这里插入图片描述
  • 所以通过输入的特征值训练,从而求出w*T,就可以得到回归器。
3.8 语义分割(Semantic segmentation)
  • 利用 CPMC 生成候选区域,然后将这些区域调整大小为 227x227,送到神经网络当中,这是 full 阶段,区域中有背景也有前景。
  • 只处理候选区域的前景,将背景用输入的平均值代替,然后背景就变成了 0 ,这个阶段称为 fg
  • full + fg 阶段,将背景和前景简单拼接

4.总结与展望

4.1 总结
  • RCNN步骤:微调分类模型AlexNet——选择性搜索2000个候选框——缩放图像块至固定大小——输入到CNN内提取特征——训练SVM分类器判别特征类别——训练线性回归器调整候选框位置
  • 取得这个性能主要通过两个方面:第一是应用了自底向上的候选框训练的高容量的CNN进行定位和分割物体;第二是“有监督的预训练+特定领域的调优”使用在标签数据匮乏的情况下训练大规模神经网络。
4.2 展望
  • 由于每一个候选框都要独自经过CNN,这使得花费的时间非常多,这在Fast RCNN中将得到改善
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值