引言

几十年来,精确的 3D 人体动作捕捉 (MoCap) 局限于好莱坞工作室和高端研究实验室。它需要受控的环境、数十台摄像机,以及身着布满反光标记动作捕捉服的演员。

近年来,重点已转向“野外”动作捕捉——即在任何地方 (从客厅到徒步小径) 使用可穿戴传感器跟踪运动。最常见的解决方案涉及惯性测量单元 (IMU)——即智能手机或智能手表中用于跟踪加速度和旋转的传感器。

然而,基于 IMU 的动作捕捉面临一个巨大的障碍: 漂移 (Drift) 。 如果没有外部摄像机来“重置”位置,加速度积分中的微小误差会迅速累积。一个人静止不动,在数字重建中却可能看起来像是在房间里滑行。此外,当仅使用稀疏的传感器组 (例如全身仅 6 个传感器) 时,系统会面临姿态模糊 (pose ambiguity)——多种身体姿态可能会产生完全相同的传感器读数。

于是, UMotion 出现了,这是奈良先端科学技术大学院大学的研究人员提出的一个新框架。UMotion 通过将 IMU 与 超宽带 (UWB) 测距传感器相结合,并至关重要地将不确定性视为头等公民来解决这些问题。UMotion 不仅仅是猜测姿态,而是计算其对每个测量的置信度,并利用这种置信度实时过滤噪声和漂移。

图 1. UMotion 在不确定性下统一整合 IMU-UWB 数据输入和姿态输出,并受个体身体结构的约束。在线状态估计框架迭代地优化传感器数据置信度并稳定姿态估计。

在这篇文章中,我们将解构 UMotion 的工作原理,探索它如何融合深度学习与经典状态估计,从而在稀疏传感器运动跟踪中取得最先进的结果。

硬件: 稀疏传感器与“隐形”尺子

要理解 UMotion,我们首先需要了解硬件设置。该系统使用稀疏传感器配置。研究人员并没有在每一块骨头上放置传感器,而是仅在身体上放置了六个单元:

  1. 骨盆
  2. 左前臂
  3. 右前臂
  4. 左小腿
  5. 右小腿

这些单元中的每一个都是混合型的。它包含:

  • 一个 IMU: 提供局部方向和加速度。
  • 一个 UWB 传感器: 充当雷达,测量自身与其他五个传感器之间的距离 (飞行时间) 。

混合传感器的挑战

虽然增加 UWB 传感器提供了一把测量肢体之间距离 (例如手腕到臀部的距离) 的“隐形尺子”,但它也引入了新问题。

  1. 遮挡 (Occlusion): 人体大部分由水组成,会阻挡无线电信号。如果你交叉双臂或蹲下,身体可能会阻挡传感器之间的 UWB 信号,导致数据丢失或产生噪声。
  2. IMU 噪声: 低成本 IMU 本身就存在噪声,并且容易出现偏差误差。

UMotion 的核心贡献不仅在于使用了这些传感器,更在于它如何结合它们。它使用了一个紧耦合框架,其中姿态估计的输出 (AI 认为身体正在做的动作) 会反馈到传感器处理中 (优化原始数据) 。

UMotion 框架

UMotion 的架构是循环的。它不仅仅是按直线处理数据;它创建了一个反馈回路,估计的姿态有助于清理嘈杂的传感器数据,而清理后的传感器数据又有助于估计更好的姿态。

图 2. UMotion 概览,包含三个主要模块: 形状估计器、姿态估计器和状态估计器。

如上面的概览所示,系统由三个主要引擎组成:

  1. 形状估计器 (Shape Estimator): 确定用户的物理尺寸 (骨骼长度) 。
  2. 状态估计器 (UKF): 使用卡尔曼滤波器跟踪位置、速度和传感器偏差。
  3. 姿态估计器 (Pose Estimator): 一个预测关节 3D 旋转的神经网络。

让我们分解每个组件。

1. 形状估计器: 校准骨架

在跟踪动作之前,系统必须了解它正在跟踪的身体。高个子的人手腕到骨盆的距离与儿童截然不同。标准方法通常假设一个平均体型,这会导致不准确。

UMotion 使用一种集成学习方法。它获取简单的人体测量数据——身高 (\(H\)) 和体重 (\(W\))——以及用户站立呈“T-pose”时捕获的特定传感器间距离 (\(D\))。

形状估计器公式

为什么选择这些输入?身高和体重提供了体积的总体概念,而 UWB 距离提供了特定的骨骼约束。研究人员分析了哪些距离最可靠,并选择了 7 个关键测量值 (如下图所示) 来训练他们的模型。

图 3. 形状估计器中使用的选定传感器间距离的可视化。

输出是 SMPL 身体形状参数 (\(\beta\)) 。 这创建了一个与用户匹配的数字骨架,确保当算法计算运动时,它遵循该特定人体的物理约束。

SMPL 模型公式

在这个方程中,\(M\) 代表最终的网格,它是形状 (\(\beta\)) 和姿态 (\(\theta\)) 的函数。通过首先固定 \(\beta\),系统的其余部分只需要求解姿态 (\(\theta\))。

2. 姿态估计器: 深度学习“先知”

已知身体形状后,系统需要弄清楚肢体是如何移动的。这由使用 LSTM 单元的双向循环神经网络 (RNN) 处理。

姿态估计器接受三个输入:

  1. 加速度 (\(\hat{a}\)): 由状态估计器过滤。
  2. 方向 (\(R\)): 来自 IMU。
  3. 距离 (\(\hat{d}\)): 过滤后的 UWB 测量值。

这里是关键创新点: 神经网络不仅输出关节旋转 (\(\hat{\theta}_{6D}\)),还输出其预测的不确定性 (\(\hat{\Sigma}\))。

姿态估计器公式

网络实际上是在说: “我认为肘部弯曲了 90 度,但我只有 60% 的把握,因为现在的传感器数据很嘈杂。”

为了训练这个网络理解不确定性,研究人员使用了高斯负对数似然 (GNLL) 损失函数。

GNLL 损失公式

如果模型以高置信度做出错误的预测,该损失函数会严厉惩罚模型。它鼓励模型变得“诚实”——如果姿态模糊不清,模型会学会输出更高的不确定性 (\(\Sigma\))。

3. 状态估计器: 无迹卡尔曼滤波 (UKF)

UMotion 的核心是状态估计器。它使用了无迹卡尔曼滤波 (Unscented Kalman Filter, UKF) 。 如果你不熟悉卡尔曼滤波器,可以把它们看作是终极的数据融合算法。它们维护关于系统状态 (位置、速度) 的“信念”,并基于以下两点更新该信念:

  1. 预测 (Prediction): 使用物理学 (例如,“如果速度是 \(x\),下一秒位置应该是 \(y\)”) 。
  2. 测量 (Measurement): 使用传感器来修正预测。

状态向量

UMotion 跟踪的状态 (\(\mathbf{x}\)) 包括所有传感器对的相对位置 (\(p\))、速度 (\(v\)) 和加速度计偏差 (\(b\))。

状态向量公式

步骤 A: 预测 (物理学)

系统使用标准的牛顿物理学 (运动学) 预测下一个状态。它使用 IMU 测量的加速度 (\(\mathbf{u}\)) 作为控制输入。

控制输入公式

它根据前一个状态和当前加速度更新速度和位置,并考虑估计的偏差漂移 (\(\mathbf{b}\))。

速度预测公式 位置预测公式

这个预测步骤给了我们传感器位置的“草稿”,但它容易发生漂移。

步骤 B: 测量更新 (融合)

现在,UKF 使用观测值来修正“草稿”。UMotion 使用了一种巧妙的观测组合:

  1. UWB 距离: 来自硬件的直接测量。
  2. 姿态约束: 神经网络姿态估计器的输出。

这就是不确定性驱动方面大放异彩的地方。UKF 根据这些输入的方差 (可信度) 融合它们。

对于神经网络输出,UMotion 使用无迹变换 (Unscented Transform) 。 由于神经网络输出的是关节角度 (姿态) ,但 UKF 跟踪的是传感器位置,系统必须将姿态分布转换为位置分布。

它生成“sigma 点” (代表姿态周围不确定性云的采样点) ,并将它们通过 SMPL 身体模型 (正向运动学) 。

Sigma 点变换公式

结果是一组完全源自神经网络对姿态理解的预测传感器位置。

加权均值和协方差公式

然后 UKF 会比较:

  • 物理学预测的位置 (IMU 积分) 。
  • UWB 测量的距离。
  • 源自神经网络的位置。

它根据各自的不确定性合并这些数据,以产生最佳的估计状态。这个清理后的状态 (更好的加速度、更好的距离) 随后被反馈给神经网络用于下一帧,从而完成循环。

应对现实世界的噪声

UWB 传感器的一个主要问题是视距 (Line-of-Sight, LOS) 。 如果身体部位阻挡了两个传感器之间的信号路径,距离测量就会变得不可靠。

研究人员分析了不同传感器对的“可见性”。例如,左小腿和右小腿之间的视线几乎总是清晰的。然而,头和膝盖之间的路径经常被阻挡。

图 9. 堆叠密度图显示了相对于 LOS 可用性总分布的比例。

为了处理这个问题,UMotion 实现了一个动态距离误差模型。

距离误差模型公式

图 10. 距离误差模型示例。

这个模型充当守门员。如果系统检测到视距 (LOS) 概率很高,它就信任 UWB 测量值 (低 \(\sigma_d\)) 。如果 LOS 被阻挡 (低概率) ,它会人为地放大噪声参数 (\(\sigma_{kinematics}\)),有效地告诉卡尔曼滤波器: “不要相信这个 UWB 读数;依赖物理预测或神经网络吧。”

实验与结果

研究人员在标准数据集 (AMASS, TotalCapture, DIP-IMU) 上验证了 UMotion,并将其与最先进的方法进行了比较。

定量性能

结果显示,相较于纯 IMU 方法 (如 TransPose 和 PIP) 甚至之前的混合方法 (UIP) ,UMotion 都有明显的提升。

位置误差: 该指标测量估计关节与 3D 空间中真实关节的距离。越低越好。

表 1. 与最先进的纯 IMU 方法的比较。

如表 1 所示,UMotion 在 TotalCapture 数据集上实现了 4.46 cm 的位置误差,显著击败了最好的纯 IMU 方法 (PNP),后者的误差为 4.74 cm。

当专门与其他使用距离信息的方法进行比较时 (表 2) ,UMotion 保持领先。

表 2. 与距离增强方法的比较。

在困难的 UIP 数据集上 (该数据集具有真实的传感器噪声和复杂的动作) ,UMotion 实现了最低的位置误差 (10.33 cm,而之前的最佳结果为 10.65 cm) 。

融合的影响

融合所有这些传感器真的有作用吗?消融研究可视化了误差分布。

图 4. 距离误差的累积分布 (左) 和随时间的加速度误差减少 (右) 。

  • 左图: 深蓝色线 (融合 IMU、UWB 和姿态) 最靠左,表明误差最低。仅融合 IMU 和 UWB (浅蓝色) 的效果不如融合所有数据。
  • 右图: 显示了滤波器如何随时间消除加速度噪声。

我们还可以查看随时间步长的关节位置误差:

图 5. 不同融合设置下的关节位置误差。

“无滤波器”线 (灰色) 波动大且高。“融合 IMU、UWB 和姿态”线 (深蓝色) 不仅最低而且最稳定,证明反馈回路能够稳定系统以抵抗漂移。

定性可视化

数字虽然重要,但视觉效果更能说明问题。在下面的比较中,请观察腿部和整体姿态。

图 6. 姿态估计的定性比较。

  • 参考 (Reference): 真实动作 (最右侧) 。
  • TransPose/PIP: 经常出现“悬浮”或不自然的腿部弯曲。
  • UMotion (紫色): 紧密模仿参考动作,特别是在复杂的弓步和蹲伏动作中,这些动作中的遮挡通常会混淆传感器。

结论

UMotion 代表了可穿戴动作捕捉向前迈出的重要一步。通过承认传感器是不完美的,该框架将弱点转化为优势。它不会盲目信任 IMU、UWB 或神经网络。相反,它使用概率方法 , 不断权衡每个组件的不确定性,以找到中间的数学“真理”。

这项工作的关键要点:

  1. 反馈循环很重要: 使用姿态估计器的输出清理状态估计器的输入,创造了一个准确性的良性循环。
  2. 不确定性是有用的: 训练神经网络预测其自身的疑虑 (通过 GNLL 损失) ,使得传统滤波器 (UKF) 能够做出更好的决策。
  3. 混合是未来: 结合 IMU 的高频局部数据与 UWB 的无漂移空间数据,解决了两者的固有局限性。

随着可穿戴传感器变得更便宜、更小巧,像 UMotion 这样的框架为日常生活中的高保真动作捕捉铺平了道路——无论是用于康复监测、沉浸式 VR 游戏还是运动训练——且无需任何摄像头。