近日,浙江大学计算机辅助设计与图形系统全国重点实验室金小刚教授课题组在SIGGRAPH ASIA 2024会议上,在线发表名为“RoMo: A Robust Solver for Full-body Unlabeled Optical Motion Capture”的研究论文, 该研究通过基于K-分区图的聚类算法以及引入了逆运动学的混合解算器,大幅提升了标注和解算的准确性。课题组提出的RoMo动作捕捉框架,用于鲁棒地标注和解算光学动作捕捉数据,为动作捕捉系统的开发提供了新的设计思路。
研究背景
光学动作捕捉是工业界获取真实人体动作的通用解决方案,它具有准确性、易用性等多个优点。然而,即使在高精度和高保真度的设备上,依然不可避免地会产生标记点遮挡和位置偏移等问题,这些问题会影响解算的动作质量。为了确保解算动作的精确性,目前依然需要大量的手工调整来修复以上的标记点问题。
为了清理上述噪声,学术界已经提出多种数据驱动的方法以清理数据噪声和解算动作。SOMA等研究专注于标记标注阶段,但仅限于身体标记。当这些技术应用于全身标记数据时,身体和手部标记被使用同一方法处理,导致手部标记标注的准确性降低。此外,这些方法在标注时仅考虑单帧信息,忽略了标记运动的时序信息,导致在标记受遮挡的情况下标注准确度下降。另一些研究,例如MoCap-Solver和LocalMoCap等致力于在动作解算阶段清理已标注动作捕捉数据中的噪声。这些方法通常依赖于标记标签的准确性,因此,它们容易受到标签错误的影响。此外,所有三种类型的噪声都可能导致动作解算的不准确。这些方法尝试同时预测全身关节的相对旋转,忽略了沿着人体运动链的误差积累——父关节的微小解算误差会造成子关节位置的显著误差。
研究创新与突破
本研究提出RoMo,一个数据驱动的方法,用于鲁棒地处理全身未标注的光学动作捕捉数据,包括标注标记和动作解算两阶段。RoMo主要应对两种类型的噪声:标签错误和位置误差。在标注阶段,RoMo采用分治法,将复杂的全身标记任务分解为可解的子任务:包括全身标记点云对齐、全身标记点云分割和分部位标注。这种方法降低了训练难度,并提升了网络性能。为了充分利用标记的时间连续性,RoMo通过网络提取的特征生成轨迹段,并将其建模为K-分图的聚类算法,通过特征相似性和位置差异构建图的边。结合特征相似性扩展了标记的感受野,从最近邻点扩展到点云中所有标记,提高了标注精度。在动作解算阶段,RoMo使用关节位置作为中间表示,利用逆运动学调整模板骨架以匹配预测的关节位置。使用关节位置避免沿运动链的误差积累,并使解算器准确重建与输入标记对应的动作,尤其是末端关节的位置。 综上,本研究作出以下贡献:
· 一种鲁棒的全身动作捕捉标记标注框架,该框架采用分治法,并整合时间和空间信息,以精确标注全身MoCap点云。
· 一种生成动作捕捉标记轨迹段的方法,该方法基于K-分图的聚类算法,同时考虑标记的位置和特征。
· 一种混合神经网络的逆运动学动作捕捉动作解算器,该解算器利用全局关节位置作为中间表示,能够避免沿身体运动链的误差积累。
本方法系统框架示意图
研究成果与贡献
本研究方法能够精确地解算出大幅度的身体动作和精细的手部动作,下面介绍本研究生成的结果以及与其他方法的对比。
上图中展示了标注的定性比较。RoMo在处理遮挡和异常值时表现出较高的鲁棒性,并在复杂遮挡条件下取得最高的准确率。此外,轨迹段的生成显著提升标记性能。
以上是我们的方法与其它方法的对比结果,我们展示了不同的身体动作和手部动作,为了方便对比,我们渲染了真值的骨骼,并将该骨骼与解算方法得到的骨骼重叠。我们的方法可以取得与真值最接近的结果。
浙江大学计算机辅助设计与图形系统全国重点实验室金小刚教授为本文通讯作者;博士研究生潘晓宇为本文的第一作者,硕士研究生郑博文为本文的共同作者。本研究受到了浙江省重点研发计划项目(编号:2024C01069)和国家自然科学基金(编号:62036010)的资助。