清华大学 徐枫团队 投稿
量子位 | 公众号 QbitAI

仅需6枚硬币大小的传感器,即可做到实时精准全身动作捕捉

来自清华大学团队的最新研究,入选计算机图形学顶会SIGGRAPH 2024

有了这项技术,可以无障碍化身小黑子。

打开网易新闻 查看更多图片

打拳等大幅度运动也不在话下。

打开网易新闻 查看更多图片

简洁是这类技术的核心优势之一,6枚惯性传感器(IMU)穿戴于四肢末端、头部和后背。

IMU传感器其实智能手机、手环、手表、耳机上都有,生活中十分常见。视频中使用的IMU体积非常小,与一枚一圆硬币大小相当,佩戴在身上几乎察觉不到。

打开网易新闻 查看更多图片

一元硬币(左)与该技术使用的惯性传感器(右)

不光形式简洁、佩戴方便,且和一套动辄百十万的传统动捕设备相比,其成本降低到了普通用户可以轻松接受的水平。

例如,日本索尼公司在去年发布了mocopi产品,提供给用户6枚IMU进行动作捕捉的解决方案,售价为449.99美元。

打开网易新闻 查看更多图片

△索尼mocopi产品,使用6个IMU进行动作捕捉

来自清华大学的研究人员基于在该领域已有的技术积累,提出名为PNP的新技术,在动作捕捉精度上大幅超越现有的学术界及工业界解决方案。

其中与索尼公司的mocopi相比,可见新方案在多数人体动作上完成的更加标准、自然:

打开网易新闻 查看更多图片

打开网易新闻 查看更多图片

△索尼mocopi(左,黑色)与本技术PNP(右,橙色)实时动作捕捉结果对比

不仅相比于工业界产品mocopi有明显更高的精度,相比于学术界的最先进的方案,本技术也有明显优势:

打开网易新闻 查看更多图片

△学术界的最先进方案PIP(左,蓝色)与本技术PNP(右,橙色)实时动作捕捉结果对比

该技术将发表在SIGGRAPH 2024上,代码已经开源

打开网易新闻 查看更多图片

建模非惯性力带来“虚拟加速度”

本技术指出了过去工作存在的一个问题,即使用惯性测量值估计人体运动时忽略了非惯性力的问题。

具体来说,人体动作捕捉任务通常分解为人体姿态估计人体运动估计两个子任务求解。

打开网易新闻 查看更多图片

在人体姿态估计任务中,过去的方法往往使用人体根节点坐标系简化网络训练,即使用根节点坐标系下的IMU测量值(包括加速度、和旋转)来估计人体姿态(即关节旋转)。

然而由于人体的加速和转动,根节点坐标系通常是一个非惯性系,将加速度变换到非惯性系时必须要考虑非惯性力的影响。

举一个简单的例子,假设被捕捉者站立于转台上,此时静止的观测者会认为IMU加速度测量值和人体运动一致(读数为旋转的向心加速度),而位于转台上的动态观测者则会指出IMU的加速度读数与他看到的人体运动不符(他会看到静止的人体)。

打开网易新闻 查看更多图片

究其原因,是因为动态观测者使用了非惯性参考系,他在读取IMU的数据时必须加上非惯性力(如离心力、科里奥利力),才能获得和观测一致的结果。

打开网易新闻 查看更多图片

本技术通过建模非惯性力带来的“虚拟加速度”,保证了神经网络看到的加速度和人体运动一致。通过更加充分利用加速度测量值,可以提高动作捕捉的精度。

以一个例子说明本技术的实际作用:我们对比人体转圈和收缩手臂的两种运动(下图左),此时位于手臂上的IMU都会测到向内的加速度,如果简单地变换到根节点坐标系,这两种动作将无法区分(下图中);而在本技术中,人体旋转产生的“离心力”与IMU测量到的向心力抵消,使得两种动作可以被有效区分开(下图右)。

打开网易新闻 查看更多图片

本项目主页中的视频通过动画直观的讲解了本技术的核心思路和背后的物理知识,读者可以进行参考。

准确且符合物理规律

得益于更充分的加速度的使用,本技术可以解决过去工作难以捕捉的举手、冲拳等IMU旋转几乎不变、只能通过加速度来重建的动作。

打开网易新闻 查看更多图片

打开网易新闻 查看更多图片

△相比于之前的方法PIP(左,蓝色),本技术PNP(右,橙色)能更准确重建举手、冲拳动作

复杂动作的捕捉也更加准确。

打开网易新闻 查看更多图片

△相比于之前的方法PIP(左,蓝色),本技术PNP(右,橙色)能更准确地捕捉复杂动作

相比于工业界的方案(索尼mocopi),本技术使用了人体物理优化,使得重建的结果符合物理规律(例如避免了脚在地面上滑动等问题)。

打开网易新闻 查看更多图片

△相比于索尼mocopi(左,黑色),本技术PNP(右,橙色)捕捉的动作符合物理规律(脚不滑动)

对于复杂运动如下蹲行走,本技术也能更好地处理:

打开网易新闻 查看更多图片

△相比于索尼mocopi(左,黑色),本技术PNP(右,橙色)捕捉复杂动作更加准确。

更多的对比结果可以参考主页的视频。

论文地址:https://arxiv.org/abs/2404.19619
项目主页:https://xinyu-yi.github.io/PNP/
开源代码:https://github.com/Xinyu-Yi/PNP