Real-Time Radiance Fields for Single-Image Portrait View Synthesis 论文

选自SIGGRAPH 2023实时渲染领域论文。文章实现了最新的单图像实时合成三维视角的技术。

论文题目:Live 3D Portrait: Real-Time Radiance Fields for Single-Image Portrait View Synthesis
论文链接:https://research.nvidia.com/labs/nxp/lp3d/

Paper PDF

本文提出了从单张图像实时推理渲染照片级 3D 表示的单样本方法,该方法给定单张 RGB 输入图像后,编码器直接预测神经辐射场的规范化三平面表示,从而通过体渲染实现 3D 感知的新视图合成。该方法仅使用合成数据进行训练,通过结合基于 Transformer 的编码器和数据增强策略,可以处理现实世界中具有挑战性的输入图像,并且无需任何特殊处理即可逐帧应用于视频。

INTRODUCTION

随着NeRF的提出,三维视觉技术得到快速的发展。三维重建也是非常有意义的工作,其中,单张肖像实现实时三维视角的合成将推动AR、VR、3D远程会议的发展。

基于此,作者提出了该技术的最新方法,该技术的原文表述是infer and render a photorealistic 3D representation from a single unposed image (e.g., face portrait) in real-time.

先来看现有的方法,一般用NeRF+GANs实现3D感知图像生成。其中比较有名的一项技术是EG3D,EG3D的提出者也是本论文的共同作者之一,本文的工作是在EG3D的基础上展开的。

EG3D提出了一种高效的三平面3D表示(triplane 3D representation)(具体细节会在后续给出),并且能够达到与2D GANs相同的实时渲染质量。训练完成后,测试时微调(test-time fine tuning)完成单图像三维重建。但这种方法会有一些问题:

  • NeRF的训练通常需要优化目标(careful optimization objectives)和3D先验(additional 3D priors)
  • 测试时优化需要准确的相机姿态作为输入或优化相机姿态
  • 上述两点优化时耗时的,限制了实时应用

与以往重复使用预训练的generator不同,本篇论文训练了一个端到端的编码器(encoder end-to-end)用于直接从单个输入图像预测三平面3D特征。与以往依赖于多视图真实图像的采集相比,本文不需要获取真实图像,也不需要PBR(physically-based rendering)绘制那样耗时。相反,作者使用预训练的3D GAN生成的多视图一致的合成数据来监督三平面编码器,以便进行新视图合成,再结合数据增强策略和基于Transformer的编码器搭建好模型。在文章中作者展示了对人脸和猫脸三维重建的结果,但作者表示任何3D感知图像generator适用的类别,该模型同样适用。

概括下文章的工作贡献:

  1. 提出了一种前馈编码器模型,直接从输入图像推断三平面3D表示。不需要测试时优化。
  2. 提出了一种新的策略,仅使用从预训练的3D感知图像生成器生成的合成数据
  3. 结合基于Transformer的编码器和实时增强策略,该方法可以处理具有挑战性的输入图像。

2. RELATED WORK

2.1 Light Fields and Image-Based Rendering

传统的方法要么需要许多视图样本,要么需要光场相机作为训练数据。最近提出的NeRF结合3D隐式表示,运用体渲染的方式合成视图,但仍需要大量输入照片。

2.2 Few-shot novel view synthesis

最近一些扩展NeRF的工作用3D隐式表示完成了单图像合成,用到3D卷积、Transformers 等方法。但是这些方法都不是实时生成新视图的,并且都需要多视图图像来训练模型。而作者的方法只需要从预先训练的3D GAN生成的合成图像,这种3D GAN是由单视图图像的集合训练的。

2.3 Learning with synthetic data

当没有基准真实数据(ground truth data )时,合成数据为训练深度学习模型提供了有用的监督。这往往还需要额外的步骤来适应真实图像。

2.4 3D-aware portrait generation and manipulation

最近,3D感知图像生成方法开始解决从单视图2D图像集合中无条件生成逼真的3D表示的问题。结合神经体积渲染(neural volumetric rendering)和生成对抗网络(GANs),最新的3D GAN方法能够生成高分辨率多视图一致图像。作者采用EG3D 的三平面3D表示,实现单视图新视图合成。

2.5 3D GAN inversion

GAN inversion在2D领域取得很大进展,现有的3D GAN inversion方法将给定的图像投影到预训练的StyleGAN2 latent space上,并且在测试时需要摄像机姿态( approximate camera pose )和生成器权重微调( generator weight tuning),以重建域外输入图像。与同时期的工作不同,作者的前馈编码器将未定位的图像作为输入,并且不需要针对摄像机姿态的测试时优化。

2.6 Talking-head generators

给出单个目标肖像和驱动视频,这种Talking-head生成方法主要通过视频数据集训练,侧重于通过操纵2D肖像中的头像姿势和表情来生成talking-head视频。因此,这种方法不预测视点渲染的体积表示和三维几何信息。所以不予比较。

3. PRELIMINARIES: TRIPLANE-BASED 3D GAN

NeRF采用完全隐式的表示,使用神经网络来表示整个三维空间的辐射场,但计算往往需要花费大量时间。首先,对前沿的3D GAN方法EG3D进行概述。EG3D从单视图图像集合和相应的噪声相机姿势中学习3D感知图像生成,EG3D使用混合三平面表示来调节神经体积渲染过程,其中三个典型平面 ��,��,�� 都存储了三个2D特征网格 (feature grids)。使用StyleGAN2生成器,EG3D将噪声向量和相机姿势映射到三平面表示 �∈R256×256×96,对应于3个轴对齐的平面,每个平面具有32个通道。这些特征调节神经体积渲染。

Our hybrid explicit–implicit tri-plane representation (c) is fast and scales efficiently with resolution, enabling
greater detail for equal capacity.

简而言之,将特征存储在正交的三平面(triplane)表示中,通过特征值叠加计算出特定空间点的颜色、体积密度,通过NeRF进行训练,训练得到的参数也保存在三平面表示中。

4. METHOD

作者的目标是将EG3D生成模型的信息提炼到一个前馈编码器的pipline中,这可以直接将未定位的图像映射到一个规范的三平面3D表示,这里的规范表示,对于人脸,头部的中心是原点。该pipline仅需要单次前馈网络传递,从而避免了花销大的 GAN inversion过程,同时允许实时重新渲染输入的任意视点。

作者的工作主要集中在图像到三平面编码器和相关的合成训练方法上,使用EG3D的MLP体积渲染器和超分辨率架构,端到端地训练所有组件。下图是整个模型的推理和训练部分,是文章的重点。

图3图 2:推理和训练管线。在推理阶段,我们以单张图像作为输入,使用 DeepLabV3 提取低分辨率特征。这些特征经过 ViT 和卷积输出,与高分辨率特征串联,再通过 ViT 和卷积解码为三平面表示,从而为体渲染过程提供条件,生成深度、特征、颜色和超分辨率图像。在训练阶段,我们从 EG3D 中采样一个身份,渲染两个监督视图。第一个视图作为编码器输入,预测三平面,然后根据这两个视角进行体渲染,并将渲染结果与 EG3D 的结果进行比较优化。

我们的目标是将训练好的 EG3D 生成模型知识蒸馏至前馈编码管线,该管线只需一次前馈网络传播即可将单张图像直接映射为规范的三平面 3D 表示,同时允许对输入在自由视角下进行实时渲染。我们的贡献集中于图像到三平面编码器和相关的合成数据训练方法。我们使用 EG3D 中的 MLP 体渲染器和超分辨率架构,并对所有组件进行端到端的训练。

TensoRF-将体素网格分解为向量-平面 张量积形式的低秩张量之和

TensoRF: Tensorial Radiance Fields 是2022 年ECCV上的论文

论文地址:https://arxiv.org/abs/2203.09517

源码地址:https://github.com/apchenstu/Te

主页: https://apchenstu.github.io/TensoRF/

张量辐射场是一种新颖的建模和重建辐射场的方法。跟NeRF使用多层感知机隐式建模场景表达的方式不同,TensoRF将场景建模为一个四维的张量,张量中的每一项代表了一个体素,体素内包含了体积密度和多维的特征信息。论文的中心思想是使用张量分解技术,将4D张量分解成多个低秩的张量分量,以小见大

从上图中可以看出,张量辐射场可以达到:

1. 更好的质量

2. 更快的速度

3. 更小的模型体积

张量辐射场除了渲染质量更好之外,与同时期使用体素方式的研究相比占用更少的内存使用。张量辐射场在30分钟内就可以完成重建,并且模型的大小小于4M,这比NeRF更快,以及更小巧。使用VM分解方式的可以达到10分钟的时间,以及更好的质量,模型大小小于75M。TensoRF是第一个从张量的角度来看待辐射场建模,并提出了辐射场重建作为一个低秩张量重建的问题

EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks

https://nvlabs.github.io/eg3d/

将三维坐标对应的体素特征定义为三个正交投影平面的特征

目前的3D GAN要么过于计算密集型,要么缺少多视图一致性,该方法加强了计算效率并且提升了重建质量。使用了显式-隐式结构,不仅生成多视角一致性图片,还能生成高质量3D几何。通过解耦feature generation和neural rendering,该架构就可以用上SOTA的2D CNN生成器比如styleGAN2。

使用单视角2D图片集,无监督地生成高质量且视角一致性强的3D模型,一直以来都是一个挑战。现存的3D GANs要不计算量巨大,要不无法保证3D-consistent。前者限制了生成图片的质量,后者无法解决视角一致性的问题。这篇工作提出的新网络架构,能又快又好地生成3D geometry。

这篇工作提出了两个方法。首先,作者用显隐混合的方法,提高了时空效率,并有较高的质量。第二,提出了dual-discrimination策略,保证了多视角一致性。同时,还引入了pose-based conditioning to the generator,可以解耦pose相关的参数,保证了输出的视角一致性,同时忠实地重建数据集隐含的pose-correlated参数。

同时,这个框架能解耦特征生成和神经渲染,从而可以直接使用SOTA的2D GANs,比如StyleGAN2。

contribution

  • 引入一个基于三平面的3D GAN架构,计算效率高而且效果质量好
  • 提出一个3D GAN训练策略,通过dual discrimination和generator pose conditioning加强多视角一致性,建模出位置相关的属性分布(比如表情等)
  • 在FFHQ和AFHQ上有最佳的非条件3D感知视图合成结果,生成高质量3D几何

Tri-Plane Hybrid 3D Representation

我们需要一种高效且表达力强的3D表示方法,来训练高分辨率的GAN。

这里以单场景过拟合(SSO)来证明三平面表示法的有效性。

每个平面都是N×N×C的,其中C是通道数。

每次查询一个3D坐标x∈R3,将其投影至每个平面上,用双线性插值得到3个特征向量Fxy,Fxz,Fyz

将这3个特征向量累加后,通过一个轻量级的decoder,也就是一个小型MLP,输出RGB和Density

再用volume rendering得到最终图像

这样做的好处是,decoder规模很小,赋予了显式表示更强的表达能力,并减小了计算压力。

在新视角合成的实验上,三平面紧凑而富有表达力,以更低的计算成本,得到了更好的表现,三平面的时空成本是O(N2)的,而voxel是O(N3)的,最重要的是,用2D GANs生成planes,就能得到3D表示。对比NERF,通过显式的投影降低了计算复杂度同时没有减少表达性能。做了个对比实验,baseline是mip-nerf和voxel grid,这里的tri-plane实验中的MLP用了傅里叶feature编码。在同样地内存消耗下运算更快,在同样地结构下速度快且内存消耗少。

Pipeline

CNN Generator Backbone & Rendering

三平面的特征,是由StyleGANA生成的,同时Latent Code和相机参数会输入Mapping Network,生成一个Intermediate Latent Code

StyleGAN2被修改后,输出256×256×96256×256×96的特征图,之后被reshape成32通道的平面

接着从三平面采样,累加后,通过轻量级decoder,生成density和32通道的特征,然后由neural volume renderer生成2D特征图(而非RGB图)

Super Resolution

三平面仍不足以直接生成高分辨率图,因此添加了超分模块

使用了2个StyleGAN2的卷积层,上采样并优化32通道特征图,得到最终的RGB图像

Dual Discrimination

对StyleGAN2的discrimination做了两个修改

首先,添加Dual Discrimination以保证生成图片的视角一致性,即保证原始图片(低分辨率生成的)和超分后的图片的一致性,将低分辨率图片直接双线性上采样后,和超分图片concat形成6通道图片,真实图片也模糊后的自己拼接,也形成6通道图片,进行判别。

这样做,不仅能encourage最终输出和真实图片的分布匹配,也让神经渲染器尽可能匹配下采样的真实图片,并让超分图片和神经渲染保持一致。

其次,作者对discriminator输入了相机内外参,作为一个conditioning label,从而让generator学到正确的3D先验。

Modeling Pose-Correlated Attributes

真实世界数据集如FFHQ,相机姿态与其他参数(如表情)有关联

比如,相机角度与人是否微笑是有关系的,这会导致生成结果视角不一致

因此,为了更好的生成质量,需要将这些参数与相机姿态解耦

这篇工作使用了Generator Pose Conditioning解耦pose和其他参数

Mapping Network不仅接受Latent Code,还接受相机参数做为输入

给予backbone相机姿态作为先验,从而让视角可以和生成产生联系

也就是说,generator可以建模数据集中隐式的pose dependent biases,更忠实地反映数据集特征

为了避免在渲染时因相机移动产生视角不一致,在渲染时保持generator输入的相机参数不变