论文阅读:《Overcoming Classifier Imbalance for Long-tail Object Detection with Balanced Group Softmax》

(建议不看,赶组会我没翻译完,随后把组会关于这个个自己理解做的PPT放出来)

基于深度学习模型的长尾大词汇量对象检测是一项具有挑战性和高要求的任务,但仍未得到充分的研究。
在这项工作中,我们提供了第一个系统的分析,最先进的模型在长尾分布前的表现不佳。
我们发现,现有的检测方法在数据集极其倾斜的情况下无法建模少数类,这可能导致分类器在参数大小方面的不平衡。
由于检测和分类的本质区别,直接将长尾分类模型应用于检测框架并不能解决这一问题。
在本工作中,我们提出了一种新的平衡组 balanced group softmax(BAGS)模块,通过组明智训练来平衡检测框架中的分类器。
它隐式地调整头部和尾部类的训练过程,并确保它们都得到充分的训练,而不需要对尾部类的实例进行任何额外的采样。
在最近的长尾大词汇表对象识别基准LVIS上进行的大量实验表明,我们提出的BAGS在对象检测和实例分割方面具有各种骨架和框架,显著提高了检测器的性能。它超越了所有从长尾图像分类中转移而来的先进方法,建立了新的先进方法。

1. Introduction

目标检测[31,29,25,23,21,1]是计算机视觉中最基本、最具挑战性的任务之一。
最近的进展主要是由人工平衡的大规模数据集驱动的,如PASCAL VOC[9]和COCO[24]。
然而在现实中,对象类别的分布通常是长尾[30]。有效的解决方案,使最先进的检测模型适应这种类不平衡的分布是非常需要的,但仍然缺乏。
最近,一个长尾大词汇表对象识别数据集LVIS[14]发布了,它大大方便了更真实场景下的对象检测研究。

长尾目标检测的一个简单的解决方案是,直接在长尾训练数据上训练一个成熟的检测模型(如Faster R-CNN[31])。
然而,当将为相当平衡的数据集(如COCO)设计的检测器调整为长尾数据集(如LVIS)时,会观察到较大的性能下降,由于多重纠缠因素,其原因尚不清楚。
受[20]的启发,我们将检测框架内的表示模块和分类模块进行解耦,发现不同类别对应的proposal分类器的权重规范严重不平衡,因为low-shot类别被激活的机会很少。
通过我们的分析,这是长尾检测性能差的直接原因之一,其本质是由数据不平衡引起的。
如图1所示,我们分别根据训练集中的实例数对在COCO和LVIS上训练的模型的分类器权值规范进行分类排序。
对于COCO来说,由于数据分布相对均衡,导致除了背景类(CID=0, CID为类别ID)外,所有类别的权重规范都相对均衡。
对于LVIS来说,类别权重规范明显不平衡,且与训练实例数呈正相关。这种不平衡的分类器(w.r.t.,它们的参数规范)会使低概率分类器(尾部分类器)的分类分数比多概率分类器(头部分类器)的分类分数小得多。在标准softmax之后,这种不平衡会进一步放大,分类器会错误地压制那些被预测为低风险类别的proposal

在这里插入图片描述

图1所示。分类的训练实例数量(# ins)类别的可可和L对训练集,和相应的分类器的重量标准将从更快R-CNN模型训练可可和L粘度轴表示排序分类指数可可和L粘度我们对齐80类和1230类L VIS可可更好的可视化。类别0表示背景。

分类器的不平衡根源于数据分布的不平衡,多镜头分类器会看到更多和多样化的训练实例,导致支配量。
可以考虑使用长尾分类的解决方案来克服这一问题,包括重新采样训练实例来平衡分布[15,7,32,26],以及在类别水平[5,2,18]或实例水平[23,33]重新加权分类损失。
基于重采样的解决方案适用于检测框架,但可能会增加训练时间和对尾部类的过拟合风险
不幸的是,基于重加权的方法对超参数选择非常敏感,而且由于难以处理特殊的背景类,这是一个非常多的类别,所以不适用于检测框架。
经验表明,这些方法都不能很好地解决长尾检测问题。

为了解决分类器不平衡的问题,我们在检测框架的分类头中引入了一个简单而有效的BAGS模块。
我们提出将训练实例数目相似的对象分类放在同一组中,并分别计算组softmax交叉熵损失
分别处理具有不同实例的类别可以有效地缓解头类对尾类的支配。
然而,由于每组训练都缺乏多样的负面例子,因此产生的模型存在过多的误报。
因此,BAGS进一步在每组中增加一个类别others,并引入背景类别作为一个单独的组,在防止类别background和others的误报的同时,通过保持分类器的平衡,减轻了头类对尾类的抑制

综上所述,本工作做出了以下贡献

•通过综合分析,我们揭示了现有模型在长尾检测方面表现不佳的原因,即它们的分类器是不平衡的,训练也不一样好,从观察到的不平衡的分类器权重规范可以看出。
•我们提出了一个简单而有效的平衡组softmax模块来解决这个问题。它可以很容易地与目标检测和实例分割框架相结合,以提高其长尾识别性能。
•我们使用最先进的长尾分类方法对目标进行了广泛的评估。这样的标杆研究不仅加深了我们对这些方法的理解,也解决了长尾检测所面临的独特挑战,同时也为未来这一方向的研究提供了可靠而有力的基线。

2. Related Works

与均衡分布目标目标检测[11,31,1]和少类目标检测[19,3,38,10]相比,具有挑战性和实用性的长尾目标检测问题仍有待探索。
虽然欧阳等人[28]提出了长尾目标检测的概念,但他们的工作主要集中在ILSVRC DET数据集[6]上不均衡的训练数据分布,而对于LVIS[14]等尾类没有进行少镜头设置。
[14]建议重复因子抽样(RFS)作为基线。
分类标定[36]通过使用ROI水平分类平衡采样策略训练的另一个头部对尾部类的分类分数进行标定,提高了RFS。
下面我们首先回顾一般的目标检测方法,然后是长尾分类方法。

General object detection一般的基于深度学习的目标检测框架分为基于锚的框架和无锚的框架。
基于锚的方法[12,11,31,29,23]显式或隐式地提取单个区域的特征,从而将目标检测转换为提议级别的分类,这已经得到了大量的研究。
而无锚方法则侧重于检测目标的关键点,通过适当组合检测到的关键点[21,8,40]或扩展关键点的表示[39,35]来构建最终的检测框。
对于这种检测器,建议分类是通过对关键点进行分类来实现的。这些流行的对象检测框架都使用softmax分类器进行提案分类或关键点分类。
我们提出的BAGsoftmax模块可以很容易地插入主流检测器,只需简单地替换原来的softmax分类器。
为简单起见,我们主要使用基于锚的检测器Faster R-CNN[31]和Cascade R-CNN[1]以及它们对应的实例分割方法Mask R-CNN[16]和HTC[4]进行实验。

Long-tail classification
长尾分类由于其实际应用而越来越受到人们的关注。目前的工作利用了数据重采样、成本敏感学习或其他技术。
对于数据重采样方法,训练样本要么是过采样(为尾部类增加训练样本的副本)[15],要么是过采样(为头部类删除训练样本)[7],要么是类平衡采样[32,26],这激发了RFS的[14]。
对于代价敏感学习,在类别级通过在不同类别上乘以不同的权值来重新加权网络损失,以扩大尾类训练样本的影响[5,2,18],或者在实例级通过在不同训练样本上乘以不同的权值来进行更细粒度的控制[23,33]。其他一些方法优化使用长尾数据训练的分类器,如最近邻分类器(NCM)[27, 13]和τ-归一化分类器[20]。这些方法通常对超参数很敏感,由于第1节中所述的分类和检测的内在差异,在转移到检测框架时表现不佳。

因此,一种专门为长尾目标检测设计的方法是理想的,我们的工作是第一次成功的尝试,通过组的训练来克服分类器的不平衡,而不需要额外的样本从尾类。

3. Preliminary and Analysis

3.1. Preliminary

首先,我们以Faster R-CNN[31]为例,回顾了流行的两阶段目标检测框架。我们采用这样一个两阶段框架来开发和实施我们的想法。

骨干网fback以图像I为输入,生成特征图F = fback(I)。
然后将特征映射传递给ROI-align[16]或ROI-pooling[11],从而产生K个proposal,这些proposal具有它们自己的特征Fk= ROIAlign(F, bk)。这里bk表示proposal k。分类头fhead然后为每个proposal提取一个d维特征h = fhead(Fk)。最后,利用一个FC(全连接)层,通过z = W h+b将h转移到(C+1)类目预测(C对象类+背景),其中W∈Rd×(C+1)是每一列wj∈rd与某一特定类目j相关的分类器权值,b为偏置项。
训练时,ground真值标签y∈{0,1}C+1,应用softmax交叉熵对具体proposal进行损失计算
在这里插入图片描述
其中,
zj表示z的第i个元素,
pj表示提案为第j类实例的预测概率。

3.2. Analysis

当训练集遵循长尾分布时,当前性能良好的检测模型往往无法识别尾类。在本节中,我们将通过对具有代表性的COCO和LVIS数据集进行对比实验,来研究这种从平衡数据集到长尾数据集性能下降的潜在机制。

我们采用带R50FPN骨干的Faster R-CNN[11]模型。通过直接比较两个数据集上的mAP,性能明显下降,从36.4%(COCO)到20.9%(L VIS)。尽管存在不公平,因为LVIS包含的类比COCO (1230 vs . 80)多得多,但我们仍然可以得出一些有趣的观察结果。
在头类上,LVIS模型取得了与COCO相当的结果。
然而,当涉及到尾部类时,性能迅速下降到0。
这种现象意味着目前的检测模型确实受到了数据不平衡的挑战。为了进一步研究数据不平衡是如何导致性能下降的,我们将检测框架解耦为proposal 特征提取阶段和proposal分类阶段,在[20]之后。

具体来说,根据sec .3.1的表示,我们将用于生成h的操作视为proposal特征提取,以及Eqn中的最后一个FC层和softmax。(2)作为softmax分类器。然后,我们研究了训练实例数与每个分类器中权重范数||wj||之间的相关性。结果如图1所示。我们可以看到,对于COCO数据集,大多数类别包含103 - 104个训练实例(至少102个);对于所有前景分类,分类器权重规范也相对平衡(0.75-1.25)1。相比之下,对于LVIS数据集,权重范数kwjk与对应类别j中的训练实例数高度相关;训练例子越多,权重值就越大。

对于极端少拍类(尾部类),它们相应的体重标准是极端的很小,甚至接近于零。基于这样的观察,可以预见,尾类的预测分数将先天低于头类,并且在softmax计算中,尾类的提议将更不可能在与头类的提议竞争后被选中。这解释了为什么当前的检测模型经常在尾部类上失败。

为什么分类器的权重要与每个类的训练实例数相关联?为了回答这个问题,让我们进一步考察Faster R-CNN的训练过程。当从一个头类j中选择提议作为训练样本时,zj应该被激活,而其他类别的预测应该被抑制。由于头部类的训练实例远大于尾部类的训练实例(如在某些极端情况下为10000比1),尾部类的分类器权重更容易(频繁)被头部类的权重压制,导致训练后的权重规范不平衡。

因此,我们可以看到为什么重采样方法[14,36]能够使尾类在长尾实例分类和分割方面受益。它只是在训练过程中增加尾类提案的采样频率,使不同类的权重被同等地激活或抑制,从而在一定程度上平衡了尾类和头类。
同样,损失重新加权方法[5,2,18,23,33]也可以以类似的方式发挥作用。
虽然重采样策略能够缓解数据不平衡,但它实际上引入了新的风险,如对所有类别的过拟合和右行计算开销。
与此同时,重加权对每个级别的减重设计很敏感,通常在不同的框架、骨干和数据集之间会有所不同,这使得它很难在现实世界的应用中部署。此外,在检测问题中,基于重加权的方法不能很好地处理背景类
因此,我们提出了一种简单而有效的解决方案来平衡分类器的权值规范,而无需进行繁重的超参数工程

4. Balanced Group Softmax

我们的新型平衡组softmax模块如图2所示。首先对其配方进行阐述,然后对设计细节进行说明。
在这里插入图片描述
我们的模块的框架。
(a)训练:载有类似训练实例的课程归类在一起。类others被添加到每个组中。G0denotes背景。将softmax交叉熵(Softmax cross entropy, CE)损失分别应用于各组。
(b)测试:使用新的预测z,在每组中应用softmax,将概率按其原来的类别id (CID)排序,并用前景概率进行重新尺度变换,生成新的概率向量用于后续处理。

4.1. Group softmax

如前所述,权值规范与训练样本数量之间的正相关关系会影响检测器的性能。
为了解决这一问题,我们提出将类划分为几个不相关联的组,并分别进行softmax操作,使每个组内只有训练实例数量相似的类相互竞争。
通过这种方式,可以在训练期间将包含显著不同数量实例的类彼此隔离。
尾类的分类器权值不会被头类实际抑制。
具体来说,我们将所有C类根据其训练实例数划分为N个组。我们将第j类归为Gn组
在这里插入图片描述
其中N (j)是真实的边界框的类别 j 训练集,和sln和shn是确定组n的最小和最大实例数的超参数。在这工作,而我们设置sl N + 1 = sh确保组之间没有重叠,和每个类别只能分配给一个组。N和sl nare是经验设置的,以确保每组的类别包含相似的训练实例总数。本文设N = 4, sl 1= 0, sl 2= 10, sl 3= 102, sl 4= 103, sh 4= +∞。

另外,我们手动设置G 0只包含背景类别,因为它拥有最多的训练实例(通常是对象类别的10-100倍)。对于G0我们采用sigmoid交叉熵损失,因为它只包含一个预测,而对于其他组我们使用softmax交叉熵损失。选择softmax的原因是,softmax函数天生具有从另一个类中抑制每个类的能力,并且不太可能产生大量的误报。在培训过程中,对于ground-truth标签为c的proposal bk,会激活两个组,即后台组G0和前台组Gnwhere c∈Gn。

版权声明:本文为CSDN博主「一颗仙桃儿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40310050/article/details/122186744

一颗仙桃儿

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

制作YOLOv5数据集

1 使用labelImg标注数据集 labelImg是一个可视化的图像标定工具。Faster R-CNN,YOLO,SSD等目标检测网络所需要的数据集,均需要借此工具标定图像中的目标。可以标注两种格式

FPN 特征金字塔 理解

Feature Pyramid Networks 对于Faster Rcnn使用FPN,cocoAP提升2.3个点,pascalAP提升3.8个点 1*1的conv,调整通道数,原论文中