论文地址:https://arxiv.org/pdf/2009.01559.pdf
1. 作者与摘要
作者:作者分别来自同济大学、清华大学、商汤科技。
摘要:本文主要介绍冠军团队(LVIS Traveler)在2020实例分割挑战赛(LVIS Challenge 2020)上的解决方案。在比赛过程中,作者要兼顾LVIS数据集的两大特征:1.数据的长尾分布问题;2.高质量的实例分割掩码。作者采用两阶段的训练策略。第一阶段,即表示学习阶段,作者采用EQA和半监督学习技术来学习泛化的表示。在第二阶段,作者使用Balanced GroupSoftmax进行分类,提出了一种新的感兴趣区域分配策略和一种新的用来平衡掩码的损失函数,从而得到更加精确的掩码预测。最终:作者在LVIS数据集的验证集和测试机上分别取得了41.5AP和41.2AP的成绩,远远超越了X101-FPN-MaskRCNN的表现结果。
2. 总体介绍
LVIS是一个新的大规模实例分割数据集:数据集很大,类别多(1200+类别),各类别分布不平衡长尾效应明显,另外mask标注很精细(超过200万个高质量实例分割标注)。
作者的解决方案主要体现在两方面:1. 解决由于长尾分布引起的类间严重不均衡的问题;2.预测高质量的实例分割掩码。总体来说,作者采用了两阶段的训练策略, 包括表示学习阶段和微调阶段。在表示学习阶段,作者用如下技术来学习到泛化的表示:EQL、repeat factor re-sampling、数据增强技术、自训练技术。在微调阶段,作者首先固定住主干网络的参数,然后用balanced group softmax技术去解决类间不均衡的问题。
在第二阶段,作者仍然将重点放在mask head的设计上。我们发现,较好的检测框并不能保证精确地分割掩码。例如:众多类别中有很多物体的mask与包围框的面积之比很小,很显然这多见于那些“细、长、瘦”的类别,他们包围框很大,mask占像素却不多(这也是论文标题中 “A Good Box is not a Guarantee of a Good Mask”的由来),其实应该使用精细的特征作为mask特征,所以不能仅根据尺度来确定分配FPN中那一层的特征。因此,我们提出了一种有效的平衡分割掩码的损失函数,它结合了dice loss和二值交叉熵损失。特别的,掩码损失函数的权重是根据面积比例(掩码的面积与框面积的比值)进行动态变化的。
3. 方法汇总
1. 表示学习阶段
EQL:Equalization Loss用来抑制出现次数过多和过少的类别。
RFS:Repeat Factor Sampling样本采样技术。
Data Augmentation:Mosaic数据增强, 旋转和尺度扰动。
Self-training:作者的自训练方法包括以下两个部分。
(1)作者将训练的模型在 LVIS v1.0 数据集上推断得到物体包围框,即伪标签,对那些与训练集中ground truth 没有重合的伪标签目标在训练时采取忽略的做法,防止数据标注遗漏而将真实目标作为背景来训练了。
(2)作者也将训练的模型在Open Image 数据集上进行了推广,将得到的伪标签数据的一部分(每个epoch 1万幅图像)与LVIS v1.0 数据集一起作为训练数据,为了控制其对结果的影响,对此部分损失进行了加权。
总结:上面所用的技术分别从数据样本均衡、数据增强、数据清洗和数据扩充几个方面着手做的工作。
2. 微调阶段
分类器平衡(Classifier Balance) : 作者在表示学习阶段结束后,冻结网络的backbone,neck和RPN,使用Balanced GroupSoftmax进行分类器平衡。
Mask 候选分配策略(Mask Proposal Assignment):解决细长目标的分割问题,动态分配mask proposals,分配公式如下。
平衡的mask损失函数(Balsnced Mask Loss): 解决“细、长”物体前景背景分布不均衡问题,损失函数如下所示。
注:前面是dice loss,后面是binary cross-entropy loss,λ是用来平衡两个损失函数的,作者在做实验时λ=1。
More Computation on Head: 第二阶段作者在mask head处增加了三个卷基层,运用deformable RoI pooling提取特征。
4. 消融实验
可见作者的这些策略还是很有作用的。
5. 总结
用上以上作者的策略之后,作者取得了第一名,结果如下:
注:作者在测试时使用了Test Time Augmentation,并对TTA进行了很小的改进。
总体来说,该文章还是很有借鉴意义的,特别是在各种比赛中,作者运用的技巧涨点明显。