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

前言

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

// 待更

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

v_JULY_v

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值