DeepCap: Monocular Human Performance Capture Using Weak Supervision
人体动作捕捉一直以来都是一个重要的研究热点,在诸如电影制作、虚拟试衣、混合现实等众多领域都有着重要的应用,本文提出了一种基于单目RGB视频的人体捕捉方案,文章已被CVPR 2020接收。
文章作者来自德国马普所、德国萨尔大学和美国斯坦福大学,作者提出了一个基于弱监督神经网络的单目人体动作捕捉方法。整个网络架构分为两个网络,分别进行人体姿态估计和非刚性表面变形,训练基于多视角图像以弱监督的方式进行。
项目主页:
DeepCap: Monocular Human Performance Capture Using Weak Supervisionpeople.mpi-inf.mpg.de下面展示了文章的视频
Method
给定一个穿着普通衣服的运动中的人体的RGB视频,目标是捕获整个人体的稠密变形表面。作者训练了一个神经网络来达到这个目的,整个网络由两个部分组成:
- PoseNet:从单目图像估计人体骨架的姿态 (基于关节点角度表达)
- DefNet:即变形网络 (Deformation Network),回归人体表面的非刚性形变 (基于嵌入变形图 (Embedded Deformation Graph) 表达)
为了避免3D标注数据的使用,整个网络以弱监督的方向训练,为此作者提出了一个可微 (differentiable) 的人体变形和渲染模型,使得可以渲染人体模型并将其与2D图像进行比较,以此来反向传播损失。作者在经过校准的带有绿幕的多相机工作室中捕捉视频序列作为训练数据,但在测试阶段,只需要单目RGB视频便可以进行人体动作捕捉。整个方法流程如下图所示:
Template and Data Acquisition
Character Model
文章方法依赖个体相关的3D模板网格,作者首先使用3D扫描仪扫描出目标人体的带纹理的网格,然后再自动绑定一个骨架,该骨架相关的参数包含关节点角度
Template Mesh
人体模板网格是通过商业软件 Agisoft Metashape 重建的,作者使用134个彩色相机同时采集了T-Pose下的静态人体图片,该软件从这134张彩色图片重建出带纹理的人体模型,然后作者对重建后的网格进行了简化和重建网格化,以得到质量更好地三角网格。
Embedded Deformation Graph
为了得到人体的嵌入变形图,作者对人体模板网格进行了简化,得到了大约含有500个顶点的简化网格,通过简化后的网格的拓扑关系计算每个节点的相邻节点集合
Skeleton
作者通过拟合 SMPL 人体模型到模板网格来将其骨架嵌入到人体中,对于与皮肤比较近的模板网格顶点如裤子短袖等,直接将 SMPL 的蒙皮权重迁移到模板网格顶点上,对于离得比较远的顶点如裙子等,通过 Blender 软件自动计算蒙皮权重。人体骨架一共有23个关节点包含27个角度参数,并含有21个关键点 (17个人体和4个人脸关键点)。
Training Data
作者使用带有绿幕的标定好的多相机系统来采集表演者各种动作的多视角视频,并使用 OpenPose 检测图片中的2D人体关键点并进行时序滤波。然后计算前景人体Mask并计算对应的距离变换图 (distance transform image)
Pose Network
PoseNet 使用在 ImageNet 上预训练的 ResNet50 作为骨干网,最后一个全连接层改为输出关节点角度
Kinematics Layer
作者介绍了一种人体动力学网络层 (Kinematics Layer),将角度
其中
Global Alignment Layer
作者在 Kinematics Layer 之后加入一个全局对齐网络层 (Global Alignment Layer) 计算整体平移
其中
这里
该目标函数可以直接计算一个闭式解:
其中
这里
Sparse Keypoint Loss
PoseNet 使用的2D关键点损失函数是
其保证每个关键点能够投影到各个相机视角下对应的检测到的2D关键点
Pose Prior Loss
为了避免出现不自然的姿态,作者针对关节点的角度施加了一个姿态先验损失:
以使得每个关节点角度
Deformation Network
只有 PoseNet 预测的骨架姿态并不能表达皮肤、衣服的非刚性形变,因此作者将骨架运动和非刚性变形解耦,通过 DefNet 从输入图片
Deformation Layer
变形层使用 DefNet 输出的
这里
这里
Non-rigid Silhouette Loss
轮廓损失促使非刚性形变的网格与所有相机视角下的人体轮廓相匹配,其通过距离变换表示来计算
这里
Sparse Keypoint Graph Loss
仅仅使用轮廓损失可能会导致错误的网格到图像的对齐,特别是对于姿态复杂的运动情况。因此作者提出了一个与 PoseNet 中类似的稀疏关键点损失来约束网格变形:
与 PoseNet 中不同,这里的关键点
As-rigid-as-possible Loss
为了增强变形后网格表面的局部光滑性,作者进一步施加了尽可能刚性 (As-rigid-as-possible, ARAP)损失:
其中
下图展示了 DefNet 的改进效果,其能够使得网格更加贴合图像中的人体轮廓。
In-the-wild Domain Adaptation
由于文章的训练集都是在绿幕场景下采集的,而测试阶段使用的都是自然场景下的视频,因此由于光照条件和相机的不同,两者之间存在明显的差异。为了提高在自然图片下的表现,作者使用2D关键点和轮廓损失在单目测试图片上进行少量迭代以对网络微调,这样可以大大提高测试时的性能。
Results
文章所有实验都是在带有 NVIDIA Tesla V100 GPU 的计算机上进行,整个方法前向推理一次需要 50ms,其中 PoseNet 和 DefNet 分别消耗 25ms。在测试阶段使用现有的视频分割方法来去除输入图像中的背景。作者最后还对得到的网格顶点进行了高斯核为 5 帧的时序光滑。
下图展示了文章方法的一些图片结果。
作者还将文章方法与之前方法包括 HMR [CVPR 2018]、LiveCap [SIGGRAPH 2019]、PIFu [ICCV 2019] 和 DeepHuman [ICCV 2019] 进行了定性和定量的比较,下面展示了定性比较的结果,本文的结果更加准确,在追踪阶段更加稳定鲁棒。
下面的两个表格展示了文章方法在骨架姿态准确性和重建网格准确性方面与其他方法的比较,文章方法都取得了更好地结果。
参考
- DeepCap: Monocular Human Performance Capture Using Weak Supervision. Marc Habermann, Weipeng Xu, Michael Zollhoefer, Gerard Pons-Moll, Christian Theobalt. CVPR 2020 (Oral).
- LiveCap: Real-time Human Performance Capture from Monocular Video. Marc Habermann, Weipeng Xu, Michael Zollhoefer, Gerard Pons-Moll, Christian Theobalt. SIGGRAPH 2019.
欢迎关注公众号“人脸人体重建”,和您分享值得关注的人脸人体相关技术最新文章。