登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 机械机电类 > 测控技术与仪器 > 正文

Fast R-CNN外文翻译资料

 2021-12-23 22:45:02  

英语原文共 9 页

Fast R-CNN

摘要

本文提出了一种基于区域的快速卷积神经网络(Fast R-CNN)用于物体检测。Fast R-CNN建立在以前的研究基础上,使用深度卷积网络有效地对物体进行分类。与以前的工作相比,Fast R-CNN进行了几个创新来提高训练和测试速度,同时也提高了检测准确率。Fast R-CNN训练非常深的VGG16网络的速度比R-CNN快9倍,测试速度则比R-CNN快213倍,并在2012年的PASCAL VOC上实现更高的mAP。与SPPnet相比,Fast R-CNN训练VGG16的速度是SPPNet的3倍 ,测试速度提高了10倍,并且准确率更高。Fast R-CNN用Python和C 实现(使用Caffe)。

  1. 简介

最近,深层的卷积网络显著地改善了图像分类和物体检测的准确度。 与图像分类相比,物体检测是一项更具挑战性的任务,需要更复杂的方法解决。 鉴于这种复杂性,目前多阶段训练模型的方法缓慢而艰难。

困难产生的原因是因为物体检测需要物体准确的位置,建立2个基本的通道。首先,大量的候选坐标需要被提取,然后,这些候选位置只能提供物体大概的坐标,这些坐标需要被修正以获得准确的位置。解决这些问题往往要在速度、准确率、复杂度之间做出折中。

在本文中,我们简化了最先进的基于卷积神经网络的物体检测器的训练过程。我们提出了一个单阶段训练算法,将对物体进行分类和修正其空间位置结合起来。

我们用这个方法训练了一个非常深的检测网络(VGG16),速度比R-CNN快9倍,比SPPNet快3倍。运行时,一张图片的检测时间只需0.3秒(包含物体建议的时间),并且它拥有66%的mAP还在PASCAL VOC 2012达到了最高的准确率。

    1. R-CNN和SPPNet

R-CNN通过一个深层的卷积网络来分类物体,达到了一个很高的准确率。然而,R-CNN也有一些值得注意的缺点:

1.训练是一个多阶段的过程。R-CNN首先通过log损失调整区域建议的卷积网络,然后使SVM熟悉卷积特征。这些SVM就像对象检测器,通过预先训练好的模型就可取代softmax分类器。

2.训练非常耗时间和空间。对于SVM和边框回归训练,从每张图片的每个对象建议中提取的特征写入磁盘。通过非常深的网络,比如VGG16,这个过程耗费GPU2.5天的时间来处理VOC07上的5000张图片。这些特征需要数千亿字节的存储空间。

3.物体检测速度很慢。在测试的时候,特征需要从每张图片的每个对象建议中提取,用VGG16测试每张图片需要47秒(在GPU上)。

R-CNN速度很慢,因为它对每个对象建议执行卷积前向传播,而不共享计算。空间金字塔汇集网络(SPPnets)是通过共享计算来加速R-CNN。SPPnet方法计算整个输入图片的卷积特征图,然后通过共享的特征图中提取的特征向量对每个对象建议进行分类。特征通过最大值池化提取用于建议,建议里的特征图大小被固定大小的输出(例如,6times;6)。多种输出尺寸大小被池化,并把空间金字塔池化层联系起来。 SPPnet在测试时将R-CNN加速10到100倍。 由于更快的特征建议提取速度,训练时间也缩短了3倍。

SPPnet也有明显的缺点。 像R-CNN一样,训练是一个多阶段的通道,包括提取特征,通过log损失微调网络,训练SVM,最后调整边界框回归量。特征也写入磁盘。但与R-CNN不同的是,微调算法在无法更新的卷积层提出了加速SPP。不出意外地,这种限制(固定的卷积层)阻碍了非常深的网络的准确性。

1.2.贡献

我们提出了一个新的训练算法来改进R-CNN和SPPNet的缺陷,提高了它们的准确率和速度。我们称之为Fast R-CNN,因为它在训练和测试的时候速度明显变快,Fast R-CNN有几个优点:

  1. 比R-CNN和SPPNet更好的检测质量(mAP)
  2. 用一个多任务的损失函数,使训练为单阶段。
  3. 训练能更新所有的网络层。
  4. 特征不需要再存入硬盘。

Fast R-CNN用python和C 编写(Caffe),可以开源的MIT通行证获得。

  1. Fast R-CNN的构建和训练

图1说明了Fast R-CNN的结构。一个Fast R-CNN网络将整个图像和对象建议集合作为输入。这个网络首先将整个图片放入几个卷积层和最大值池化层以生成卷积特征图。然后,对于每个对象建议,感兴趣的区域(RoI)池化层从特征图中提取出固定长度的特征向量。每个特征向量被反馈送到全连接层中,最终分支成两个输出的层:一个产生K个对象类和各种“背景”的softmax测试概率估计值,另一层输出关于每个对象的四个实值数字。这4个值数字表明了K类物体中某一类物体的边界位置。

    1. RoI池化层

RoI池化层使用最大值池化将任何有效的感兴趣区域内的特征转换成一个具有固定空间范围Htimes;W(例如,7times;7)的小特征图,其中H和W是层超参数,与所有特定的RoI独立。在本文中,RoI是一个矩形窗口转换为特征图的过程。每个RoI都是由4个元组表示(r,c,h,w),确定了左上角(r,c)及其高度和宽度(h,w)。输入图像和多个感兴趣区域(RoI)输入到完全卷积网络中。 每个RoI都汇集到一个固定大小的特征图中,然后通过全连接层(FC)映射到特征向量。每个RoI网络有两个输出向量:softmax概率和每类边界框回归偏移。 这个架构是通过多任务损失训练的端到端网络。

RoI最大值池化通过将htimes;w 的RoI窗口划分为 Htimes;W个子窗口,每个子窗口的平均大小为h / Htimes;w / W,然后最大值池化子窗口到相应的输出单元格。池化独立应用于每个特征图通道,与标准最大值池化中一样。RoI层就是SPPNet中空间金字塔池化层只有一个算法等级的特殊情况。我们使用给出的池化子窗口计算。

    1. 从预先训练的网络初始化

我们尝试了三个预先训练过的ImageNet 网络工作,每个有五个最值大池化层和和十三个卷积层。 当预先训练的网络初始化Fast R-CNN网络时,它经历了三次转换。

首先,最后的最大值池化层被RoI池化层代替,RoI池化层由H和W确定,它和网络的第一个全连接层相容(比如在VGG16中H=W=7)。

其次,网络的最后一个全连接层和softmax层(经过1000类ImageNet的分类训练)被之前所介绍的两个层所取代(超过K 1类别和的边界框回归分类的全连接层和softmax)。

最后,这个网络被调整为两个数据输入,一个为图像数据,另一个为这个图像的RoI区域数据。

    1. 测试微调

使用反向传播训练所有网络权重是Fast R-CNN的重要能力。首先,让我们讨论一下为什么SPPnet无法更新金字塔池化层以下的权重,其根本原因是通过SPP层的反向传播训练来自不同图片的每个样本(即RoI),效率非常低,这是R-CNN和SPPnet网络都要经过的训练。低效率源于每个RoI都有非常大的感受野,通常跨越整个输入图像。既然前进通道必须处理整个感受野,所以训练输入量很大(通常是整个图像)。

我们提出了一种更有效的训练方法能在训练期间发挥共享特征的优势。在Fast R-CNN训练中,小批量随机梯度下降(SGD)是分层采样,首先采样N张图片,然后通过从每个图像采样R / N个 RoI。重要的是,来自同一图像的RoI共享计算和前向和后向的数据。使N减少小批量计算。例如,当使N = 2和R = 12时,建议的训练时间比从128个不同的图像进行RoI采样(即R-CNN和SPPnet策略)快约64倍。

对这一方法的一个担忧是它可能会导致训练聚集,因为来自同一图像的RoI是相关的。这种担忧在实际操作中并没有出现,因为我们在N = 2和R = 128时获得了良好的结果,使用比R-CNN更少的SGD迭代。

除了分层采样,Fast R-CNN使用一个联合优化的softmax分类器和边界框回归的微调阶段简化了训练流程,而不是分三个阶段分别训练softmax分类器,SVM,和回归边框。 此过程的组成(损失函数,小批量采样策略,通过RoI层的反向传播和SGD超参数)如下所述。

多任务损失。 Fast R-CNN网络有两个输出层。第一个输出离散概率分布(每个RoI),p =(p 0,...,p K),超过K 1类别。像之前一样,p由softmax计算,通过全连接层的k 1个输出计算。 第二层输出边界框回归偏移,t =(t, t,t,t,),对每个K类对象,用k索引。我们对给出的t进行参数化,其中t,指定一个和对象建议有关的尺度不变的平移和对数空间高度/宽度偏移。

每个训练的RoI都用参考类u和一个参考的边界框回归目标v标注。我们
在每个标记的RoI上使用多任务损失L来联合训练用于分类和边界框回归:

L(p,u,t,v)=L(p,u) lambda;[u≧1]L(t,v), (1)

其中L(p,u)=-log p是正u类的log损失。

第二个任务损失L是根据正确的u类回归边框目标的元组定义的,v=(v,v,u,u),预测元组t=(t, t,t,t,),也是对u类而言。艾弗森支架指示功能[uge;1]当uge;1时,评估为1,否则评估为0。通过约定,所有的背景类标记为u = 0。对于背景RoI而言,没有任何参照的边框回归模型,因此L被忽略。为了边框回归,我们用损失函数

L(t,v)=smooth(t-v) (2)

其中

smooth=0.5x 如果|x|lt;1 (3)

=|x|-0.5 其他

是一个鲁棒的L损失,对异常值的敏感度低于R-CNN和SPPnet中的L损失。 回归时目标是无限制的,L损失训练可能需要对学习率仔细调整以防止梯度爆炸。 式3消除了这种敏感性。

式1中的超参数lambda;控制两个任务损失之间的平衡。我们使参照标注正常化
是v i具有零均值和单位方差,所有实验都使用lambda;= 1。

我们注意到[6]使用相关损失来训练与类无关的对象建议网络。与我们的方法不同,[6]提出了一种将本地化和分类分开的双网络系统。OverFeat [19],R-CNN[9],SPPnet [11]也训练分类器和边界框定位器,但这些方法使用阶段性训练,这些对于Fast R-CNN来说是次优的(第5.1节)。

小批量采样。 在微调期间,每个SGD小批量由N = 2个图像构成,随机均匀选择(通常的做法是,我们实际上迭代数据集的排列)。我们使用大小R = 128的小小批量,从每个图像中采样64个RoI。 如在[9]中,我们从对象建议中获取了25%的RoI,与参照标准的联合交叉(IoU)至少为0.5。这些RoI包括标有前景对象类的例子,即uge;1。根据[11]其余的RoI是从对象建议中采样的,这些对象建议与参照标准在区间[0.1,0.5]内具有最大IoU。 这些是背景样本并用u = 0标记。0.1的下限阈值似乎充当了硬实例挖掘的启发式算法[8]。在训练期间,图像被水平翻转概率为0.5。 没有使用其他数据扩充。

通过RoI池层反向传播。反向传播途径通过RoI池化层衍生。说的明白点,我们假设每个小批量只有一个图像(N = 1),但Ngt; 1的扩展是直截了当的因为前向传递独立地处理所有图像。

SGD超参数。 用于softmax分类和边界框回归的全连接层是从零均值高斯分布初始化的,标准偏差分别为0.01和0.001。偏差初始化为0,所有图层使用的每层对权重学习率权重为1,对偏差的学习率为2,全局学习率为0.001。在VOC07或VOC12训练时,我们运行SGD对30k数据进行小批量迭代,然后降低学习率到0.0001并训练另外10k次迭代。 当我们在更大的数据集上训练是,我们运行SGD进行更多迭代,如后所述。动量为0.9且按0.0005参数衰减(基于重量和偏差)。

    1. 尺度不变性

我们探索了实现尺度不变对象检测的两种方法:(1)通过“强力”学习和(2)使用图像金字塔。 这些策略遵循[11]中的两种方法。在粗暴的方法中,每个图像在训练期间以预定义的像素大小处理和测试。 网络必须从数据集中直接学习对尺度不变物体的检测。

相反,多尺度方法通过图像金字塔提供对网络的近似尺度不变性。在测试时,图像金字塔用于将每个对象建议区域进行缩放标准化。遵循[11],在多

资料编号:[3757]

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图