Fork me on GitHub

在高保真孪生数字人技术中的自动化流程探索

以下文章来源于 https://zhuanlan.zhihu.com/p/610509170

导读: 本文将分享影眸科技在高保真孪生数字人技术中关于自动化流程的探索。

文章目录:

  1. 背景介绍

  2. 扫描

  3. 驱动

  4. 待解决问题


分享嘉宾|张启煊 影眸 CTO

编辑整理|谢晓枫 伊利诺伊理工大学

出品社区|DataFun


01/背景介绍


目前整个行业数字人制作周期还是非常长的,并且强烈依赖于人工。影眸在自动化方面做了很多的研究。目前我们制作一个可以驱动的,有面部完整 PBR 材质的数字人只需要 3-5 天的时间。



影眸作为一个超写实数字人公司,有过数次出圈,第一次吸引大家关注的是一款名为"老婆"生成器的二次元画板,第二次是为上海科技大学做的元宇宙毕业典礼,用单张照片为同学生成卡通形象。



每个卡通形象都是用单张照片,先映射到一个超写实的数字资产空间中,再通过小样本风格化的方法去变成卡通形象。超写实资产在这一工作中起到了至关重要的作用。

这两项工作都是依赖于我们打造的首个产品级人脸资产数据库(PFA)。这里面有数百资产,每个资产都有个性化肌肉、毛孔级细节、完备的 PBR 材质、动图贴图,并且不依赖于第三方资产生成器,是完全独立的资产。



(1)个性化肌肉:根据本人表情拆分的 blendshape,而不是通用的 blendshape;

(2)毛孔级细节与 PBR 材质:用光场原生扫描的方式去给每一个角色都完备地采集它的 PBR 材质,主要靠的是人面部在不同光线下的一个反射状况去解算出的这些材质信息;

(3)动态贴图:可以针对低模实现一些面部的像皱纹、血流等变化;

(4)独立资产:不受限于 MetaHuman、iClone CC 等数字人创作平台的拓扑、绑定,适用于 Unity/UE/Maya/Blender 等多平台。

目前,通过将 PFA 数据集与 Diffusion 技术相结合,影眸科技已经具备使用一句话生成/编辑数字人(包括拓扑一致几何与 PBR 材质)的能力。相关技术展示将在近期与各位见面。


--

02/扫描


最早的时候往往是用像倒模 的方式去给一个角色建立它完整的模型。后面有一些结构光的方法,包括一些线束的扫描,还有一些像 ToF 这类的传感器。再往后,随着像 capture reality 这类多视角重建的软件的成熟,国内也出现了众多用相机阵列去完成高精度面部重建的一些工作及技术服务。



2017 年,实验室搭建了第一套光场系统,进行体积视频的拍摄,通过若干的光源给环境提供一个固定的光线,然后再通过几百个多角度的相机去完成对一个动态 sequence 的记录。



2018 年,开始在这个系统中加入 photometric 的一些技术。当时通过一些偏振光,还通过 proxy 的模型去实现了用单个相机,在多角度的光线下去完成的一个高精度的面部重建,在当时已经非常精细,它能精细到皮肤的那些细节纹路,以及毛孔,甚至连眉毛的走向都是能够真实地记录下来。这项工作当时被 CVPR 2018 接收。



2019 年,在 2018 年的工作基础上,采集了几百个人的静态资产,在这些静态资产的基础上,能够用单张照片去生成扫描级别的资产。这项工作当时被 ICCV 2019 接收。当时我们就意识到,这样的资产是不能直接被使用在游戏或影视工业中的,因为其面部只有一张 color 贴图,无法被很好的重打光,无法做到皮肤表面的真实材质感。



2020 年,尝试了其他的重建方法,包括用彩色梯度光的方式去做面部的重建,来实现一些面部的动态的资产,还有一些高精度材质的重建。



2021 年,搭建了第一套穹顶光场,用于 2D 的重打光的应用。通过采集面部在不同角度光线下照射的时候所呈现出来的状态,能够把你合成到任意的新的环境光中。面部的光线就会随着环境的变化去产生各种各样变化,包括面部的高光阴影的变化。我们采用了 4000 帧的超高速相机,因此即使在动态的视频中,也能够在面部模拟出光线效果。同一段视频拍完后,可以放到各种光线中,也就是可以先拍摄再打光。

当时我们也想到一个问题,因为它是一套 2D 渲染的独立的管线,而游戏和影视制作过程中采用的大多是 3D 资产,因此无法与原有的渲染管线兼容。

我们需要的一套重建光场设备需要满足,能采集到毛孔精度的 3D 资产,能够有完备的 PBR 材质,在现有的大多数引擎中能够被直接使用,还需要有规整的拓扑,以及很强的编辑性。



基于以上需求我们搭建了 Plenoptic Stage 穹顶光场技术。它能够实现亚微米级的皮肤材质扫描,和超高精度的表情扫描。

在扫描每一个表情的时候,都记录了面部在不同光线下所展现出来的状态,相当于是在原有多相机阵列的信息维度上增加了一个光线的维度。通过这些信息,能够达到传统的基于多视角相机扫描没有办法到达精度。



这样做的代价是,这种高精度的模型会有数千万的三角面,吃性能难以渲染,不能直接被使用。为了处理这一问题,在扫描的基础上需要重拓扑。



想要建立 PFA 这样一个庞大的 3D 人脸资产可驱动数据库,很难让模型师对一个个模型完成手动的重拓扑,因此需要把重拓扑这个过程自动化。



我们想到的第一种方案是 Registration 方案。但也遇到了很多问题:

(1)仍然需要先完成高模重建

(2)会产生边角、UV 不规整

(3)表情不到位

(4)表情贴图抖动



取而代之的方案是用一些专业的三维软件,比如 WRAP4D。但仍然需要高模,另外大量新增了很多人工环节,比如需要人工去把这些点给点出来,人工去绘制一些轮廓线,这些都是相当消耗时间的。



我们也希望做一套能够自动化完成拓扑的方案。我们通过艺术家手动拓扑了近百人,每个人都采集了全套表情,制作成基础数据集。在这个基础上,通过多角度的相机,用 nerf 技术去在秒级内完成 3D volume 的重建,并且通过 volume 的 3D features 去做一个由低面拓扑到高面拓扑的自动重拓扑。



在这个低模的基础上,通过采集的光场的一些光线的信息去计算它的一些比较细节的材质,包括 color、subsurface、specular 还有 roughness,能够精细到毛孔级的 normal 贴图。



通过这样的 normal 贴图,可以在低模上也展现出令人震惊的一个细节量。

这样在不同光线下的皮肤质感才更加真实。



通过这样一套自动化材质、自动化拓扑技术,我们能够快速地去给一个模特采集完整的表情序列。扫描一个人只需要十五分钟,就能把他的每个表情扫描完成,输出每个表情拓扑一致的低面模型,并且输出每个表情完备的 PBR 材质。



皮肤是由小亮片构成的,远看可能没有小亮片的效果,光打过去就会散开,但我们想要的是光打过去不规则的高光质感,这就需要皮肤微结构技术。



我们用特制的穹顶光场,扫描了大量的皮肤微结构素材,通过神经网络可以在常规的穹顶光场扫描资产的精度下,自动地把它上采样到皮肤微结构素材库的那个级别的细节量。这项技术原来更多是用在离线引擎中,我们也将其做到了实时引擎中。

--

03/驱动


直观来讲,一个好的驱动最主要是对面部的捕捉,譬如用一些面部头盔来描述一个驱动的好坏。但其实好的驱动分为两部分:

Tracking:能够把表演者面部的动作很好地捕捉下来;

Retargetting:把捕捉下来的动作迁移到一个新的角色上。



目前常规的做绑定的方案其实如下几种:

(1)第一种是基于通用的骨骼蒙皮,还有 BlendShape 来绑定;

(2)第二种是参照扫描表情拆分 BlendShape 或骨骼蒙皮;

(3)第三种是基于肌肉模拟仿真完成面部驱动。



这三种方法都不能满足我们的要求。第一种方案不符合真人本人表情,因为输入仅是一个 neutral 表情,无法推断出这个人做表情时应该是什么样子。第二和第三个方案对艺术家水平要求太高了,并且工作量是极大的,难以实时解算。

针对以上问题,我们希望的解决方案是:

(1)自动化的,满足大规模地去生产这样数字人;

(2)必须符合真人本人的表情,不是一套通用的标准去迁移的;

(3)需要有一定的肌肉先验,符合肌肉动力学;

(4)能够在实时场景中使用。



基于扫描人物若干表情,通过一套机器学习的算法,能够把这些肌肉极限运动的组合去自动拆分到特定标准的 BlendShape(无约束)。不需要人工介入,对所有模型拆分的数值上的逻辑都是一样的,并且它拆分是有衡量标准的。最直接的衡量标准就是拿拆分的结果是否能线性地去重新组合到扫描到的全套表情。

虽然这套标准只有 56 个 BlendShape,但结合一般的驱动,也能够比较真实地还原出人的微小表情和肌肉运动,因为这里的每个 BlendShape 都是符合肌肉动力学的,都是由算法完成的拆分。



到目前为止,我们已经有了一套完整采集人面部若干表情若干贴图的方案。接下来是一些面部组件的添加,比如眼珠、睫毛和口腔等。我们也做了一套算法来完成面部组件的自动添加。还有一套算法根据头的形状来猜测身高、体型。

我们还有一些问题没有解决,比如人做表情时会有很复杂的皱纹和血流变化,目前为止的方案还不够满足真人本人表情的要求。这就引出了动态贴图技术



传统动态贴图是需要艺术家去手绘一些 mask,让每个 mask 的地方去展现一些特定皱纹,这些皱纹往往可能也是人手工去雕刻的。我们的动态贴图算法可以根据表情去实时动态地分析面部拉伸还有舒张的情况,从而模拟出复杂的皱纹效果。

在这样一套全自动流程的加持下,可以在三天时间内就完成一个带动态贴图,带皮肤微结构,带表情可以被驱动的一个完备的数字人的制作,并且整个流程是自动化的。



至此,我们已经完成了驱动的所有要求,我们研发了基于 ML Rigging 的肌肉拆分算法,自动的组件添加,以及动态贴图的生成算法。

在这些技术的加持下,我们完成了完整的产品级人脸资产数据库。目前为止,其一共有近五百人,我们也在不断拓展这个数据集。

--

04/待解决问题


目前还有两部分待解决的问题:毛发和布料



关于毛发,我们最早在 20 年就进行了一些 neural rendering 的重建。未来我们希望我们的穹顶光场也能实现对毛发引导线的重现和渲染。

另外一个我们在做的工作是将绑定和捕捉两个环节都一起用一个神经网络去完成。用一个神经网络去取代整个 BlendShape 拆分,直接用网络去输出点的一个相对位移,这个网络还包含了动态贴图,包括它的皱纹、血管都在这个网络中。这套方案结合了 4D Scan 和传统流程的优势,可以精准的表现微表情,无需人工 Key 帧,制作周期短,有完备的 PBR 材质,可编辑性强,并且能够表演新片段。这项工作已经被今年的 SIGGRAPH Asia 正式接收为 Technical Paper -- Journal Track。

Deemos影眸科技



元宇宙中的数字人,其实往两个方向在走,一个方向是超写实孪生,一个方向是风格化的形象。

我们的工作是在超写实孪生和风格化形象之间建立一个连接。先把照片去映射到超写实的形象上,再把超写实的形象去映射到特定风格上。这样就可能只需要少量的样本,就能够去快速地完成多种风格的单照片生成,还有捏脸系统的制作。



以上就是今天的分享,谢谢大家。


分享嘉宾



**


本文地址:https://www.6aiq.com/article/1677668400655
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出