本文介绍 ECCV 2020 大规模实例分割挑战赛(LVIS Challenge)冠军方案,来自冠军团队 lvisTraveler 官方发布的报告:1st Place Solution of LVIS Challenge 2020: A Good Box is not a Guarantee of a Good Mask。
该报告很短,除实验部分和参考文献后只有三页,但很具有启发性。因为是算法比赛,所以该报告的重点是针对数据集提出问题,设计方案。尽管是针对数据设计算法,但因为该数据集很大,所以所提出的方案也具有普遍的参考价值。LVIS Challenge 的特点:数据集很大,类别多(1200+类别),各类别分布不平衡长尾效应明显,另外mask标注很精细(超过200万个高质量实例分割标注)。作者使用的算法基线:Mask-RCNN + HTC。1.1)使用了Equalization Loss (EQL)抑制出现次数过多和过少的类别;1.2)使用了 Repeat Factor Sampling 样本采样技术;1.3)数据增广中使用了Mosaic , 旋转和尺度扰动;1.4)特别值得一提的是作者使用的自训练(Self-training)方法,主要包括两个部分:1.4.1)作者将训练的模型在 LVIS v1.0 数据集上推断得到物体包围框,即伪标签,对那些与训练集中ground truth 没有重合的伪标签目标在训练时采取忽略的做法,防止数据标注遗漏而将真实目标作为背景来训练了。1.4.2)另外作者也将训练的模型在Open Image 数据集上进行了推断,将得到的伪标签数据的一部分(每个epoch 1万幅图像)与LVIS v1.0 数据集一起作为训练数据,为了控制其对结果的影响,对此部分损失进行了加权。可见,作者在这部分主要是为了应对数据集类别不平衡、数据清洗和扩增数据。2.1)分类器平衡(Classifier Balance),作者在表示学习部分结束后,冻结网络的 backbone, neck 与 RPN,使用Balanced GroupSoftmax进行分类器平衡;2.2)Mask 候选分配策略(Mask Proposal Assignment),作者们发现LVIS v1.0 含有的众多类别中有很多物体的mask与包围框的面积之比很小,很显然这多见于那些“细、长、瘦”的类别,他们包围框很大,mask占像素却不多(这也是论文标题中 “A Good Box is not a Guarantee of a Good Mask”的由来),其实应该使用精细的特征作为mask特征,所以不能仅根据尺度来确定分配FPN中那一层的特征。于是,作者发明了一种考虑包围框尺度、mask面积的mask特征分配方法
2.3)平衡的mask 损失函数(Balanced Mask Loss),基于上述观察,对于“细、长、瘦”的类别的实例,造成了前后景的不平衡,于是作者设计了考虑前后景平衡的mask损失函数。
其中两部分分别代表dice loss和weighted binary cross-entropy loss。
基于上述方案,作者最终获得了LVIS比赛的第一名。
另外,特别值得一提的是,文中提及的“A Good Box is not a Guarantee of a Good Mask”也为实例分割打开了新眼界,欢迎感兴趣的同学继续研究,提出更好的策略。https://arxiv.org/abs/2009.01559