当前位置: 首页 > news >正文

【自监督Re-ID】ICCV_2023_Oral | ISR论文阅读

Codeicon-default.png?t=N7T8https://github.com/dcp15/ISR_%20ICCV2023_Oral

面向泛化行人再识别的身份导向自监督表征学习,清华大学

目录

导读

摘要

相关工作

DG ReID

用于ReID的合成数据

无监督表征学习

Identity-Seeking Representation Learning

结果

消融实验


 

导读

  • 新角度:提出了从大规模无标注互联网行人视频中学习领域泛化的行人表征。

  • 新方法:设计了新颖的自监督的学习框架以及可靠性引导的对比损失函数,有效学习到identity discrimination。所提方法具有出色的数据可扩展性。

  • 高性能:所学表征展现出很强的域泛化能力和域迁移能力,具有很大的实际应用价值和潜力。

摘要

本文旨在从大规模视频中学习一种无需任何注释的域泛化(DG)行人再识别(ReID)表示。由于标注成本高,先前的DG ReID方法使用有限的标注数据进行训练,这限制了进一步发展。为了克服数据和注释的障碍,我们建议使用大规模的无监督数据进行训练。关键问题在于如何挖掘身份信息。为此,我们提出了一种ISR(Identity-seeking Self-supervised Representation learning)方法。ISR将实例关系建模当做最大权重二分匹配问题,从帧间图像构建正样本对。进一步提出了一种可靠性引导的对比损失,以抑制噪声正样本对的不利影响,确保可靠的正样本对主导学习过程。ISR的训练成本与数据大小近似呈线性关系,因此可以利用大规模数据进行训练。所学习的表示表现出很强的泛化能力。在没有人为注释和微调的情况下,ISR在Market-1501上获得了87.0%的Rank-1,在MSMT17上获得了56.4%的Rank-1,分别比最佳有监督域泛化方法高出5.0%和19.5%。

相关工作

DG ReID

领域通用的人物识别(Domain Generalizable ReID)旨在在源领域上学习一个强大的模型,并直接在未见过的目标领域上进行测试,而无需进行微调处理。因其在实际应用中的巨大潜力而受到广泛关注。DIMN设计了一个域不变映射网络来学习元学习管道下的域不变表示。MetaBIN和SNR研究了归一化层或模块,以提高模型的泛化能力。RaMoE利用目标域和多个源域之间的相关性来提高模型的泛化能力。MDA将源和目标特征分布与先前的分布对齐。这些方法是用小规模领域匮乏的标记数据进行训练的。与他们不同的是,我们的目标是从大规模领域多样的未标记数据中学习DG ReID模型。

用于ReID的合成数据

ReID模型的性能受到从真实世界收集标注数据的高昂成本的限制。为了应对这一挑战,一些方法已经转向使用合成数据(synthetic data)。值得注意的是,PersonX包含1266个ID,其中273456张图像是从各个角度拍摄的,能够探索视角对ReID系统的影响。RandPerson提供了8000个身份,其中有来自19台摄像机的228655张图像,而UnrealPerson提供了3000个身份,包括来自34台摄像机的120000张图像;ClonedPerse包括来自24台摄像机的5621个身份和887766张图像。这些合成数据集已被证明对监督学习有价值,因为它们增强了ReID模型的泛化能力。DomainMix [1] 进一步证实,在训练期间将标记的合成数据与未标记的真实世界数据相结合是DG ReID的一个有前途的方向。然而,合成数据和真实世界的数据之间仍然存在巨大的领域差距,阻碍了在合成数据上训练的模型无缝应用于真实的现实世界场景。为了弥补这种差异,我们建议使用大量未标记的真实世界数据进行训练。

[1] Wenhao Wang, Shengcai Liao, Fang Zhao, Kangkang Cui, and Ling Shao. Domainmix: Learning generalizable person re-identification without human annotations. In BMVC, 2021. 3

无监督表征学习

一些主流的无监督表征学习方法(MoCo, SimCLR, BYOL),如果被直接应用于ReID,则只能学习预训练模型,这在直接测试时显示出极低的准确性。核心原因是,它们将一张图像的两个不同视图视为正样本对,或者对图像中的掩码像素进行重建,从而实现了实例区分(instance discrimination)。这与身份区分(identity discrimination)的ReID目标所矛盾。与它们不同,我们将同一ID的帧间图像视为正样本对,来达到身份区分的目标。一项密切相关的工作是CycAs(同团队的工作)及其改进版本。大概意思是作者针对CycAs方法的弱点提出了一种新方法,通过挖掘正样本对和抑制噪声来提供更鲁棒和通用的人物再识别表示学习的解决方案。

可视化证明:ISR对identity-discrimination的有效性

Identity-Seeking Representation Learning

身份导向的自监督表征学习

The overview of ISR.
The overview of ISR.

(1)构建正样本对

        基于最大权二分图匹配,在邻近帧中构建跨帧正样本对。

(2)抑制噪声正样本对

        计算每个正样本对的可靠性,利用可靠性来引导学习对比损失,进而抑制噪声正样本对的影响。

可靠性计算:p(x_{i})=\frac{\sum_{j}\pi ^*exp(x_i\cdot y_j/\tau )}{\sum_{j}exp(x_i\cdot y_j/\tau )},对比损失:L_{RC}(x_i)=-p^\gamma _{\nleftarrow}(x_i)log(p(x_i))

结果

域泛化设置下与SOTA方法的比较
在合成数据集的比较

消融实验

CP:跨帧正样本对;L_{RC}:可靠性导向的对比损失;L_Q:基于记忆的对比损失。
性能与数据规模

更多细节在论文

相关文章:

【自监督Re-ID】ICCV_2023_Oral | ISR论文阅读

Codehttps://github.com/dcp15/ISR_%20ICCV2023_Oral 面向泛化行人再识别的身份导向自监督表征学习,清华大学 目录 导读 摘要 相关工作 DG ReID 用于ReID的合成数据 无监督表征学习 Identity-Seeking Representation Learning 结果 消融实验 导读 新角度…...

ElasticSearch 10000条查询数量限制

一、前言 我们将库存快照数据导入ES后发现要分页查询10000条以后的记录会报错,这是因为ES通过index.max_result_window这个参数控制能够获取数据总数fromsize最大值,默认限制是10000条,因为ES考虑到数据要从其它节点上报到协调节点如果搜索请…...

视频增强修复工具Topaz Video AI mac中文版安装教程

Topaz Video AI mac是一款使用人工智能技术对视频进行增强和修复的软件。它可以自动降噪、去除锐化、减少压缩失真、提高清晰度等等。Topaz Video AI可以处理各种类型的视频,包括低分辨率视频、老旧影片、手机录制的视频等等。 使用Topaz Video AI非常简单&#xff…...

【面试题精讲】Java自增自减运算符

❝ 有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top ❞ 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 1. 什么是自增自减运算符? 自增自减运算符是一种用于对变量进行加 1 或减 1 操作的特殊运算…...

282_WEB_对于注册、数据data_callback中进行处理的理解

这段代码是一个 HTTP 服务器中处理请求的核心部分,涉及到路由和请求处理的逻辑。让我们逐行解析代码,同时理解其中涉及的关键概念和组件。 首先,你提供的代码有一些与 HTTP 请求和路由处理相关的部分,同时还有一些可能是从一个较大的代码基础中提取的片段,因此有些变量和…...

测试C#图像文本识别模块Tesseract的基本用法

微信公众号“dotNET跨平台”的文章《c#实现图片文体提取》(参考文献3)介绍了C#图像文本识别模块Tesseract,后者是tesseract-ocr(参考文献2) 的C#封装版本,目前版本为5.2,关于Tesseract的详细介绍…...

计组+系统02:30min导图复习 存储系统

🐳前言 考研笔记整理,纯复习向,思维导图基本就是全部内容了,不会涉及较深的知识点~~🥝🥝 第1版:查资料、画思维导图~🧩🧩 编辑: 梅头脑🌸 参考…...

2023华为杯数学建模D题-域碳排放量以及经济、人口、能源消费量的现状分析(如何建立指标和指标体系1,碳排放影响因素详细建模过程)

可能建立的指标如下: 经济指标: 地区生产总值(GDP)人均GDP;第一产业(农林部门)产值;第二产业(能源供应和工业部门)产值;第三产业(建筑和交通部门…...

Excel·VBA分列、字符串拆分

看到一篇博客《VBA,用VBA进行分列(拆分列)的2种方法》,使用VBA对字符串进行拆分 目录 Excel分列功能将字符串拆分为二维数组,Split函数举例 将字符串拆分为一维数组,正则表达式举例 Excel分列功能 Sub 测…...

机器学习算法基础--层次聚类法

文章目录 1.层次聚类法原理简介2.层次聚类法基础算法演示2.1.Single-linkage的计算方法演示2.2.Complete-linkage的计算方法演示2.3.Group-average的计算方法演示 3.层次聚类法拓展算法介绍3.1.质心法原理介绍3.2.基于中点的质心法3.3.Ward方法 4.层次聚类法应用实战4.1.层次聚…...

linux系统中wifi移植方法

第一:移植wifi现象 在linux系统的RK3399中空板上,确认rk3399中控板linux系统已经可以正常运行。本操作是在rk3399中控板上的WIFI模块,linux内核加载wifi驱动后,再配置上正确的wifi密码,就可以实现rk3399中控板通过wifi…...

Machine Learning(study notes)

There is no studying without going crazy Studying alwats drives us crazy 文章目录 DefineMachine LearningSupervised Learning(监督学习)Regression problemClassidication Unspervised LearningClustering StudyModel representation&#xff08…...

centos7通过docker搭建nginx+php环境

以下环境都是基于centos7.9完成。 1.安装docker yum install docker-ce 说明:这一步,由于centos软件仓库没有收纳docker,需要自己去官网爬文档安装。 安装完成之后,就是启动docker服务以及添加到开机启动。 systemctl enable do…...

Node.js 学习笔记

小插件Template String Converter 当输入${}时,自动为其加上 反引号 一、node入门 node.js是什么 node的作用 开发服务器应用 开发工具类应用 开发桌面端应用 1.命令行工具 命令的结构 常用命令 切换到D盘——D: 查看D盘目录——dir 切换工作目录——c…...

RabbitMQ之发布确认高级

RabbitMQ之发布确认高级 一、发布确认 SpringBoot 版本1.1 确认机制方案1.2 代码架构图1.3 配置文件1.4 添加配置类1.5 消息生产者1.6 回调接口1.7 消息消费者1.8 结果分析 二、回退消息2.1 Mandatory 参数2.2 消息生产者代码2.3 回调接口2.4 结果分析 三、备份交换机3.1 代码架…...

lv5 嵌入式开发-10 信号机制(下)

目录 1 信号集、信号的阻塞 2 信号集操作函数 2.1 自定义信号集 2.2 清空信号集 2.3 全部置1 2.4 将一个信号添加到集合中 2.5 将一个信号从集合中移除 2.6 判断一个信号是否在集合中 2.7 设定对信号集内的信号的处理方式(阻塞或不阻塞) 2.8 使进程挂起(…...

【postgresql】 ERROR: multiple assignments to same column “XXX“

Cause: org.postgresql.util.PSQLException: ERROR: multiple assignments to same column "XXX"; bad SQL grammar []; nested exception is org.postgresql.util.PSQLException: ERROR: multiple assignments to same column "XXX"; 原因:or…...

一文读懂Llama 2(从原理到实战)

简介 Llama 2,是Meta AI正式发布的最新一代开源大模型。 Llama 2训练所用的token翻了一倍至2万亿,同时对于使用大模型最重要的上下文长度限制,Llama 2也翻了一倍。Llama 2包含了70亿、130亿和700亿参数的模型。Meta宣布将与微软Azure进行合…...

完整指南:如何使用 Node.js 复制文件

文件拷贝指的是将一个文件的数据复制到另一个文件中,使目标文件与源文件内容一致。Node.js 提供了文件系统模块 fs,通过该模块可以访问文件系统,实现文件操作,包括拷贝文件。 Node.js 中文件拷贝方法 在 Node.js 中,有…...

ElementUI - 主页面--动态树右侧内容管理

一.左侧动态树 1.定义组件 ①样式&数据处理 <template><el-menu class"el-menu-vertical-demo" background-color"#334157"text-color"#fff" active-text-color"#ffd04b" :collapse"collapsed" router :def…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...