CVPR2021:单目实时全身动作捕捉(清华大学)
Date:2021-5-15
作者:?夏初
首发:公众号【3D视觉工坊】
注1:文末附有【计算机视觉】交流群加入方式哦~
注2:计算机视觉系统学习资料领取:链接
Monocular Real-time Full Body Capture with Inter-part Correlations
摘要:
本文提出了第一种实时全身捕捉的方法,该方法通过单一颜色图像的动态3D人脸模型来估计身体和手的形状和运动。研究人员使用了一种新的神经网络框架,考虑了身体和手部之间的相关性,并能够以高效率进行内部运算。与以往的研究不同的是,该研究方法是在多个数据集上联合训练,分别关注手部、身体或面部,不需要同时标注所有的数据。这种通过多数据集进行训练的方法,使得该框架具有优越的泛化能力。与早期的单目全身方法相比,本文中的方法通过估算统计人脸模型的形状、表情、反照率和光照参数等捕捉更具有表现力的3D人脸的几何形状和颜色。该方法在公共数据集基准上测试获得较高的精度,同时能够提供更完整的面部重建。
研究贡献:
(1) 第一种实时方法,可以从单一颜色图像中共同捕获人的3D身体,手部和脸部。
(2) 一种新颖的网络结构,并利用人体内部的相关性进行手部关键点检测,从而提高了计算效率和准确性。
(3) 利用解耦模块,注意机制和二级主体关键点检测结构等,提高了该框架的通用性。
研究方法:
如上图所示,研究人员将单目彩色图像作为输入,并输出2D和3D关键点位置,关节角度以及身体和手部的形状参数,以及面部表情,形状,反照率和光照参数。然后,研究人员对新的参数模型进行动画处理,以恢复致密的人体表面。整个网络框架主要被划分为四个独立的模块:DetNet,是根据人体图像估算人体和手部关键点的位置,其中嵌有新的交互特征,注意力机制和二级人体关键点检测结构。BodyIKNet和HandIKNet,是根据人体和手部的关键点坐标估计形状参数和关节角度;FaceNet,是用于从人脸图像裁剪中回归获取人脸的参数。
(1) DetNet
关键点检测网络DetNet的目标是根据输入图像估算3D身体和手部关键点坐标。因为身体和手部在图像中的比例不同,因此单个网络无法同时处理两项任务。简单常用的解决方案是使用两个单独的网络,但是这意味着将需要更长的运行时间,从而难以满足实时性。该项研究中,研究人员观察发现:利用身体关键点估计提取的手部区域的全局特征可以与手部构建分支共享。通过将它们与从手部区域中单独提取的高频局部特征相结合,可以避免对手部高级特征的计算,并且可以提供用于手部关键点检测的身体信息,更有利于获得更高的精度。
(2) IKNet
稀疏的3D关键点位置不足以驱动CG角色模型,如果想要对人体网格模型进行动画处理,并且获得密集的人体表面,需要从稀疏的关键点中估计人体的关节角度。这种计算任务称为逆运动学(IK)。通常,IK任务是通过迭代优化方法解决的,这种方法运算时间较长。但是,在这项研究中,研究人员使用称为IKNet的完全连接的神经网络模块从关键点坐标回归关节角度,借助附加的MoCap数据进行训练,IKNet会从数据中隐式地先获取一个姿势,从而进一步减少了关键点位置误差。由于采用了端到端的体系结构,IKNet获得了卓越的运行性能,有利于提高实时性。
IKNet是一个完全连接的网络,它输入关键点坐标,输出身体和手的关节旋转。与其他方法相比,研究人员使用相对6D旋转作为输出公式,并且在神经网络中另外估算了形状参数和比例因子。由于几乎没有同时包含身体和手部关节旋转的MoCap数据,因此研究人员训练BodyIKNet和HandIKNet分别估计身体和手部的关节旋转,而不是训练一个将所有关节角度都回归的网络。损失定义为:
(3) FaceNet
研究人员采用了FaceNet卷积模块,从一个面部中心为中心的图像估计3DMM统计人脸模型的形状,表情,反照率和光照参数。通过根据DetNet估计的面部裁剪图像来获得面部图像。与之前仅仅估计面部表情的全身捕捉的研究相比,利用这种方法,研究人员对形状,反照率和光照参数的回归可提供更为个性化和逼真的效果。由于原始的FaceNet中的原始模型对图像中人脸的大小和位置很敏感,因此研究人员使用DetNet产生的人脸对其进行微调,能够实现更好的泛化。
实验:
研究人员利用AMASS,HUMBI和SPIN数据集训练BodyIKNet,并按照已有方法使用MoCap数据训练HandIKNet。对HandIKNet和BodyIKNet的训练数据进行增强。FaceNet在VoxCeleb2数据集上进行预训练,并使用来自MTC的面部图像进行微调。研究人员使用与MTC,HM36M和MPII3D中相同的评价标准评估MTC,HM36M,MPII3D和HUMBI在人体运动预测的结果。在HUMBI数据集上,研究人员选择15个评估的关键点,从而与其他数据集保持一致,同时忽略图像外部的关键点。对于手部评估,研究人员使用MTC数据集和FreiHand数据集。由于并非所有MTC中的测试图像都带有双手的标注,因此研究人员仅对带有双手标记的样本进行评估,称为MTC-Hand。研究人员使用以毫米为单位的平均关节位置误差作为身体和手部姿势估计的度量。
研究人员在上图中给出定性结果,并与Choutas等人的最新方法进行了比较。尽管实验结果显示该种方法的速度更快,但是可以提供具有质量的预测结果。在第一行中,显示了该模型捕获的详细的手势,而Choutas等人给出了过度平滑的估计。这是因为研究人员利用了从高分辨率手形图像中提取的高频局部特征。在第二行中,证明了该研究中手部姿势与手腕和手臂的姿势一致,而Choutas等人的结果在人体解剖学上是不正确的。这是由于该研究利用身体信息进行手势估计。研究人员在第三行中证明,随着面部形状和颜色的变化,研究人员的方法可提供高度个性化的捕获结果,而Choutas等人则缺少身份信息。
在上图中,研究人员比较了两种不同的面部裁剪捕捉结果。由于研究人员的方法不估计相机姿态,为了叠加可视化,研究人员采用PnP-RANSAC和PA来对齐研究人员的3D和2D预测。
研究人员在上表中报告了实验中手部姿态估计的结果。IK后的结果是基于handknet估计的形状参数。在MTCHand测试集上,研究人员的平均误差只有9.3毫米。研究人员认为IK后误差增加1.1mm是因为SMPLH和MTC手部模型在关键点上存在定义的差异,因为骨长度的差异平均为25%。在FreiHand,研究结果的差异增加了,这是因为FreiHand是一个只有手部姿态的数据集,而在本文的研究方法中,人体姿态依赖于身体信息。由于研究方法中没有特定应用于手部的网络,为了对手部运动进行评估,研究人员必须将手的图像填充到完整的尺寸,并将其输入到模型中,如下图所示,就像呈现身体一样。即使这种方法存在很多的不足,但是通过这种方法后,实验结果与Choutas等人的研究结果依旧旗鼓相当。
总结:
研究人员提出了第一种实时方法,可以从单个RGB图像中捕获身体,手部和脸。基于观察到的身体和手部运动是内部相关的这一特性,研究人员利用这种关键部位之间的相关性设计网络,从而获得较高的运算效率和运算准确性。
通过将网络训练为独立的模块,引入注意机制和二阶段人体关键点检测,研究人员利用了多个不同的数据集并取得了较好的实验结果。此外,该种方法不仅可以捕捉表情,还可以捕捉与身份相关的形状和反照率等参数,从而获得更具个性化的面部表情。接下来,研究的方向可能涉及身体纹理部分,以获得彩色的人体跟踪或人体表面的变形。
更多干货
欢迎加入【3D视觉工坊】交流群,方向涉及3D视觉、计算机视觉、深度学习、vSLAM、激光SLAM、立体视觉、自动驾驶、点云处理、三维重建、多视图几何、结构光、多传感器融合、VR/AR、学术交流、求职交流等。工坊致力于干货输出,为3D领域贡献自己的力量!欢迎大家一起交流成长~
添加小助手微信:CV_LAB,备注学校/公司+姓名+研究方向即可加入工坊一起学习进步。