Re-labeling ImageNet(CVPR 2021, Naver)

news2025/1/11 16:54:50

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这样更清晰的监督对模型进行预训练,可以获得更好的特征表示,并提高目标检测和实例分割性能。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1934486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码中间件学习体验分享:业务系统的创新引擎

前言 星云低代码平台介绍 星云低代码中间件主要面向企业IT部门、软件实施部门的低代码开发平台,无需学习开发语言/技术框架,可视化开发PC网页/PC项目/小程序/安卓/IOS原生移动应用,低门槛,高效率。针对企业研发部门人员少&#…

从0到1搭建数据中台(4):neo4j初识及安装使用

在数据中台中,neo4j作为图数据库,可以用于数据血缘关系的存储 图数据库的其他用于主要用于知识图谱,人物关系的搭建,描述实体,关系,以及实体属性 安装 在官网 https://neo4j.com/ 下载安装包 neo4j-co…

【jenkins+cmake+svn管理c++项目】msbuild: command not found

一、前言 jenkins中配置cmakeVS的编译构建过程,需要用到MSBuild这个工具来完成VS工作,MSBuild的安装配置方法见:windows编译环境和工具配置 MSBuildCMAKE的编译可以用脚本来完成,我在jenkins的构建步骤中添加了一个ExecuteShell…

Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: HadoopHDFSMapReduceHiveFlumeSqoopZookeeperHBase 正在 章节内容 上一节我们完成了: 集群的…

解决:Linux上SVN 1.12版本以上无法直接存储明文密码

问题:今天在Linux机器上安装了SVN,作为客户端使用,首次执行SVN相关操作,输入账号密码信息后,后面再执行SVN相关操作(比如"svn update")还是每次都需要输入密码。 回想以前在首次输入…

Visual Studio Code 实现远程开发

Background 远程开发是指开发人员在本地计算机上进行编码、调试和测试,但实际的开发环境、代码库或应用程序运行在远程服务器上。远程开发的实现方式多种多样,包括通过SSH连接到远程服务器、使用远程桌面软件、或者利用云开发环境等。这里我们是使用VSCo…

Vue封装文件上传组件(支持图片、PDF、Excel、word预览下载)

一、准备工作 安装预览依赖包&#xff1a;exceljs、mammoth、vue-pdf 二、封装组件 文件上传组件 fileUploadPro.vue。默认预览、下载是true,可通过isPreView、isDownLoad控制 <template><div style"display: flex"><el-uploadmultipleaction&qu…

BUUCTF逆向wp [MRCTF2020]Transform

第一步 查壳。该题为64位。 第二步 进入主函数&#xff0c;跟进dword_40F040,它应该与关键字符串有关 分析一下&#xff1a; 初始化和输入 sub_402230(argc, argv, envp); 这行可能是一个初始化函数&#xff0c;用于设置程序环境或处理命令行参数。具体功能不明&#xff0c…

不同业务场景下通过mars3d实现绕点旋转效果

1.鼠标单击地图某一处就对该点进行绕点旋转效果 相关代码&#xff1a; 1.相关绕点旋转的初始化代码&#xff1a; const rotatePoint new mars3d.thing.RotatePoint({direction: false, // 方向 true逆时针&#xff0c;false顺时针time: 50 // 给定飞行一周所需时间(单位 秒)&…

神经网络中如何优化模型和超参数调优(案例为tensor的预测)

总结&#xff1a; 初级&#xff1a;简单修改一下超参数&#xff0c;效果一般般但是够用&#xff0c;有时候甚至直接不够用 中级&#xff1a;optuna得出最好的超参数之后&#xff0c;再多一些epoch让train和testloss整体下降&#xff0c;然后结果就很不错。 高级&#xff1a;…

使用Docker 实现 MySQL 循环复制(三)

系列文章 使用Docker 实现 MySQL 循环复制&#xff08;一&#xff09; 使用Docker 实现 MySQL 循环复制&#xff08;二&#xff09; 目录 系列文章1. 在主机上安装MySQL客户端2. 配置循环复制拓扑2.1 进入容器2.2 创建复制用户并授予复制权限2.3 复位二进制日志2.4 配置环形复…

Jenkins-zookeeper-docker-xxljob-rancher

文章目录 Jenkins实战1 新建任务需要的配置pipeline Zookeeper基础 Docker基础实操windows11 docker mysql DockerhouseDockerhubxxl-Job基础实战 Rancher基础思考 实战1 Rancher的某个namespace的scale为0 Jenkins 实战 1 新建任务需要的配置pipeline 该代码是Jenkinsfile&…

【Docker】基于Docker-compose创建LNMP环境

目录 一.Docker-compose 概述 1.容器编排管理与传统的容器管理的区别 2.docker-compose 作用 3.docker-compose 本质 4.docker-compose 的三大概念 二.YML文件格式及编写注意事项 1.yml文件是什么 2.yml问价使用注意事项 3.yml文件的基本数据结构 三.Docker-compose …

5G以太网和5G前传业务的有效解决方案——25G可调DWDM光模块

信息技术的迅猛发展和数据传输需求的不断增加&#xff0c;光通信技术在现代网络中扮演着至关重要的角色。DWDM技术通过在一根光纤上使用多个不同波长的光信号同时传输&#xff0c;大幅提高了数据传输的容量。而可调光模块则能够在多种波长之间进行切换&#xff0c;实现灵活、高…

如何用EXCEL自动解方程/方程组?利用 矩阵乘法X=A-*B,X=mmult(minverse(A), B)

目录 问题的由来 1 数据 → 模拟分析 → 单变量求解 1.1 找一个单元格填入公式 1.2 功能入口 1.3 选择单变量求解&#xff0c;分别填入内容 1.4 求解 1.5 这个感觉用处不大 2 重点介绍&#xff0c;用EXCEL进行矩阵运算解方程的操作 2.1 运用EXCEL进行矩阵运算&…

ETL数据集成丨通过ETLCloud工具,将Oracle数据实时同步至Doris中

ETLCloud是一个全面的数据集成平台&#xff0c;专注于解决大数据量和高合规要求环境下的数据集成需求。采用先进的技术架构&#xff0c;如微服务和全Web可视化的集成设计&#xff0c;为用户提供了一站式的数据处理解决方案。 主要特点和功能包括&#xff1a; 实时数据处理&…

Android 使用FFmpeg解析RTSP流,ANativeWindow渲染 使用SurfaceView播放流程详解

文章目录 ANativeWindow 介绍ANativeWindow 的主要功能和特点ANativeWindow 的常用函数工作流程原理图通过ANativeWindow渲染RGB纯色示例 播放RTSP流工作流程图关键步骤解析自定义SurfaceView组件native 层解码渲染 效果展示注意事项 这篇文章涉及到jni层&#xff0c;以及Ffmpe…

pdf提取其中一页怎么操作?提取PDF其中一页的方法

pdf提取其中一页怎么操作&#xff1f;需要从一个PDF文件中提取特定页码的操作通常是在处理文档时常见的需求。这种操作允许用户选择性地获取所需的信息&#xff0c;而不必操作整个文档。通过选择性提取页面&#xff0c;你可以更高效地管理和利用PDF文件的内容&#xff0c;无论是…

负载均衡 lvs

1. 4层转发(L4) 与 7层转发(L7) 区别 4层转发(L4) 与 7层转发(L7) 区别 转发基于的信息 状态 常用的服务 L4 基于网络层和传输层信息&#xff1a; L4转发主要依赖于网络层IP头部(源地址&#xff0c;目标地址&#xff0c;源端口&#xff0c;目标端口)和传输层头部&#xff…

接口防刷!利用redisson快速实现自定义限流注解

问题&#xff1a; 在日常开发中&#xff0c;一些重要的对外接口&#xff0c;需要加上访问频率限制&#xff0c;以免造成资&#xfffd;&#xfffd;损失。 如登录接口&#xff0c;当用户使用手机号验证码登录时&#xff0c;一般我们会生成6位数的随机验证码&#xff0c;并将验…