作者 | 阿里安全人工智能治理与可持续发展实验室(AAIG)
编辑 | 杨怡
1
比赛背景
对数据集进行标注会消耗大量的人力和资源,此外,只有少数几家科技巨头拥有数十亿的数据点和数以千计的昂贵的深度学习硬件GPU可供使用。
最近有很多研究通过非监督学习、重用现有数据集或合成人工训练数据的方法,研究如何利用有限的数据来训练深度神经网络。因此本次的workshop重点在如何利用少量的数据,对模型进行有效的训练。
ICCV2021本次挑战比赛一共分为五个赛道,这些任务都不需要庞大的GPU集群,长时间的训练也不会对模型结果产生很大的改善。比赛页面如下:比赛页面,本次比赛五个赛道共有阿里、蚂蚁、海康、松下、平安、字节、网易、美团等企业和西电、北邮、清华、复旦、南洋理工、中佛罗里达和罗马大学等海内外高校参加,我们设计了一套基于对比学习预训练模型的检测模型网络,以mAP 30.4%的成绩获得目标检测赛道的冠军。
比赛介绍
图像中目标的自动定位和检测是计算机视觉的重要应用之一。由于上下文信息,目标检测器可能在图像中预期的位置发现那些丢失的目标物体。如图1所示,红色框代表缺失的部件,检测不存在的物体尤其不利于自动视觉零件验证或视觉验证的应用, 即需要确定物体存在或不存在的应用。因此,本次比赛提出了DelftBike[6]数据集,并以此作为本次目标检测赛道的数据集。
图1 DelftBike
图2 零部件在图片中的位置分布
DelftBikes数据集包含10,000辆自行车的图像,每辆自行车有22个密集标注的部件。此外,数据集将所有部件位置和状态明确标注为完整(intact)、损坏(damaged)、遮挡(occluded)或缺失(absent),其中缺失状态表示该目标已丢失,但是该数据集仍然将其用包围框标注出来。如图2所示,其中intact,damaged,occluded和absent分别占60%,6%,14%和20%。模型训练和测试只使用可见部分进行评估,即intact、damaged和occluded。如图3所示,是DelftBikes的一些图片样本,每张图片有22个自行车零部件的包围框标签,每个部件都详细标注出了明确的状态信息。同样的形态、方向和位置很容易导致对上下文敏感的目标检测器检测出缺失部件。如图2所示,是22个零部件的在图片中平均位置和大小,说明先验的目标绝对位置信息和上下文是有联系的。
图3 一些DelftBike示例图
1
解决方案
论文链接:https://arxiv.org/pdf/2106.02523.pdf
注意点:本次目标检测任务不允许使用任何额外数据,包括在ImageNet上或其他数据集上预训练的模型、迁移模型等。
1. 数据增强
DelfBike数据集的数据量比较少,模型很容易过拟合到少量的数据样本上,我们的检测模型训练到24轮之后,在验证集合上的mAp是逐渐下降的。为了获取更多的数据,我们对现有的训练数据进行数据增强,增强方法包括随机添加高斯噪声、模糊变化、雾化、加雨加雪等。同时我们也对一些数量比较少的类别进行针对性的数据增强,利用的方法是泊松融合[1]。
图4 数据增强
2. 自监督模型预训练
在目标检测任务中,从零开始进行模型训练很难收敛,尤其是在数据量不足的情况下。在目标检测比赛中禁止使用除提供的训练数据以外的其他数据,即没有预训练,也没有迁移学习。但是,我们可以利用竞赛提供的数据,通过自监督或无监督的方法对预先训练好的模型进行训练,使模型收敛得更快、更好。根据trainval集合的bounding box标签信息,我们对原图片进行裁剪并生成133,245张自行车零部件的图片,将这些截图用于预训练模型的训练。
图5 Momentum Contrast[5]
我们采用的模型预训练方法是Momentum Contrast(MoCo)[5],MoCo是针对无监督视觉表征学习而提出的,它是一种利用对比学习[10]来构建动态字典的方法,这可以被认为是为字典查找任务训练编码器,如图5所示,MoCo可以驱动各种下游任务的学习,比如图像分类、目标检测等。一个已编码的查询q和一组已编码的样
,与q相似的正编码样本定义为k ,其他的被定义为负样本k-。如图5所示,对比学习方法是为了学习一个编码器F,从而拉近在特征空间中q和它的正样本k 之间的距离,推远q和负样本k-之间的距离。使用的对比损失函数计算如下:
公式1
其中是一个温度超参数,反向传播可以通过使用查询序列将所有样本的梯度传递回来,但是这会字典变得很大,使得更新编码器F变得困难。因此,MoCo提出了一个动量更新来解决这个问题,参数更新公式如公式2所示。MoCo设定来自同一个张的图片的query和key是正样本对,否则为负样本对。在实验中,为了增强模型的鲁棒性,对同一幅图像随机选择不同的图像增强方法,来生成正样本对。
公式2
其中m表示动量系数,
。
查询编码器和字典编码器分别表示为
和
,编码器可以是任意卷积神经网络,如ResNet,Res2Net。通过对比学习的方法,训练编码器模型,之后将训练好的编码器模型用于下游检测任务模型的初始化。本方案采用的是ResNet-50模型作为我们的backbone,因为我们在实验中发现更深或者更复杂的backbone并不能在检测效果上带来增益。同时,我们的实验也证明了通过自监督训练的预训练模型比使用ImageNet的预训练模型效果要更好。
3. Baseline模型训练
图6 Baseline模型框架
我们在本次比赛中采用的baseline模型是基于Cascade-RCNN DCN[8] GN[9]的目标检测模型。在目标检测中,IOU阈值被用来定义正样本(positive)与负样本(negative),Cascade-RCNN[7]由多个检测器构成,这些检测器通过递增的IOU阈值进行分级训练。一个检测器输出一个更好的分布数据来作为下一个检测器的输入,这样能解决一部分假阳性FP问题。Deformable Convolutional networks(DCN)可变形卷积主要解决的问题是在图像的任务中目标的尺寸,形状变化不一,插入可变形卷积能增强网络的特征提取能力,offset的作用是使网络在提取特征时更多的把注意力聚焦到和训练目标有关的位置上,可以更好的覆盖不同尺寸和形状的目标。BN的问题是十分依赖于batch size,大batch size比较小的时候,BN效果不会太好。GN通过对channel分组的形式来解决Normalization依赖batch size的问题。
4. 多阈值soft-nms
非最大抑制是anchor-base的目标检测模型的一个重要后处理部分。NMS按得分进行排序,与得分高的框重叠大于一定阈值的得分较低的框会受到抑制。NMS会直接删除得分较低的框,从而降低了目标对象检测的召回率。因为比赛提供的数据集的训练标签和测试标签都是带有噪声的,所以得分高的框往往不是最贴合目标对象的检测框,因此,我们使用soft-NMS代替NMS。此外,我们发现每个类别的边界框的坐标偏差范围是不同的,从而导致每个类别对soft-nms是设定的IOU阈值比较敏感。每个类别的iou阈值最优取值是不同的,因此,我们为每个类别设置了不同的IOU阈值,以便更好地提高目标检测的召回率。
5. Stochastic Weights Averaging(SWA) Cyclic Learning rate[12]
SWA[2]简单来说就是对训练过程中生成的多个阶段的模型checkpoints进行平均,来提升模型的泛化性能。记训练过程第i个epoch的checkpoint为
,SWA一般在最后采用周期式学习速率(余弦退火学习速率)额外训练k轮模型,不同的是SWA会取多个checkpoints的平均值
作为最终模型。如下图所示,是余弦退火学习速率,初始学习率一般设置为较大的学习率,之后在一轮的训练时间内迅速降低到相对较小的学习率,这样重复k轮。
图7 余弦退火学习速率
图8 SWA
3
实验分析
1. 实验结果分析
我们通过Tide[11]目标检测错误分析工具对模型评测结果进行分析,如图9所示,其中Cls表示分类错误,Loc表示由于定位导致的错误,Cls Loc表示定位和分类都是有问题的,Duplicate表示预测框重叠问题,Bkgd表示将背景类预测为目标物体,Missed表示漏检问题。如图10所示,是我们模型的错误分析结果,其中70%以上是因为定位问题导致的假阳(FP)问题。具体原因可以总结为:
(1)训练集合存在噪声标签,gt框包括大量背景以及其他类别目标,训练标签本身带有错误的先验信息导致预测框定位上不是很准确。
(2)训练集Ground Truth和测试集Ground Truth 目标的位置偏差和方差不同,测试集合同样也存在噪声标签,gt框没有完全贴合目标物体,位置上有一定的偏差,偏差的大小和方向与训练集不一致。
图9 检测错误类别 图10 模型错误分析结果
2. 预训练模型的Ablation Study
从Table 2可以看出,我们实验了无预训练模型直接随机初始化、ImageNet预训练以及三种自监督的模型预训练方法(DenseCL[3],InstanceLoc[4]和Moco[5]),使用自监督的模型预训练方法相比于使用ImageNet预训练模型初始化都有提升。其中MoCo预训练方法效果最好,使用MoCo自监督预训练模型比使用ImageNet预训练模型在mAP提升了0.65%,比没有使用预训练模型提升了1.15%。
3. soft-NMS的Ablation Study
从表5可以看出,soft-NMS[13]能在NMS基础上提升1.57%,soft-NMS能提升这么多是因为测试标签中含有大量的噪声标签,模型预测准确的预测框不一定是最贴合Ground True的。因此通过soft-NMS可以保留下得分低但是更贴合gt的预测框,从而大大的增强模型的召回率,使用soft-nms之后模型的召回率提升了4%。
3. 后处理的Ablation Study
后处理方法是模型最后涨点的最重要的方法,通过后处理方法大大的拉升了我们的比赛成绩,我们使用的后处理方法有如下几个:
(1)Test Time Augmentation(TTA),在测试时我们采用多尺度图片进行测试。
(2)Boxes Emsemble:通过训练多个检测模型(不同的模型结构、初始化方法和训练方法等等),然后将各个模型对测试图片的测试结果进行emsemble。
(3)Boxes先验验证:统计各个类别ground trurh在图片的的位置信息和长宽等信息,利用先验对测试结果进行分析,过滤掉不合理的目标框。
(4)类间NMS:通过不同类别之间预测框的NMS约束,这样也可以提升mAP。
4. 完整的Ablation Study
Table4 给出了我们实验所有的方法和trick,模型的自监督预训练、DCN/GN、TTA、soft-nms、emsemble等,最终我们将baseline模型mAp从28.40提升到30.92。需要注意的是由于测试集噪声标签的影响,模型在训练集上的mAp也只有33.17。
参考文献
[1] Pérez, P., Gangnet, M. and Blake, A., 2003. Poisson image editing. In ACM SIGGRAPH 2003 Papers (pp. 313-318).
[2] Zhang, H., Wang, Y., Dayoub, F. and Sünderhauf, N., 2020. Swa object detection. arXiv preprint arXiv:2012.12645.
[3] Wang, X., Zhang, R., Shen, C., Kong, T. and Li, L., 2021. Dense contrastive learning for self-supervised visual pre-training. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 3024-3033).
[4] Yang, C., Wu, Z., Zhou, B. and Lin, S., 2021. Instance localization for self-supervised detection pretraining. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 3987-3996).
[5] Chen, X., Fan, H., Girshick, R. and He, K., 2020. Improved baselines with momentum contrastive learning. arXiv 2020.
[6] Kayhan, O.S., Vredebregt, B. and van Gemert, J.C., 2021. Hallucination In Object Detection--A Study In Visual Part Verification. arXiv preprint arXiv:2106.02523.
[7] Cai, Z. and Vasconcelos, N., 2018. Cascade r-cnn: Delving into high quality object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 6154-6162).
[8] Dai, J., Qi, H., Xiong, Y., Li, Y., Zhang, G., Hu, H. and Wei, Y., 2017. Deformable convolutional networks. In Proceedings of the IEEE international conference on computer vision (pp. 764-773).
[9] Wu, Y. and He, K., 2018. Group normalization. In Proceedings of the European conference on computer vision (ECCV) (pp. 3-19).
[10] Hadsell, R., Chopra, S. and LeCun, Y., 2006, June. Dimensionality reduction by learning an invariant mapping. In 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06) (Vol. 2, pp. 1735-1742). IEEE.
[11] Bolya, D., Foley, S., Hays, J. and Hoffman, J., 2020. Tide: A general toolbox for identifying object detection errors. In Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23-28, 2020, Proceedings, Part III 16 (pp. 558-573). Springer International Publishing.
[12] Smith, L.N., 2017, March. Cyclical learning rates for training neural networks. In 2017 IEEE winter conference on applications of computer vision (WACV) (pp. 464-472). IEEE.
[13] Bodla, N., Singh, B., Chellappa, R. and Davis, L.S., 2017. Soft-NMS--improving object detection with one line of code. In Proceedings of the IEEE international conference on computer vision (pp. 5561-5569).