重新标记ImageNet:从全局标签到局部标签(附github代码及论文)

news2024/12/23 23:41:16

欢迎关注“

计算机视觉研究院

df950c1af86e5ea99c0550d3c891414a.gif

计算机视觉研究院专栏

作者:Edison_G

ImageNet可以说是最受欢迎的图像分类基准,但它也是一个具有显著噪声的标签。最近的研究表明,许多样本包含多个类,尽管被假定为单个标签基准。因此,他们建议将ImageNet评估变成一个多标签任务,每个图像都有详尽的多标签注释。然而,他们还没有固定训练集,大概是因为强大的注释成本。

9aaa3db54f3edf6ab9ea42731e97e327.png

长按扫描二维码关注我们

回复“Re-image”获取论文

Github代码

d550fe60fa2792d471e4764eebc2f1c9.png

1.动机

所以作者认为在训练设置中,单标签注释和有效的多标签图像之间的不匹配是同样的问题。使用单标签注释,图像的随机裁剪可能包含与真值完全不同的目标,在训练过程中引入噪声甚至不正确的监督。因此,作者用多标签重新标记ImageNet训练集。

通过让一个强大的图像分类器,在额外的数据源上训练,生成多标签来解决注释成本障碍。利用最终池化层之前的像素级多标签预测,以利用额外的特定位置的监督信号。对重新标记的样本进行训练,可以全面提高模型性能。在ImageNet上,ResNet-50的分类精度达到了78.9%,局部多标签,这可以进一步提高到80.2%。作者表明,用局部多标签训练的模型也优于迁移学习到目标检测和实例分割任务的基线,以及各种鲁棒性基准。

2.引言

每个图像的目标类的多样性与单个标签的分配之间的不匹配不仅导致了评估问题,而且还导致了训练问题:监督变的嘈杂。random crop augmentation的广泛采用加剧了这一问题。图像的随机裁剪可能包含与原始单个标签完全不同的对象,在训练过程中引入潜在的错误监督信号,如下图所示。

e3f82c75af79b8f5a6a22ef358f2f44d.png

Random crop augmentation不仅对具有多个对象类的图像产生监督噪声。即使对于具有单个对象类的图像,随机裁剪通常也不包含前景对象。据估计,在标准的ImageNet训练设置下,8%的随机裁剪与真实值没有重叠。只有23.5%的随机裁剪与真实的IoU大于50%(见下图)。在ImageNet上训练模型不可避免地涉及到许多嘈杂的监督信号。

e9fd9db251f5249867265f46b42d1f08.png

3.问题

Labeling issues in ImageNet

ImageNet有效地作为图像分类器的标准基准,Shankar等人认为:“方法在这个基准上的性能是活的还是死的”。

因此,基准本身的可靠性已成为认真研究和分析的主题。与许多其他数据集一样,ImageNet包含许多标签噪声。在ImageNet上最持久和系统的标签错误类型之一是错误的单个标签,指的是在多个现有类别中只有一个被注释的情况。这种错误很普遍,因为ImageNet包含许多具有多个类的图像。 

Shankar等人和Beyer等人为错误的单个标签确定了三个子类别:

(1) 图像包含多个对象类,

(2 )存在多个同义或层次性的标签,包括另一个,

(3) 图像中固有的模糊性使多个标签可信。

这些研究已经将验证集标签细化为多标签,以对有效的多标签图像建立真实和公平的模型评估。然而,[Vaishaal Shankar, Rebecca Roelofs, Horia Mania, Alex Fang, Benjamin Recht, and Ludwig Schmidt. Evaluating machine accuracy on imagenet. In Proceedings of the 37th International Conference on Machine Learning, 2020]关注的重点只是验证,而不是训练。[Lucas Beyer, Olivier J Henaff, Alexander Kolesnikov, Xiaohua Zhai, and Aaron van den Oord. Are we done with imagenet? arXiv preprint arXiv:2006.07159, 2020]引入了一种清理方案,通过使用强分类器的预测来验证来删除具有潜在错误标签的训练样本。

作者的工作重点是对ImageNet训练标签的清理策略。和[Lucas Beyer, Olivier J Henaff, Alexander Kolesnikov, Xiaohua Zhai, and Aaron van den Oord. Are we done with imagenet? arXiv preprint arXiv:2006.07159, 2020]一样,作者也使用强分类器来清理训练标签。与其不同的是,作者纠正了错误的标签,而不是删除。

作者提出的标签也是在每个地区给出的。在实验中表明,新的方案比[Lucas Beyer, Olivier J Henaff, Alexander Kolesnikov, Xiaohua Zhai, and Aaron van den Oord. Are we done with imagenet? arXiv preprint arXiv:2006.07159, 2020]提高了性能。

4.Re-labeling ImageNet

3b71dc5bb8169af092a3d2bedb84230b.png

Training a Classifier with Dense Multi-labels

在获得了如上所述的密集多标签L∈RW×H×C之后,我们如何用它们训练分类器? 

为此,提出了一种新的训练方案,LabelPooling(标签池化),它考虑了局部真值。在上图中显示了标签池化和原始ImageNet训练之间的区别。在一个标准的ImageNet训练设置中,随机裁剪的监督是由每个图像给出的单个标签真值给出的。另一方面,标签池加载一个预先计算的标签映射,并在标签映射上进行与随机裁剪坐标对应的区域池化操作。 作者采用RoIAlign区域池化方法,在集合预测映射上执行全局平均池化和Softmax操作,以获得[0,1]中的多标签真值向量,并与该模型进行训练。使用交叉熵损失,训练计划的伪代码实施情况如下:

7226e53d0c57a931d16a81bba8b9a98d.png

597b5cc747afb3e6b8265de37d888f57.png

bc7044f9692d830d34407327c0499cf1.png

b299f4304e2f6e3b32411050c16a0dd7.png

Which machine annotator should we select?

3ae91ec33525f32a064dc72e5e56c984.png

目标模型的性能总体上遵循machine annotator的性能。当机器监督不够强(例如,EfficientNet-B1)时,经过训练的模型表现出严重的性能下降(76.1%)。我们选择EfficientNet-L2作为机器注释器,在其余的实验中,ResNet-50(78.9%)的性能最好。

015c1c1bd459719704382d010c18f576.png

d4dbd2275e51d24ed4a731e8b57aa89b.png

5.实验结果

6fe2a397b6e9902e1408bd70f920aa37.png

3669c0b20e87ff96d4113e8a7c858e41.png

8722df1ae7bb4bb5325addbd811fa6fd.png

660bff302f076577358543960e4b0d56.png

© THE END

如果想加入我们“计算机视觉研究院”,请扫二维码加入我们。我们会按照你的需求将你拉入对应的学习群!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

8decb2104ef99939859f5fd538966559.jpeg

计算机视觉研究院

长按扫描二维码关注我们

回复“Re-image”获取论文

Github代码

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

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

相关文章

【办公类-18-02】Python VScode 制作“照片整理.py”的exe文件(打包系列)

效果展示:背景需求:最近一年我都是机动班(非固定班主任),所以拍的照片不多,只需要每月把手机里的照片用QQ的“我的文件助手”导出来,然后打开VScode,找到“20211020按日期批量整理文…

独居老人一键式报警器

盾王居家养老一键式报警系统,居家养老一键式报警设备 ,一键通紧急呼救设备,一键通紧急呼救系统,一键通紧急呼救器 ,一键通紧急呼救终端,一键通紧急呼救主机终端产品简介: 老人呼叫系统主要应用于…

java网络编程-nio学习:阻塞和非阻塞

一、阻塞 阻塞模式下,相关方法都会导致线程暂停 ServerSocketChannel.accept 会在没有连接建立时让线程暂停 SocketChannel.read 会在没有数据可读时让线程暂停 阻塞的表现其实就是线程暂停了,暂停期间不会占用 cpu,但线程相当于闲置 单线…

Learning C++ No.11【string类实现】

引言: 北京时间:2023/2/19/8:48,昨天更新了有关进程状态的博客,然后在休息的时候,打开了腾讯视屏,然后看到了了一个电视剧,导致上头,从晚上6点看到了10点,把我宝贵的博客…

vue(5)

文章目录1. 监测数据原理1.1 通过问题引出1.2 开始1.3 Vue.set() 方法1.4 vue 监视 数组1.5 小练习2. 收集表数据3. 过滤器4. 内置指令4.1 v-text4.2 v-html4.3 v-cloak4.4 v-once4.5 v-pre1. 监测数据原理 1.1 通过问题引出 1.2 开始 要想解决上面的这个问题 ,需要…

python基于django幼儿园管理系统

目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.1 JAVA简介 4 2.2MyEclipse环境配置 4 2.3 B/S结构简介 4 2.4MySQL数据库 5 2.5 SPRINGBOOT框架 5 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3…

【2022.12.9】Lammps+Python 在计算g6(r)时遇到的问题

目录写在前面绘制g6( r )执行步骤【updated】如何检查图像的正确性:不是编程问题,而是数学问题的一个小bug废稿2则:写在前面 全部log: 【2022.11.16】LammpsPythonMATLAB在绘制维诺图时遇到的问题 绘制g6( r )执行步骤【updated…

Eureka原理浅析

文章目录1.简介2.组件2.1 Eureka Server2.1.1 主要功能2.1.2 自我保护机制2.1.3 数据同步方式2.1.4 Server的多级缓存和Client实例过期策略2.2 Eureka Client3.补充3.1 CAP偏重点3.2 功能扩展性3.3 工作流程1.简介 Eureka是Netflix开发的服务发现框架,本身是基于RE…

SegNeXt: 重新思考基于卷积注意力的语义分割

论文信息 论文名称:SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation 项目GitHub: GitHub - Visual-Attention-Network/SegNeXt: Official Pytorch implementations for "SegNeXt: Rethinking Convolutional Atten…

ESP-C3入门11. 创建最基本的HTTP请求

ESP-C3入门11. 创建最基本的HTTP请求一、menuconfig配置二、配置 CMakeLists1. 设置项目的额外组件目录2. 设置头文件搜索目录三、在 ESP32 上执行 HTTP 请求的基本步骤1. 创建 TCP 连接2. 设置 HTTP 请求3. 发送 HTTP 请求4. 接收 HTTP 响应5. 处理 HTTP 响应6. 关闭 TCP 连接…

35岁以上的大龄测试员们,后来都干什么去了?

为什么软件测试行业看不见白发苍苍的软件测试员?大龄测试员都去哪里了?各个公司会辞退大龄测试员吗? 如果一位 50 多岁的测试员申请 20 多岁或 30 多岁的职位,有多少公司会雇用他们呢?关于这个问题,有很多流言传说,也有一些残酷的现实。…

努力优化和改造不好的环境,去设计新的、积极的、适合自己的环境

你知道环境对你的影响有多大吗?自己的的社交圈也是一个环境如果你待在一个只知道吃喝玩乐,不思进取,天天玩手机、打游戏的圈子里那你很大程度也会被影响,因为你不跟他们一起你就融入不进去,就会被孤立,很多…

优秀蓝牙耳机推荐,热销不错的四款蓝牙耳机推荐

蓝牙耳机作为目前最流行的数码产品,受到很多人追捧,蓝牙耳机摆脱了有线蓝牙耳机的束缚,能够更好听歌打游戏,随时取用,更为便利,当然,随着耳机的大幅度创新,也导致很多人在选购耳机的…

内网渗透(四十三)之横向移动篇-SMB远程执行命令横向移动

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

前端性能优化的一些技巧(90% chatGpt生成)

终于弄好了chatGpt的账号,赶紧来体验一波。先来一波结论,这篇文章的主要内容来源,90%是用chatGpt生成的。先上chatGpt的生成的结果:作为一名懒惰的程序员,chatGpt会帮助我变得更懒...,好了下面开始文章的正…

GEE学习笔记 六十八:【GEE之Python版教程二】配置Python开发环境

这一篇内容主要讲解两部分内容,第一部分是本地python开发环境的配置,第二部分是GEE的python开发环境配置。我这里做的所有的操作都是在我的Mac电脑上做的,Windows上操作类似,如果有不清楚的可以自行搜索相关操作步骤。 第一部分&…

pytorch零基础实现语义分割项目(四)——模型训练与预测

模型训练与预测项目列表前言损失函数one_hotDice LossFocal Loss模型参数与训练预测项目列表 语义分割项目(一)——数据概况及预处理 语义分割项目(二)——标签转换与数据加载 语义分割项目(三)——语义…

winserver服务器硬盘满了怎么清理? 服务器硬盘空间不足清理方法

本文主要介绍我在维护windows server服务器期间总结的一些磁盘清理方式。如对您有所帮助,不甚荣幸。 文章目录一、C盘清理1. System32的日志文件2. IIS的日志文件3. .Net Framework的缓存文件4. 清理其他不必要文件5. 虚拟内存从c盘移到其他硬盘二、其他软件清理1. …

【离散数学】4. 图论

1.数理逻辑 2. 集合论 3. 代数系统 4. 图论 图&#xff1a;点边边与点的映射函数 连通性与判别 欧拉图与哈密尔顿图 二分图和平面图与欧拉公式 树及生成树 单源点最短路径&#xff1a;Dijkstra算法 对偶图 4. 图论 4.1 图的基本概念 4.1.1 图 一个图G是一个三重组 <V(G),E…

【LeetCode】No.232. 用栈实现队列 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/implement-queue-using-stacks/ 1. 题目介绍&#xff08;232. 用栈实现队列&#xff09; 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff…