CVPR2020 Overcoming Classifier Imbalance for Long-tail Object Detectionwith Balanced Group Softmax论文翻译
论文地址:
Overcoming Classifier Imbalance for Long-tail Object Detectionwith Balanced Group Softmax
摘要
利用基于深度学习的模型解决长尾大词汇量目标检测是一项具有挑战性和高要求的任务,但目前研究还不足。在本研究中,我们首次系统地分析了最先进的模型在长尾分布前的不足之处。我们发现,现有的检测方法在数据集严重倾斜时无法对few-shot类进行建模,这将导致分类器在参数量级上不平衡。由于检测和分类的本质区别,将长尾分类模型直接应用于检测框架不能解决这一问题。在这项工作中,我们提出了一种新的平衡组softmax (BAGS)模块,通过分组训练来平衡检测框架内的分类器。它隐式地调制头类和尾类的训练过程,并确保它们都得到了充分的训练,而不需要对尾类的实例进行任何额外的采样。
在最近的长尾大词汇量目标识别基准LVIS上的大量实验表明,我们提出的BAGS在目标检测和实例分割方面显著提高了带有各种骨架和框架的检测器的性能。它击败了从长尾图像分类转移的所有最先进的方法,并建立了新的最先进的技术。有关代码,请浏览https://github.com/FishYuLi/BalancedGroupSoftmax
1.介绍
目标检测[33,31,26,24,22,1]是计算机视觉中最基本、最具挑战性的任务之一。最近的进展主要是由人工平衡的大数据集驱动的,如PASCAL VOC[10]和COCO[25]。然而在现实中,对象类别的分布通常是长尾的[32]。有效的解决方案,使最先进的检测模型适应这种类不平衡分布是非常需要的,但仍然缺乏。最近,一个长尾大词汇量的目标识别数据集LVIS[15]的发布,极大地促进了更真实场景下的目标检测研究。
对于长尾对象检测,一个直接的解决方案是直接在长尾训练数据上训练一个完善的检测模型(例如Faster R-CNN[33])。然而,将为平衡数据集(例如COCO)设计的检测器调整为长尾数据集(例如LVIS)时,会观察到很大的性能下降,由于多重纠结因素,其原因仍不清楚。受[21]的启发,我们将检测框架中的表示模块和分类模块解耦,发现由于低概率类别被激活的机会很少,不同类别对应的提案分类器权重规范严重不平衡。通过我们的分析,这是造成长尾检测性能差的直接原因之一,其本质上是由数据不平衡引起的。 如图1所示,我们分别对COCO和LVIS上训练的模型的分类器权重规范按照训练集中的实例数进行排序。对于COCO来说,相对均衡的数据分布导致所有类别的权重规范相对均衡,除了背景类别(CID=0, CID用于类别ID)。对于LVIS而言,类别权重规范存在明显的不平衡性,且与训练实例数呈正相关。这种不平衡的分类器(w.r.t.他们的参数范数)会使low-shot的类别(尾类)的分类分数远远小于many-shot的类别(头类)的分类分数。在标准softmax之后,这种不平衡将进一步放大,因此分类器错误地压制预测为low-shot类别的提案。
分类器的不平衡根源于数据分布的不平衡,many-shot类别的分类器会看到更多和多样化的训练实例,从而导致占主导地位的量级。一个可以考虑的方案是使用长尾分类的解决方案来克服这个问题,包括重采样训练实例来平衡分布[16,8,34,27],以及在类别级[6,2,19]或实例级[24,35]重加权分类损失。 基于重采样的解决方案适用于检测框架,但可能会增加训练时间和尾类过拟合的风险。不幸的是,基于重加权的方法对超参数选择非常敏感,由于难以处理特殊的背景类(一个极其many-shot的类别),因此不适用于检测框架。 我们通过实验发现这些方法都不能很好地解决长尾检测问题。
在本文中,为了解决分类器不平衡的问题,我们在检测框架的分类头中引入了一个简单而有效的平衡组softmax (BAGS)模块。我们提出将训练实例数目相近的目标类别放入同一组,并分别按组计算softmax交叉熵损失。单独处理具有不同实例数的类别可以有效缓解头类对尾类的支配。然而,由于缺乏针对每组训练的各种负样本,结果模型存在太多的误报。因此,BAGS进一步在每个组中添加一个类别others,并将背景类别作为一个单独的组引入,这样可以通过保持分类器的平衡来减轻头类对尾类的抑制,同时防止类别background和others的误报。
我们通过实验发现BAGS效果很好。各种框架包括Faster R-CNN[33],Cascade R-CNN[1],Mask R-CNN[17]和以ResNet50-FPN(18、23)和ResNeXt-101-x64x4d-FPN[40]为主干的[4]HTC 在长尾目标识别基准LVIS[15]尾类上的性能提高9%~19%, 整体mAP提升了约3% - 6%。
综上所述,本研究做出了以下贡献:
- 通过综合分析,我们揭示了现有模型不能很好地进行长尾检测的原因,即分类器不平衡,训练不均衡,从观察到的不平衡分类器权重规范可以看出。
- 我们提出了一个简单而有效的平衡组softmax模块来解决这个问题。它可以很容易地与目标检测和实例分割框架相结合,提高长尾识别的性能。
- 我们在最先进的长尾分类方法目标检测上进行了大量的评估。这样的基准测试不仅加深了我们对这些方法的理解,以及长尾检测的独特挑战,也为未来在这个方向上的研究提供了可靠和强大的基线。
2.相关工作
与均衡分布目标检测[12,33,1]和few-shot目标检测[20,3,41,11]相比,具有挑战性和实用性的长尾目标检测问题仍有待深入研究。虽然Ouyang et al.[29]提出了长尾目标检测的概念,但他们的工作重点是在ILSVRC DET数据集[7]上训练数据分布不平衡,而没有像LVIS[15]这样的尾类few-shot设置。[15]提出重复因素采样(RFS)作为基线。[39]通过另一个头部训练的ROI类平衡采样策略来校正尾部类别的分类分数,增强了RFS。下面我们首先回顾常规的目标检测方法,然后是长尾分类方法。
常规目标检测. 基于深度学习的目标检测框架分为anchor-based的和anchor-free的两种。Anchor-based方法[13,12,33,31,24]显式或隐式地提取单个区域的特征,从而将目标检测转化为提议分类,目前这方面的研究已取得很大进展。anchor-free方法侧重于检测对象的关键点,并通过正确组合检测到的关键点或者扩展关键点的表示构建最终的边框[22,9,43]。对于此类检测器,通过对关键点进行分类来实现提案分类。