针对目标重识别的大规模训练集搜索:Large-scale Training Data Search for Object Re-identification

news2024/12/27 13:40:31

本文介绍一篇发表于CVPR 2023的论文 《Large-scale Training Data Search for Object Re-identification》 。这篇文章主要介绍了澳大利亚国立大学新推出的训练集搜索任务,和相应的训练集搜索算法(SnP)。

论文链接: https://arxiv.org/pdf/2303.16186.pdf

源代码: https://github.com/yorkeyao/SnP

视频介绍: https://www.bilibili.com/video/BV1sN411S75q/

如上图所示,目前的很多研究,是可以归结为在以模型为中心的框架中的。他们的目标是:在固定源训练集和目标验证集的情况下,改进算法或模型。举个例子,对于分类或者检测任务来说,这个过程通常在 ImageNet 和 COCO 等完善的benchmark上进行。

但是试想一下,假如我们希望从头建立一个针对新目标的深度学习系统,我们可能先需要花大量的时间去收集/清理数据,然后才能去花时间配置深度学习网络。

因此,在本文中,我们针对这个数据收集的过程,讨论以数据为中心的一个全新任务:我们的目标不是专注于改进模型或学习算法以提高模型在目标域上的准确度,而是提高训练集质量来实现这一目标。也就是说,在固定目标验证集下,我们的目标是改进源训练数据以提高目标性能。

我们考虑这样一个场景:我们可以访问目标域,但无法负担在目标域上的训练数据注释。我们从而希望从大规模数据池构建替代训练集,以便获得有竞争力的模型。对于特定目标,我们指出直接在源池上训练模型可能不是一个好主意。首先,在超大规模的源池上训练模型会花费大量时间。其次,从这个源池中,我们发现我们有可能构建一个更好的训练集,对目标有更高的准确率。

出于这样的动机,我们设定我们的任务目标:我们想从源池中提取图像以形成一个小型训练集,这个训练集虽然规模不大,但可以训练出在目标域上的高精度模型。

这时候,可能有人会问,我们想知道什么样的训练集比较好,直接训练一下不就可以了?的确,我们可以从真实的训练中选择训练集。如上图所示,从源池中,我们可以选择多个训练集,并进行真正的训练和验证。然后我们可以使用验证集上的准确率进行数据集比较。然而,这样的过程非常耗时,并且需要对验证集进行标记。

因此,如果我们能找到验证集准确率以外的指标来表明训练集的质量,我们就可以用它来执行训练集搜索。我们通过相关性研究找到了这样的指标。如上图所示,在person re-ID的实验上,我们展示了域差距(domain gap)、数据集大小和在验证集上的性能之间的关系。Pearson相关性表明域差距(domain gap)和验证集准确率之间存在较强的负相关性。数据集大小和验证集准确率之间存在正相关关系。所以,我们得出结论:域差距(domain gap)较小且数据量大的训练集,我们认为它质量更好,训练出来的模型在目标域具有较高的准确率。

在 vehicle re-ID 上,我们观察到同样的结论 。

受这一发现的启发,我们在这里展示了所提出的 Search and Pruning (SnP) 方法的工作流程。假设我们有K个现有数据集组成的源池,我们的目标是从这个源池来构建一个满足预算的训练集。为了实现这一目标,我们做(A)子集搜索以获得与目标域差距小的子集,然后执行(B)依据我们对于训练集的具体预算,对A获得的子集进行进一步修剪,获得最终的训练集。

动图封面

在这里,我们展示了SnP过程的可视化。我们首先从源池中执行聚类,使用 k-means 方法生成 J 个子集。其次,我们计算每个子集与目标之间的域差距(用FID衡量),并按升序对它们进行排序。为了构建搜索结果,我们只添加和合并那些和目标域之间有较低 FID 的子集,丢弃和目标域之间有FID较大的子集。搜索后,我们进行训练集修剪,形成最终的训练集。

如上图所示,源池在图片数量和ID数量方面比现有的re-ID训练集大一个数量级。使用我们的方法 (SnP) ,我们可以得到比源池小 80% 的训练集,同时实现类似甚至更高的 re-ID 准确度。

具体的实现细节,更多的分析请看我们的文章,并且我们的源代码已开源。欢迎大家提出宝贵意见。

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

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

相关文章

IDEA JAVA项目 导入JAR包,打JAR包 和 JAVA运行JAR命令提示没有主清单属性

一、导入JAR包 1、java项目在没有导入该jar包之前,如图:2、点击 File -> Project Structure(快捷键 Ctrl Alt Shift s),点击Project Structure界面左侧的“Modules”如图:3.在 “Dependencies” 标签…

Instagram 早期技术架构

哈喽大家好,我是咸鱼 想必大家都听说过 Instagram ,它是全球最受欢迎的社交媒体平台之一,拥有数十亿的活跃用户 Instagram 诞生于 2010 年,上线一周就坐拥 10 万注册用户,一年之内就拥有了 1400 万用户,可…

基于Springboot 智能公交站台系统-计算机毕设 附源码 37261

Springboot 智能公交站台系统 目 录 摘 要 1 绪论 1.1 研究背景 1.2研究意义 1.3相关技术介绍 1.4论文结构与章节安排 2 智能公交站台系统需求分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.1.4 法律可行性分析 2.2 系…

PostgreSQL 连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(…

Ansys Speos | 如何利用Speos联合optiSLang进行光导优化设计

在本例中,我们将使用 Speos 和 optiSLang 实现光导的设计优化,以实现汽车日行灯、内饰氛围灯等的光导设计,并改善光导亮度的均匀性,以自动优化设计的方式实现更好的照明外观。 概述 在汽车照明应用中,日行灯是一个独特…

品牌化战略:跨境电商市场突破的关键

随着全球互联网的普及和数字化技术的不断发展,跨境电商已经成为了国际贸易中不可或缺的一部分。在这个竞争激烈的领域,成功突破市场的关键之一是采用品牌化战略。本文将深入探讨品牌化战略如何助力跨境电商实现市场突破。 品牌化战略的定义 品牌化是指将…

Java CAS原理和应用场景大揭秘:你掌握了吗?

一、📘CAS概念 CAS(Compare and Swap)是一种乐观锁机制,它是一种基于硬件指令实现的原子操作,可以在不使用传统互斥锁的情况下,保证多线程对共享变量的安全访问。在Java中,我们可以使用Atomic类…

2023最新版本 FreeRTOS教程 -6-创建多个任务使用相同的任务函数

利用任务函数的传参即可实现多任务使用相同的任务函数 如下创建了三个任务 使用同一个任务的函数 通过传参实现不同的操作 参数的具体定义 定义结构体和结构体数组 任务函数的具体定义 验证 同一个任务函数输出了三个不同的参数(实际改为不同的操作&#xff0…

UnityShader(四)

这次要只用顶点着色器和片元着色器实现水面效果,思路很简单,就是先把顶点坐标从模型空间转变到齐次裁剪空间,再左乘unity_ObjectToWorld矩阵转变到世界坐标,将世界坐标的y按照正弦规律变化即可得到水面的波涛汹涌的效果&#xff0…

Linux驱动开发——USB设备驱动

目录 一、 USB 协议简介 二、 Linux USB 驱动 三、 USB 设备驱动实例 一、 USB 协议简介 USB(Universal Serial Bus,通用串行总线)正如它的名字一样,是用来连接PC外设的一种通用串行总线,即插即用和易扩展是它最大的特点。所谓即插即用&am…

使用Python从零实现多分类SVM

本文将首先简要概述支持向量机及其训练和推理方程,然后将其转换为代码以开发支持向量机模型。之后然后将其扩展成多分类的场景,并通过使用Sci-kit Learn测试我们的模型来结束。 SVM概述 支持向量机的目标是拟合获得最大边缘的超平面(两个类中最近点的距…

我哭了,终于找到了合适的程序员接单平台!

说起我接单这条道路可真是艰难又漫长。 为什么说它艰难呢? 因为我总是被骗。 第1次接单的时候,由于是熟人,所以没好意思狠下心要价,结果辛辛苦苦搞了半个月到口袋的钱还没有我请别人帮我介绍单子的钱多还各种各样的挑剔。第2次我…

开联通支付牌照“易主”

据西米支付网报道,最新消息显示,持牌支付机构开联通支付服务有限公司(以下简称“开联通支付”)发生了股权出质。该公司已经出质的股权总额达到9000万元,占有公司股权总数的90%。 根据登记编号为91110108565839081K_000…

scrapy案例教程

文章目录 1 scrapy简介2 创建项目3 自定义初始化请求url4 定义item5 定义管道 1 scrapy简介 scrapy常用命令 |命令 | 格式 |说明| |–|–|–| |startproject |scrapy startproject <项目名> |创建一个新项目| |genspider| scrapy genspider <爬虫文件名> <域名…

【Linux】磁盘阵列,了解不同raid的特点

一、raid和阵列卡介绍 1、什么是磁盘阵列&#xff1a; 磁盘阵列是利用虚拟化存储技术把很多块独立的磁盘组合成一个容量巨大的磁盘组&#xff0c;利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术&#xff0c;将数据切割成许多区段&#xff0c;分别存放…

CRM系统如何帮助无损检测设备企业发展?

得益于新兴行业的高速发展&#xff0c;近些年无损检测设备在国内市场得到了规模增长。通过搭建完整的CRM客户管理系统&#xff0c;打通营销、销售及服务各环节&#xff0c;进一步提高企业市场竞争力。CRM系统如何帮助无损检测设备企业发展&#xff1f; 无损检测设备企业无论在…

CSS 边框、轮廓线

一、CSS边框&#xff1a; CSS边框属性允许指定一个元素边框的样式和颜色。 1&#xff09;、边框样式&#xff1a;border-style属性用来定义边框的样式&#xff0c;border-style值&#xff1a; 2&#xff09;、边框宽度&#xff1a;border-width属性用于指定边框宽度。指定变宽…

TCP编程及基础知识

一、端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理&#xff0c;使用端口号来区分TCP端口号与UDP端口号独立端口用两个字节来表示 2byte&#xff08;65535个&#xff09; 众所周知端口&#xff1a;1~1023&#xff08;1~255之间为众所周知端口&#xff…

软件测试/测试开发丨Python安装指南(macOS)

点此获取更多相关资料 下载 Python 解释器 下载地址: https://www.Python.org/downloads/macos 通过下载页面&#xff0c;可以在该页面上看到下载链接。 下载完成后会得到 Python-3.10.11-macos11.pkg安装文件 。 安装 Python 解释器 双击Python-3.10.11-macos11.pkg文件&a…

Vue3指令

Vue 指令&#xff08;Directives&#xff09;是 Vue.js 的一项核心功能&#xff0c;它们可以在 HTML 模板中以 v- 开头的特殊属性形式使用&#xff0c;用于将响应式数据绑定到 DOM 元素上或在 DOM 元素上进行一些操作。 Vue 指令是带有前缀 v- 的特殊 HTML 属性&#xff0c;它赋…