首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

人体姿态估计WHAM与手势估计HaMeR——人形机器人背后的关键技术之一

  • 25-03-02 12:21
  • 2323
  • 9151
blog.csdn.net

前言

本文一开始是属于此文的,但由于人体姿态估计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)]

如下图所示,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的两阶段训练

分两个阶段进行训练:

  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]

// 待更

注:本文转载自blog.csdn.net的v_JULY_v的文章"https://blog.csdn.net/v_JULY_v/article/details/139885526"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top