目标检测论文学习——三叉戟网络

论文提出了一种新网络结构TridentNet,通过多分支和尺度感知训练应对目标检测中的尺度变化。实验表明,TridentNet在COCO数据集上实现了单模型48.4mAP的先进性能,且通过权重共享提供快速推理近似。
摘要由CSDN通过智能技术生成
论文:[1901.01892] Scale-Aware Trident Networks for Object Detection (arxiv.org)
代码:https://git.io/fj5vR

摘要

       尺度变化是目标检测的关键问题之一。在这项工作中,我们首先提出了一个对照实验来研究感受野对目标检测中尺度变化的影响。基于探索实验的结果,我们提出了一种新的三叉戟网络(TridentNet),旨在生成具有统一表征能力的特定比例特征地图。我们构造了一个并行的多分支结构,其中每个分支共享相同的转换参数,但具有不同的接受域。然后,我们采用一种尺度感知的训练方案,通过采样适当尺度的对象实例进行训练,对每个分支进行专门化。作为奖励,tridentnet的快速近似版本可以在没有任何额外参数和计算成本的情况下实现显著的改进。在COCO数据集上,我们的TridentNet与ResNet-101骨干网实现了最先进的48.4 mAP的单模型结果。

1 介绍

         近年来,深度卷积神经网络(cnn)在目标检测方面取得了巨大成功。通常,这些基于CNN的方法大致可以分为两种:一种是单阶段方法,如YOLO或SSD,它们直接利用前馈CNN来预测感兴趣的边界框;另一种是两阶段方法,如Faster R-CNN或R-FCN,它们首先生成建议,然后利用从CNN提取的区域特征进行进一步的细化。然而,这两种方法的一个中心问题是尺度变化的处理。对象实例的尺度可能变化很大,这对探测器,特别是那些非常小或非常大的探测器来说,是一种阻碍。

        为了弥补大尺度变化,一种直观的方法是利用多尺度图像金字塔,这在基于手工制作特征的方法和当前基于深度CNN的方法中都很流行(图1(a))。强有力的证据表明,深度检测器可以从多尺度训练和测试中受益。为了避免训练极端尺度的对象(小/大尺度下的小/大对象),SNIP提出了一种尺度归一化方法,在每个图像尺度下选择性地训练合适尺寸的对象。然而,由于推理时间的增加,使得图像金字塔方法在实际应用中不太有利。

         另一个研究方向是利用网络内特征金字塔以更少的计算成本近似图像金字塔。该思想首先在中得到了证明,其中通过插值来自附近尺度水平的一些特征通道,构建了一个快速特征金字塔用于目标检测。SSD利用不同层的多尺度特征映射,在每个特征层检测不同尺度的对象。为了弥补低级特征中语义的缺失,FPN(图1(b))进一步增加了自顶向下的路径和横向连接,以在高级特征中纳入强语义信息。然而,不同尺度目标的区域特征是从不同层次的FPN骨干网中提取出来的,这些骨干网又用不同的参数集生成。这使得特征金字塔成为图像金字塔的一个令人不满意的替代品。

       图像金字塔和特征金字塔方法都有一个共同的动机,即模型对不同尺度的对象应该有不同的接受域。尽管效率低下,但图像金字塔充分利用了模型的表征能力,对所有尺度的物体都进行了平等的变换。相反,特征金字塔生成多层次特征,从而牺牲了不同尺度上的特征一致性。这导致有效训练数据的减少和每个尺度的过拟合风险更高。这项工作的目标是通过创建具有统一表示能力的特征来获得两个世界的最佳效果所有规模都有效。

      在本文中,提出了一种新的网络结构来适应不同尺度的网络,而不是像图像金字塔那样输入多尺度的输入。特别是,用所提出的三叉戟块创建了多个特定比例的特征地图,如图1(c)所示。在扩张卷积的帮助下,三叉戟块的不同分支具有相同的网络结构和共享相同的参数,但具有不同的接受域。此外,为了避免极端尺度的训练对象,还利用尺度感知训练方案使每个分支特定于与其接受场匹配的给定尺度范围。最后,由于整个多分支网络的权重共享,可以在推理过程中只使用一个主要分支来近似整个TridentNet。这种近似只会带来边际性能下降。因此,在不影响推理速度的情况下,它可以在单尺度基线的基础上取得显著的改进。这一特性使得TridentNet在实际应用中比其他方法更可取。综上所述,论文的贡献如下:

        (1)本文介绍了感受野在量表变化中的作用。据知,我们是第一个设计控制实验来探索对象检测任务的接受场的人。提出了一种新的Trident网络来处理目标检测中的尺度变化问题。通过多分支结构和尺度感知训练,TridentNet可以生成具有统一表征能力的特定于尺度的特征图。•

        (2)我们提出了一个快速近似,TridentNet fast,通过我们的权重共享三叉戟块设计,只有一个主要分支,因此在推理过程中不引入额外的参数和计算成本。

         (3)  我们在彻底消融的标准COCO基准上验证了我们方法的有效性 研究。与最先进的方法相比, 我们提出的方法实现了48.4的mAP 具有ResNet-101主干的单一模型。

2 相关工作

深度物体探测器    最近,基于深度学习的目标检测方法在准确性和速度上都有了显著的提高。作为主要的检测器之一,两阶段检测方法首先生成一组区域建议,然后通过CNN网络对其进行细化。在中,R-CNN通过选择性搜索(Selective Search)生成区域建议,然后通过标准CNN独立地、顺序地对原始图像中裁剪好的建议区域进行分类和细化。为了减少RCNN中特征提取的冗余计算,SPPNet和Fast R-CNN对整个图像进行一次特征提取,然后分别通过空间金字塔池化和RoIPooling层生成区域特征。RoIAlign层进一步改进了RoIPooling层,解决了粗糙的空间量化问题。更快的R-CNN首先提出了一个统一的端到端目标检测框架。引入了一种与检测网络共享同一骨干网的区域提议网络(RPN),取代了原有的耗时的独立区域提议方法。为了进一步提高Faster R-CNN的效率,RFCN通过全卷积网络构建位置敏感评分图,以避免RoI-wise头部网络。为了避免R-FCN中额外的大分数图,Light-Head R-CNN使用薄特征图和廉价的R-CNN子网来更有效地构建两级检测器。

另一方面,由YOLO和SSD推广的单阶段方法,其目的是通过直接对预定义锚点进行分类,并使用cnn对其进行进一步细化,而不需要提案生成步骤,从而提高效率。DSSD在SSD多层预测模块的基础上,通过反卷积算子引入额外的上下文信息来提高预测精度。RetinaNet提出了一种新的焦点损失来解决极端的前景-背景类不平衡,这是一级检测器中突出的一个中心问题。RefineDet继承了两阶段方法的优点,提出了一个锚点细化模块,首先过滤负锚点框,并对锚点框进行粗调整,以供下一个检测模块使用。

处理尺度变化的方法   作为目标检测中最具挑战性的问题,目标实例之间的大规模变化影响了检测器的准确性。多尺度图像金字塔是一种改进检测方法的常用方案,特别是对于小尺度和大尺度的目标。SNIP基于图像金字塔策略,提出了一种尺度归一化方法,在多尺度训练过程中,训练在每个分辨率下都处于期望尺度范围内的目标。为了更有效地进行多尺度训练,SNIPER在训练过程中只选择每个尺度的ground-truth实例和采样背景区域周围的上下文区域。然而,狙击和狙击仍然受到不可避免的推理时间增加的影响。有些方法不是以多幅图像作为输入,而是利用不同空间分辨率的多层次特征来缓解尺度变化。HyperNet和ION等方法将来自不同层的低级和高级特征连接起来,以生成更好的用于预测的特征映射。由于来自不同层的特征通常具有不同的分辨率,因此在融合多层次特征之前需要设计特定的归一化或变换算子。SSD和MSCNN对不同尺度的物体进行多层目标检测,不进行特征融合。TDM和FPN进一步引入了自顶向下的路径和横向连接,以增强底层低级特征的语义表示。PANet通过额外的自下而上的路径增强来增强FPN中的特征层次,并提出自适应特征池来聚合所有级别的特征以更好地预测。我们提出的TridentNet不是使用来自不同层的特征,而是通过多个并行分支生成特定于尺度的特征,从而赋予我们的网络对不同尺度的对象具有相同的表示能力。

扩张卷积   扩展卷积(又名Atrous卷积)通过在稀疏采样的位置进行卷积来扩大具有原始权值的卷积核,从而在不增加额外成本的情况下增加接收野的大小。扩展卷积被广泛应用于语义分割中,以纳入大规模的上下文信息。在目标检测领域,DetNet设计了一种特定的检测后骨网络,以保持空间分辨率,并使用扩张性卷积扩大感受野。变形卷积通过自适应学习采样位置进一步推广了展开卷积。在我们的工作中,我们在我们的多分支架构中使用不同扩张率的扩张卷积来适应不同尺度对象的接受域。

3 感受野调查

       骨干网的几个设计因素会影响目标检测器的性能,包括下采样率、网络深度和接收野。一些著作已经讨论了它们的影响。前两个因素的影响是直接的:低下采样率的更深的网络可能会增加复杂性,但总体上有利于检测任务。然而,据我们所知,之前还没有单独研究感受野影响的工作。为了研究感受野对不同尺度物体检测的影响,我们将骨干网络中的一些卷积替换为它们的扩展变体。我们使用不同的扩张率来控制神经网络的接受野。膨胀率为ds的扩展卷积在连续的滤波值之间插入ds−1个零,在不增加参数和计算数量的情况下扩大核大小。

        具体来说,一个扩展的3×3卷积可以与核大小为32 (ds−1)的卷积具有相同的接受野。假设当前特征映射的总步幅为s,则速率为ds的扩展卷积可以使网络的接受野增加2(ds−1)s。因此,如果我们以ds的扩张率修改n个转换层,接受野可以增加2(ds−1)sn。我们在COCO]数据集上使用带有ResNet-C4主干的Faster RCNN[35]检测器进行了试点实验。结果在COCOstyle mmAP中分别对所有对象和小、中、大尺寸对象进行了报告。我们使用ResNet-50和ResNet-101作为骨干网络,并在conv4阶段将3×3卷积的膨胀率ds从1到3变化。

           表1总结了结果。我们可以发现,随着接受野的增加(更大的扩张率),检测器在小物体上的性能在ResNet-50和ResNet-101上都持续下降。而对于较大的物体,探测器则受益于不断增加的接受野。以上结果表明:

   1)神经网络在不同尺度对象上的表现受到神经网络感受野的影响。最合适的感受野与物体的大小密切相关。

   2)虽然ResNet-101在COCO中有足够大的理论接受场来覆盖大物体(大于96×96分辨率),但是当扩大膨胀率时,大物体的性能仍然可以得到提高。这一发现与中有效感受野小于理论感受野的结论是一致的。我们假设检测网络的有效接受野需要在大小物体之间保持平衡。扩张率的增加通过强调大物体来扩大有效的接受野,从而影响小物体的表现。

       上述实验激励我们调整不同尺度对象的接受野,详见下一节。

4  三叉戟网络

       在本节中,我们描述了我们的规模感知三叉戟网络(TridentNet)的目标检测。提出的三叉戟网由权重共享三叉戟块和一个精心设计的规模感知训练方案组成。最后,我们还介绍了TridentNet的推理细节,包括一种快速推理逼近方法。

4.1. 网络结构

        我们的目标是在检测网络中继承不同感受野大小的优点,避免它们的缺点。为此,我们提出了一种新的Trident架构,如图2所示。特别是,我们的方法采用单尺度图像作为输入,然后通过并行分支创建特定于尺度的特征映射,其中卷积共享相同的参数,但具有不同的扩张率。

多分支块  我们通过用所提出的三叉戟块替换检测器骨干网络中的一些卷积块来构建三叉戟网。三叉戟块由多个平行分支组成,其中每个分支与原始卷积块具有相同的结构,只是膨胀率不同。以ResNet为例,对于瓶颈样式的单个残差块[19],由内核大小分别为1×1、3×3和1×1的三个卷积组成,对应的三叉戟块为3×3卷积的多个并行残差块,其膨胀率不同,如图3所示。堆叠三叉戟块允许我们以一种有效的方式控制不同分支的接受野,类似于第3节中的试点实验。通常,我们用三叉戟神经块替换骨干网络最后阶段的神经块,因为根据需要,更大的步幅会导致更大的感受野差异。详细的设计选择可参考第5.2节。

分支间的权重分担  我们的多分支三叉戟块的一个直接问题是,它引入了几次参数,可能会导致过拟合。幸运的是,不同的分支共享相同的结构(除了膨胀率),因此可以直接分担权重。在这项工作中,我们共享所有分支及其相关的RPN和R-CNN头的权重,并且只改变每个分支的扩张率。

        重量分担的好处有三倍。它减少了参数的数量,使得TridentNet与原来的探测器相比不需要额外的参数。这也与我们的动机相呼应,即不同尺度的物体应该通过相同的表征力量进行统一的转换。最后一点是转换参数可以在来自所有分支的更多对象样本上进行训练。换句话说,相同的参数在不同的接受域下被训练成不同的尺度范围。

4.2  规模意识培训计划

      提出的三叉戟网架构根据预定义的膨胀率生成特定于尺度的特征图。但是,表1中由于尺度不匹配导致的退化(例如分支上的小物体膨胀过大)对于每个分支仍然存在。因此,在不同的分支上检测不同尺度的物体是很自然的。在此,我们提出了一种尺度感知训练方案,以提高每个分支的尺度意识,避免在不匹配的分支上训练极端尺度的对象。

       与SNIP[38]类似,我们为每个分支i定义了一个有效范围[li, ui]。在训练时,我们只选择尺度落在每个分支相应有效范围内的提案和ground truth box。具体来说,对于输入图像上宽度为w,高度为h的RoI (Region-of-Interest, RoI)(调整大小前),当li≤√wh≤ui时,对分支i有效。(1)该规模感知训练方案可以同时应用于RPN和R-CNN。对于RPN,我们在锚标分配过程中根据Eq. 1选择对每个分支有效的接地真值盒。同样,在R-CNN的训练过程中,我们会删除每个分支的所有无效提案。输入图像(在调整大小之前),在以下情况下对分支I有效:

这种规模感知训练方案既适用于RPN,也适用于R-CNN。对于RPN,我们在锚标分配过程中根据上式选择对每个分支有效的接地真值盒。同样,在R-CNN的训练过程中,我们会删除每个分支的所有无效提案。 

4.3  推理与近似 

       在推理过程中,我们生成所有分支的检测结果,然后过滤掉每个分支有效范围之外的盒子。然后我们使用NMS或soft-NMS将多个分支的检测输出进行组合,得到最终结果。

      TridentNet的一个主要缺点是由于其分支性质导致推理速度慢。在这里,我们提出了TridentNet Fast, TridentNet的快速逼近,在推理过程中只有一个分支。对于如图2所示的三分支网络,我们使用中间分支进行推理,因为它的有效范围涵盖了大型和小型对象。通过这种方式,与标准的Faster RCNN探测器相比,TridentNet Fast不会产生额外的时间成本。令人惊讶的是,我们发现这个近似只表现出轻微的性能下降与原来的TridentNet。这可能是由于我们的权重共享策略,通过这种策略,多分支训练相当于网络内规模增强。

5  实验

在本节中,我们在COCO数据集上进行实验。我们在80k训练图像和35k验证图像子集(trainval35k)的联合上训练模型,并在一组5k验证图像(minival)上进行评估。我们还报告了一组20k测试映像(test-dev)的最终结果。

          我们在MXNet中重新实现Faster R-CNN[35]作为基准方法。遵循其他标准检测器[16,35],在ImageNet上对网络骨干网进行预训练。茎,第一残余级和所有BN参数被冻结。输入的图像被调整为800的短边。训练时采用随机水平翻转。默认情况下,在8个gpu上以16个批处理大小训练模型。模型默认在12个epoch中训练,学习率从0.02开始,在第8个和第10个epoch后下降0.1倍。2×或3×训练方案意味着相应的总训练周期和学习率时间表增加一倍或三倍。

         我们在ResNet中采用conv4阶段的输出作为主干特征图,在baseline和TridentNet中采用conv5阶段作为R-CNN头。如果没有另外指定,我们将采用三个分支作为默认的TridentNet结构。对于TridentNet的每个分支,在NMS之前/之后,我们保留了前12,000 /500个提案,并采样128个roi进行培训。三个分支的膨胀率分别设置为1、2和3。

          在TridentNet采用规模感知训练方案时,我们将三个分支的有效范围分别设置为[0,90]、[30,160]和[90,∞]。为了评价,我们报告了平均精度(Average Precision, AP)[27]和AP50/AP75的标准COCO评价指标。我们还报告了小(小于32×32)、中(从32×32到96×96)和大(大于96×96)尺寸对象上的co -style ap、APm和APl。

 

6. 结论 

        在本文中,提出了一种简单的目标检测方法——三叉戟网络,以统一的表示能力来构建网络内特定尺度的特征映射。我们的多分支机构架构采用规模感知培训方案,使每个分支机构具备相应规模的专业能力。具有主分支的快速推理方法使TridentNet在没有任何额外参数和计算的情况下实现了对基线方法的显着改进。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值