Introduction of R-CNN —— Region-Convolutional Neural Network

文章目录

论文原文

1. Introduction


这边论文是在2014年的CVPR上发表的,虽说已经距离现在有较长的时间了,但是之后的Fast\Faster R-CNN,以及在其基础上再进一步改进的Mask R-CNN(都一位共同的作者),都起始于这篇论文,从这里发展上去的。而在当时,比较流行的视觉识别技术主要是 SIFT 以及 HOG

关于 SIFT 和 HOG

对于SIFT(Scale Invariant Feature Transform,即尺度不变的特征变换匹配算法),SIFT算法通过在高斯差分尺度金字塔不同尺度的层中寻求关键点,然后通过对关键点进行一定的过滤之后,最终得到关键点的描述(discription),事实上就是一个向量,用来表示这个关键点,通过找到一个图像的若干关键点后,我们就得到了对这个图像的一个独特的表示了。

而对于HOG(Histogram of Oriented Gaussian,即方向梯度直方图),通过对图像分割成若干份(这个分割是具有一定的技巧性的,如果我们可以把,例如人脸,分割成有意义的几个部分的话,那么我们最终就可以得到这个人脸图像的一个非常理想的向量表示),然后分别对每个部分统计其中各个像素的方向梯度直方图(不同方向,直方图的值为梯度大小的累加),最终我们会得到,例如分成 4 × 4 4\times4 4×4 16 16 16 个部分,那我们就会得到 16 16 16 1 × 8 1\times 8 1×8(例如简单的8个方向)的向量,将这些向量首尾相连;之后将小部分合并成大部分( 4 × 4 4\times 4 4×4),重复上述过程,最终我们会得到一个一维的向量,长度为:
L = 16 × 8 + 4 × 8 + 1 × 8 = 168 L=16\times8+4\times8+1\times8=168 L=16×8+4×8+1×8=168

不过,以上这两个技术,即使在那个时候,也已经存在了一段时间了,作者指出,在2010到2012年之间,视觉识别这一块工作事实上已经有较长时间处于停滞状态了,若干成功的方法也都是千篇一律,没有过多的改进。这时,笔者提到了一个东西:CNN(Convolutional Neural Network,卷积神经网络)

最早的,由 Fukushima(福岛?)做过的一个 Neocognition 的工作,用到了卷积神经网络。我们知道,卷积神经网络通过逐层的卷积,可以提取图像的一些高级特征,这个特点可以让我们用于对图像进行分类,而早期的一些工作也是这样做的。

而对于目标检测工作,同样也涉及到特征问题。那卷积神经网络是否可以用于目标检测工作上呢

2012年,Krizhevsky 的卷积神经网络在ImageNetLarge Scale Visual Recognition Challenge (ILSVRC) 取得了出人意料的效果,在学界掀起了激烈的讨论:为什么卷积神经网络可以用于目标检测的工作上呢?

作者在这里宣布:这篇论文是第一篇展示卷积神经网络相比于传统的HOG特征是怎样在PASCAL数据集上获得更加出色的效果的。

二者首先需要解决两个问题:

  • 如何通过一个深度网络对对象进行定位(localizing objects)
  • 如何通过少量标记数据来得到一个高可用的模型

笔者提出了他们考虑的一种方法:将这样的定位过程看成一个递归问题来处理,不过在实际工作中效果并不理想。另外一种方法是考虑构造一个滑动窗口式的探测器,而卷积神经网络在最近这20年来已知被用于类似的工作中,特别是在对事先规定好的对象进行检测上,例如人脸以及行人上。不过,这些工作为了使输出结果的空间分辨率得到一定保证的前提下,搭建的网络仅仅是由两个卷积层和一个池化层组成。笔者还考虑通过对滑动窗口相关的方法进行改进,不过遇到的问题则是:单元的堆积,即效率的问题,总共五个卷积层,以及非常大的接收域(receptive field)和步长(stride)。因此,采用滑动窗口来实现相关的工作依然具有较大挑战。

接着,作者给出了他们最终的解决方法:通过利用区域(region)进行识别的方法来解决在卷积神经网络中进行目标定位的问题。作者给出了他们在测试阶段的情况,通过这个方法生成了大概2000个根据给定对象目录得到的区域目标,从每个所给区域中通过卷积神经网络提取出一个固定长度的特征向量,最后通过一个线性的SVMSupport Vector Machine,即支持向量机)对每个区域进行了分类。同时,对于不同区域存在不同情况的问题,作者也讲到,他们使用了一种简单的方法——仿射图像变换(affine image warping)来计算出一个固定大小的输入,给到卷积神经网络。而正是这种利用区域Region)来实现的目标识别的方法,使得作者为大家给出了这种新的网络的名称:区域卷积神经网络(Region-Convolutional Neural Network),即 R-CNN。

然后,作者又给出了他们解决训练数据不足的方法:通过在一个大型的数据集(例如前面提到的ILSVRC)进行监督训练(supervised training),接着再在一个小的训练集上(例如PASCAL)进行指定领域的微调(fine-tuning)。作者指出,这篇论文的另外一个贡献就是,提出了上述高效且可行的方法,在数据不足的情况下学习得到一个高可用(high-capability)的卷积神经网络。这种微调的方法,正是前文作者介绍的:将卷积神经网络作为特征提取器(即得到的2000个固定长度的特征向量),然后利用一个线性的分类器(SVM)进行特征的分类。这正是作者在这篇论文中的另外一个贡献,即如何在数据不足的情况下学习得到一个高可用(high-capability)的卷积神经网络的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值