论文阅读|训练过程中动态改变训练方案的Dynamic R-CNN

本文介绍了一种名为DynamicR-CNN的新型目标检测方法,它通过动态调整训练过程中的标签分配和回归损失函数,以适应训练样本分布的变化,从而显著提高了模型在高IoU下的性能。通过实验证明,该方法在MSCOCO数据集上实现了AP和AP90的显著提升,且保持了良好的速度效率。

论文相关信息

1.论文题目:Dynamic R-CNN: Towards High Quality Object Detection via Dynamic Training

2.发表时间:2020.04

3.文献地址:https://arxiv.org/abs/2004.06002

4.论文源码:https://github.com/hkzhang95/DynamicRCNN

论文贡献:

  1. 基于目标检测的训练特征,指出基于样本分布的变化而动态调整训练的策略;
  2. 提出DLA和DSL的训练方法,仅通过引入两个变量就可以实现;
  3. 引入该方法在提高模型性能的同时不会降低其速度。

Abstract。

作者指出two-stage detectors固定的网络设置和动态的训练过程存在不一致问题,使得网络性能下降,例如固定标签分配策略回归损失函数就无法拟合动态变化的proposal分布,进而不利于训练一个高质量的检测器。因此,作者提出Dynamic R-CNN,能够基于训练中的proposals的统计数据来自动地调整标签分配标准(IoU阈值)和回归损失函数的形式(Smooth L1 Loss的参数)。这种动态的设计能够更好的利用训练样本,促使检测器能够拟合更多高质量的样本。该方法使得基于ResNet-90-FPN在MS COCO数据集上AP提高 1.9%,AP90提高 5.5%。

这里的高质量检测器指的是检测结果是在高IoU下的。

1 Introduction

无论是one-stage还是two-stage 的检测器,其pipeline都可以看作是训练一个classifier和一个regressor。对于classifier的训练,主要问题是如何判断proposals是正样本还是负样本,之前传统的方法是通过proposals和gt之间的IoU阈值来判断。但是正如Cascade R-CNN中所述,以一个固定的IoU阈值训练得到的检测器在应用其它的IoU阈值时表现会下降。然而也不能开始训练时就设置很大的IoU阈值,否则会导致正样本过少,Cascade R-CNN中的方法是通过IoU阈值逐渐增大的几个阶段来组件的精炼proposals,这种方法虽然有效,但是time-consuming。对于regressor来说,问题是相似的,虽然在训练的过程中proposals的质量不断提高,但是Smooth L1 Loss的参数却是固定不变的,训练得到的检测器离高质量检测器仍有距离。

首先作者观察到一个被忽略的事实,即在训练的过程中proposals的质量是在提高的。如图1所示,即使在不同的IoU阈值下,随着训练过程的进行,正样本的数量都在显著提高。
在这里插入图片描述

图1.a和b图都证实了训练过程中proposals的质量得到提高。

受此观察的启发,作者提出Dynamic R-CNN,其由两部分组成:Dynamic Label AssignmentDynamic Smooth L1 Loss,分别对应分类回归分支。

对于classifier,基于训练时proposals分布逐渐调整IoU阈值来得到一个能够区分高IoU建议框的分类器。将阈值设置为让proposals 的IoU保持一定的比例,这样能够反映总体分布的质量。

对于regressor来说,改变回归损失函数的形状,来适应性地拟合回归目标的分布变化,确保高质量样本对训练的贡献。因为β控制着小误差梯度的大小,所以这里会基于回归目标的分布来调整Smooth L1中的β。

通过这套动态方案,不仅能够缓解训练开始时缺少数据的问题,同时还能够享受高IoU训练的好处。这两个模块对于检测器的不同部分,因此能够合作工作来得到一个高质量的目标检测器。该模型简单高效,能够泛化到其它任务上,推断时不会引入额外的代价。

2 Related Work

这部分简单介绍R-CNN系列检测器,指出目标检测中常用到的分类方法以及边界框回归方法。

Region-based object detectors.基于区域的目标检测器一般将目标检测器任务分为边框分类和回归问题。其中为代表的检测器是R-CNN,Fast R-CNN,Faster R-CNN等,他们首先生成大量的候选建议框,然后从这些候选框中按照一定的正负样本比例随机采样一个batch送入第二阶段同时进行分类和回归。之后出现了采用全卷积来提高速度的R-FCN,使用top-down连接结合多尺度特征的FPN。此外,近年来还有其它的改进。

Classification in object detection.近期研究者聚焦于从各个方面来改进目标分类器,检测器的分类得分不只是决定了每个proposal的语义类别,同样也隐含了位置的精确度,因为NMS开始使用的是分类得分来排序的,然后根据得分排序抑制低置信度的边框。然而正如IoU-Net中提到的,分类得分和位置精度间存在较小的关联,这使得排序时存在一些噪音,并且性能受限。因此IoU-Net采用了一个额外的分支来预测IoU 得分和精炼分类置信度。Soft NMS则是设计了一个KL loss来直接建模边框回归的变化,将loss加入NMS排序的考虑因子。另一种提高分类的方向是通过提高IoU阈值来训练得到高质量的分类器,但是这种方式的会导致正义不数量减少从而难以训练,正如Cascade R-CNN中提到一样,后面Cascasde R-CNN采用了多阶段不同IoU阈值的方式解决该问题,但是这种方式较慢。

**Bounding box regression。**模型的性能取决于多任务学习中不同loss 的相对权重。Cascade R-CNN也采用不同的回归归一化因子在不同阶段调整回归项的适应性。此外还有Libra R-CNN和SABL等。但是他们都主要聚焦于一个固定的方案,忽略了训练时学习对象的动态分布。

Dynamic training。当前的动态训练方案中尚无解决目标检测核心问题的。

3 Dynamic Quality in the Training Procedure

目标检测任务包含两个子任务:识别和定位,本节将从这两个子任务出发探索他们的训练过程来得到一个高质量的目标检测器。

3.1 Proposal Classification

对于目标检测中的分类器来说,如何分配标签是一个关键的问题。通常会基于IoU进行标签分类,而这种方法可以总结为以下的公式:

在这里插入图片描述

其中b指代一个边框,G指真实框的集合, T + , T − T_+,T_- T+,T分别指代正负样本的IoU阈值。1,0,-1分别指代正样本、负样本和被忽略的样本。本质上来说,正负样本的定义是人为的,如Faster R-CNN中 T + , T − T_+,T_- T+,T默认设置为0.5.因为分类器的目标是区分正样本和负样本,以不同的IoU阈值训练则会得到相应的质量。因此,为了得到高质量的目标检测器,我们需要以高的IoU阈值来训练分类器,然和人Cascade R-CNN中已经提到这样的缺点,至于其级联的多阶段解决方案虽然有效,但是time-consuming。
前面提到训练过程中,建议框的质量实际上是不断的提高的,所以可以采用一种逐步的训练方法。初始时高质量的proposals不够,则可以在第二个阶段使用一个低IoU阈值来适应低质量的proposals,随着训练进行,proposals质量逐步提高,就能得到足够的高质量proposals。最后就能增加IoU阈值来更好的利用他们来训练一个高质量的检测器。具体的过程在下一节介绍。

3.2 Bounding Box Regression

边框回归的任务是将正候选边框b回归到目标真实框g,该过程通过回归损失函数 L r e g L_{reg} Lreg</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值