R-CNN论文解读


论文地址:

1 贡献

1 解决CNN的定位问题;2 在训练数据稀少的情况下,提出了一个非常有效的训练大型卷积神经网络的方法,即在辅助数据集(ILSVRC)上进行有监督预训练,再在小数据集上针对特定问题进行调优。

2 R-CNN的提出

1 基本思路:在候选区域使用自下而上的大容量卷积神经网络,用于定位和分割;
当带标签的训练数据不足时,先针对辅助任务进行有监督训练,然后对特定区域进行调优,就可以显著的提升性能。
2 实现方案:给定一个输入图片,从图片中提取2000个独立类别的候选区域;使用CNN在每个候选区域提取固定长度的特征向量;用支持向量机对每个区域进行分类。在这里插入图片描述

3 模型设计

特征提取:使用AlexNet网络对每个候选区域提取了4096个特征向量。为了计算候选区域的特征,不管候选区域的大小或长宽比如何,我们都会将它周围的所有像素弯曲成所需的大小(227×227)。在弯曲之前,我们扩展了紧边界框,这样在变形大小处,原始框周围正好有p个变形的图像上下文像素(我们使用p = 16)。AlexNet网络结构图如下:转载于
第一层使用96个11×11×3的卷积核对图像进行滤波,步长为四。
卷积:(227-11)/4+1=55个像素, 卷积核个数为96,故555596个像素层。
池化:最大值池化核3×3,步长为2,则池化后的图像尺寸为 (55-3)/2+1=27,即27×27×96。
第二层使用第一层的输出(经过局部归一化和池化处理过)作为输入,256个5×5×48的卷积核对输入进行滤波。
卷积:为了保持图像输入输出一致,故padding=2,(27-5+22)/1+1=27,由于有256个卷积核,单层为27×27×128像素层。
池化:池化后的图像尺寸为 (27-3)/2+1=13,即13×13×128。
第三、四、五卷积层互相连接,中间没有池化层和归一层。
第三层有384个3×3×256的卷积核,(13-3+1
2)/1+1=13个像素,单层13×13×192像素。
第四层有384个3×3×192的卷积核,(13-3+12)/1+1=13个像素,单层13×13×192像素。
第五层有256个3×3×256的卷积核,(13-3+1
2)/1+1=13个像素,单层13×13×128像素。
重叠池化层:(13-3)/2+1=6,即6×6×256像素层。
每个全连接层有4096个神经元
第六层输入数据的尺寸是66256,采用66256尺寸的滤波器对第六层的输入数据进行卷积运算;每个66256尺寸的滤波器对第六层的输入数据进行卷积运算生成一个运算结果,通过一个神经元输出这个运算结果;共有4096个66256尺寸的滤波器对输入数据进行卷积,通过4096个神经元的输出运算结果;然后通过ReLU激活函数以及dropout运算输出4096个本层的输出结果值。

3.1 测试时间检测

在测试阶段,在测试图像上用选择性搜索抽取2000个候选区域(所有的实验都是fast 模型),我们对每个候选区域进行变换,并通过CNN进行前向传播计算特征。对每个类,使用针对该类训练的SVM(支持向量机)进行打分,对给定图像中所有得分区域,我们应用一个贪婪的非最大抑制(对每个类独立地),如果一个区域有一个相交-并集(IoU)与一个高于学习阈值的得分较高的选定区域重叠,则该区域拒绝该区域。

3.2 运行时分析

第一,在CNN中所有类别参数共享;第二,与其他常用方法相比,通过CNN计算的特征向量是低维的。参数共享的结果是,计算候选区域和特征的时间都被平均在所有类上。由于一个图像中的点都被批量化为一个矩阵-矩阵乘积,故R-CNN可以扩展到数千个类而无需使用近似技术。

4 训练

4.1 监督预训练

在一个大的辅助训练集上仅使用图像标签进行预训练,预训练使用开源的CNN,R-CNN的表现几乎与Krizhevsky等人的[25]不相上下,在ILSVRC2012分类验证集上获得了最高1的错误率,高出2.2个百分点。这种差异是由于在训练过程中简化了。

4.2 特定区域微调

为了使CNN适用新的任务(检测)和新的领域(卷曲区域窗口),仅在候选区域使用随机梯度下降法(SGD)训练CNN参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R-CNN(Region-based Convolutional Neural Networks)是一种目标检测算法,它通过两个阶段来检测图像中的目标物体。首先,R-CNN使用选择性搜索(Selective Search)算法生成一系列候选区域,然后对每个候选区域进行卷积神经网络(CNN)特征提取和分类。R-CNN的主要缺点是速度较慢,因为每个候选区域都需要独立地进行CNN特征提取和分类。 Fast R-CNN是对R-CNN的改进,它通过引入RoI池化层(Region of Interest pooling)来解决R-CNN中重复计算的问题。RoI池化层可以将不同大小的候选区域映射为固定大小的特征图,从而使得所有候选区域可以共享相同的特征提取过程。这样一来,Fast R-CNN相比于R-CNN具有更快的速度。 Faster R-CNN是对Fast R-CNN的进一步改进,它引入了一个称为Region Proposal Network(RPN)的子网络来生成候选区域。RPN通过滑动窗口在特征图上提取候选区域,并为每个候选区域分配一个得分,然后根据得分进行筛选和排序。这种端到端的训练方式使得Faster R-CNN在目标检测任务上具有更高的准确性和更快的速度。 Mask R-CNN是在Faster R-CNN的基础上进一步发展的,它不仅可以进行目标检测,还可以进行实例分割。Mask R-CNN在Faster R-CNN的基础上增加了一个分支网络,用于预测每个候选区域中目标物体的像素级掩码。这使得Mask R-CNN能够同时获得目标的位置信息和像素级别的语义信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值