论文题目是《Rich feature hierarchies for accurate object detection and semantic segmentation》
这篇论文做出的贡献有两个方面:
(1)可以将高容量的卷积神经网络应用在自底向上的候选区域,以实现对目标的定位和分割。
(2)当标注的训练数据稀缺时,在大型辅助数据集(ILSVRC)上进行有监督的预训练,然后在小型数据集(PASCAL)上进行特定领域的微调,可以有效地训练大型CNN。
背景知识
在过去十年中(本篇论文发布于2014年),各种视觉识别任务主要使用SIFT和HOG。但是在PASCAL VOC上进行目标检测的性能在2010-2012间进展缓慢。Fukushima的“neocognitron”是一种受生物学启发的模式识别模型,具有分层和平移不变性等特点,这项成果算是一种早期的尝试。但是neocognitron缺少有监督的训练算法。LeCun在Rumelhart等人文章的基础上表明,通过反向传播的随机梯度下降对于训练CNN是有效的,这类模型扩展了neocognitron。
CNN在1990年代曾被大量使用,但随后随着SVM的兴起而逐渐过时。在2012年,Krizhevsky等人通过在ImageNet大规模视觉识别挑战赛(ILSVRC)上展示出更高的图像分类准确性,重新引起了人们对CNN的兴趣。他们的成功来自在120万张带标签图像上训练大型CNN,以及对LeCun CNN的一些变形。
R-CNN的实现过程
首先,为输入图像生成大约2000个类别独立的候选区域;
然后,用CNN从每个区域中提取出固定长度的特征向量;
最后,用特定类别的SVM对每个区域进行分类。
上图是对目标检测系统的一个概述。首先输入一个图像,然后提取大约2000个自底向上的候选区域,然后用一个大型的CNN为每个候选区域计算特征,最后用特定分类的线性SVM对这些区域进行分类。
R-CNN的具体设计
本篇论文的目标检测系统包括三个模块。 第一个生成类别独立的候选区域。 这些候选区域组成了检测器的候选检测集。 第二个模块是一个大型CNN,可从每个区域提取固定长度的特征向量。 第三个模块是一组特定类别的线性SVM。 接下来将对每个模块的设计进行介绍,包括说明其在测试时的用法,以及如何学习其参数。
1.候选区域
有许多文章提出生成类别独立的候选区域的方法,比如:
objectness
selective search
category-independent object proposals
constrained parametric min-cuts (CPMC)
multi-scale combinatorial grouping
Cires¸an(将CNN应用于规则间隔的方形作物来检测有丝分裂细胞,这是候选区域的特例)
R-CNN采用的方法是selective search</