RefineDet翻译版

论文:Single-Shot Refinement Neural Network for Object Detection 
论文链接:https://arxiv.org/abs/1711.06897 
代码链接:https://github.com/sfzhang15/RefineDet

Abstract

   对于物体检测,两阶段方法(例如,Faster R-CNN)已达到最高的精度,一阶段方法(例如SSD)具有高效率的优势。 为了继承两者的优点,同时克服它们的缺点,在本文中,我们提出了一种新的基于单阶段的检测器,称为RefineDet,它比两阶段方法获得更好的精度,并保持一阶段方法相当的效率。Re-fineDet由两个相互连接的模块组成,即anchor细化模块( anchor refinement module)和目标检测模块( object detection module)。具体地,前者旨在(1)过滤掉负锚点以减少分类器的搜索空间,以及(2)粗略地调整锚的位置和大小以为后续回归器提供更好的初始化。 后一模块将精细锚点作为前者的输入,以进一步改进回归并预测多类别标签。同时,我们设计了一个传输连接块来传输锚点细化模块中的特征,以预测对象检测模块中对象的位置,大小和类别标签。多任务损失函数使我们能够以端到端方式训练整个网络。 Extensive experiments on PASCAL VOC 2007, PASCAL VOC 2012, and MS COCO demonstrate that RefineDet achieves state-of-the-art detection accuracy with high efficiency. Code is available at https: //github.com/sfzhang15/RefineDet.

1.Introduction

   在深度神经网络(DNN)框架下,目标检测技术近年来取得了显著的进展。目前最先进的DNN探测器可分为两类:(1)两级方法,包括[3,15,36,41];(2)单级方法,包括[30,35]。在两阶段方法中,首先生成一组稀疏的候选对象框,然后对它们进行分类和回归。两阶段方法已经在多个具有挑战性的数据集测试中取得了优异的成绩,包括PASCAL VOC[8]和MS COCO[29]。

   单阶段方法通过在位置、尺度和纵横比上定期密集采样来检测目标。其主要优点是计算效率高。然而,其检测精度往往落后于两阶段方法,主要原因之一是[28]存在类不平衡问题[28]。

  近年来,一些单阶段方法旨在解决类不平衡问题,提高检测精度。Kong等人的[24]使用卷积特征映射的对象优先约束来显著减少对象的搜索空间。Lin等人通过重塑标准交叉熵损失来解决阶级不平衡问题,将训练集中在稀疏的一组硬例子上,并将损失降权为签名为分类良好的例子。Zhang等人设计了一种最大输出标记机制,以减少由于类不平衡导致的误报。

  在我们看来,目前最先进的两阶段方法,例如,Faster R-CNN [36],R-FCN [5]和FPN [27],比一阶段方法有三个优势具体如下:(1)采用两阶段结构,采样启发式处理类不平衡;(2)采用两步级联反演对象框参数; (3)使用两阶段特征来描述对象。在这项工作中,我们设计了一种新的物体检测框架,称为RefineDet,以继承两种方法(即一阶段和两阶段方法)的优点并克服它们的缺点。它通过使用两个互连模块(参见图1),即anchor调整模块(ARM)和对象检测模块(ODM),改进了单级方法的体系结构。具体而言,ARM旨在(1)识别和移除负锚以减少分类器的搜索空间,以及(2)粗略调整锚定点的位置和大小,为后续回归器提供更好的初始化。 ODM将重新定义的锚作为前者的输入,以进一步改进回归并预测多类标签。如图1所示,这两个相互连接的模块模仿两级结构,因此继承了上述三个优点,以产生高效率的精确检测结果。此外,我们设计了一个传输连接块(TCB)来传输ARM中的features,以预测ODM中对象的位置,大小和类标签。多任务损失函数使我们能够以端到端的方式训练整个网络。

  PASCAL VOC 2007,PASCAL VOC 2012和MS COCO基准测试的广泛实验表明,RefineDet优于最先进的方法。 具体而言,使用VGG-16网络,它在VOC 2007和2012上实现了85.8%和86.8%的mAP。 同时,它通过使用ResNet-101在MS COCO test-dev上实现41.8%的AP4,优于单阶段和两阶段方法的先前最佳公布结果。 此外,RefineDet具有时间效率,即在NVIDIA Titan X GPU上以40.2 FPS和24.1 FPS运行,输入尺寸为320×320和512×512推理.

  这项工作的主要贡献概括如下。 (1)我们引入了一个新颖的一阶段物体检测框架,由两个相互连接的模块组成,即ARM和ODM。这导致性能优于两阶段方法,同时保持一个方面的高效率 -  阶段方法。 (2)为了确保有效性,我们设计TCB以转移ARM中的功能以处理更具挑战性的任务,即在ODM中预测准确的对象位置,大小和类别标签。 (3)Re fi neDet在通用物体检测方面取得了最新的最新成果(即PASCAL VOC 2007 [10],PASCAL VOC 2012 [11]和MS COCO [29])。

2.相关工作

经典目标探测器。早期的物体检测方法基于滑动窗口范例,它将手工制作的特征和分类应用于密集图像网格上以找到对象。 作为最成功的方法之一,Viola和Jones [47]使用Haar功能和AdaBoost训练一系列用于人脸检测的级联分类器,以高效率实现令人满意的准确性。 DPM [12]是另一种流行的方法,它使用多尺度可变形零件模型的混合来表示高度可变的对象类,多年来在PASCALVOC [8]上保持最佳结果。 然而,随着深度卷积网络的到来,对象检测任务很快被基于CNN的检测器所支配,其基本上可以分为两类,即两阶段方法和一阶段方法。

两阶段方法.两阶段方法由两部分组成,其中第一部分(例如,选择性搜索[46],边框[55],DeepMask [32,33],RPN [36])生成一组稀疏的候选对象提议, 第二个使用卷积网络确定准确的对象区域和相应的类标签。 值得注意的是,两阶段方法(例如,R-CNN [16],SPP网[18],快速RCNN [15]到更快的R-CNN [36])在几个具有挑战性的数据集上实现了主导性能(例如,PASCAL VOC 2012 [11]和MS COCO [29])。 之后,提出了许多有效的技术来进一步提高性能,如架构图[5,26,54],训练策略[41,48],上下文推理[1,14,40,50]和多层利用[ 3,25,27,42]。

单阶段方法。考虑到高效率,一阶段方法最近引起了更多的关注。 Sermanet等。 [38]提出了OverFeat方法,用于基于深度ConvNets的分类,定位和检测,这种方法是从原始像素到最终类别的端到端训练。 Redmon等。 [34]使用单个前馈卷积网络直接预测对象类和位置,称为YOLO,这是非常快的。之后,YOLOv2 [35]被提出在几个方面改进YOLO,即在所有卷积层上添加批量归一化,使用高分辨率分类器,使用带有锚框的卷积层来预测边界框而不是完全连接的层等。刘等人。 [30]提出了SSD方法,该方法将不同尺度的锚点展开到ConvNet内的多个层,并强制每个层专注于预测特定尺度的对象。 DSSD [13]通过解卷积在SSD中引入了额外的上下文,以提高准确性。 DSOD [39]根据SSD的网络结构设计了有效的框架和远程学习对象检测器。为了提高准确性,一些单阶段方法[24,28,53]旨在通过重新设计损失函数或分类策略来解决极端类不平衡问题。虽然单级探测器取得了很好的进展,但它们的准确性仍然落后于两级探测器。

3.网络结构

请参阅图1中所示的整体网络架构。与SSD [30]类似,Re fi neDet基于前馈卷积网络,该网络生成固定数量的边界框,并且分数表明这些框中存在不同类别的对象,然后是非最大抑制,以产生最终结果。 Re fi neDet由两个相互连接的模块组成,即ARM和ODM.ARM旨在消除负锚,以减少分类器的搜索空间,并粗略调整锚的位置和大小,以便为随后的回归量,其中ODM旨在回归准确的对象位置并根据重新定义的锚点预测多类别标签。通过移除分类层并添加两个基本网络的辅助结构(即,在ImageNet [37]上预训练的VGG-16 [43]和ResNet-101 [19])来构建ARM以满足我们的需要。 ODM由TCB的输出和预测层(即具有3×3内核尺寸的卷积层)组成,其产生对象类的分数和相对于重新定义的锚框坐标的形状偏移。下面介绍Re fi neDet中的三个核心组件,即(1)传输连接块(TCB),将功能从ARM转换为ODM进行检测;(2)两步级联回归,准确回归对象的位置和大小; (3)负锚定滤波,早期拒绝良好分类的负锚,并缓解不平衡问题

转移连接块。为了在ARM和ODM之间进行链接,我们引入了TCB,将ARM中不同层的特征图转换为ODM所需的形式,以便ODM可以共享ARM的功能。 值得注意的是,在ARM中,我们仅在与锚点关联的要素图上使用TCB。 TCB的另一个功能是通过向传输的特征添加高级特征来集成大尺寸的上下文内容[13,27],以提高检测精度。 为了匹配它们之间的尺寸,我们使用解卷积操作来放大高层特征图并以元素方式对它们求和。 然后,我们在求和之后添加卷积层以确保用于检测的特征的可辨别性。 TCB的体系结构如图2所示。

两步级联回归。当前的一阶段方法[13,24,30]依赖于基于具有不同尺度的各种特征层的一步回归来预测对象的位置和大小,这在一些具有挑战性的情况下是相当不准确的,尤其是对于小对象。 为此,我们提出了一个两步级联回归策略来回归对象的位置和大小。 也就是说,我们使用ARM首先调整锚点的位置和大小,以便为ODM中的回归提供更好的初始化。 具体而言,我们将n个锚框与特征图上的每个规则划分的单元格相关联。 每个锚盒相对于其相应单元的初始位置是固定的。 在每个特征映射单元格中,我们预测相对于原始平铺锚点的重新定义的锚定框的四个偏移量和两个表示这些框中前景对象存在的置信度分数。 因此,我们可以在每个特征映射单元格中生成n个重新定义的锚定框。

   获得重新定义的锚箱后,我们将它们传递给ODM中相应的特征图,以进一步生成对象类别和准确的对象位置和大小,如图1所示.ARM和ODM中相应的特征图具有相同的维度。 我们计算c类分数和相对于重新定义的锚箱的四个精确的物体偏移量,为每个重新定义的锚箱产生c + 4个输出以完成检测任务。 此过程类似于SSD [30]中使用的默认框。 然而,与SSD [30]直接使用规则平铺的默认框进行检测相比,RefineDet使用两步策略,即ARM生成重新定义的锚盒,ODM将重新定义的锚盒作为输入进行进一步检测, 导致更准确的检测结果,特别是对于小物体

负锚过滤。为了尽早丢弃分类好的负锚并减轻不平衡问题,我们设计了一种负锚定滤波机制。 具体来说,在训练阶段,对于一个改进的锚箱,如果它的负面信度大于预设的阈值θ(即,根据经验设定θ= 0.99),我们将在训练ODM时丢弃。也就是说,我们只通过重新设定的hard负锚箱和重新定义的正锚箱来训练ODM。 同时,在推理阶段,如果为重新定义的锚箱分配负信度大于θ,则它将在ODM中被丢弃以进行检测。

4.训练和推理

数据增强。我们使用[30]中提出的几种数据增强策略来构建一个适应对象变化的鲁棒模型。 也就是说,我们随机扩展并使用额外的随机光度失真[20]裁剪原始训练图像并进行移动以生成训练样本。 有关详细信息,请参阅[30]

主干网络。我们使用VGG-16 [43]和ResNet-101 [19]作为我们的RefineDet中的主干网络,它们在ILSVRCCLS-LOCdataset [37]上进行了预训练。 值得注意的是,RefineDet还可以在其他预训练网络上工作,例如Inception V2 [22],Inception ResNet [44]和ResNeXt101 [49]。 与DeepLab-LargeFOV [4]类似,我们通过子采样参数将VGG-16的fc6和fc7转换为卷积层conv fc6和conv fc7。 由于conv4 3和conv5 3与其他层相比具有不同的特征尺度,我们使用L2归一化[31]来缩放conv4 3和conv5 3到10和8中的特征范数,然后在反向传播期间学习尺度。 同时,为了捕获高级信息并在多个尺度上驱动物体检测,我们还在截断的VGG-16的末端添加了两个额外的卷积层(即conv6 1和conv6 2)和一个额外的残余块(即res6))分别截断到截断的ResNet101的末尾。

锚设计与匹配。为了处理不同尺度的物体,我们选择了四个特征层,其中VGG-16和ResNet 1015的总步幅大小分别为8,16,32和64像素,并与几种不同的锚定尺度相关联以进行预测。 每个特征层与一个特定尺度的锚(即,比例是相应层的总步幅尺寸的4倍)和三个纵横比(即,0.5,1.0和2.0)相关联。 我们在[53]中遵循不同层次上锚定尺度的设计,这确保了不同尺度的锚点在图像上具有相同的平铺密度[51,52]。 同时,在训练阶段,我们根据jaccard重叠[7]确定锚点和地面实例框之间的对应关系,并相应地对整个网络进行端到端训练。 具体而言,我们首先将每个地面实况与具有最佳重叠分数的锚箱匹配,然后将锚箱与任何重叠高于0.5的地面实况相匹配。

难例挖掘。在匹配步骤之后,大多数锚定框都是负数,即使对于ODM,其中一些容易的负锚被ARM拒绝。 类似于SSD [30],我们使用硬负挖掘来减轻极端前景 - 背景类不平衡,即,我们选择一些具有最高损失值的负锚箱,使负数和正数之间的比率低于3:1,而不是 使用所有负锚或在训练中随机选择负锚

损失函数。RefineDet的损失函数由两部分组成,即ARM中的丢失和ODM中的丢失。对于ARM,我们为每个锚分配一个二进制类标签(对象与否)并对其位置和大小进行回归 同时获得重新定位的锚点。 之后,我们将具有低于阈值的负面信息的重新定义的锚传递给ODM,以进一步预测对象类别和准确的对象位置和大小。 有了这些定义,我们将损失函数定义为:

最优化。如上所述,我们的Re fi neDet方法中的骨干网络(例如,VGG-16和ResNet-101)在ILSVRC CLS-LOC数据集[37]上预先训练。 我们使用“xavier”方法[17]随机初始化基于VBG-16的Re fi neDet的两个额外添加的卷积层(即conv6 1和conv6 2)中的参数,并从零均值Gaussiand中绘制参数。 基于ResNet-101的Re fi neDet的额外残差块(即res6)的偏差为0.01。 我们在培训中将默认批量大小设置为32。 然后,使用具有0.9动量和0.0005重量衰减的SGD对整个网络进行微调。 我们将初始学习率设置为10-3,并对不同的数据集使用稍微不同的学习率衰减策略,稍后将对其进行详细描述。

推断。在推理阶段,ARM首先滤出规则平铺的锚点,其负面信度得分大于阈值θ,然后重新确定剩余锚点的位置和大小。 之后,ODM接管这些重新定位的锚点,并为每个图像输出前400个高精度检测。 最后,我们应用非最大抑制,每个类别的jaccard重叠为0.45,并保留每个图像的前200个高位置检测,以产生最终的检测结果

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值