【ECCV 2024】首个跨模态步态识别框架:Camera-LiDAR Cross-modality Gait Recognition

【ECCV 2024】首个跨模态步态识别框架:Camera-LiDAR Cross-modality Gait Recognition

  • 简介:
  • 主要方法:
  • 实验结果:

论文:https://arxiv.org/abs/2407.02038

简介:

步态识别是一种重要的生物特征识别技术。基于相机的步态识别已广泛应用于研究和工业领域。由于3D结构信息的提供,基于激光雷达的步态识别最近也开始发展。

在这里插入图片描述
然而,在某些应用程序中,相机不能识别人,如在低光环境和长距离识别场景中,激光雷达工作得很好。另一方面,激光雷达系统的部署成本和复杂性限制了其更广泛的应用。因此,在更广泛的应用中,考虑照相机和激光雷达之间的跨模态步态识别是非常必要的。

在这项工作中,我们提出了在相机和激光雷达之间的第一个跨模态步态识别框架,即CL-Gait。它采用了一个双流网络来对两种模式进行特征嵌入。由于3D和2D数据之间的固有匹配,表现出显著的模态差异,这是一个具有挑战性的识别任务。为了对齐两种模式的特征空间,即相机轮廓和激光雷达点,我们提出了一种对比的预训练策略来减轻模式差异。为了弥补预训练中缺乏配对的摄像机-激光雷达数据的不足,我们还引入了一种大规模生成数据的策略。该策略利用从单个RGB图像和虚拟摄像机中估计的单眼深度来生成伪点云,用于对比预训练。大量的实验表明,跨模态步态识别非常具有挑战性,但仍具有我们提出的模型和训练前策略的潜力和可行性。据我们所知,这是第一个解决跨模态步态识别的工作。

在这里插入图片描述

主要方法:

在这项工作中,我们提出 用于相CL-Gait 机和激光雷达之间的跨模态步态识别。CL-Gait 采用双流网络进行跨模态特征嵌入。该网络利用浅层模式特定模块,较深层模式共享模块,如图所示。

在这里插入图片描述

此外,CL-Gait采用对比学习策略对齐两种模态的特征空间,减轻模态差异,如图所示。

在这里插入图片描述
根据我们在步态识别任务中的观察,三维点云和二维图像之间的显著模态差异可能是影响模型性能的关键因素。具体来说,点云更多地关注于身体部位的三维定位,而图像则集中于个体的轮廓信息。在每个模态所关注的不同信息之间建立联系是至关重要的。受CLIP [30]的启发,我们提出了一种对比的剪影点预训练(CSPP)策略,在基于卷积的编码器中对齐两种模式的特征空间,如图3所示。训练前的过程不需要来自样本中的标识标签来进行监督。在对齐摄像机和激光雷达的成对单视图数据上进行训练后,预训练可以使模型专注于学习一个鲁棒表示,在没有直接基于身份的指导的情况下弥补模态之间的差距,并提高跨模态网络的性能。

利用预训练得到的主干来初始化跨模态嵌入网络。为了便于对大规模数据进行预训练,我们还提出了一种生成跨模态步态数据的方法,如图所示。

在这里插入图片描述
这是由于获取成对RGB和点云数据的成本高,对真实和大规模数据进行预训练具有挑战性。为了解决这个问题,我们提出了一种基于单眼深度估计的伪数据生成方法。如图所示,我们使用深度的任何东西从大规模的单个RGB图像中估计密集的深度D∈RH×W。然后,利用一个具有内参K的虚拟相机通过体素网格降采样,可以用于摄像机轮廓和激光雷达点云之间的对比预训练。具体来说,将降采样点向下投影回图像像素坐标中,获得深度图像进行对比预训练。与点云相比,RGB图像的收集成本更低,也更容易获取,因为已经有许多行人图像的公共数据集可用。我们提出的方法使合成大规模数据进行对比预训练成为可能。

实验结果:

对SUSTech1K有效的+测试集进行不同结构的评估。我们默认使用ResNet-18来提取图像特征。“L到C”表示以点云为探针,轮廓为图库的结果,“C到L”表示相反。

在这里插入图片描述
下图展示了激光雷达数据的比较。结果表明,基于点云的投影深度和插值深度最适合于交叉模态匹配。这表明三维几何信息是必要的。对于每个输入表单,都使用了性能最好的模型。

在这里插入图片描述

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

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

相关文章

算法力扣刷题记录 四十一【N叉树遍历】

前言 依然是遍历问题。由二叉树扩展到N叉树遍历。 记录 四十一【N叉树遍历】 一、【589. N叉树的前序遍历】 题目 给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔…

第十八章 Express multer 文件上传

本章将学习Express multer 文件上传 ,因为Nest 的文件上传是基于 Express 的中间件 multer 实现的,所以在学习 Nest 文件上传之前,我们先学习下 multer 包 首先先创建 multer-test 文件夹执行下面代码 创建package.json npm init -y接着安装…

深入浅出 Spring @Async 异步编程的艺术

目录 一、异步编程 二、Async 介绍 2.1 Async 使用 三、Async 原理 一、异步编程 在软件开发中,异步编程是非常关键的,尤其是构建高性能、高响应度的应用时。异步编程的主要优势在于它能够避免阻塞操作,提高程序的效率和用户体验。异步编…

修BUG:程序包javax.servlet.http不存在

貌似昨晚上并没有成功在tomcat上面运行,而是直接运行了网页。 不知道为啥又报错这个。。。 解决方案: https://developer.baidu.com/article/details/2768022 就整了这一步就行了 而且我本地就有这个tomcat就是加进去了。 所以说啊,是不是&a…

eNSP公司管理的对象及策略

拓扑图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 ) 实验需求 第一步:根据题目搭建拓扑图 其中交换机的型号为:S5700 防火墙设备为:USG6000V 第二步:启动防火墙设备 首先会让你输入密码,…

【MySQL】常见的MySQL日志都有什么用?

MySQL日志的内容非常重要,面试中经常会被问到。同时,掌握日志相关的知识也有利于我们理解MySQL 底层原理,必要时帮助我们排查解决问题。 MySQL中常见的日志类型主要有下面几类(针对的是InnoDB 存储引擎): 错误日志(error log):对 MySQL 的启…

CentOS 6.5配置国内在线yum源和制作openssh 9.8p1 rpm包 —— 筑梦之路

CentOS 6.5比较古老的版本了&#xff0c;而还是有一些古老的项目仍然在使用。 环境说明 1. 更换国内在线yum源 CentOS 6 在线可用yum源配置——筑梦之路_centos6可用yum源-CSDN博客 cat > CentOS-163.repo << EOF [base] nameCentOS-$releasever - Base - 163.com …

新兴市场游戏产业爆发 传音以技术抢抓机遇 ​

随着年轻人口的增加以及互联网的普及,非洲、中东等新兴市场正迎来游戏产业的大爆发,吸引着全球游戏企业玩家在此开疆辟土。中国出海企业代表传音以新兴市场需求为中心,秉持本地化创新理念不断加强游戏等关键领域技术攻关凭借移动终端设备为全球玩家带来极致游戏体验,收获了消费…

就业平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;企业管理&#xff0c;企业类型管理&#xff0c;留言板管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;招聘信息&#xff0c;简历&#xff0c;我的…

MapReduce底层原理详解:大案例解析(第32天)

系列文章目录 一、MapReduce概述 二、MapReduce工作机制 三、Map&#xff0c;Shuffle&#xff0c;reduce阶段详解 四、大案例解析 文章目录 系列文章目录前言一、MapReduce概述二、MapReduce工作机制1. 角色与组件2. 作业提交与执行流程1. 作业提交&#xff1a;2. Map阶段&…

MATLAB中c2d函数用法

目录 语法 说明 示例 在MATLAB中&#xff0c;c2d函数用于将连续时间系统&#xff08;Continuous-Time System&#xff09;转换为离散时间系统&#xff08;Discrete-Time System&#xff09;。以下是c2d函数的基本语法、说明以及示例&#xff1a; 语法 sys_d c2d(sys_c, T…

【每天认识一个漏洞】spf邮件伪造漏洞

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 &#x1f3a3;漏洞危害 允许攻击者伪造发件人身份&#xff0c;从而发送钓鱼邮件或垃圾邮件&#xff0c;获取接收方的信任&am…

[leetcode]partition-list 分隔链表

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:ListNode* partition(ListNode* head, int x) {ListNode *smlDummy new ListNode(0), *bigDummy new ListNode(0);ListNode *sml smlDummy, *big bigDummy;while (head ! nullptr) {if (head->val &l…

YOLOv10改进 | 添加注意力机制 | 添加ACmix自注意力与卷积混合模型改善模型特征识别效率(包含二次创新PSA机制)

一、本文介绍 本文给大家带来的改进机制是ACmix自注意力机制的改进版本&#xff0c;它的核心思想是&#xff0c;传统卷积操作和自注意力模块的大部分计算都可以通过1x1的卷积来实现。ACmix首先使用1x1卷积对输入特征图进行投影&#xff0c;生成一组中间特征&#xff0c;然后根…

JavaScript中的Symbol类型是什么以及它的作用

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介JavaScript中的Symbol类型是什么以及它的作用1. 符号&#xff08;Symbol&#xff09;的创建2. 符号的特性3. 符号的作用3.1 属性名的唯一性3.2 防止属性被意外访问或修改3.3 使用内置的符号3.4 符号与属性遍历 4. 总结 ⭐ 写在最后…

网络协议(TCP三次握手,四次断开详解)

TCP的详细过程&#xff1a; TCP&#xff08;传输控制协议&#xff09;的三次握手和四次断开是其建立连接和终止连接的重要过程&#xff0c;以下是详细解释&#xff1a; 三次握手&#xff1a; 1. 第一次握手&#xff1a;客户端向服务器发送一个 SYN&#xff08;同步&#x…

Flask 用 Redis 缓存键值对-实例

Flask 使用起 Redis 来简直就是手到擒来&#xff0c;比 MySQL 简单多了&#xff0c;不需要那么多配置&#xff0c;实际代码就这么多&#xff0c;直接复制就能用。除了提供简单实用的实例以外&#xff0c;本文后面还会简单介绍一下 Redis 的安装与使用&#xff0c;初学者也能一看…

Linux笔记之三

Linux笔记之三 一、用户组管理二、磁盘管理三、进程管理总结 一、用户组管理 每个用户都有一个用户组&#xff0c;系统可以对一个用户组中的所有用户进行集中管理&#xff08;开发、测试、运维、root&#xff09;。不同Linux系统对用户组的管理涉及用户组的添加、删除和修改。…

8. Python3 pandas数据分析处理库

11.1 pandas的数据结构 pandas的数据结构如下图所示&#xff1a; pandas的几种数据结构有内在联系&#xff0c;可以吧DataFrame看作Series的容器&#xff0c;把Panel看作DataFrame的容器。可以像操作字典那样在这些数据结构中插入或者移除数据对象。在介绍这些数据结构之前&am…

排序相关算法--1.插入排序+冒泡排序回顾

1.基本分类 2.插入排序 特点&#xff1a;有实践意义&#xff08;例如后期快排的优化&#xff09;&#xff0c;适应性强&#xff0c;一般不会到时间复杂度最坏的情况。 将第一个元素视为已经排好序的序列。取出下一个元素&#xff0c;在已经排好序的序列中从后往前比较&#xf…