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

GVHMR——基于重力-视角坐标的人体运动恢复:从RGB视频中提取人的SMPL轨迹(包含人体姿态估计WHAM、手势估计HaMeR的详解)

前言

本文一开始是属于《对人体建模之SMPL-X和AMASS数据集的详解:包含人形全身动捕系统的从零搭建、人体姿态估计WHAM(含手眼标定的详解)》中的部分内容

考虑到

  1. 一方面,把太多的内容扎堆到同一篇文章里,会使得对其中需要深入细致阐述的内容,则可能因为担忧篇幅过长 而珍惜笔墨,而对我个人而言 阐述清晰细致比笔墨重要的太多
  2. 二方面,由于GVHMR在我解读的三篇具身论文中都出现过

    故我准备也解读下这个GVHMR
    而刚好可以和之前的WHAM(
    巧的是,GVHMR刚好和WHAM 有较大的相关性,能有如此巧合,可能跟我的研究直觉 有关?^_^  )、HaMeR,放在同一篇文章 即本文之中

第一部分 人体姿态估计之 WHAM

1.1 WHAM的整体架构

根据arXiv的记录,此篇论文WHAM: Reconstructing World-grounded Humans with Accurate 3D Motion的提交记录为[Submitted on 12 Dec 2023 (v1), last revised 18 Apr 2024 (this version, v2)],其对应的GitHub地址则为:yohanshin/WHAM

如下图所示,WHAM的输入是由可能具有未知运动的相机捕获的原始视频数据\left\{I^{(t)}\right\}_{t=0}^{T},接下来的目标是预测对应的SMPL模型参数序列\left\{\Theta^{(t)}\right\}_{t=0}^{T},以及在世界坐标系中表达的根方向\left\{\Gamma^{(t)}\right\}_{t=0}^{T}和平移\left\{\tau^{(t)}\right\}_{t=0}^{T},具体做法是

  1. 使用ViTPose [54] 检测2D关键点\left\{x_{2 D}^{(t)}\right\}_{t=0}^{T},从中使用Motion Encoder获得运动特征\left\{\phi_{m}^{(t)}\right\}_{t=0}^{T}
  2. 此外,使用预训练的Image Encoder[7,21,25] 提取静态图像特征\left\{\phi_{i}^{(t)}\right\}_{t=0}^{T},然后将这个图像特征与上面的运动特征\left\{\phi_{m}^{(t)}\right\}_{t=0}^{T}结合,以获得细粒度的运动特征\left\{\hat{\phi}_{m}^{(t)}\right\}_{t=0}^{T}

1.1.1 Motion Encoder and Decoder

对于 Motion Encoder and Decoder而言,与之前的方法使用固定时间窗口不同,这里使用RNN来作为运动编码器、运动解码器

  • 运动编码E_M的目标是基于当前和之前的2D 关键点(keypoints)和初始隐藏状态h_{E}^{(0)}而提取运动上下文\phi_{m}^{(t)},即
    \phi_{m}^{(t)}=E_{M}\left(x_{2 D}^{(0)}, x_{2 D}^{(1)}, \ldots, x_{2 D}^{(t)} \mid h_{E}^{(0)}\right)
    过程中,We normalize keypoints to a bounding box around the person and concatenate the box’s center and scale to the keypoints,similar to CLIFF [ 25].
  • 运动解码D_M的作用是从运动特征历史中恢复:
    \rightarrow  SMPL参数(\theta, \beta)
    \rightarrow  weak-perspective camera translation c
    \rightarrow  脚接触地面的概率(foot-ground contact probability) p

    \left(\theta^{(t)}, \beta^{(t)}, c^{(t)}, p^{(t)}\right)=D_{M}\left(\hat{\phi}_{m}^{(0)}, \ldots, \hat{\phi}_{m}^{(t)} \mid h_{D}^{(0)}\right)
    其中的\hat{\phi}_{m}^{(t)}如上面说过的,是图像特征与运动特征结合而成的细粒度运动特征

其中有一个关键点是咱们需要利用时间上的人体运动上下文,将2D关键点提升到3D网格,那如何做到呢,一个比较好的办法便是利用图像线索来增强这些2D关键点信息


具体而言,可以

  1. 先使用一个图像编码器,在人体网格恢复这个任务上做预训练,以提取图像特征\phi_{i},这些特征包含与3D人体姿态和形状相关的密集视觉上下文信息
  2. 然后我们训练一个特征整合网络F_I,将\phi_{m}\phi_{i}结合起来,整合运动和视觉上下文,而特征整合器使用残差连接
    \hat{\phi}_{m}^{(t)}=\phi_{m}^{(t)}+F_{I}\left(\operatorname{concat}\left(\phi_{m}^{(t)}, \phi_{i}^{(t)}\right)\right)

1.1.2 全局轨迹解码器Global Trajectory Decoder

作者团队还设计了一个额外的解码器D_T,用于从运动特征\phi_{m}^{(t)}中预测粗略的全局根方向\Gamma_{0}^{(t)}和根速度v_{0}^{(t)}We design an additional decoder, DT , to predict the rough global root orientation Γ(t)0 and root velocity v(t)0 from the motion feature ϕ(t)m

但由于\phi_{m}是从相机坐标系中的输入信号派生的,因此将人类和相机运动从中解耦是非常具有挑战性的。为了解决这种模糊性,我们将相机的角速度\omega^{(t)},附加到运动特征\phi_{m}^{(t)},创建一个与相机无关的运动上下文。 这种设计选择使WHAM兼容现成的SLAM算法 [46, 47] 和现代数字相机广泛提供的陀螺仪测量

再之后,使用单向RNN递归预测全局方向\Gamma_{0}^{(t)}

\left(\Gamma_{0}^{(t)}, v_{0}^{(t)}\right)=D_{T}\left(\phi_{m}^{(0)}, \omega^{(0)}, \ldots, \phi_{m}^{(t)}, \omega^{(t)}\right)

1.1.3 通过脚是否触地:做接触感知轨迹的优化(Contact Aware Trajectory Refinement)

具体来说,新轨迹优化器旨在解决脚滑问题,并使WHAM能够很好地泛化到各种运动(包括爬楼梯),而这个新轨迹优化涉及两个阶段

首先,根据从运动解码器D_M估计的脚-地面接触概率p^{(t)},调整自我中心的根速度\tilde{v}^{(t)}以最小化脚滑

\tilde{v}^{(t)}=v_{0}^{(t)}-\left(\Gamma_{0}^{(t)}\right)^{-1} \bar{v}_{f}^{(t)}

其中,\bar{v}_{f}^{(t)}是当接触概率p^{(t)}高于阈值时,脚趾和脚跟在世界坐标中的平均速度。 然而,当接触和姿态估计不准确时,这种速度调整往往会引入噪声平移

因此,我们提出了一种简单的学习机制,其中轨迹优化网络R^T更新根部方向和速度以解决此问题。 最后,通过展开操作计算全局平移:

\begin{aligned} \left(\Gamma^{(t)}, v^{(t)}\right) & =R_{T}\left(\phi_{m}^{(0)}, \Gamma_{0}^{(0)}, \tilde{v}^{(0)}, \ldots, \phi_{m}^{(t)}, \Gamma_{0}^{(t)}, \tilde{v}^{(t)}\right) \\ \tau^{(t)} & =\sum_{i=0}^{t-1} \Gamma^{(i)} v^{(i)} . \end{aligned}

1.2 WHAM的两阶段训练:先AMASS上预训练,然后视频数据集上微调

分两个阶段进行训练:

  1. 使用合成数据进行预训练
  2. 使用真实数据进行微调

1.2.1 在AMASS上进行预训练

预训练阶段的目标是教会运动编码器从输入的2D关键点序列中提取运动上下文。 然后,运动和轨迹解码器将此运动上下文映射到相应的3D运动和全局轨迹空间(即它们将编码提升到3D)

作者使用AMASS数据集[32]生成由2D关键点序列和真实SMPL参数组成的大量合成对。为了从AMASS合成2D关键点,作者创建了虚拟摄像机,将从真实网格派生的3D关键点投影到这些摄像机上

与MotionBERT[62]和ProxyCap[61]使用静态摄像机进行关键点投影不同,我们采用了结合旋转和平移运动的动态摄像机。 这个选择有两个主要动机

  1. 首先,它考虑到了在静态和动态相机设置中捕捉到的人类运动的固有差异
  2. 其次,它使得能够学习与相机无关的运动表示,从中轨迹解码器可以重建全局轨迹

作者还通过噪声和掩蔽来增强2D数据

1.2.2 在视频数据集上微调

从预训练网络开始,作者在四个视频数据集上微调WHAM:

  1. 3DPW[49]
  2. Human3.6M [11]
  3. MPI-INF-3DHP [33]
  4. InstaVariety [15]

对于人类网格恢复任务,作者在AMASS和3DPW的真实SMPL参数、Human3.6M和MPI-INF-3D
HP的3D关键点以及InstaVariety的2D关键点上监督WHAM

对于全局轨迹估计任务,作者使用AMASS、Human3.6M和MPI-INF-3DHP

此外,在训练期间,作者尝试添加BEDLAM [1],这是一个具有真实视频和真实SMPL参数的大型合成数据集

微调有两个目标:1)使网络暴露于真实的2D关键点,而不是仅在合成数据上训练,2)训练特征整合网络以聚合运动和图像特征

为了实现这些目标,我们在视频数据集上联合训练整个网络,同时在预训练模块上设置较小的学习率

与之前的工作一致[6, 17, 30, 43, 52],我们采用预训练和固定权重的图像编码器[21]来提取图像特征。然而,为了利用最近的网络架构和训练策略,我们在以下部分中还尝试了不同类型的编码器[1, 7, 25]

以下是有关训练的部分细节

  • 在预训练阶段,我们在AMASS上训练WHAM 80个周期,学习率为5 × 10−4。 然后我们在3DPW、MPI-INF-3DHP、Human3.6M和InstaVariety上微调WHAM 30个周期
  • 在微调期间,对特征整合器使用的学习率为 1 × 10−4,对预训练组件使用的学习率为1×10−5。在训练期间,使用Adam优化器和批量大小

第二部分(选读) 手势估计HaMeR

Reconstructing Hands in 3D with Transformers在arXiv的提交记录为[Submitted on 8 Dec 2023]

// 待更

第三部分 基于重力视角坐标的世界坐标系人体运动恢复

1.1 引言与相关工作

1.1.1 引言

如GVHMR原论文所说,基于世界坐标系的人体运动恢复(Human Motion Recovery,简称HMR)旨在于重建在考虑重力的世界坐标系下的连续三维人体运动。与传统的以相机坐标系为基础的运动捕捉方法 [Kanazawa 等,2018] 不同,基于世界坐标系的运动本质上更适合作为生成式模型和物理模型——如文本到动作生成 [Guo 等,2022; Tevet 等, 2023] 以及类人机器人模仿学习 [He等, 2024])的基础数据

  1. 在这些应用中,运动序列必须在重力感知的世界坐标系下保持高质量和一致性。大多数现有的HMR方法能够从视频中恢复出较为理想的摄像机空间人体运动[Kocabas等,2020;Shen等,2023;Wei等,2022]

    为了恢复全局运动,一种直接的方法是利用摄像机位姿[Teed等,2024]将摄像机空间中的运动转换到世界空间。然而,所得结果并不保证与重力方向对齐,但在转换和位姿估计中可能会出现误差累积,最终导致全局运动不合理
  2. 近期的研究 即本文第一部分所介绍的WHAM [Shin等,2024],尝试通过RNN自回归地预测相对全局位姿来恢复全局运动。尽管该方法取得了显著改进,但它依赖于良好的初始化,并且在长序列中会出现误差累积,因而难以持续保持重力方向的一致性

    作者认为,根本的挑战在于世界坐标系定义的模糊性。对于给定的世界坐标轴,围绕重力轴的任意旋转都能定义一个有效的重力感知世界坐标系

在本研究中,作者提出了GVHMR方法,用于对每一帧估计重力感知的人体姿态,并通过引入重力约束将它们组合起来,从而避免在重力方向上产生累积误差

总之,给定一个真实场景中的单目视频,GVHMR能够精确回归基于世界坐标系的人体运动:即在重力感知的世界坐标系下的四维人体姿态与形状。所提出的网络(不包括预处理步骤:2D人体跟踪、特征提取、相对相机旋转估计)在RTX 4090 GPU上处理一段1430帧(约45秒)的视频仅需280毫秒

该设计的动机源于这样一个观察:对于任意图像中的人物,人类能够很容易地推断出重力感知的人体姿态,如图2所示

  1. 此外,给定两个连续帧时,相较于估计完整的三自由度旋转,直观上更容易估算围绕重力方向的单自由度旋转。因此,作者提出了一种新颖的重力-视角(Gravity-View)坐标系,该坐标系由重力方向和摄像机视角方向共同定义
  2. 基于GV坐标系,作者开发了一个能够预测重力感知人体朝向的网络
    同时,作者还提出了一种恢复算法,用于估算不同GV坐标系之间的相对旋转,使得能够将所有帧对齐到一致的重力感知世界坐标系中
  3. 得益于GV坐标系,能够并行处理人体在时间轴上的旋转,作者提出了一种基于Transformer [Vaswani等,2017] 的模型,并结合了旋转位置嵌入(RoPE)[Su等,2024],以直接回归完整的动作序列
    与常用的绝对位置编码相比,RoPE能够更好地捕捉视频帧之间的相对关系,并更有效地处理长序列

    在推理阶段,作者引入了掩码,限制每一帧的感受野,从而避免了复杂的滑动窗口操作,并实现了对无限长序列的并行推理
    此外,作者还预测了手部和脚部的静止标签,用于优化脚步滑移和全局轨迹

1.1.2 相关工作

第一,对于摄像机空间中的人体动作恢复

  1. 近年来,3D人体恢复的研究主要采用参数化人体模型,如SMPL [Loper等,2023;Pavlakos等,2019]。在给定单张图像或视频的情况下,目标是将人体网格与二维图像精确对齐

    早期方法 [Bogo等,2016;Pavlakos等,2019] 采用基于优化的方法,通过最小化重投影误差来实现
    最近,基于回归的方法 [Goel等,2023;Kanazawa等,2018] 在大量数据上进行训练,用于直接从输入图像中获取SMPL参数
  2. 为提升精度,研究者们进行了大量尝试,包括
    专门设计的架构[Li等,2023;Zhang等,2023]
    基于部件的推理[Kocabas等,2021a;Li等,2021]
    以及引入相机参数[Kocabas等,2021b;Li等,2022b]

    HMR2.0[Goel等,2023]设计了一种ViT架构[Vaswani等,2017],并在性能上优于以往方法
  3. 为利用时序线索,[Shi等,2020]采用深度网络直接从视频中预测骨架姿态序列
    为恢复人体网格,大多数方法基于HMR流程

    [Kanazawa等,2019]采用卷积编码器
    [Choi等,2021;Kocabas等,2020;Luo等,2020]则成功应用了RNN
    [Sun等,2019]将自注意力机制引入CNN
    [Shen等,2023;Wan等,2021]采用transformer编码器提取时序信息

尽管这些方法能够准确估算人体姿态,但它们的预测结果均位于相机坐标系中。因此,当相机发生移动时,人体运动会变得物理上不合理

第二,基于世界坐标系的人体运动恢复

传统上,在考虑重力的世界坐标系中估算人体运动需要额外的地面平面校准或重力传感器。在多相机捕捉系统中[Huang等,2022;Ionescu等,2014],通常将标定板放置于地面以重建地面平面和全局尺度

  1. 基于IMU的方法[Kaufmann等,2023;von Marcard等,2018;Yi等,2021]则利用陀螺仪和加速度计来估算重力方向,并将人体运动投影到重力方向上

    近年来,研究者们致力于从单目视频中估算全局人体运动
    [Yu等,2021]利用物理定律重建人体运动,但需要提供场景信息
    类似地,[Li等,2022a;Yuan等,2022]根据行走线索预测全局轨迹
  2. 然而,相机运动与人体运动存在耦合,导致结果较为噪声
    SLAHMR [Ye等,2023] 和 PACE [Kocabas等,2024] 进一步将SLAM [Teed和Deng,2021;Teed等,2024] 与预训练的人体运动先验[Rempe等,2021]集成到优化框架中

    尽管这些方法取得了有希望的结果,但优化过程耗时较长,并且在处理长视频序列时存在收敛性问题。此外,这些方法并未获得与重力方向对齐的人体运动

第三,最相关的工作是本文第一部分介绍的 WHAM [Shin 等,2024]

该方法以自回归方式直接回归每帧的姿态和位移。然而,他们的方法依赖于良好的初始化,并且在长时序动作恢复中,由于误差累积,性能会下降

此外,还有两项并行研究同样关注基于世界坐标的人体动作恢复

  1. WHAC [Yin 等人, 2024] 利用视觉里程计 [Teed 等人, 2024] 将相机坐标系下的结果转换到世界坐标系,并依赖另一网络对全局轨迹进行精细化
  2. TRAM [Wang 等人, 2024] 则采用 SLAM [Teed 和Deng, 2021] 恢复相机运动,并通过场景背景推导运动尺度

他们同样将相机坐标系下的结果转换为世界坐标系。与这些方法不同,GVHMR 无需额外的精细化网络,即可直接预测基于世界坐标的人体动作

1.2 GVHMR的完整方法论

给定单目视频{It}Tt=0,作者将该任务表述为预测:

  1. SMPL-X 的局部身体姿态{θt ∈R21×3}Tt=0 和形状系数β ∈R10
  2. 从SMPL 空间到相机空间的人体轨迹,包括朝向{Γtc ∈R3}Tt=0 和位移{τ tc ∈R3}Tt=0
  3. 到世界空间的轨迹,包括朝向{Γtw ∈R3}Tt=0 和位移{τ tw ∈R3}Tt=0

如图3所示,提出的流程概览如下

  1. 给定单目视频(左),本方法遵循WHAM [Shin等,2024],首先通过跟踪人体边界框、检测二维关键点、提取图像特征,并利用视觉里程计或陀螺仪估算相机相对旋转,对视频进行预处理
  2. 随后,GVHMR将这些特征融合为逐帧token,并通过相对Transformer与多任务MLP进行处理
    输出包括:
    1)中间表征(中间部分),即重力-视角坐标系下的人体朝向、SMPL坐标系下的根部速度,以及预定义关节的静止概率
    2)相机坐标系下的SMPL参数(右上)
    最后,如第1.2.1节所述,通过将中间表征转换到世界坐标系,实现全局轨迹(右下)的恢复

接下来

  1. 在第1.2.1节中,将介绍全局轨迹表示,并讨论了其相较于以往轨迹表示的优势
  2. 接着,第1.2.2节描述了一种专门设计的网络结构以及用于目标预测的后处理技术
  3. 最后,第1.2.3节给出了实现细节

// 待更

http://www.dtcms.com/a/540417.html

相关文章:

  • 【ROS2】驱动开发-通过控制器访问硬件(Hardware Access through Controllers)
  • 智能网联汽车网络发展总体目标:构建“泛在接入、能力协同、安全可信“的立体化体系
  • 网站可以备案先提交类别后来改么网站如何被百度快速收录
  • 【软考架构】案例分析:状态图和活动图的定义以及区别
  • 制作营销网站公司有没有做网站的
  • HarmonyOS 性能优化与安全开发:打造高效且安全的智能应用
  • 从TSX到JS:深入解析npm run build背后的完整构建流程
  • NAS助手 — 纯血鸿蒙时代的 NAS 文件分享新方案
  • HarmonyOS应用性能调优与内存管理实战
  • pulsar与kafka的架构原理异同点
  • 做火锅加盟哪个网站好五屏网站建设平台
  • 帮别人做网站违法大秦建设集团有限责任公司官方网站
  • 地轨的定义与用途
  • 使用Docker轻松搭建WordPress博客:完整指南
  • 电路学习——4个IO口控制12个LED(2025.10.28)
  • 【学习笔记】Ubuntu Linux使用过程问题记录
  • 机器学习/深度学习 信号处理 评估指标速查表
  • 惠州做网站的公司有哪些做电子元器件销售什么网站好
  • “LangChain 版化工厂危险行为告警系统”的完整项目
  • 【React的Fiber及中断-重启逻辑的设计】
  • 石狮建设网站网站建设费要摊销
  • 人工智能——K-Means聚类进行青少年市场细分实践
  • 卷积运算全解析:从原理到MATLAB实现
  • BIM+GIS尝试
  • vscode关闭自动激活conda环境
  • jdk动态代理实现原理(二)
  • 上海旅游网站建设精通网站开发
  • 营销型网站建设的优缺点广州建站代运营公司有哪些
  • 6.1.1.4 大数据方法论与实践指南-Flink 任务优化实践
  • 面向中小企业的大模型推理引擎:技术架构与应用实践