您的位置:首页 > 理论基础 > 计算机网络

R-FCN:基于区域的全卷积网络目标检测

2018-12-16 16:43 459 查看

摘要

我们提出了一种基于区域的、完全卷积的目标检测方法.与以前的基于区域的检测器,如快速/更快的r-cnn[6,18]使用昂贵的每个区域子网络数百次不同,我们基于区域的检测器是完全卷积的,几乎所有的计算都在整个图像上共享。为了实现这一目标,我们提出了位置敏感的分数映射,以解决图像分类中的平移不变性与目标检测中的平移方差之间的两难困境。因此,我们的方法可以自然地采用完全卷积图像分类器的核心,如最新的残差网络(Resnet)[9],用于目标检测。我们用101层RESNET在Pascal voc数据集(例如,2007年的83.6%地图)上显示了竞争性结果。同时,我们的测试时间速度为170 ms/幅,比r-cnn速度快2.5~20×。代码可在以下网站公开查阅:https://github.com/daijifeng001/r-fcn

1引言

一个流行的用于对象检测的深层网络家族[8,6,18]可以按照感兴趣区域(ROI)池层[6]划分为两个子网络:(I)独立于ROI的共享的、“完全卷积的”子网络和(Ii)不共享计算的ROI分网络。这种分解[8]历史上是由诸如alexnet[10]和vgg网[23]等先驱分类体系结构造成的,它们按设计由两个子网络组成-一个以空间池层结尾的卷积子网,然后是几个完全连接的(FC)层。因此,图像分类网络中的(最后)空间池层自然转化为对象检测网络中的ROI池层[8,6,18]。

但是最近最先进的图像分类网络,如残差网(Resnet)[9]和googlenet[24,26],都是完全卷积的。类似地,在对象检测体系结构中,使用所有卷积层构造共享的卷积子网是很自然的,而不需要隐藏层。然而,正如本工作中的经验性调查所示,这一天真的解决方案的检测精度远远低于网络的优越分类精度。为了解决这一问题,在RESNET论文[9]中,速度较快的r-cnn检测器[18]的ROI池层不自然地插入在两组卷积层之间-这就产生了一个更深层次的ROI子网络,从而提高了精度,代价是由于未共享的每roi计算而降低了速度。

我们认为,上述非自然设计是由于增加图像分类的平移不变性与尊重目标检测的平移方差这一两难境地所致。一方面,图像级分类任务有利于图像内物体的平移不变性。因此,如ImageNet分类[9,24,26]上的主要结果所证明的那样,尽可能平移不变的深(完全)卷积结构是可取的。另一方面,目标检测任务需要在一定程度上具有平移变化的定位表示.例如,在候选框内翻译对象应该产生有意义的响应,以描述候选框与对象的重叠程度。我们假设图像分类网络中较深的卷积层对平移不太敏感。为了解决这一困境,RESNET文件的检测管道[9]将ROI池层插入到卷积中-这种特定于区域的操作破坏了平移不变性,而后ROI卷积层在跨不同区域评估时不再是平移不变的。然而,这种设计牺牲了训练和测试效率,因为它引入了相当多的按区域划分的层(表1)。 
                

图1:用于对象检测的R-FCN的关键思想。在这个例子中,有k×k=3×3位置敏感记分图,由完全卷积网络生成。对于roi中的每个k×k回收箱,池只在k2映射(标记为不同颜色)中的一个上执行。 

本文提出了一种基于区域的全卷积网络(R-FCN)目标检测框架.我们的网络由共享的、完全卷积的体系结构组成,就像FCN[15]一样。为了将翻译方差纳入FCN,我们使用一组专门的卷积层作为FCN输出,构造了一组位置敏感的评分图。这些分数图中的每一个对相对空间位置(例如,“在物体的左边”)的位置信息进行编码。在此FCN之上,我们附加了一个位置敏感的ROI池层,它从这些记分图中牧羊人信息,后面没有权重(卷积/fc)层。整个架构都是端到端学习的。所有可学习的层都是卷积的,在整个图像上是共享的,但对目标检测所需的空间信息进行编码。图1说明了关键思想,表1比较了基于区域的检测器之间的方法。 

以101层剩余网(RESNET-101)[9]为骨干,我们的R-FCN在Pascal voc 2007系列中获得了83.6%的MAP竞争力,比2012年的82.0%具有竞争力。同时,我们用RESNET-101测试时间速度达到170 ms,比[9]中速度更快的r-CNN RESNET-101要快2.5×20×。实验表明,我们的方法解决了平移中的不变性/方差之间的矛盾,并且可以有效地将像resnet这样的全卷积图像级分类器转换为全卷积目标检测器。代码可在以下网站公开查阅:https://github.com/daijifeng001/r-fcn.

2我们的方法

概览:继R-CNN[7]之后,我们采用了流行的两阶段目标检测策略[7,8,6,18,1,22],包括:(I)区域方案和(Ii)区域分类。虽然确实存在不依赖区域提案的方法(例如,[17,14]),但基于区域的系统在若干基准[5、13、20]上仍然具有领先的准确性。通过区域提议网络(RPN)[18]提取候选区域,它本身就是一个完全卷积的体系结构。在[18]之后,我们共享RPN和R-FCN之间的特性。图2显示了系统的概述 。

                      

图2:R-FCN的总体架构。区域提案网络(RPN)[18]提出候选ROI,然后将其应用于分数映射。所有可学习的重量层都是卷积的,并且是在整个图像上计算的;每roi的计算成本是可以忽略不计的。

给定建议区域(ROIS),R-FCN体系结构被设计成将ROI划分为对象类别和背景。在R-FCN中,所有可学习的权重层都是卷积的,并在整个图像上进行计算.最后一卷积层为每个类别生成一组k2位置敏感的分数映射,因此具有一个具有c对象类别(1作为背景)的k2(C1)通道输出层。k2得分图组对应于描述相对位置的k×k空间网格。例如,在k×k=3×3的情况下,9个分数映射编码了对象类别的{左上角、上中心、右上、.、右下角}的情况。 

R-FCN以位置敏感的ROI池层结束。该层聚合最后一个卷积层的输出,并为每个ROI生成分数。与[8,6]不同,我们的位置敏感ROI层进行选择性池,每个k×kbin只从k×k记分映射库中的一个得分图中聚合响应。通过端到端的训练,这个ROI层指导最后一个卷积层来学习特殊位置敏感的分数图.图1说明了这个想法。图3和图4可视化了一个示例。详细介绍如下。 

骨干建筑本文中的r-FCN是基于RESNET-101[9]的,虽然其他网络[10,23]是适用的。RESNET-101有100个卷积层,其次是全球平均池和1000级FC层.我们去除了平均池层和FC层,只使用卷积层来计算特征映射。我们使用[9]作者发布的RESNET-101,对ImageNet[20]进行预培训。RESNET-101中的最后一个卷积块是2048-d,我们附加了一个随机初始化的1024-d1×1卷积层来减小维数(准确地说,这增加了表1中的深度1)。然后应用k2(C1)-通道卷积层生成记分图。 

位置敏感的记分图和位置敏感的ROI池:为了将位置信息显式地编码到每个ROI中,我们将每个ROI矩形划分成一个规则的网格,并将其划分为k×k个桶。对于尺寸为w×h的Ri矩形,桶的大小为≈wk×hk[8,6]。在我们的方法中,构造了最后一个卷积层,为每个类别生成k2记分图。在(i,j)-th bin(0≤i,j≤k−1)中,我们定义了一个位置敏感的ROI池操作,该操作仅在(i,j)-th得分图上池: 

                       

这里rc(i,j)是c-类别的(i,j)-th bin中的集合响应,zi,j,c是k2(C1)记分图中的一个得分映射,(x0,y0)表示roi的左上角,n表示回收站中的像素数,θ表示网络的所有可学习参数。(i,j)-th bin跨B_w_k_c≤x。

对k2位置敏感的分数,然后在ROI上投票.在本文中,我们简单地通过平均分数来投票,为每个roi生成一个(C1)维向量:rc(θ)=pi,jrc(i,j_x_θ)。然后计算不同类别的软件响应:SC(θ)=e RC(θ)/pc_0=0 e rc_0(θ)。它们用于评估训练过程中的交叉熵损失,并在推理过程中对ROI进行排序。

我们以类似的方式进一步讨论了包围框回归[7,6]。除了上述k_2(C_1)-d卷积层外,我们还附加了一个4k2-d卷积层,用于包围盒回归。位置敏感的ROI池在这组4k2地图上执行,为每个ROI生成一个4k2d矢量。然后通过平均投票将其聚合成一个四维向量.这个四维向量在[6]中参数化后,将包围盒参数化为t=(tx,ty,tw,th).我们注意到,为了简单起见,我们执行与类无关的边界盒回归,但是类特定的对应项(即4k2c-d输出层)是适用的。 

位置敏感评分图的概念部分是由[3]提出的,它发展了fcns,例如,级别的语义分割。我们进一步介绍了位置敏感的ROI池层,用于牧羊人学习目标检测的分数图。在roi层之后没有可学习的层,可以实现几乎无成本的区域分区域计算,并加快了训练和推理的速度。

训练:有了预先计算的区域建议,就很容易对r-fcn体系结构进行端到端的培训.在[6]中,我们定义的损失函数是交叉熵损失和盒回归损失的总和:l(s,tx,y,w,h)=lcls(sc∗)λ[c∗>0]lreg(t,t∗)。这里,c∗是roi的基本真理标签(c∗=0表示背景)。LCLS(sc∗)=−log(sc∗)是分类的交叉熵损失,lreg是文献[6]中定义的界盒回归损失,t∗表示地面真值盒。[C∗>0]是一个指示符,如果参数为真,则等于1,否则等于0。我们将平衡权λ=1设为[6]。我们将正示例定义为与至少0.5的地面真相框重叠的ROI,否则为负的。

在训练过程中,采用在线硬实例挖掘(OHEM)[22]是一种简单的方法。我们的可忽略的每roi计算可以实现几乎免费的示例挖掘。假设每个图像有n个提案,在前一关中,我们评估所有n个提案的损失。然后,我们根据损失对所有的玫瑰(正和负)进行排序,并选择损失最高的b玫瑰花。基于所选示例执行反向传播[11]。由于我们的计算量可以 20000 忽略不计,所以前向时间几乎不受n的影响,与[22]中的快速r-cnn相比,这可能使训练时间增加一倍。我们在下一节的表3中提供了全面的时间统计数据。

我们使用的重量衰减为0.0005,动量为0.9。默认情况下,我们使用单尺度训练:对图像进行调整,使比例尺(图像的较短部分)为600像素[6,18]。每个GPU持有1个图像,并选择b=128 rois作为后备。我们用8个GPU来训练模型(因此有效的小批量大小为8×)。我们微调r-fcn使用的学习率为0.001对于20k迷你批次和0.0001对于10k迷你批次在vc上。为了使rfcn与rpn具有相同的特性(图2),我们在[18]中采用了4步交替训练3,在训练rpn和训练rfcn之间交替进行。

推论:如图2所示,RPN和R-FCN之间共享的特征映射是计算出来的(在一个规模为600的图像上)。然后,RPN部分提出ROIS,在此ROIS上,r-FCN部分评估按类别划分的分数,并对边框进行回归。在推理过程中,我们评估了300 rois,如[18]所示,以进行公平比较。结果经非最大抑制(Nms)后处理,阈值为0.3 IOU[7],作为标准做法。

步履蹒跚:我们的完全卷积结构享受网络修改的好处,这些修改被fcns广泛用于语义分割[15,2]。特别是,我们将RESNET-101的有效步幅从32像素减少到16像素,从而提高了分数地图分辨率。在凸4级[9](大步=16)之前和上的所有层不变;第一凸5块中的步长=2运算被修改为有步长=1,而卷积5级上的所有卷积滤波器都被“孔算法”[15,2](“算法”[16])修改,以补偿减小的步幅。为了进行公平的比较,RPN是在凸4阶段(与r-fcn共享)的顶部计算的,就像在[9]中使用更快的r-cnn那样,因此rpn不受-trous技巧的影响。下表显示了R-FCN的烧蚀结果(k×k=7×7,没有硬例子开采)。这一技巧提高了地图2.6点。

                                   

   

可视化。在图3和图4中,我们可视化了r-fcn在k×k=3×3时学到的位置敏感分数图。这些专门的地图预计会在物体的特定相对位置被强烈激活。例如,“最中点敏感”得分图显示的分数很高,大致接近物体的顶部中心位置。如果候选框精确地与一个真实的对象重叠(图3),则ROI中的大部分k2回收箱都会被强烈激活,它们的投票结果会导致高分。相反,如果候选框不正确地与真实对象重叠(图4),则ROI中的一些k2回收箱没有激活,投票分数也很低。

3相关工作

R-CNN[7]已经证明了在深度网络中使用区域提案[27,28]的有效性.r-cnn评估裁剪和翘曲区域上的卷积网络,计算在各区域之间不共享(表1)。sppnet[8]、快速r-cnn[6]和更快的r-cnn[18]是“半卷积”,其中卷积子网络对整个图像执行共享计算,而另一个子网络则评估单个区域。

有一些物体探测器可以被认为是“完全卷积”模型。[21]通过在共享卷积特征映射上滑动多尺度窗口来检测目标;同样,在快速r-cnn[6]和[12]中,研究了替代区域建议的滑动窗口。在这种情况下,一个人可以重铸一个单一尺度的滑动窗口为一个单一的卷积层。RPN分量在更快的r-cnn[18]是一个完全卷积检测器,预测包围盒相对于多个大小的参考盒(锚)。在[18]中,原始的RPN是不可知的,但是它的类特定的对应项是适用的(也请参阅[14]),我们在以下中进行了评估。 

另一类对象检测器采用完全连接(Fc)层来在整个图像上产生整体的对象检测结果,例如[25,4,17]。

4 实验

4.1在PASCAL VOC上的实验我们在有20个对象类别的Pascal voc[5]上进行实验。我们根据[6]对voc 2007 trainval和voc 2012 trainval(“07 12”)的联合集合进行了模型训练,并在voc 2007测试集上进行了评估。目标检测精度由平均精度(MAP)测量。通过与其它全卷积检测器的比较,实验表明,与其它的完全卷积策略相比,它们获得了较好的精度。我们研究了以下完全卷积策略(或“几乎”完全卷积策略,每个ROI只有一个分类器层FC层),使用RESNET-101:天真的更快的r-CNN。正如在介绍中讨论的那样,可以使用RESNET-101中的所有卷积层来计算共享的特征映射,并在最后一个卷积层之后(在卷积5之后)采用ROI池。一个廉价的21级FC层在每个ROI上被评估(因此这个变体是“几乎”完全卷积的)。这种诡计被用来进行公平的比较。特定类别的RPN。该RPN是按照[18]训练的,除了2类(对象或非)卷积分类器层被替换为21类卷积分类器层之外。为了进行公平的比较,对于这个特定于类的RPN,我们使用了RESNET-101的凸5层,并使用了Ttrous技巧。没有位置敏感性的R-FCN。通过设置k=1,我们消除了r-fcn的位置敏感性.这相当于每个ROI中的全局池。分析。表2显示了结果。我们注意到,RESNET论文[9]中的标准(不是天真的)更快的r-cnn与RESNET-101实现了76.4%的MAP(另见表3),其中插入了凸集4和卷积5[9]之间的ROI池层。作为一个比较,天真的更快的r-cnn(在conf 5之后应用roi池)的地图大大降低了68.9%(表2)。这种比较在经验性上证明了尊重空间信息的重要性,即在层间插入ROI池,以提高r-cnn系统的速度。[19]报告了类似的意见。特定类别的rpn地图为67.6%(表2),比标准的r-cnn的76.4%低约9个百分点。这种比较与[6,12]中的观察结果一致-事实上,类特定的rpn类似于一种特殊形式的快速r-cnn[6],它使用密集滑动窗口作为建议,显示了[6,12]中所报告的劣质结果。另一方面,我们的R-FCN系统具有明显的精度(表2).其地图(76.6%)与标准的R-CNN(76.4%,表3)持平.这些结果表明,我们的位置敏感策略能够成功地编码有用的空间信息来定位对象,而无需在ROI池之后使用任何可学习的层。 

                   

通过设置k=1进一步证明了位置敏感性的重要性,对此,r-fcn不能收敛.在这种退化的情况下,不能在ROI中显式地捕获任何空间信息。此外,我们报告说,如果ROI池输出分辨率为1×1,则天真更快的r-cnn能够收敛,但地图进一步大幅下降,降至61.7%(表2)。接下来,我们将与使用RESNET-101更快的r-cnn进行比较,并与标准的“更快的r-CNN RESNET-101”[9]进行比较,后者是Pascal voc、Coco女士和ImageNet基准测试中最强的竞争对手和表现最好的竞争者。下面使用k×k=7×7。表3显示了比较结果。更快的r-cnn评估每个区域的10层子网络以获得良好的精度,但rfcn每个区域的成本可以忽略不计。随着300 rois在测试时间,更快的r-CNN采取0.42s每幅图像,2.5×比我们的r-FCN的0.17s每张图像(在一个K40 GPU;这个数字是0.11s在泰坦x GPU)。r-fcn的训练速度也比r-cnn快.此外,硬示例挖掘[22]没有增加r-FCN培训的费用(表3)。在2000年ROIS的开采中训练R-FCN是可行的,在这种情况下,RCNN的速度是6×慢速(2.9s比0.46s)。但实验表明,从更多候选人(例如,2000年)中挖掘没有好处(表3)。因此,在本文的其他部分中,我们使用300 rois进行训练和推理。表4显示了更多的比较。在[8]中的多尺度训练之后,我们在每次训练迭代中调整图像的大小,使尺度从{400,500,600,700,800}像素随机抽样。我们仍然测试一个600像素的单比例尺,所以不增加测试时间成本.MAP为80.5%。此外,我们还在Ms coco[13]trainval集上训练我们的模型,然后在Pascal voc集上微调它。R-FCN实现了83.6%的MAP(表4),接近于[9]中使用RESNET-101的“更快的R-CNN”系统。我们注意到,我们的竞争结果是以每幅图像0.17秒的测试速度获得的,比速度更快的r-cnn快20×10,后者需要3.36秒,因为它进一步结合了迭代盒回归、上下文和多尺度测试[9]。这些比较也在Pascal voc 2012测试集上观察到(表5)。

      

4.2在Ms coco上的实验,接下来我们在包含80个对象类别的ms coco数据集[13]上进行评估。我们的实验包括80k列车组、40K Val组和20K测试开发集。我们将90k迭代的学习速率设为0.001,对于接下来的30k迭代,我们将学习速率设置为0.0001,有效的小批量大小为8。我们将交替训练[18]从4步扩展到5步(即在再进行一次RPN训练后停止),这在特征共享时稍微提高了该数据集的准确性;我们还报告说,两步训练足以获得相当好的精度,但特征不是共享的。结果见表6。我们的单尺度训练的r-fcn基线的Val值为48.9%/27.6%.这与更快的r-cnn基线(48.4%/27.2%)相当,但我们的测试速度为2.5×快。值得注意的是,我们的方法在小尺寸的对象(由[13]定义)上表现得更好。我们的多尺度训练(但单尺度测试)r-fcn在Val集上的结果为49.1%/27.8%,在测试开发集上为51.5%/29.2%。考虑到COCO的广泛对象尺度,我们进一步评价了[9]中的多尺度测试变体,并使用了{200,400,600,800,1000}的测试量表。MAP为53.2%/31.5%。这一结果接近2015年可可小姐大赛的第一名结果(更快的r-cnn和RESNET-101,55.7%/34.9%)。尽管如此,我们的方法更简单,没有添加诸如[9]使用的上下文或迭代框回归之类的花哨,而且用于培训和测试都更快。 

      

5结论和今后的工作 

我们提出了一种基于区域的全卷积网络,这是一种简单、准确、高效的目标检测框架.我们的系统自然采用了最先进的图像分类核心,如重新网,这是通过设计完全卷积。我们的方法与速度较快的r-cnn方法相比,获得了较高的精度,但在训练和推理过程中都要快得多。 

我们有意使本文中提出的r-fcn系统保持简单。已有一系列用于语义分割的fcns正交扩展(例如,参见[2]),以及基于区域的对象检测方法的扩展(例如,见[9,1,22])。我们期望我们的系统能够很容易地享受到实地进展带来的好处。 

                                    

                                     

References [1] S. Bell, C. L. Zitnick, K. Bala, and R. Girshick. Inside-outside net: Detecting objects in context with skip pooling and recurrent neural networks. In CVPR, 2016. [2] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Semantic image segmentation with deep convolutional nets and fully connected crfs. In ICLR, 2015. [3] J. Dai, K. He, Y. Li, S. Ren, and J. Sun. Instance-sensitive fully convolutional networks. arXiv:1603.08678, 2016. [4] D. Erhan, C. Szegedy, A. Toshev, and D. Anguelov. Scalable object detection using deep neural networks. In CVPR, 2014. [5] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes (VOC) Challenge. IJCV, 2010.[6] R. Girshick. Fast R-CNN. In ICCV, 2015. [7] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014. [8] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV. 2014. [9] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016. [10] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012. [11] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Backpropagation applied to handwritten zip code recognition. Neural computation, 1989. [12] K. Lenc and A. Vedaldi. R-CNN minus R. In BMVC, 2015. [13] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollár, and C. L. Zitnick. Microsoft COCO: Common objects in context. In ECCV, 2014.[14] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. Reed. SSD: Single shot multibox detector. arXiv:1512.02325v2, 2015. [15] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015. [16] S. Mallat. A wavelet tour of signal processing. Academic press, 1999. [17] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi. You only look once: Unified, real-time object detection. In CVPR, 2016. [18] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015. [19] S. Ren, K. He, R. Girshick, X. Zhang, and J. Sun. Object detection networks on convolutional feature maps. arXiv:1504.06066, 2015. [20] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. IJCV, 2015. [21] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014. [22] A. Shrivastava, A. Gupta, and R. Girshick. Training region-based object detectors with online hard example mining. In CVPR, 2016. [23] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015. [24] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, and A. Rabinovich. Going deeper with convolutions. In CVPR, 2015. [25] C. Szegedy, A. Toshev, and D. Erhan. Deep neural networks for object detection. In NIPS, 2013. [26] C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna. Rethinking the inception architecture for computer vision. In CVPR, 2016. [27] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 2013. [28] C. L. Zitnick and P. Dollár. Edge boxes: Locating object proposals from edges. In ECCV, 2014.

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: