当前位置: 首页 > 科技观察

DeepFake换头技术升级:浙大新模型,GAN拥有美丽的头发

时间:2023-03-20 23:14:45 科技观察

DeepFake虽然可以令人信服地换脸,但换头发就不行了。现在浙江大学和瑞典的研究人员正在拓宽思路,利用GAN或CNN来生成逼真的虚拟头发。2010年底,DeepFake技术问世,正好赶上时代。无数人摩拳擦掌打算用DeepFake恶搞总统,但在实际操作中却遇到了一个小障碍:各种DeepFake软件可以将图像替换成金毛王的橙色脸,但那头不羁的金发让其无法实现一个人工智能来产生一个令人信服的替代品。你看,是不是就是那个毛让DeepFake产品暴露了。DeepFake可以改变脸,但不能改变头发。其实,这是一个老问题,也是一个新挑战。如何逼真地再现肖像模特的头发,一直是希腊罗马雕像制作师开始时的难题。人的头部平均约有10万根发丝,由于颜色和折射率的不同,长到一定长度后,即使在计算机时代,也只能用复杂的物理模型模拟,移动重组图像。目前,只有20世纪后期的传统CGI技术才能做到这一点。目前的DeepFake技术还不能解决这个问题。几年来,DeepFaceLab只发布了一个只能捕捉短发的“全头毛”模型,而且毛发依然僵硬。它也是行业领先的软件包。最近,DFL的合作伙伴FaceSwap做了一个BiseNet语义分割模型,可以让用户在deepfake输出图像中包含耳朵和头发的图形细节。两组软件包均来自2017年Deepfakes的源代码,这在当时颇具争议。即使DeepFake模型要呈现的头发图像很短,输出结果的质量也往往很差。头像似乎是叠加的,不像是整合图像的一部分。使用GAN生成头发目前业界使用两种方法来模拟人像。一个是神经辐射场。NeRF可以捕捉多个视角的图像,然后将这些视角的3D成像封装在一个可探索的神经网络AI中。另一种方法是生成对抗网络(GAN),它在人类图像合成方面比NeRF更先进,尽管NeRF是在2020年才出现的。NeRF对3D几何的推测性理解将使其能够以高保真度和一致性复制图案化场景。即使目前没有物理模型应用到空间,或者准确的说是与相机视角无关的变化,采集到的数据造成的变形也是一样的。但就目前而言,NeRF模拟人类毛发运动模拟的能力并不好。与NeRF不同,GAN自然有一个几乎致命的劣势。GAN的潜在空间自然不包括对3D信息的理解。因此,利用3D可感知GAN生成的合成人脸图像成为近年来图像生成研究的热点问题。而2019年的InterFaceGAN是最重要的突破之一。然而,即使是InterFaceGAN上精心挑选的图像结果表明,神经网络AI生成的头发图像在时间一致性方面仍然是一个艰巨的挑战。应用程序在VFX图像工作流中的表现仍然不可靠。越来越明显的是,通过操纵神经网络AI的潜在空间来生成连贯视图可以是一种类似炼金术的技术。越来越多的论文不得不寻找另一种方法,将基于CGI的3D信息作为稳定和规范化的约束纳入GAN工作流程。CGI元素可以用3D形式的中间图形元素来表示,例如“蒙皮多人线性模型”(SMPL,SkinnedMulti-PersonLinearModel)。或者它可以通过应用类似于NeRF模型的3D推理技术来导出,其中图像的几何元素是根据源图像和源视频估计的。就在本周,来自悉尼科技大学ReLER实验室、AAII研究院、阿里巴巴达摩院和浙江大学的研究人员联合发表了一篇论文,描述了用于3D可感知图像合成的“多视图相干生成”。性对抗网络”(MVCGAN)。MVCGAN生成的头像MVCGAN包括一个“生成的辐射场网络”(GRAF)AI,它可以在GAN中提供几何约束。从理论上讲,这种组合可以说是实现了任何基于GAN的方法中最逼真的虚拟头发输出。MVCGAN生成的带头发的头像与其他模型生成的头像对比从上图可以看出,在极端的头发参数下,除了MVCGAN之外,其他模型的图像结果都出现了令人难以置信的失真。然而,在CGI工作流程中,基于时间的虚拟头发重建仍然是一个挑战。因此,业界没有理由相信传统的、基于几何的方法能够在可预见的未来将时间一致的发丝图形合成带入人工智能的潜在空间。利用CNN生成稳定的虚拟头发数据不过,瑞典查尔姆斯理工学院三位研究人员即将发表的论文也可能为“用神经网络生成人类头发图像”的研究提供新的进展。这篇题为《用卷积神经网络实时进行毛发滤镜》的论文将在2022年5月的重要学术会议“Interactive3DGraphicsandGamesEvent”上发表。该系统基于基于自动编码器的神经网络AI,能够评估生成的虚拟头发图案的分辨率实时,包括在虚拟空间中自动生成的头发的阴影和头发粗细渲染。此自动编码器的随机数种子来自OpenGL几何生成的随机数的有限样本。使用这种方法,可以只渲染有限数量的具有随机透明度的样本,然后训练U-net重建原始图像。神经网络在PyTorch上训练,可以训练在6-12小时内收敛,具体取决于神经网络的大小和输入特征值的数量。然后将经过训练的参数(权重)用于图像系统的实时实现。训练数据集是通过在随机距离、姿势和不同光照条件下渲染数百个直发和波浪形头发的实际图像生成的。样本中的头发半透明度值是在超采样分辨率下以随机透明度渲染的图像的平均值。原始高分辨率数据,首先进行下采样以适应网络和硬件限制;然后进行上采样以提高典型自动编码器工作流程中的清晰度。“实时”软件利用源自训练模型的算法,作为此AI模型的实时推理应用程序,混合使用了NVIDIACUDA、cuDNN和OpenGL。初始输入特征值被转储到OpenGL的多重采样颜色缓冲区中,处理后的结果在继续进入CNN之前被卸载到cuDNN张量中。然后将这些张量复制回“实时”OpenGL纹理以应用于最终图像。该AI的实时运行硬件是NVIDIARTX2080显卡,可生成1024x1024像素的图像分辨率。改变头发颜色是一件容易的事,因为头发颜色的数据值与神经网络AI处理的最终值完全分离,尽管虚拟发丝的渐变和条纹等效果在未来仍将构成挑战。结论探索自动编码器或GAN的潜在空间仍然更类似于直觉航行,而不是精确转向。直到最近,业界才开始看到在NeRF、GAN和非深度伪造(2017)自动编码器框架等方法中生成“更简单”几何形状(例如人脸)的可靠结果。人类头发显着的结构复杂性,加上需要结合当前物理模型和图像合成方法未提供的其他特征,表明头发合成不太可能仅作为一般面部合成模型的一个集成组件。这项任务需要复杂、专门和独立的神经网络AI来完成,即使这些神经网络最终可能会被纳入更广泛和更复杂的面部合成框架。