Conference

RoMo: A Robust Solver for Full-body Unlabeled Optical Motion Capture

Xiaoyu Pan, Bowen Zheng, Xinwei Jiang, Zijiao Zeng, Qilong Kou, He Wang, Xiaogang Jin

Zhejiang University; Tencent; University College London

一句话总结

RoMo 用”分而治之的打标 + 基于轨迹片段(tracklet)的时序聚类 + 以关节位置为中间表示的混合逆运动学求解”这一套学习框架,从含误标、遮挡、位置误差的原始光学动捕点云中,鲁棒地完成全身(含手部)标记打标与动作求解。

研究背景

光学动捕被视为高精度捕捉全身运动的”黄金标准”:先在人体关键位置贴标记点,多相机重建出 3D 标记点,再经过打标(marker labeling,把点云关联到具体身体部位)与求解(solving,重建骨架与运动)两个阶段得到可用运动。但原始动捕数据不可避免存在三类噪声:

  • 误标(mislabeling):标签互换、离群点(outlier)未被剔除,手部标记因运动复杂、彼此邻近而尤其易错。
  • 遮挡(occlusion):标记因自遮挡或进入相机盲区而不可见。
  • 位置误差(positional inaccuracy):标记记录位置偏离真实位置。

已有方法各有短板:一类只处理身体标记的打标,把全身数据里分布迥异的身体与手部标记同等对待,导致手部精度骤降,且只用单帧信息、忽略时序连续性;另一类在”已标注”标记上做清洗与求解,依赖初始打标的正确性,且倾向一次性估计全身关节的相对旋转,忽视了沿运动学链的误差累积——父关节的微小误差会在子关节被显著放大。

作者提炼出三个核心挑战:(1) 应对身体与手部标记迥异的数据分布;(2) 利用标记的时序连续性且顾及帧内标记间关系;(3) 防止沿运动学链的误差累积。RoMo 主要针对误标与位置误差两类噪声。

方法

RoMo 的流程分三个模块:点云预处理、轨迹片段生成与打标、基于逆运动学的求解。输入为一段无标注、点数随时间变化(因遮挡或幽灵点)的稀疏无序点云序列 \(\{P_1, ..., P_T\}\);先给每个点分配标签(含表示离群点的 \(null\)),得到有序标记位置 \(M \in \mathbb{R}^{T\times N\times 3}\) 与可见性 \(O\),再求解运动 \(R \in \mathbb{R}^{T\times(3+K\times 9)}\) 与模板骨架 \(S \in \mathbb{R}^{K\times 3}\)。

flowchart LR
    A[无序点云序列] --> B[预处理: 全局朝向对齐 + 身体/左手/右手分割]
    B --> C[特征提取: 全局自注意力 + 局部聚合层]
    C --> D[Sinkhorn 归一化 得到置信度]
    D --> E[K-部图聚类 生成 tracklet]
    E --> F[同轨迹片段同标签]
    F --> G[混合逆运动学求解]
    G --> H[输出全身运动]

关键设计一:分而治之的打标框架。 因单一网络难以同时应对身体与手部标记,RoMo 先做两步预处理再提特征。先估计一个正交变换矩阵去除全局朝向以加速收敛、提升精度,对齐网络用关节根旋转监督并加正交正则:

\[\mathcal{L}_{align} = \|A_i - \hat{R}^i_{root}\|^2 + \lambda_{reg}\|I - A_i A_i^T\|^2.\]

随后把全身点云分割为身体、左手、右手三部分(交叉熵损失训练)。特征提取网络交替堆叠全局自注意力层与局部聚合层(k 近邻特征差聚合),兼顾全局与局部信息;最后用 Sinkhorn-Knopp 迭代做对数域最优传输归一化,把特征转成满足”松弛一对一对应”的置信度矩阵(\(null\) 标签可对应多个点),打标损失为带权负对数似然。

关键设计二:K-部图聚类生成轨迹片段以利用时序。 把 tracklet 构建建模为 K-部图聚类:标记为节点,仅在不同帧的节点间连边,边权同时融合位置距离与深度特征的余弦距离:

\[w^{ij}_{mn} = w^{ij}_{pos,mn} + \lambda_{fet}\, w^{ij}_{fet,mn},\]
其中 \(w^{ij}_{pos,mn} = |p^i_m, p^j_n|^2\),\(w^{ij}_{fet,mn} = 1 - \text{cosine\_similarity}(f^i_m, f^j_n)\)。引入特征相似度把标记的”感受野”从最近邻扩展到点云中所有标记,提升快速运动下的构建精度。聚类目标是在约束(同帧内不连边、每节点在异帧至多连一条边、超过位置/特征阈值不连边、边取 0/1)下最小化总权重,用贪心算法求解,得到的团即为轨迹片段。标签关联用标记置信度的 \(L\text{-}q\) 范数:对轨迹片段 \(Tr\),其被赋予标签 \(L_i\) 的置信度为 $$C_{L_i} = \left(\sum_{p^i_l\in Tr} c_{p^i_l, L_j} ^q\right)^{\frac{1}{q}}\(,选置信度最高者(\)q=0\(近似投票,\)q=1$$ 为置信度之和)。

关键设计三:以关节位置为中间表示的混合逆运动学求解。 直接一次性回归全身局部旋转易沿运动学链累积误差,且旋转属于 \(SO(3)\)、位置属于 \(\mathbb{R}^3\),训练非线性强。RoMo 转而估计 3D 关节位置作为中间表示,再用逆运动学求旋转,并把旋转分解为摆动与扭转 \(R = R_{sw}R_{tw}\):摆动分量的轴垂直于骨骼方向,可由关节相对位置经 Rodrigues 公式闭式求出;扭转分量的轴平行于骨骼方向、只有 1 个自由度且变化范围受人体约束限制,由网络估计(以 \([\cos(R_{tw}), \sin(R_{tw})]\) 表示保证连续)。为避免误差累积,关键在于对当前已估旋转的模板骨架做前向运动学得到全局关节位置 \(J'_i\),用 \(\vec{j}'_i = J_{ch(i)} - J'_i\)(而非仅子关节相对位置)来计算摆动旋转,从而反映父关节引入的误差。整个过程沿运动学树迭代进行,根朝向额外用 SVD 提升精度,骨长通过对全序列估计偏移取平均以保持一致。求解损失为:

\[\mathcal{L}_{solving} = \lambda_{pos}\|J - \hat{J}\|^2 + \lambda_{tw}\|R_{tw} - \hat{R}_{tw}\|^2 + \lambda_{skel}\|S - \hat{S}\|^2.\]

实验结果

在 Production、Front-waist(游戏工作室专业采集、手工清洗、不同标记布局)与 GRAB(人物与日常物体交互,模拟加噪、整体遮挡率设为 15%)三个数据集上评估。打标对比 [Ghorbani et al. 2019] 与 SOMA,指标为 F1 与准确率;求解对比 Holden 2018、MoCap-Solver、LocalMoCap 及商业/优化方法 Vicon、MoSh++,指标为 MPJRE(度)与 MPJPE(厘米)。下表为身体/手部打标 F1 与身体求解误差的精炼对比(白底=身体,灰底数据以括号标注手部):

数据集 指标 对比最优 RoMo
Production 手部打标 F1 ↑ 94.58 (SOMA) 98.62
Production 身体 MPJRE ↓ (度) 1.09 (LocalMoCap) 0.45
Production 身体 MPJPE ↓ (cm) 0.43 (LocalMoCap) 0.14
Front Waist 手部打标 F1 ↑ 90.24 (SOMA) 97.86
GRAB 身体 MPJPE ↓ (cm) 0.83 (LocalMoCap) 0.19

在真实数据上,RoMo 把手部打标 F1 从 0.94 提升到 0.98,身体动作求解的关节位置误差降低约 25%(MPJRE 约降 15%)。消融显示:点云分割与基于轨迹片段的打标对性能贡献最大(去掉后手部准确率分别下降约 3.56 与 2.08 个百分点)。抖动鲁棒性实验中(Production 身体数据),在 \(\pm 1.0\)cm 抖动下 RoMo 的 MPJPE 为 1.25,优于 LocalMoCap 的 1.62 及去掉全局关节位置的变体 1.49。

亮点与局限

亮点:

  • 分而治之地拆分全身打标为对齐、分割、部位专属打标三个子任务,直接缓解身体与手部数据分布差异带来的手部精度骤降问题。
  • 首次将 K-部图聚类用于动捕数据处理,并把深度特征相似度纳入边权,将时序建模扩展到帧内全体标记的关系。
  • 用全局关节位置作中间表示 + 混合逆运动学,系统性地抑制沿运动学链的误差累积,末端关节(手腕、脚踝)精度显著提升。
  • 无需商业系统即可达到可比精度,成本更低、对自定义标记布局更灵活。

局限:

  • 打标与求解仍是两阶段分离(打标输入无序、求解需已标注),未端到端统一。
  • 未处理标记布局的变化,直接在覆盖所有布局的超集上训练会明显降低打标精度。

延伸思考

  • 作者指出的”合并两阶段、直接从无序点云求解运动”是自然的下一步,若能把运动信息反馈进打标阶段,或可减少对启发式假设的依赖并提升泛化。
  • 混合逆运动学中”关节位置作中间表示 + 摆动闭式解、扭转小自由度网络回归”的思路,本质是把高非线性的旋转回归降维到更易学的位置回归,这一范式对图像驱动的人体姿态估计同样有借鉴价值。
  • K-部图聚类融合位置与深度特征的做法,可迁移到其他带时序、基数可变的稀疏点集跟踪问题(如多目标跟踪、粒子追踪)。
  • 对标记布局变化不鲁棒是实用化的关键短板,如何在单网络内兼容多布局而不牺牲精度,值得结合布局无关表示或元学习进一步探索。