美文网首页
基于NeRF的人脸编辑相关算法综述

基于NeRF的人脸编辑相关算法综述

作者: 小黄不头秃 | 来源:发表于2024-02-17 18:28 被阅读0次

人脸编辑存在的问题:

  • 人脸可以被编码为低维数据,然后从低维数据进行修改然后恢复为三维数据,这样会存在多视角下渲染的3D模型不一致的问题
  • 有一些研究者提出了将GAN和NeRF结合的方法进行了优化,但是在高分辨率和一致性的问题上仍有问题。
  • 现有的基于NeRF的头像动画方法要么建立在人脸模板上,要么使用模板的表情系数作为驱动信号。尽管取得了可喜的进展,但它们的性能在很大程度上受限于模板的表达能力和跟踪精度。
  • 人脸图像生成方法大致分为两类:2D GANs和3D - aware GANs。2D GANs可以生成高保真的画像,但视图一致性较低。3D感知的GAN方法可以保持视图一致性,但生成的图像不具有局部可编辑性。

1、基于NeRF的人脸编辑 (https://github.com/CrisHY1995/headnerf)

(1)Headnerf:一种基于Nerf的实时参数化头部模型



文章的贡献如下:

提出了第一个基于NeRF的参数化人头模型,它可以直接有效地控制渲染姿势、身份、表情和外观。
提出了一种有效的训练策略,从一般的2D图像数据集训练模型,并且训练后的模型可以生成高保真的渲染图像。
设计并实现了几个基于HeadNeRF的新颖应用,结果验证了其有效性。我们相信,我们的HeadNeRF可以探索更多有趣的应用。

R代表的是一个类似NeRF的神经网络,其中P是用于渲染的相机参数,包括外部矩阵和内部矩阵。z *表示四个独立因子的隐码:身份zid、表情zexp、人脸的反照率zalb和场景的光照zill。

经过左边的全连接神经网络后,输出的并不是RGB图像而是中间特征图I,然后特征图经过如果经过toRGB这个模块的话会生成一个三通道的图像,这个图像会进一步的经过三次上采样进行超分辨率的头像。最终就构成了这样一个由四个特征变量和相机位姿控制的隐式3D模型了。

(2)Latentavatar:学习表达性神经头像的潜在表达代码(https://liuyebin.com/latentavatar/

这篇文章的作者与高斯高清头像是同一个人。这篇文章其实更像是基于GAN的人脸编辑的文章,但其中也运用了一些体渲染的方法进行渲染。
文章的目的是想要做到将A的表情,转移到B上。

文章的主要贡献如下:

  • 提出了LatentAvatar,一种由潜在表达编码驱动的表达型神经头替身。这样的表达代码是在没有模板的情况下以端到端和自监督的方式学习的,使得我们的方法能够摆脱表达和跟踪问题。
  • 利用一个潜在头部NeRF从单目人像视频中学习个人特异性潜在表情编码。学习隐表达式编码来驱动头部NeRF,使其在3D感知的同时忠实地捕获高频细节表情。
  • 利用一个Y型网络来学习不同受试者的共享潜在表达代码,以实现跨身份重演。通过桥接共享和个人特异性设置中学习到的潜在表达代码,LatentAvatar能够在不同主体之间进行表达性重演,并且超越了先前的2D和3D解决方案的性能。

表达式如下:

在上述式子中,E是一个编码器,用于给人脸进行特征编码。其中x和d是体绘制中使用的查询点和视图方向。

这是该研究的架构图,给定一个人像视频,我们首先将人脸图像编码为潜在表情码θ,并将其作为生成三平面特征的条件。给定3D位置,从三平面特征中提取特征向量H,用于低分辨率图像和特征图的体绘制,最后使用超分辨率网络生成相应的高分辨率图像。

解码器是一个基于StyleGAN的2D卷积网络中,生成三平面特征(Tri-planes)。然后,给定一个3D位置x,通过将其投影到三个特征平面上来查询三个特征向量( Hxy、Hyz、Hxz)。然后,将三个向量求和得到一个聚合特征向量H。特征向量H进一步被轻量级MLP处理,用于生成颜色c、密度σ和高维颜色特征F。给定一个相机姿态,我们首先通过基于颜色c和特征F的体绘制分别绘制低分辨率人脸图像Ilr,特征图IF。同时,在渲染过程中还生成了具有相同分辨率的掩膜图M。然后,先将低分辨率人脸图像Ilr与特征图IF拼接,送入超分辨率模块,生成高分辨率RGB人像图像Ihr。与EG3D中纯粹的生成性任务不同,我们的头像化身更关注特定人丰富的表情增强。因此,三平面发生器的模型尺寸可以大大减小。在我们的解决方案中,超分辨率模块使用了具有下采样层的U - net结构。

由于每个人的特征变量是分开训练的,所以无法很好的完成两个人之间身份互换人脸重塑。于是作者就设计了一个Y型网络结构。两个人脸学习一个共享的潜在表达代码,然后将其映射到个人特异性作为驱动信号。这样两个人就可以互换身份了。图中有很多的编码器和解码器,需要分别清楚。并且为了使得编码器更有指向性,作者参考了CycleGAN的做法。

我们用小胖和小瘦分别代表两个人,现在有一对图像,小胖和小瘦有同样的表情。小胖的图像首先经过了共享编码器(Shared Encoder)将其编码成yact。然后分别经过小胖解码器和小瘦解码器分别生成原图。这里设置了一个新小胖和原小胖的损失,保证了该共享编码特征能够表示小胖。另一边,将小瘦重新用共享编码器进行编码,生成新的编码特征yava,这里设置了yact和yava之间的损失,这里保证了共享的编码中同时包含了小瘦和小胖的特征。最后将新的特征编码y*ava经过小胖解码器能够变回小胖。

最后我们只想要得到这个共享编码器,能够生成小胖和小瘦的共享变量。右边是为什么呢?右边的Mapping MLP是为了告诉神经网络将小胖转换成小瘦还是将小瘦转换成小胖。

右边的网络中的编码器是上上图的编码器,共享编码器是左边中的编码器,两个编码器是锁住的,所以在反向传播中不参与梯度更新。这里只需要训练Mapping MLP。例如右图中的输入是小瘦,那么就是要告诉神经网络,共享编码器最终要生成的人是小瘦。这里有一点类似于知识蒸馏,如果不知道的话可以不用管。

最后将Mapping MLP也训练好了,两个人的转换也就能做到了,如下图所示:

(3)FENeRF:神经辐射场中的人脸编辑(https://mrtornado24.github.io/FENeRF/

这个研究想要解决的就是视图一致性与局部可编辑的问题。

文章的贡献如下:

  • 提出了第一个局部可编辑和严格视图一致的肖像图像生成器,受益于语义、几何和纹理空间对齐的3D表示。
  • 使用配对的单目图像和语义地图来训练生成器,而不需要多视图或三维数据。这样既保证了数据的多样性,又增强了生成器的表示能力。
  • 在实验中,发现联合学习语义和纹理体有助于生成更精细的三维几何。

文章使用的生成器产生了空间对齐的密度场,语义场和纹理场,这些场的条件是解耦的潜码Zs和Zt。位置特征嵌入ecorrd也与视图方向一起被注入到网络中进行颜色预测,以保留生成图像中的高频细节。通过共享相同的密度,渲染对齐的rgb图像和语义地图。最后,两个判别器Ds和Dc分别使用语义图/图像对和真/假图像对作为输入,并分别使用对抗目标LDs和LDc进行训练。

此方法生成的头像不够高清。

相关文章

网友评论

      本文标题:基于NeRF的人脸编辑相关算法综述

      本文链接:https://www.haomeiwen.com/subject/lhhpadtx.html