这次给大家介绍一篇CVPR2020的文章,题为“Overcoming Classifier Imbalance for Long-tail Object Detection with Balanced Group Softmax”,主要解决目标检测中的长尾数据分布问题,解决方案也十分简洁。
首先,长尾分布的数据广泛存在,这里以COCO和LVIS两个数据集为例,如下图所示:
long-tail
横坐标是类别的索引,纵坐标是对应类别的样本数量。
可以看到,在这两个数据集当中,存在着明显的长尾分布。
这里给出一些相关的工作,按类别给出:
这些方法通常都对超参数敏感,并且迁移到检测框架的时候表现不佳(分类任务和检测任务的不同)
这里直接给出算法的具体框架:
bgs
如上图所示,在训练阶段,我们会对类别进行分组,不同组内部分别计算Softmax,然后计算出各自的交叉熵误差。
对于分组,论文给的是按0,10,100,1000,+inf作为切分点进行切分
这里我们需要为每一个组分别添加一个other类别,使得,当目标类别不在某一个组的时候,groundtruth设置为other。
最终的误差形式为:
其中, 是
组的数量,
是第
个组的类别集合,
是模型输出的概率,
是标签。
这里给出一张全面对比的精度表
comparison
AP的下标对应着划分的组的索引,可以看到,在尾部的精度,也就是 和 上都达到了SOTA的性能。