news 2026/9/2 22:01:42

文献综述-第一人称下的手势识别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
文献综述-第一人称下的手势识别

目录

  • 一、研究内容概述
    • 1、凝视数据的提取与可视化
      • 1.1、使用aria眼睛的机器感知系统(MPS)获取3D凝视方向
      • 1.2、提供凝视数据在第一人称和第三人称下的2D重投影方法
      • 1.3、支持一般凝视和个性化凝视两种模式
    • 2、手势与身体姿势的提取与重投影
      • 2.1、从标注文件中提取3D关键点(世界坐标系)
      • 2.2、将3D关键点重投影到第一人称和第三人称的图像平面上
      • 2.3、支持手部与身体姿势上绘制关键点与骨骼连接
    • 3、无失真图像的处理与标注叠加
      • 3.1、对 Aria 镜头和 GoPro 镜头进行去畸变处理
      • 3.2、将2D标注叠加至去畸变后的图像上,便于可视化分析
    • 4、对参与者进行熟练度估计
      • 4.1、示范者熟练度估算
      • 4.2、示范熟练度估计
      • 4.3、区别
  • 二、研究方法与技术路线
    • 1. 数据加载与预处理
      • 1.1、 使用`projectaria_tools`和`opencv-python`等库读取VRS格式的传感器数据
      • 1.2、通过 takes.json 和 captures.json 获取拍摄元数据与时间同步信息。
      • 1.3、支持自定义路径与采样频率,适应不同数据规模与处理需求
    • 2、3D到2D的重投影方法
      • 2.1 、凝视重投影
      • 2.2、姿势重投影
    • 3、无失真处理技术
    • 4、可视化与标注绘制
    • 5、多模态数据融合

一、研究内容概述

该教程围绕的Ego-Exo4D 数据集展开,该数据集同时包含了第一人称视角(Ego)和第三人称视角(Exo)的视频、传感器与标注数据,而4D则是三维空间+时间维度,研究内容主要包括以下几个方面:

1、凝视数据的提取与可视化

1.1、使用aria眼睛的机器感知系统(MPS)获取3D凝视方向

aria眼睛数据的文件一般都是用VRS储存的,VRS数据存储在Stream流中,且有唯一的标识,允许我们检索所有的VRS数据以及校准数据,我可以从Stream流中获取aria眼睛的RGB相机和左右SLAM相机的标定信息以及图像信息

1.2、提供凝视数据在第一人称和第三人称下的2D重投影方法

虽然训练集同时包含第一人称和第三人称的数据,但是理解下来,第一人称是占主要位置的,第三人称是为第一人称服务的,第三人称得到的凝视数据,对于aria眼睛模拟效果不好的情况,第三人称可以提供额外的凝视数据来帮助计算

1.3、支持一般凝视和个性化凝视两种模式

一般凝视和个性化凝视都是第一人称下的凝视方式,一般凝视是基于用户大数据推导出来的平均数据,无需用户特定校准,随时可使用,但是可能有系统误差;而个性化凝视是有专门的校准过程,系统学习该用户的眼动特性,但是具体实现该教程没有说明

2、手势与身体姿势的提取与重投影

2.1、从标注文件中提取3D关键点(世界坐标系)

跟上面一样,通过MPS读取外置相机,VRS读取aria眼睛的相机,只不过这次需要加载手部姿势和身体姿势。

2.2、将3D关键点重投影到第一人称和第三人称的图像平面上

通过重投影技术,分别将3D关键点投影到2D图像平面上,因为最终我们是要通过2D图像来展示学习效果

2.3、支持手部与身体姿势上绘制关键点与骨骼连接

通过关键点以及关键点之间的连接关系,我们可以简化人类复杂的行动逻辑,在该教程中,骨骼包括了鼻子、耳朵、手肘、腕部、拇指、臀部等一些关键的运动部位,但是从实际效果图中,只运用了腕部、手指的骨骼连接关系

3、无失真图像的处理与标注叠加

3.1、对 Aria 镜头和 GoPro 镜头进行去畸变处理

通过资料发现,Aria眼镜是鱼眼状的,所以拍摄出来的画面是缩小且扭曲的;而GoPro则是广角镜头,也是带有一定扭曲效果的,而EgoExo4D 数据集中的一些注释是在未失真帧上完成的。因此,我们需要先恢复失真,然后才能在帧上叠加二维注释。

3.2、将2D标注叠加至去畸变后的图像上,便于可视化分析

找到EgoExo4D数据集的下载文件,加载必要注释,再通过加载Ego镜头和Exo镜头,读取其外心相机的校准数据,找到采样帧,再添加到视频里中去

4、对参与者进行熟练度估计

4.1、示范者熟练度估算

目标是估算参与者在任务中的绝对技能水平,评估参与者在整个任务中的整体技能水平,给出一个全局性的熟练度等级,并且提出相关建议

4.2、示范熟练度估计

对任务执行过程进行细粒度、时序性分析,识别具体表现良好和需要改进的时段

4.3、区别

前者的输出是一个单一标签,比如该参与者是新手、专家、高级专家等,是对参与者评价

后者输出的是一个时间戳列表,每个时间戳对应一个熟练度类别,拿做饭举例子,在t1时间戳下,切菜的熟练度为老手,t2时间戳下,炒菜的熟练度为新手,是对过程的评价

二、研究方法与技术路线

1. 数据加载与预处理

1.1、 使用projectaria_toolsopencv-python等库读取VRS格式的传感器数据

projectaria_tools:Meta专门为Project Aria设备开发的专用工具库,主要用于Aria眼镜采集的VRS格式数据、相机标定处理、MPS数据处理、集合变换(SE3)等

opencv-python:通用的计算机视觉和图像处理库,主要用于读写图像、尺寸调整、相机标定、去畸变、一些机器学习的模块

1.2、通过 takes.json 和 captures.json 获取拍摄元数据与时间同步信息。

takes.json:记录的是拍摄片段,比如正在做什么活动、什么时候、有谁参与了

captures.json:记录设备的信息,用什么设备、如何同步、原始数据位置

1.3、支持自定义路径与采样频率,适应不同数据规模与处理需求

数据集在不同机器上储存不同

比如

如果代码是这样的

ego_exo_root='/datasets01/egoexo4d/v2/'

那么数据集只能在我的机器中使用,教程中是这样的

那么我们可以很方便的在不同的机器上调用这些数据

2、3D到2D的重投影方法

2.1 、凝视重投影

使用的是MPS提供的凝视向量,结合我们相机的参数,可以将3D凝视投影到图像平面

在教程中的逻辑关系为:

gaze_vector_in_cpf=mps.get_eyegaze_point_at_depth(eye_gaze.yaw,eye_gaze.pitch,eye_gaze.depth)gaze_vector_in_cpf=np.nan_to_num(gaze_vector_in_cpf)gaze_vector_in_device=T_device_CPF @ gaze_vector_in_cpf gaze_vector_in_world=T_world_device @ gaze_vector_in_device

运用到了矩阵的预算,如果需要逆运算,则调用.inverse()

2.2、姿势重投影

基于标注的3D关键点,通过相机姿态变换矩阵,将世界坐标系下的关键点投影至各相机视角。

教程中代码为

pose_vector_in_world=annot_3d[part]# project the keypoint from world to go_pro devicepose_in_go_pro_world=go_pro_proxy[go_pro]["pose"].inverse()@ pose_vector_in_world# project the keypoint from go_pro device to go_pro image planedevice_projection=go_pro_proxy[go_pro]["camera"].project(pose_in_go_pro_world)

MPS 是一个 离线数据处理系统,专门用于处理从多相机系统(特别是 EgoExo 这样的第一人称+第三人称系统)收集的数据,生成高层次的计算结果。

因为原始VRS数据是低层次、未处理、未对齐、数据量大,经过MPS处理之后就是高层级、已处理、已对齐且紧凑的。

3、无失真处理技术

Aria 相机:使用 projectaria_tools.calibration 提供的 undistort_by_calibration 函数。

GoPro 相机:基于 OpenCV 的鱼眼去畸变模型,结合相机内参与畸变系数进行图像校正。

4、可视化与标注绘制

使用 PIL.ImageDraw 绘制关键点、骨骼连接与标签,这些在教程代码中阐述的很详细,所以不多赘述

支持不同颜色编码与绘制样式(圆形、十字、标签等),通过教程中的绘制函数,我们知道,红色的叉代表的是MPS重投影的凝视点、模型预测的关键点,而绿色代表的是CSV中的凝视点、人工标注的关键点

可同时展示多视角图像,便于对比分析。

5、多模态数据融合

结合 VRS 数据、MPS 轨迹数据、时间同步文件与标注文件,实现多传感器数据的时空对齐。

支持凝视、姿势、图像与视频数据的联合可视化。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 11:24:35

导师推荐!2025本科生必用TOP10 AI论文工具测评

导师推荐!2025本科生必用TOP10 AI论文工具测评 2025年本科生学术写作工具测评:为何需要一份精准指南? 在当前AI技术快速发展的背景下,越来越多的本科生开始依赖AI论文工具提升写作效率与质量。然而,面对市场上琳琅满目…

作者头像 李华
网站建设 2026/9/1 0:29:57

信创环境下SpringBoot大文件上传的适配方案交流

广西金融行业银行单位大文件传输解决方案 作为广西金融行业银行单位上市公司项目负责人,我负责的集团金融系统需实现——高安全、强兼容、稳落地、可扩展。结合集团现有系统架构(SpringBoot后端多技术栈前端)与客户严格需求(100G…

作者头像 李华
网站建设 2026/8/31 19:48:44

SpringBoot视频文件分块上传的优化策略讨论

大文件传输系统技术方案调研与实现建议 一、项目背景与需求分析 作为公司前端技术负责人,我负责牵头本次大文件传输系统的技术选型与实现方案。基于客户(政府及集团单位)的严格要求,系统需满足以下核心需求: 功能需求…

作者头像 李华
网站建设 2026/8/30 8:42:39

vue+uniapp+基于微信小程序的高校校园微活动报名系统--论文

文章目录摘要主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着移动互联网的普及,高校校园活动的组织与管理逐渐向数字化、智能化方向发…

作者头像 李华
网站建设 2026/9/2 14:24:13

leetcode 1411(递推)

1411: 给N*3 网格图涂色的方案数我们把满足要求的 type 都写出来,一共有 12 种:010, 012, 020, 021, 101, 102, 120, 121, 201, 202, 210, 212。我们可以把它们分成两类:ABC 类:三个颜色互不相同,一共有 6 种&#xff…

作者头像 李华
网站建设 2026/8/27 8:58:11

Hive与Hadoop生态整合:构建完整大数据平台

Hive与Hadoop生态整合:构建完整大数据平台 关键词:Hive、Hadoop生态、大数据平台、数据仓库、MapReduce、Spark、HBase 摘要:本文将带你走进Hive与Hadoop生态的整合世界。我们会用"大数据工厂"的比喻,从Hive的核心作用讲…

作者头像 李华