PPDet: Reducing Label Noise in Anchor-Free Object Detection论文阅读翻译
目录:
- PPDet: Reducing Label Noise in Anchor-Free Object Detection论文阅读翻译
- 一、Abstract
- 二、Introduction
- Contributions:
- 三、Methods
- 3.1 Labeling strategy and training.
- 3.2 Inference.
- 3.3 Network architecture.
- 四、实验
- 五、个人总结
论文下载地址:点击此链接跳转.
这是博主自己在github整理的目标检测方向论文的合集,应该算比较全,目前2020ECCV持续更新中,即将更新:2020IJCAI合集,欢迎下载…
一、Abstract
当前的anchor-free目标检测器是将所有落在GT框预定义的中心区域内的空间特征标记为正。但是这些带正标签的特征可能包含背景或遮挡物,甚至根本就不是有判别性的特征,这些特征在训练过程中会产生标签噪声。本文作者提出了一种新的标签策略来降低anchor-free的标签噪声,将来自各个特征的预测汇总为一个预测,使模型能够减少训练过程中非判别性特征的贡献。作者提出了一种新的单阶的anchor-free目标检测器PPDet,以在其训练中使用这种标记策略,并在推理中使用类似的预测合并法,在COCO上能够取得anchor-free检测器中最优的性能,其中APs能达到31.4。
二、Introduction
早期基于深度学习的目标检测算法都是两阶段的proposals驱动的方法,在第一阶段会生成一组稀疏的目标候选框,然后在第二阶段经CNN进行分类。后来又出现了单阶段的目标检测器,候选框被预定义的anchor替代。一方面anchor必须对图像作密集覆盖来使recall最大化(例如位置,形状,尺度等方面);另一方面anchor的数量应当尽可能的少,来减少推理时间以及训练时所出现的不平衡问题。
为解决anchor的缺陷,出现了各种各样的方法,一些方法想要提升anchor的质量,一些是用来解决极端的前景背景不平衡问题,最近还出现了一些单阶的anchor-free的方法。目前主要有两类anchor-free。第一种是在Cornernet提出后开始流行的基于关键点自下而上的方法,这种方法首先会检测目标的关键点(比如角点、中心点和极值点),然后对这些关键点进行分组来产生目标的完整检测。第二种方法是一种自上而下的方法,也就是直接在特征图中预测每个目标的类别和边界框坐标。
目标检测器训练的一个要点是用来标记目标候选者的策略,它可以是proposals,anchors或者是最终特征图中的某个位置。为了在训练时标记候选正样本(前景)或负样本(背景),出现了一系列基于IOU、关键点以及和GT的相对位置的策略。特别是在自顶向下的anchor-free目标检测器中,当输入图像经过backbone和FPN后,在GT框中的特征会被标记为正值,其他特征被标记为负值,两者之间还会有一个“忽略”区域。每个标记为正值的特征都会作为一个单独的预测对损失函数做出贡献。这种方法的问题是其中的一些正样本标签可能是错误的或质量很差的,它们会在训练时带来标签噪音。噪声标签主要来自:1)物体上非判别性的特征;2)GT框中的背景信息;3)遮挡物。作者提出了一种anchor-free目标检测方法,放宽了正样本标签策略,这样模型能够降低非判别性特征在训练中的贡献。根据这种训练策略,作者的目标检测器采用了一种新的推断方法,其中高度重叠的预测会相互加强。
在作者的方法中,训练时,作者在一个GT框中定义了一个与GT框具有相同的中心和形状的“正区域”,并调整了正区域相对GT框的大小。由于这是一个anchor-free的方法,每个特征(最终特征图上的位置)都能预测类别概率和边界框坐标。一个GT框的正区域内的类别预测会汇总在一起作为一个单一预测对损失做贡献。由于训练时来自背景区域和非判别性特征对损失的贡献会自动降低,这种sum-pool的方法能够缓解噪声标签问题。在推理时,高重叠的框的类别概率会合并在一起获得最终的类别预测。作者将他们的方法命名为PPDet(“prediction pooling detector.”)。
Contributions:
- 设计了一个宽松的标签策略,允许模型在训练过程中减少非判别性特征的贡献,
- 提出了PPDet,使用上述宽松标签策略进行训练,并使用了一个基于预测池的推理方法。PPDet在COCO数据集上优于所有自上而下的anchor-free检测器,并与其他SOTA方法表现相当,对小目标的检测尤其有效。
三、Methods
3.1 Labeling strategy and training.
anchor-free目标检测器会根据GT框的尺度或目标回归距离将它们分配到适当的FPN层,从而限制GT框的预测。这里作者采用的基于尺度的分配策略,因为这是一种将GT框与FPN层级自然关联的方法。然后作者给每个GT框构建了两个不同的区域,将正区域定义为和GT框相同中心和形状的区域,并通过实验来确定正区域的相对大小。然后将在空间上位于GT框内部的正区域内的所有位置识别为正特征(前景),其余为负特征(背景),这样每个正特征都会被分配到包含它的GT框中。如下图中蓝色和红色的单元格代表正特征,其余是负特征。一个FPN层有两个输出tensors:①W×H×C大小的tensor;②W×H×4大小的tensor,C是目标类别数。为获得一个目标实例的最终检测分数,作者将分配给该目标的所有特征的分类分数作了汇总,将它们相加得到最终的C维向量。除了标记的正特征,其余的都是负特征,而每个负特征都对损失有单独的贡献,最终预测向量被送入Focal loss。
默认情况下,作者是将正特征分配给它们所在框的目标实例。但是不同GT框相交区域内的特征的分配又是一个问题。在这种情况下,作者将这些特征分配给到其中心距离最小的GT框。类似其他anchor-free方法,PPDet中也是将每个分配给目标的前景特征用来训练预测其目标GT框的坐标。并且分类用的focal loss,回归是smooth l1 loss。
3.2 Inference.
PPDet的推理流程如下图所示,首先输入图像经backbone神经网络模型后得到初始检测集合。每次检测都与:1)边界框;2)一个目标类别(选概率最大的类);3)置信度分数相关联。在这些检测中,被标记为背景类的检测会被消除。作者将这一阶段剩余的每个检测都看作是对各检测所属目标的一次投票,其中box是对目标位置的假设,置信度分数表示投票的强度,然后将这些检测进行汇总。如果两个属于同一类别的检测间的重叠超过了一定量(IOU>0.6),则将其视为对同一目标的投票,并且每个检测的得分相比其他检测的分数会增加k^(IOU-1.0)倍,k是常数(40)。IOU越高,增加幅度越大。将这个过程应用于每一对检测后获得最终的检测分数。然后是NMS操作,产生最终的检测结果。
虽然推理中使用的预测池和训练中使用的池不同,但实际上它们是相同的过程,只是训练中使用的pooling是假设正区域特征预测的边界框之间是完全重叠的(即IoU=1)。
3.3 Network architecture.
PPDet使用的RetinaNet的网络模型作为整体架构,由一个CNN和FPN组成,FPN计算得到一个多尺度特征表示,产生五个尺度的特征图,在每个FPN层分别做分类和回归。分类分支输出一个W×H×C的tensor,回归分支输出一个W×H×4的tensor。
四、实验
五、个人总结
本文方法主要针对的还是标签策略的问题,现在的标签策略会导致正样本标签中可能存在着一些错误的或质量很差的标签,包含背景,遮挡物,没有判别性的特征,在训练时会带来标签噪声的问题。作者就设计了一个宽松的标签策略,先是定义正区域和GT框拥有相同的中心和形状,将位于GT框内部的正区域的所有位置都识别为正特征,其余为负特征。为获得一个目标实例的最终检测分数,分配给当前目标的所有特征的分类分数会做一个相加操作来得到最终的分类向量。并且不同GT框间如果存在相交区域,则相交区域的特征会被分配给距其中心距离最小的GT框。
推理时会先消除掉标记为背景类的检测,并且将每个检测都看作是对各检测所属目标的一次投票,属于同一类别的检测之间的重叠如果超过了一定阈值,则会被视为是对同一目标的投票,并且会对其检测得分做一个放大。
这篇文章的APs能达到31.4,但我还没怎么想明白它是如何对小目标起的作用,如果有大佬理解的比较透彻还请分享一下思路。