【目标检测】End-to-End Object Detection with Fully Convolutional Network

 Abstract 

  • NMS妨碍了端到端训练。本文发现,如果想去除NMS,一个合适的label assignment对模型十分重要。
  • 对于fully convolutional detectors,本文提出Prediction-aware One-To-One (POTO) label assignment,用于分类,以此实现端到端检测,取得了和NMS相近的表现。
  • 并且,提出3D Max Filtering(3DMF),使用多尺度特征,提高局部区域卷积的可分辨性。
  • 再COCO和CrowdHuman上取得了sota结果。

 

Introduction

  • 现有目标检测器上的hand-crafted designs:anchor-based label assignment和NMS。近期,提出distance-aware和distribution-based label assignments。虽然他们取得了很好的结果,但是仍然无法摆脱NMS后处理。
  • 为解决该问题,Learnable NMS [11],Soft NMS [1],和CenterNet [5]致力于移除大量重复的anchor,但是他们仍然没有提供一个高效的end-to-end训练策略。
  • 同时,许多方法[23, 28, 31, 32, 39]提出使用autoregressive解码器,对每个实例预测bbox。但是他们仅在一些小数据集上测试,同时迭代操作等导致推理十分低效。
  • 近期,DETR引入基于二分图匹配的训练策略和并行解码的transformers,实现了end-to-end检测。然后,DETR需要很长的训练时间去收敛,并且在小目标上检测效果不佳。

至此,本文想要探索一个问题:一个fully convolutional network实现完全的端到端目标检测。

本文尝试从两个维度回答该问题:

  1. label assignment。目前大多数检测器适用one-to-many label assignment:对一个GT前景目标产生多个预测,这提供了充足的前景样本用于学习鲁棒的特征表示。然而,过多的前景样本导致了预测bbox的重复,进一步阻碍了端到端检测。我们实验发现,one-to-one label assignment (hand-designed),在去除重复样本中扮演了重要的角色。但是这种方法也存在问题,因为对样本预定义的区域不一定是对训练最好的[14]。因此,本文提出prediction-aware one-to-one (POTO) label assignment,同时根据分类和回归的质量,动态指派前景。
  2. 网络结构。对于基于FPN的检测器,实验显示,大多数重复的样本来自相邻尺度的相近区域。因此,我们设计了3D Max Filtering (3DMF),可以嵌入FPN head中(可导)。通过在相邻尺度的3D max filter操作,提高局部卷积的差异性。同时,为了学习到representation feature,本文修改了one-to-many assignment作为auxiliary loss。

本文基于FCOS框架和ResNeXt-101 backbone。对密集目标的检测,本文表现更加鲁棒:在CrowdHuman中,比baseline FCOS高3.1%AP50。

 

Methodology

为了展示label assignment在端到端目标检测上的效果,我们做了一些消融实验。实验基于FCOS,centerness分支被移除,用作head-to-head比较。实验结果显示,one-to-many assignment在feature representation的优越性,以及one-to-one assignment对去除NMS的潜在作用。

(1)one-to-many label assignment

assign training targets,充足的前景样本帮助模型学习更鲁棒的特征表示。如果去除NMS,大量的负样本会导致结果变得很差。

(2)hand-designed one-to-one label assignment

MultiBox和YOLO。本文基于Anchor rule和Center rule两种广泛使用的One-to-many label assigments实现了hand-designed one-to-one label assignment。(1)anchor rule基于RetinaNet,每个GT实例指派到有最大IoU的anchor;(2)Center rule基于FCOS,在预定义的特征层中,每个GT实例指派到到最近的anchor。其余anchors被视作背景。

可以看到,one-to-one label assignment,显著的减小了gap,说明没有NMS的前提是需要有one-to-one。目前还剩两个问题:(1)如何进一步缩小one-to-one label assignment和baseline的差距;(2)如何去除NMS

 

Our Methods

  • 提出:(1)mixture label assignment包含POTO label assignment和修改过的one-to-many label assignment (auxiliary loss)。(2)3DMF。整体流程如下:

POTO

  • pi是指:GT如何指派给predictions。
  • spatial prior是指:指派给第i个GT的prediction应该要在第i个GT的中心区域(中心点,对应不同stage加不同值)内;
  • p是predition对应该GT类别的置信度。
  • α设为0.8

 

3D Max Filtering

  • 展示了重复predictions的分布,当对每个尺度分别执行NMS时,结果很糟。进一步,我们发现重复predictions主要来置信度高的predictions的相邻空间区域。因此,我们提出3DMF抑制重复predictions的产生。
  • 本文认为卷积是一个具有平移不变形的线性操作,可以在不同位置对相似的模式产生相似的输出。Max filter基于随机的非线性过滤器,可以提高局部区域卷积的区别能力。max filter同样被用在CenterNet[51]和CornerNet[16],作为一替代NMS的后处理,但是max filter不适用于基于FPN的多特征层。
  • 3D Max Filtering在特征图的每个通常上分别执行。对相邻层特征,先插值到相同维度。

  • 然后,对预先设置的空间距离范围内的点取最大值。

  • 为了嵌入3DMF,本文提出一个新的模块,如下图所示: 

 Auxiliary Loss

  • 在加上第二步后,本文发现还是不太行,进一步分析后发现,是因为One-to-one label assignment导致缺少充足的正样本去训练鲁棒的特征。因此需要辅助损失,即把One-to-many label assignment用于特征训练。和ATSS相似,auxiliary loss是focal loss,这个one-to-many labels assignment首先每个FPN的特征层中选取9个predictions,通过Eq.4计算得分。然后通过ATSS筛选正样本,用于训练。

 

Experiment

Implement Detail

  • 在8张V100上,每张跑2张图片,跑180K iterations,并且使用multi-scale training。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值