大家都知道,当给系统的输入只有部分关节位置时,姿态重建就变得像解一个欠定方程组。这时候,输出可以完全不受控制,可能会出现一些不合理的情况。传统的IK工具如CCD、FABRIK和FinalIK,它们虽然速度快,但无法学习到合理与不合理之间的规则,容易导致身体结构不符合物理原理。所以,研究者们开始尝试用神经网络来解决这个问题。 ProtoRes就是这样一款神经架构,它通过一种叫做原型加残差的方法,把稀疏输入变成完整姿态。这个架构有几个关键部分:位置效应器、旋转效应器和观察效应器。位置效应器处理3D坐标和6D旋转,保证平移不变性;旋转效应器指定关节的旋转轴和角度;观察效应器让关节瞄准目标点并控制局部坐标轴朝向。这些输入经过嵌入层后,进入一个双环残差网络,外环负责全局,内环靠原型来对齐局部与整体。这样设计的好处是既高效又能学到关节间的先验知识。 解码器部分也很有趣,它分为两步:全局位置解码器(GPD)先给出一个大致位置,然后逆运动学解码器(IKD)再进行旋转和FK修正。实验表明这种两步走的方法比一步到位的效果更好。 在实验中,ProtoRes在两个数据集上对比了传统IK和Transformer基线表现出色。在稀疏输入时,关节位置误差平均下降了15%到20%,旋转误差下降了10%到15%。甚至在缺失部分关节时也能补全骨架而不穿模。 此外,ProtoRes还能在实时引擎中使用。通过Unity平台,用户只需拖拽几个效应器组件就能快速生成完整姿态。前向推理速度稳定在30帧每秒,显存占用不到2GB。 为了方便后续研究团队还公开了两个小型数据集miniMixamo和miniUnity,并且提供预训练模型和代码供大家下载使用。