英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料
Faster R-CNN:通过区域提议网络转向实时的对象检测
摘要
最先进的物体检测网络依靠区域提议算法来推测物体的位置。 SPPnet 和Fast R-CNN 等研究已经减少了这些检测网络的运行时间,使得区域提议计算成为一个瓶颈。在这项工作中,我们引入了一个区域提议网络(RPN),该网络与检测网络共享全图像卷积特征,从而实现了几乎免费的区域提案。 RPN是一个全卷积网络,可同时预测每个位置的对象边界和对象分数。对RPN进行端对端培训以生成高质量区域提案,Fast R-CNN将其用于检测。通过简单的交替优化,可以训练RPN和Fast R-CNN以共享卷积特征。对于非常深的VGG-16模型,我们的检测系统在GPU上的帧速率为5fps(包括所有步骤),同时在PASCAL VOC 2007上实现了最新的目标检测精度(73.2%mAP )和2012年(70.4%mAP),每个图片使用300个提案。
1.介绍
近期研究表明,区域建议方法(如[22])和区域卷积神经网络(R-CNNs)[6]的成功取决于实验结果。 尽管[6]中最初开发的基于区域的CNN的计算量很大,但由于在各种提案中共享卷积,所以其成本大幅降低[7,5]。 最新的版本Fast R-CNN [5]在使用各种深度网络的情况下实现了近乎实时的速度[19],而忽略了花在区域提案上的时间。 现在,提案是最先进的检测系统中的计算瓶颈。
区域建议方法通常依赖廉价功能和经济推断方案。 选择性搜索(SS)[22]是最流行的方法之一,它贪婪地合并基于工程低级特征的超级像素。 然而,与有效的检测网络[5]相比,选择性搜索的速度要慢一个数量级,在CPU实现中每个图像的速度为2s。 EdgeBoxes [24]目前提供了建议质量和速度之间的最佳平衡,每张图像的速度为0.2s。
基于大脑快速区域优化的GPU,在CPU上实现了研究中使用的区域提议方法,使这种运行时比较不公平。加速提案计算的一个显而易见的方法是将其重新实现为GPU。这可能是一个无效的工程解决方案,但是实现了对流检测网络,因此错过了共享计算的重要机会。
在本文中,我们展示了一个算法变化 - 深度网络计算提案 - 导致了一个优雅而有效的解决方案,其中提议计算几乎免费给定检测网络的计算。 为此,我们引入了新颖的区域提议网络(RPNs),它们共享具有最新对象检测网络的卷积层[7,5]。 通过在测试时间共享卷积,计算建议的最终成本很小(例如,10ms图像)。
我们的观察结果是基于区域的检测器使用的卷积(conv)特征映射,如Fast R-CNN,也可用于生成区域提议。 在这些conv特征之上,我们通过添加两个附加的conv层构建RPN:一个将每个conv地图位置编码成短的(例如,256-d)特征向量,另一个在每个conv地图位置输出一个对象 k区域提案相对于该位置的各种尺度和长宽比的得分和回归界限(k = 9是典型值)。
因此,我们的RPN是一种完全卷积网络(FCN)[14],并且它们可以专门用于生成检测建议任务的端到端训练。利用FastR-CNN [5]对象检测网络来实现RPNs,我们提出了一种简单的训练方案,该方案在区域提议任务的微调和对目标检测的微调之间交替进行,同时保持提议的固定。 该方案迅速收敛并产生具有在两个任务之间共享的conv特征的统一网络。
我们在PASCAL VOC检测基准[4]上评估了我们的方法,其中使用快速R-CNN的RPN产生的检测精度优于使用Fast R-CNN的强选择性搜索基线。 同时,我们的方法在测试时几乎免除了SS的所有计算负担 - 提议的有效运行时间仅为10毫秒。 使用[19]的昂贵的非常深的模型,我们的检测方法在GPU上仍然具有5fps的帧率(包括所有步骤),因此在速度和准确性方面是实用的物体检测系统(73.2%mAP on PASCAL VOC 2007和2012年的70.4%mAP)。
2.相关工作
几个最近的论文都提出了利用衰落网络来定位类别特定类别不可知的边界框[21,18,3,20]。 在OverFeat方法[18]中,完全连接(fc)层被训练来预测假设单个对象的本地化任务的框坐标。 然后将fc图层变成一个用于检测多个类特定对象的conv层。 MultiBox方法[3,20]从最后一个fc层同时预测用于R-CNN [6]对象检测的多个(例如800个)盒的网络生成区域提议。 他们的提案网络适用于单个图像多个大尺寸图像(如224times;224)[20]。 稍后在与我们的方法相关的背景下,我们讨论有关OverFeat和MultiBox将更加深入。
共有的卷积计算[18,7,2,5]已经越来越受到人们的关注,以便进行有效而精确的视觉识别。OverFeat论文[18]计算来自图像锥体的分类,定位和检测的conv特征。 基于区域的对象检测[7,16]和语义分割[2],提出了适应性地调整大小(SPP)[7]共享共享映射。 Fast R-CNN [5]能够对共享转换特征进行端到端检测器培训,并显示出令人信服的准确性和速度。
3.区域提案网络
一个区域提议网络(RPN)以任意大小的图像作为输入,输出一组矩形对象提议,每个提议都有一个对象评分。我们用完全卷积网络对这个过程进行建模[14],我们将在本节中进行描述。 由于我们使用快速R-CNN目标检测网络进行了多目标计算,我们假设这两个网络共享一组共同的conv层。 在我们的实验中,我们研究了Zeiler和Fergus模型[23](ZF),它具有5个可分享的通信层以及具有13个可共享的通信层的Sonyonyan和Zisserman模型[19](VGG)。
为了生成区域提案,我们在最后一个共享conv层输出的conv特征映射上滑动一个小型网络。该网络完全连接到输入conv的ntimes;n空间窗口featuremap。 每个窗口的窗口都映射到维度向量(VGG的256-dforZFand512-d)。 这个向量被送入两个兄弟完全连接的图层 - 一个盒子回归图层(reg)和一个盒子分类图层(cls)。 我们在本文中使用n = 3,注意到输入图像上的有效接收域很大(分别为ZF和VGG为171和228像素)。 这个小型网络只是单一的位置图1(左)。 注意到因为微型网络以滑动窗口方式运行,完全连接的层在所有空间位置共享。 这种体系结构自然实现为一个ntimes;n的conv层,然后是两个同胞1times;1的conv层(分别用于reg和cls)。 将ReLUs [15]应用于ntimes;n conv层的输出。
图1:左图:地区提案网络(RPN)。 正确:在PasCALVOC2007test上使用RPN建议的示例检测。 我们的方法可以检测出更多的尺度和宽度范围。
3.1平移不变性
在每个滑动窗口位置,我们同时预测k个区域提议,所以reg层具有编码k个盒子坐标的4k个输出。 cls层输出2k分数,用于估计每个提议的对象/非对象的概率.2 k个提议相对于k个参考框被参数化,被称为引导者。 每个锚定点位于所讨论的滑动窗口的中心,并与尺度和纵横比相关联。 我们使用3scales和3aspect比率,产生k = 9锚定位置。 对于大小为Wtimes;H(通常为〜2400)的conv特征映射,总共有wk锚。 我们的方法的一个重要特性是它是翻译不变的,无论是在锚点还是计算提议相对于锚点的函数方面。
作为比较,MultiBox方法[20]使用k-means生成800个锚点,这不是平移不变量。 如果在图像中翻译对象,则应该翻译提案,并且相同的功能应该能够在任一位置预测提案。 此外,由于MultiBox锚不是平移不变的,它需要一个(4 1)times;800维输出层,而我们需要一个(4 2)times;9维输出层。 我们的提议层具有较少数量的参数(使用GoogLeNet [20]的MultiBox为2700万,使用VGG-16的RPN为240万),因此在小数据集(例如PASCAL VOC)上过度拟合的风险较低。
3.2学习区域建议的损失函数
为了训练RPN,我们为每个锚点分配一个二进制类标签(作为一个对象或不是)。 我们给两种锚点分配一个正面的标签:(i)具有最高交点 - 交汇点(IoU)的锚点/锚点与地面实况框重叠,或者(ii)具有高于0.7的IoU重叠的锚点, 任何地面真理盒。 请注意,一个单一的地面实况框可能会指定多张船员的正面标签。 如果所有地面实况箱的IoU比率低于0.3,我们将负标签分配给阳性锚点。 Anchorsthatarene正面或负面不符合训练目标。
通过这些定义,我们将Fast RCNN [5]中的多任务丢失后的目标函数最小化。 我们对图像的损失函数被定义为:
其中x,y,w和h表示框中心,宽度和高度的两个坐标。 变量x,xa和x *分别针对预测框,锚点框和地面实况框(同样针对y,w,h)。 这可以被认为是从锚箱到附近的地面真值箱的边界框回归。
尽管如此,我们的方法通过与先前的基于特征映射的方法不同的方式实现了边界框回归[7,5]。 在[7,5]中,对从任意大小区域汇集的特征执行边界框回归,并且回归权重由所有区域大小共享。 在我们的公式中,用于回归的特征在特征地图上具有相同的空间大小(ntimes;n)。 为了说明不同的尺寸,学习一组k个边界框回归器。 每个回归者对于一个范围和一个方面都有责任心,而且k个回归者不分享权重。 因此,即使特征具有固定的尺寸/比例,仍然可以预测各种尺寸的箱子。
3.3优化
RPN是一种完全卷积网络[14],它可以被训练成端到端的传播和随机渐变(SGD)[12]。 我们遵循“以图像为中心”的取样策略[5]。 每个包含许多正面和负面锚点的小图像。 可以针对所有锚点的损失函数进行优化,但是由于它们占主导地位,这将偏向于负样本。 相反,我们在图像中随机采样256个锚点以计算小批量的损失函数,其中采样的正锚和负锚具有高达1:1的比率。 如果图像中少于128个正面样本,我们使用负面样本填充小型样本。
我们通过从标准偏差为0.01的零均值高斯分布中绘制权重来随机初始化所有新图层。 所有其他层(即共享的conv层)通过预训练ImageNet分类模型[17]进行初始化,如同标准实践[6]。 我们调整ZF网络的所有层,并将VGG网络转换为1并保存内存[5]。 对于60k小批量,我们使用0.001的学习率,PASCAL数据集中的下一个20k小批量使用0.0001。 我们也使用0.9的动量和0.0005的重量衰减[11]。 我们的实现使用Caffe [10]。
3.4共享区域建议和目标检测的卷积特征
到目前为止,我们已经描述了如何训练用于区域提案生成的网络,而不考虑将利用这些提议的基于区域的对象检测CNN。 对于检测网络,我们采用Fast R-CNN [5] 4,现在描述一种学习RPN和Fast R-CNN共享的conv层的算法。
独立训练的RPN和Fast R-CNN都将以不同的方式修改其conv层。 因此,我们需要开发一种技术,允许在两个网络之间共享转发层,而不是学习两个单独的网络。 请注意,这不像简单地定义包含RPN和Fast R-CNN的单个网络,然后与反向传播一起优化它一样简单。原因是Fast R-CNN培训取决于固定的对象建议,而且是如果学习Fast R-CNN,同时改变提案机制将不会收敛,则不能先验。 虽然这种联合优化对于未来的工作是一个有趣的问题,但我们开发了一个实用的4步训练算法,以通过交替优化来学习共享特征。
在这个步骤中,我们按照上面的描述训练RPN。 该网络初始化为图像网络预训练模型,并针对区域提议任务进行了端到端的调整。 在第二步中,我们使用Step-1RPN生成的方案,通过FastR-CNN对分离的网络进行了训练。 该检测网络也由ImageNet预先训练的模型初始化。 此时两个网络不共享转发层。 在第三步中,我们使用探测器网络来初始化RPN训练,但是我们只需要共享一个RPN训练,然后我们就可以共享一个RPN。现在这两个网络共享一个conv层。 最后,保持共享的转换层固定,我们调整Fast R-CNN的fc层。 因此,两个网络共享相同的conv层并形成一个统一的网络。
3.5实施细节
我们在单尺度图像上训练和测试区域建议和对象检测网络[7,5]。 我们重新缩放图像,使其短边为s = 600像素[5]。 多尺度特征提取可能会提高精度,但不会表现出良好的速度精度折衷[5]。 我们还注意到,对于ZF和VGG网络,最后一个conv层的总跨度在重新缩放的图像上是16个像素,因此在典型的PASCAL图像(〜500times;375)上是10个像素。 即使如此大的步幅也能提供良好的效果,但精确度可能会进一步提高,步幅更小。
对于锚点,我们使用3个比例,盒子面积分别为1282,2562和5122像素,以及3:1:1,1:2和2:1的高宽比。 我们注意到,我们的算法允许在预测大型提案时使用大于底层接受域的锚点框。 这样的预测并非不可能 - 如果只有对象的中间部分是可见的,仍然可以大致推断出对象的范围。 通过这种设计,我们的解决方案不需要多尺度的功能,而是通过多尺度的滑动窗口预测大区域,节省了大量的运行时间。 图1(右)显示了我们的方法在广泛的尺度和宽高比方面的能力。 下表显示了使用ZF网络的每个锚点的学习平均投标大小(s = 600的数字)。
跨越图像边界的锚箱需要小心处理。在训练期间,我们忽略了所有的跨界锚,所以他们不会造成损失。对于典型的1000times;600图像,总共有20k(asymp;60times;40times;9)锚点。 如果忽略跨界船锚,每个图像大约有6k个锚杆用于训练。 如果跨界异常值不被忽略,那么它们在目标中引入了大的,难以积累的,并且训练不会收敛。 然而,在测试过程中,我们仍然将全卷积RPN应用于整个图像。这可能会生成跨边界提案框,我们将其剪辑到图像边界。
一些RPN提案高度重叠。 为了减少冗余,我们在提案区域根据它们的cls分
全文共12767字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[17359],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。