简介:本文将从图形学角度介绍数字人建模与动画关键技术的相关研究工作,如人脸建模、头发编辑、虚拟服装等,主要包括以下几个主要部分:人脸肖像剪辑和服装设计。睫毛消光的数据集和基线方法。基于深度学习的宽松衣服实时动画。一、人脸编辑与服装设计1、数字人脸视频人像的胖瘦调整在ACMMultimedia2021上发表了一篇关于视频人像胖瘦调整的口头报告论文,主要是对视频中的人脸胖瘦进行调整,实现视觉上没有明显的自然修整效果。2.DoubleChinRemovalDoubleChinRemoval是一篇发表在Siggraph2021上的论文,在人脸编辑中去除双下巴是比较难的,涉及纹理和几何两个方面。如图,第一行是原图,通过调整参数可以让双下巴逐渐消失(第二行)。3.人像脱毛人像脱毛是将给定照片中人物的头发去除。可以对头发进行编辑,比如给角色换一套头发,如果保留原来的头发,会干扰合成的结果。在数字人的3D重建中,如果保留原来的毛发,会干扰纹理。我们的方法可以获得不受头发纹理干扰的3D重建结果。4.虚拟服装这是元宇宙中的一种新时尚。提供一张照片合成人身上的虚拟衣服,新衣服随心所欲穿。说到可持续发展,时尚行业存在很多问题。虚拟服装提供了一个很好的解决方案。比如左边是真实的衣服,右边是虚拟的衣服。可以看出,虚拟衣服与真实衣服非常相似。2022百度世界大会数字人比嘉的衣服模型和动画由我们提供。二、睫毛消光的数据集和基线方法1、研究背景上图是电影中的数字人,虚拟整形手术的作品。我们要研究的是如何建立一个高精度的3D人脸重建方法。一类方法是收集用户照片,用MVS重建3D模型,但这种方法对睫毛的效果较差。因为睫毛里面有几何信息,会干扰重建,眼部区域不准确。2.相关工作:与高精度人脸重建相关的研究工作很多,如人脸几何形状和头发重建、眼睑眼球重建等,但目前还没有一种可行的方法来精确地编辑睫毛。3.图像抠图算法和抠图数据集①基于三方图的抠图方法编辑睫毛,可以使用抠图将睫毛提取出来,抠图实际上是求解一个病态方程,如下图,这是一个例子基于三方图的自然抠图,可以获得很好的效果。但是这种方法有个缺点,就是需要输入一个三分图,三分图的构造难度很大。②Cutoutdatasets近年来在cutoutdatasets上有很多工作,比如下图中CVPR2009的一个数据集。③BlueScreenCutout蓝屏抠图广泛应用于电影特效中,通常是绿屏或蓝屏,然后通过某种三角剖分的方法计算出前景蒙版的值。4.睫毛抠图的数据集和基线方法①数据集基线方法介绍我们要解决的是睫毛的抠图。左边的输入是一张包含睫毛的照片,mask的值是通过抠图网络EyelashNet计算出来的。②研究动机的睫毛区域有几何纹理。3D重建参数化的时候,会对结果产生很大的干扰,效果很差。如果由美工来修复,会非常费时费力,所以需要一种自动拔出睫毛的方法。③主要挑战如果人工去除睫毛,费时费力。使用Gabor滤波方法,效果还是不好。也可以使用图像抠图的方法,但是数据集的构建难度很大。如果使用蓝屏抠图,睫毛会长在眼皮上,导致眼皮、眼皮等背景图无法分离更换。此外,人会眨眼,这使得收集睫毛时难以保持静止。然后你想收集多个严格比对。而且不同颜色的睫毛很难上色。④睫毛数据采集我们在睫毛上涂上荧光剂,打开UVA闪光灯看荧光效果,然后得到睫毛的分割结果。但这还不够,还需要进一步的工作。⑤睫毛遮罩计算我们使用上一步得到的数据集作为输入,使用抠图网络预测真实的抠图结果。但是如果只用原始数据集,效果不是很好,我们没有groundtruth。我们设计了虚拟合成方法RenderEyelashNet进行预热,然后使用实验结果预测一个估计结果。结合人工,筛选掉那些不好的结果,最终得到一个带有初始mask的数据集。之后就可以用这个数据集进行训练得到一个细化的结果,将细化后的结果放入数据集中,然后进行训练,最终通过迭代得到一个更好的数据集。5.睫毛数据采集系统①采集设备我们搭建了一套采集系统,包括16个摄像头、365nm紫外闪光灯、补光系统等,具体参数见截图。②睫毛着色和眼睛定位我们请来了很多浙江大学的学生,将荧光剂涂抹在睫毛着色图上。人们应该保持静止,然后用激光定位眼睛。开启和关闭UV闪光灯的结果对比:③两幅输入对比图在校正对准理想的情况下没有偏移,但人的眼皮容易移动,会出现偏差。我们使用FlowNet2来获得光流场。利用光流场结果校正荧光睫毛的偏移,得到严格对齐的图片,从而得到分割结果。6.推理阶段①在GCA网络推理阶段,我们主要使用AAAI2020年发布的GCA网络。GCA网络的输入是RGB图像和三分图??,输出是睫毛遮罩。我们之前的分割结果可以作为初始的三分图结果,从而解决了人工构建睫毛三分图的问题。②Maskinferencenetwork这里将三部分图像替换为睫毛遮罩图像和原始RGB图像作为输入。通过渐进式训练,结合RenderEyelashNet训练预热网络,得到一个mask结果,然后将这个结果加入到输入中作为训练集,通过人工筛选得到视觉正确的睫毛抠图数据集,从而既有虚拟数据,也有真实数据。使用这个数据集进行训练和推理,最终得到睫毛面具的预测版本。然后放入训练集再次迭代,通常两次就能达到预期的结果。③无论硬件和软件设备多么先进,人工挑选也无法保证睫毛采集的准确性。我们通过人工选择去除一些不好的结果,以保证训练数据的准确性。④基线网络基线网络训练好后,输入一张图片进行测试,得到较好的结果。对于未知图像,我们不知道它的三方图像是什么样子的。如果我们直接输入一张灰度图,也可以得到不错的睫毛预测结果。7.数据集①训练数据集我们从12个眼睛表情和15个视图中捕获睫毛数据。②测试数据集为了验证我们的方法,我们在测试过程中不仅使用了自己收集的数据,还使用了网上的一些图片数据。我们增量迭代了两次之后,得到的结果已经很好了,比较接近真实值。③方法比较我们与目前最好的方法进行了比较,我们的方法在视觉上和定量上都明显优于以前的方法。④消融实验我们还进行了消融实验来验证我们的方法的每个部分都是不可或缺的。⑤结果表明我们使用了网上的一些照片进行验证,这些照片并没有GroundTruth。但是对于这些照片,我们的方法还是可以计算出比较好的睫毛抠图效果的。⑥应用我们与腾讯NEXT工作室合作,将该方法应用于高精度3D人脸重建,睫毛区域已经高度逼真。另一个应用是睫毛的美化编辑器。接上睫毛后,您可以改变它们的颜色或加长它们。但是,如果将此方法应用于戴眼镜且光线强度明显的地方,结果就会有偏差。8.结论我们提出了EyelashNet,这是第一个高质量的睫毛抠图数据集,它包含5400个高质量捕获的睫毛抠图数据和5272个虚拟睫毛抠图数据。我们提出了一种专门设计的荧光标记系统来捕捉高质量的睫毛图像和面具。我们的方法在睫毛消光方面实现了当前最先进的性能。3.基于深度学习的宽松衣服实时动画这项工作是模拟宽松的衣服。我们与马里兰大学和腾讯NEXTStudio合作,相关论文发表在Siggraph2022上。这项工作提出了一种基于深度学习的宽松服装实时预测方法,可以很好地处理大动作并支持可变模拟参数。1.虚拟骨架本作品的一个核心技术是虚拟骨架,它是一组模拟骨架,采用刚体变换和线性混合模拟的方法来控制服装变形。使用虚拟骨骼,我们可以高效地模拟宽松服装的复杂变形,这些骨骼可以作为输入来指导服装细节的生成。2、工作背景一般来说,让衣服动起来的方法有两种,一种是物理方法,计算量大;另一种是数据驱动的,它从真实数据中学习和驱动。这种方法速度比较快,性能也不错。近年来,机器学习和深度学习的方法越来越多,但这些方法要么预测服装在静态情况下的变形,要么预测紧身服装的动态变形。但实际上,很多像裙子这样的衣服都是宽松的。有些方法虽然可以预测宽松衣服的变形,但不擅长预测大动作的变形。而且目前的方法都不支持可变参数。3.研究贡献我们的研究有两个主要贡献。第一个是使用深度学习方法来预测宽松衣服的复杂变形。我们将服装变形分解为两部分——低频部分和高频部分。使用虚拟骨架来表示低频部分的变形,并用它来推断高频部分;第二个贡献是使用身体的运动结合物理模拟参数作为输入,并使用这种方法处理两个输入的异质性。4.概要描述①虚拟骨骼生成方法首先采用仿真的方法得到一个groundtruth训练集,并对这些训练集进行拉普拉斯平滑处理得到低频Mesh,然后进行SkinDecomposition处理得到虚拟骨骼和权重。价值。②运动网络通过身体的运动序列得到虚拟骨架的运动序列,通过运动网络预测低频变形信息,利用低频信息预测高频信息,最终得到仿真结果(最右图)。③模拟参数变量我们要评估不同的参数变量,通过RBF网络对我们没有看到的模拟参数的结果进行预测,这样即使参数不同我们也可以用一组网络进行预测。5.方法①数据准备首先需要生成真实值数据。我们使用HoudiniVellumSolver求解器模拟了大约40,000帧动画。我们没有使用真人的动作捕捉结果,而是使用网络上的视频动作。这是因为我们要模拟大动作,而真人的动作比较小。②SkinDecomposition低频变形序列我们使用皮肤分解得到虚拟骨骼,得到的结果是一个线性混合皮肤模型,其中包括一个RestPose和每个骨骼对应的皮肤权重。还获取虚拟骨骼每一帧的平移和旋转。虚拟骨骼没有层级关系,没有父骨骼和子骨骼的关系,每块骨骼都有自己的旋转和平移。另外,虚拟骨骼并没有真正的实际意义,虚拟骨骼是在每个具体的动画中得到的。我们使用MotionNetwork来处理身体的输入。每个网络对应不同的人体模拟参数。输入只是关节的旋转和平移,输出是相应物理参数的Mesh推断结果。③动作网络动作网络依次推断低频和高频部分。低频模块的低频部分使用循环神经网络GRU将输入的身体运动转换为虚拟骨架的旋转和平移。使用循环神经网络的好处是可以获得前一帧的信息,可以更好的捕捉动态效果。低频变形可以使用虚拟Skeletallinearblendskinning来得到。高频模块动作网络可以用来预测高频部分,一个是GRU获取高频特征,一个是GNN获取低频部分特征,这两部分特征都是通过MLP得到的获取高频信息。将高频和低频结果相加得到最终结果。RBF神经网络为了处理物理模拟参数的输入,我们训练了很多不同动作的MotionNetworks。相同动作的输出对应参数模拟结果。我们使用RBF神经网络将这些结果相加。权重系数取决于模拟参数和相应的网络模拟参数的距离,并使用多层感知器将参数投影到空间中,然后计算距离。6.结果在实时仿真过程中,不改变仿真参数就可以很好地仿真宽松的衣服。结果表明,左边的仿真结果非常接近groundTruth,右边是经过可变参数处理的。另一个问题是如何选择虚拟骨骼的数量。我们的实验发现,对于低频部分,数字太少不好,太多也无济于事,80是更好的结果。但是对于高频部分,虚拟骨骼的数量越多越好,这样可以更好的表现细节。增加了虚拟骨骼的数量。宽松部分是指衣服与人体之间的距离。红色部分表示较远的部分,蓝色部分表示较紧的部分。可以看出我们的结果(最右边)比较好。这是低频和高频情况与真实值之间的比较。我们的方法更接近真实情况。定性比较结果从不同方法的视觉比较来看,虽然我们的效果和groundtruth有点不同,但是相对来说要好一些,无论是高频还是低频部分,都比较接近。定量比较结果也进行定量分析,如RMSE、STED等指标。结果表明,它明显优于以前的方法,即使对于紧身衣服和传统方法也是如此。RBF消融实验我们用RBF网络进行了消融实验来验证我们的方法。7.未来展望和结论在动作非常大的情况下,模拟结果中的腿可能会穿过衣服。这是因为通过能量网络添加了碰撞避免,以后可以使用其他蒙皮方法获得更好的效果。高精度的人脸重建和动画在很多应用中都非常重要,比如游戏、虚拟人、虚拟世界,这些都需要实时处理,这也是一个很大的挑战。此外,服装覆盖了人体80%以上的面积,也是数字人的重要组成部分。在图形应用中,近距离我们可能更关注面部,但稍远一点,我们更关注服装。我认为未来的发展方向是用低成本的方法构建高度逼真、实时的数字人应用。4.问答环节Q1:如何保证虚拟骨骼的泛化?A1:计算虚拟骨骼。换一套衣服,需要重新生成新的骨骼,数量和变形都不一样。它是在推理过程中实时计算的。Q2:制作3D服装方便吗?A2:很方便。以前没有学过的人经过培训后很快就能学会。即使你从头设计一套衣服,你也可以在一两个小时内设计出一件非常复杂的衣服。
