Re-labeling ImageNet(CVPR 2021, Naver)

paper:Re-labeling ImageNet: from Single to Multi-Labels, from Global to Localized Labels

official implementation:GitHub - naver-ai/relabel_imagenet

背景

ImageNet 数据集是现代计算机视觉领域的重要基准,广泛用于图像分类模型的训练和评估。然而,ImageNet 存在标签噪声问题,许多图像实际上包含多个类别,但原始数据集中只提供单标签注释。这种单标签的设置在训练和评估过程中都会引入噪声,影响模型性能。

出发点

本文的出发点是解决 ImageNet 数据集中标签噪声的问题,特别是图像中包含多个类别但只有单标签注释的情况。研究人员提出重新标注 ImageNet 训练集,以多标签和定位标签的方式提供更准确的监督信号。

创新点和解决的问题

本文的创新点如下

  • 重新标注策略ReLabel:使用强大的图像分类器重新标注 ImageNet 训练集,生成多标签和定位标签。
  • LabelPooling 训练框架:提出了一种新的训练框架,利用定位多标签来提高模型训练的准确性和鲁棒性。

解决了如下问题

  • 标签噪声:解决 ImageNet 数据集中标签噪声的问题,使得每个图像的注释更准确。
  • 随机裁剪问题:在使用随机裁剪数据增强时,单标签可能导致裁剪区域与原始标签不匹配,引入错误的监督信号。

方法介绍

本文提出了一种新的重新标注的策略 ReLabel ,从而在ImageNet训练集上获得像素级的ground truth标签。Label maps有两个特点:1)多类别标签 2)定位标签。Label maps是从一个machine annotator得到的,它是一个在额外的数据上训练的强大的图像分类器。此外作者还提出一种新的训练框架 LabelPooling来使用这种定位多类别标签训练分类模型。

ReLabel

ReLabel的具体过程如图A1所示,在传统的分类模型中,最后一个stage的输出特征图通过全局平均池化和一个全连接层得到输出的shape为1x1xC,其中C是类别数,然后经过softmax并取argmax得到最终预测结果。而本文提出的ReLabel去掉了全局平均池化,直接用一个1x1卷积得到输出label map的shape为HxWxC,这样就得到了一个全卷积网络(这里和热力图CAM有点像,关于CAM的介绍见CAM: Class Activation Mapping(CVPR 2016)速读),这里的1x1卷积和全连接层是完全相同的。这样就得到了像素级的预测。

这里ReLabel的网络我们称之为machine annotator,它是一个在额外数据集上(例如JFT-300M、InstagramNet-1B)训练的性能强大的分类模型,这个过程可以离线进行并且是一次性的,我们将对ImageNet得到的所有label maps保存到本地,然后在训练时直接加载就可以使用,而不用像蒸馏那样,每个训练样本都需要在teacher model中forward一次得到预测结果。

以EfficientNet-L2作为machine annotator为例,它的输入分辨率为475x475,最终得到的label map维度为 \(L\in \mathbb{R}^{15\times 15\times 1000}\),对于包含 \(1.28\times 10^6\) 张图片的ImageNet来说保存所有label maps大概需要1TB的存储空间。但幸运的是对于每张图片像素级的预测除了top-k类别外其余的几乎都为0,因此为了节省存储空间我们可以只保存前几位的预测结果比如top-5,这样只需要大概10GB的存储空间。

LabelPooling

在得到了密集多标签预测结果后,我们就要用它来训练目标网络,为此作者提出了一种新的训练方法LabelPooling,它在训练过程中考虑到了局部的ground truth。在原始的ImageNet中一张图片只有单个标签,但图片中经常包含多个物体,而random crop是训练分类模型经常使用的一种增强方法,当crop部分包含其它目标或只包含部分ground truth时,用原始的标签训练网络会带来巨大的噪声干扰,如下图所示。

LabelPooling则考虑到了标签的位置性,图3展示了LabelPooling和传统ImageNet监督训练的区别,具体来说因为pre-computed label map是像素级的ground truth,在训练时根据random crop的坐标通过RoIAign从label map中可以得到localized ground truth,然后经过global average pooling和softmax就得到了最终的localized multi-class标签。

整个过程的伪代码如下所示

本文方法和传统的ImageNet监督训练以及知识蒸馏的区别如表1所示

实验结果

在各个ImageNet数据集上的结果如下表所示,可以看到ReLabel在各个数据集上都取得了最好的结果,并且优于Label smoothing和Label cleaning。

ReLabel包含两个特点,多标签和位置性,作者通过消融实验分析了这两者对性能的影响,如表2所示,可以看到去掉两者精度分别下降了0.5%和0.4%,当两者都去掉时就是原始的整图单标签分类只不过标签是模型预测得到的,精度下降了1.4%,因此两者都对精度的提升都不可或缺。

作者又研究了ReLabel训练的模型作为backbone在下游任务的表现,如下所示,表明用像ReLabel这样更清晰的监督对模型进行预训练,可以获得更好的特征表示,并提高目标检测和实例分割性能。

相关推荐
边缘计算社区11 分钟前
首个!艾灵参编的工业边缘计算国家标准正式发布
大数据·人工智能·边缘计算
游客52022 分钟前
opencv中的各种滤波器简介
图像处理·人工智能·python·opencv·计算机视觉
一位小说男主22 分钟前
编码器与解码器:从‘乱码’到‘通话’
人工智能·深度学习
KeyPan26 分钟前
【IMU:视觉惯性SLAM系统】
计算机视觉
深圳南柯电子39 分钟前
深圳南柯电子|电子设备EMC测试整改:常见问题与解决方案
人工智能
Kai HVZ39 分钟前
《OpenCV计算机视觉》--介绍及基础操作
人工智能·opencv·计算机视觉
biter008844 分钟前
opencv(15) OpenCV背景减除器(Background Subtractors)学习
人工智能·opencv·学习
吃个糖糖1 小时前
35 Opencv 亚像素角点检测
人工智能·opencv·计算机视觉
qq_529025291 小时前
Torch.gather
python·深度学习·机器学习