zl程序教程

您现在的位置是:首页 >  Java

当前栏目

NeurIPS 2022 | GeoD:用几何感知鉴别器改进三维感知图像合成

2023-02-18 16:43:19 时间

‍‍原文:Improving 3D-aware Image Synthesis with A Geometry-aware Discriminator

地址:https://arxiv.org/abs/2209.15637

项目地址:https://vivianszf.github.io/geod/

翻译:种争青

校稿:董亚微

00 简介

这项工作旨在从鉴别器的角度改进3D感知图像合成。尽管现有方法的合成质量有所提高,但无法获得合适的3D形状。我们认为,考虑到GAN公式中的双角色问题,仅使生成器具有3D感知是不够的。

为了解决这个问题,我们提出通过学习几何感知鉴别器来改进3D感知GAN的GeoD方案。具体来说,除了从2D图像空间中区分真假样本外,鉴别器还需要从输入中提取几何信息,然后将其用作生成器的指导。这种简单而有效的设计有助于学习更精确的3D形状。对各种生成器架构和训练数据集进行的大量实验验证了GeoD优于最先进的替代方案。

此外,我们的方法被注册为一个通用框架,这样一个更强大的鉴别器(即,除了领域分类和几何提取之外,还有第三个新的视图合成任务)可以进一步帮助生成器实现更好的多视图一致性。

01 介绍

三维感知图像合成因其在三维世界建模中的潜力而受到越来越多的关注。与主要关注图像质量和多样性的2D相比[1,13–16,28],3D感知生成也有望获取合成图像背后的精确的3D形状。但是,现有的生成模式,如流行的生成对抗网络[8],因为它们生成的图像只使用2D表示,所以无法从2D图像中获取3D信息。

为了填补这一空白,最近的研究[2,3,5,9,23–25,29,30,34,36]都在想借用3D渲染技术的帮助,例如神经辐射场(NeRF) [19],并希望用3D渲染器替换GAN中的生成器。受益于生成器的3D感知,这种替换能够在生成图像时明确控制视点。

截至今日,已经有很多工作做了尝试,从生成器方面改进3D感知的GANs,或者使用更好的表示[3,5,24,25,30,34]、新颖的架构[2,9,23,29,36]。尽管2D合成质量有所提高,但最终的3D形状 仍无法让人满意。这些形状正如图1a所示,看起来像是平坦、但还是有噪声或不平坦的表面。我们认为,考虑到在训练GAN时发生器-鉴别器的竞争,仅仅使发生器具有3D感知能力是不够的。

具体来说,生成器主要从鉴别器获得监督(即梯度),不过,鉴别器仍然需要从2D图像空间区分真实和虚假图像,如图1a所示。在这种情况下,尽管生成器可能能够学习3D形状,但由于缺乏足够的3D依据,仍然会有形状外观模糊的风险(即,渲染良好的2D外观不一定产生合适的3D形状)。

图1:概念比较:(a)现有的3D感知GAN(其中只有生成器在NeRF[19]的帮助下实现3D感知)和(b)我们的GeoD(其中鉴别器使用提取的几何图形监控生成器)。这样一个附加任务(即几何体提取)大大改进了具有3D意识的GAN,使其具有更精确的3D形状(请参见网格)。这里,z和ξ分别表示采样的潜在代码和相机姿态,而“VR”表示体积渲染[19]。

为了解决这个问题,我们提出了一种几何感知鉴别器,称为GeoD,它从鉴别器方面改进了3D感知GAN。如图1b所示,除了真假域分类的基本任务外,我们还为鉴别器分配了一个额外的几何提取任务。

一方面,分类分支与传统GAN中的分类分支相同,有助于生成器提高2D空间合成的真实性。

另一方面,几何分支的目标是从给定图像中导出形状相关信息,例如深度和法线。这些信息被用作一个额外的信息,以监督生成器获得公平的3D形状。

在这里,几何分支仅在实际数据上进行无监督学习,并与生成器联合更新,形成共同进化方式。

我们在各种3D感知GAN变体上评估了我们的方法,包括π-GAN [2],StyleNeRF [9],和VolumeGAN [34],以验证其泛化能力。一系列数据集的定性和定量结果,包括FFHQ(人脸)[14],AFHQ猫(动物面孔)[4],以及LSUN卧室(室内场景)[35],验证了GeoD在不牺牲图像质量的情况下,以更精确的三维形状超出了评判标准。

此外,我们的框架是通用的,因此它可以应用于其他3D相关的改进。特别是,当被分配第三项任务“新视图合成”时,鉴别器可以促使生成器学习更好的多视图一致性,这证明了我们让鉴别器具有3D感知能力的动机。

02 相关工作

2.1 三维感知图像合成

近年来,三维感知图像合成受到了广泛的关注。与2DGANs的主要区别在于在生成器中使用了3D表示。VON [37]和HoloGAN[22]使用体素化的3D表示来执行3D感知的图像合成,但是这些方法由于缺少底层几何图形而存在3D不一致性。

文献[2,5,24,29,30]介绍了NeRF [19]合成3D感知图像,以及文献[3,9,23,34,36]使用NeRF渲染低分辨率地图,然后利用强大的2D CNNs生成高保真图像。但是,这些方法的基本形式既杂乱又不精确。

为了解决不准确的形状,ShadeGAN [25]引入反射率场而不是辐射率场,并通过显式建模照明过程来添加照明约束。然而,这些方法的判别器仍然将图像与2D空间区分开来,由于缺乏3D监督,仍然有形状-外观模糊的风险。

我们的主要目标是通过引入几何感知信息来监督3D感知生成器,从而从辨别器的角度改进3D形状。值得注意的是,我们的几何感知鉴别器可以很容易地应用于基于神经辐射场(NeRF)的方法。

2.2 几何提取

如何从图像中提取几何图形是一个长期存在的问题。由于在大多数情况下只有单目数据可用于训练生成模型,因此我们在此仅讨论单目图像的几何提取。

传统的方法是以受监督的方式训练具有多视图数据或标记几何的网络,例如深度估计[7,26,27]和反向渲染[11,17,18,32]。

最近的工作[33]通过引入可区分的渲染器,开始无监督地从单目图像中提取几何图形。具体来说,网络首先将图像分解成几个几何因子(例如,反射率、深度和光照),然后可区分的渲染器根据物理模型重建图像。但是,此类方法有前置条件,例如对称性和阴影,因此它们仅适用于特定的目标图像。不过,所有这些任务和模型都可以集成到鉴别器中进行几何提取。

03 方法

3.1 准备工作

3.1.1 生成神经辐射场

神经辐射场(NeRF) [19]采用连续函数F (x,d) = (c,σ),在给定3D坐标

和观察方向

的情况下,学习RGB颜色

和体积密度

f(·,·)通常用多层感知器(MLP)进行参数化。为了在给定的相机姿态下渲染图像,像素颜色是通过沿着具有远近边界的相应光线进行体绘制获得的。

由于NeRF在三维重建和新视图合成方面的强大性能,最近在3D感知图像合成方面的尝试提出引入生成神经辐射场(G-NeRF) [29],

,用于生成器。而G-NeRF中编码的底层几何图形,也提高了不同相机视图合成图像的3D一致性。

3.1.2 单目图像的几何提取

从单个视图中提取几何信息是想从单目照片中估计三维信息,如深度、法线和反射率。可微分渲染使无监督提取成为可能,其允许在渲染过程中通过图像计算三维对象的梯度。

它可以被公式化为基于可微分渲染的自动编码过程,以无监督的方式学习几何因素。几何编码器φ(·)将图像映射到几何因子中,例如深度、法线、反射率和光照。分解后的因子随后被用于通过可微分渲染器重建输入图像。

3.2 几何感知辨别

回想一下,我们在鉴别器中引入了一个几何分支,为发生器提供三维监控信号。在这一部分,我们会介绍如何结合几何分支来构建一个几何感知鉴别器,以改进三维感知图像合成。

3.2.1 用真实图像训练几何感知鉴别器

最近在3D感知GANs上的尝试继承了一个2D鉴别器,该鉴别器只区分2D空间中的图像,只受到发生器很有限3D监管。

为了最大限度地利用编码在2D图像中的三维信息,防止鉴别器在不了解几何的情况下辨别图像,我们分配了一个超出双类域分类的几何提取任务,即从给定的真实图像

中导出几何信息。为此,我们引入了一个几何分支φ(·),并以额外的自动编码训练目标监督鉴别器:

其中ψ(·)表示可区分的渲染器,

是测量图像距离的函数。

3.2.2 对假图像执行几何感知辨别

如上所述,基于G-NeRF[2、3、5、9、23–25、29、30、34、36]构建的3D感知生成器可以合成一致的3D感知图像,这是因为G-NeRF中编码的基本几何体,而不是来自鉴别器的监控信号。

在这种情况下,尽管合成的2D图像质量很好,但底层几何图形仍然不准确。为了缓解G-NeRF中编码的不完美形状问题,我们利用了单个图像的固有几何特征,并对生成器进行了几何感知监督。具体来说,我们首先要求鉴别器分解几何信息合成图像。然后将φ(·)提取的几何

作为伪标签,以环回的方式监督G-NeRF中编码的相应几何

。图像生成过程表示为

,其中 z ξ 是采样的潜在代码和相机姿态。增加了一个额外的训练目标来执行几何感知辨别:

其中

是由生成器合成的伪图像,

表示测量几何图形之间差异的损失函数。

表示从G-NeRF中提取几何图形。

3.2.3 损失函数

一言以蔽之,为了使鉴别器具有几何感知能力,生成器和鉴别器通过以下方式进行联合培训:

其中

[20]是逻辑损失函数;公式(7)中的第三项是梯度罚函数。

表示不同损失项的权重。

分别为生成器和GeoD的参数。

3.3 实施细节

3.3.1 GeoD中的几何分支

考虑到图像内容的复杂性,我们对物体和场景采用不同的几何分支结构。物体的几何分支建立在Unsup3d[33]并在假定物体是对称的情况下,进行无监督的训练。

在该分支中,编码器将输入图像 I 分解为六个因子

,包括深度图d、法线图n、反射率图a、全局照明方向l、视点v和置信度图c。除了视点之外的所有因子都是在规范视图下估计的。

在重建过程中,首先使用Lambertian shading模型从dnal重建标准视图下的图像

。然后,在给定深度图d的情况下,重投影算子将I从标准视图扭曲到视点v,这给我们提供了一个重建图像

。考虑到对称性假设,从翻转的深度和反射率获得了第二个重建图像

。为了削弱非对称部分的影响,使用表示像素对称分数的置信度图作为像素重建损失的权重因子。因此,真实数据上对象的几何分支的重建损失由下式给出:

其中

表示像素级

损失和感知损失[12]。

表示损耗项的权重因子。用于生成器监控的几何图形(例如法线)是通过将规范视图下的几何图形扭曲为视点v下的几何图形获得的。

场景的几何分支是建立在李等人的研究成果之上的[18]。该网络以级联方式构建,分为两个阶段。每级包含两个编码器。

一个编码器将输出反射率a、法线n、粗糙度r和深度d;而另一个编码器旨在估计空间变化的光照 l 。然后,以下可微分渲染层基于这些输出渲染漫反射图像

和镜面图像

。a、n、r、d、

连同原始图像都作为下一阶段编码器的输入。由于几何形状、材料和光照的多样性,每个分解组件的真实数据均可用于训练。因此,场景几何分支的训练损失是每个预测因子

和它的真实数据

之间的

损失之和:

其中

表示像素级

损耗和每个损耗项的加权因子。

3.3.2 从G-NeRF中提取几何图形

如上所述,G-NeRF中的底层几何编码可以用作合成3D感知图像的隐式约束。我们的方法是要通过GeoD监控底层几何图形,并选择法线作为几何图形表示,以在识别过程中传递三维信息。我们首先通过执行体积渲染获得在深度轴上不同相机光线的深度图d[19]:

其中

是相邻采样点之间的距离,

表示每个点

的深度值。然后从沿u、v方向的深度图中得出正切图t[33]。这里,我们以u方向为例:

其中

是图像像素

的齐次坐标,K是相机固有矩阵。然后通过对其执行外积,可以得到法线贴图正切映射

,然后是逐点规范化操作。

04 实验

4.1 设置

4.1.1 数据集

我们在三个真实世界的非结构化数据集上评估了推荐的GeoD,包括FFHQ [14],AFHQ猫[4],以及LSUN卧室[35]。

FFHQ包含独特的70K高分辨率真实人脸图像。所有图像都按照文献[14]进行对齐和裁剪。AFHQ猫 包括大约5K张不同姿势的各种猫脸图片。我们使用猫脸检测器对图像按照文献[14]进行标注和裁剪,使人脸保持在中心。LSUN卧室 里有大约300万张图片。这些图像是在不同的相机视图中拍摄的。我们使用中心裁剪对图像进行预处理。

4.1.2 基准

我们对比了3D感知图像合成中的三种最先进的方法,包括π-GAN [2],StyleNeRF [9]和VolumeGAN [34]。基准要么由作者发布,要么是官方实施的训练数据。

4.1.3 训练

我们从基准训练生成器,并在基准的鉴别器上构建GeoD。我们遵循基准的训练方案。

对于人脸和猫脸,GeoD是与原始GAN Pipeline一起从头开始训练的。由于室内场景的复杂性,很难仅从单目图像中学习到合适的几何形状。因此,对于场景的GeoD,我们根据李等的工作[18]对合成数据[18]和NYU数据集[21]的几何分支进行预处理。

GeoD中几何分支的分辨率对于人脸为64× 64,对于场景为256 ×256。整个训练过程确保鉴别器能够看到25000K幅真实图像。由于渲染过程昂贵,π-GAN是用分辨率为64×64的图像进行训练的,LSUN卧室上的VolumeGAN使用分别率为128×128的图像培训。其他实验在256×256分辨率下进行。更多细节见附录。

4.1.4 评估指标

我们使用三个指标来评估绩效,包括Fréchet Inception Distance(FID) [10],Scale-Invariant Depth Error(SIDE) [6],和Reprojection Error(RE) [34]。

FID是对50K幅真实图像和50K幅用随机潜在代码和相机视图渲染的伪图像进行计算的,反映了生成图像的质量和多样性。SIDE通过比较地面真实深度和生成器绘制的深度图,评估10K图像上生成的几何图形的精度。

我们采用了经过预处理的模型,用于面部的LeMul [11]和用于场景的DPT [27],作为深度估计器从2D图像中提取深度图作为基础事实。由于NeRF的分辨率不同于StyleNeRF和VolumeGAN中的图像分辨率,我们将实际深度调整为NeRF的分辨率,方便进行比较。RE评估10K组上合成图像的一致性。我们随机抽取两个视图,并在给定相同潜在代码的情况下渲染每个视图下的图像及其深度图。如果两者的分辨率不匹配,深度图将被调整为图像大小。然后,我们使用图像的深度将图像从一个视图扭曲到另一个视图,并计算扭曲图像与该视图下渲染的图像之间的误差。

图2:π-GAN的定性结果[2]作为基础模型。自上而下:合成结果、NeRF生成的法线贴图和三维网格。

表1:不同GAN体系结构和数据集的定量比较。FID [10]用于评价2D合成质量,而SIDE [6]和RE [34]帮助评估三维形状。带有*的数字是通过将提取的深度拉到平均深度平面来获得的,因为基线倾向于学习过近或过远的平坦深度,如图3和图4所示。

4.2 主要结果

4.2.1 2D图像质量和3D形状

表格1展示了在不同模型和数据集上评估的FID评分。在大多数情况下,使用我们的GeoD,FID评分优于或等于基准,表明图像质量和多样性更好。这也反映在图2到图4的定性结果中。对于卧室上的StyleNeRF和猫和卧室上的VolumeGAN,FID得分略低于基准。我们推测原因是这些基准倾向于学习一个平坦的形状,如图3和4所示。因此它们将3D感知图像生成问题简化为2D图像生成任务,从而降低了FID分数。不过,我们的方法保持了与基线相当甚至更好的图像质量,同时产生了正确的基础几何图形。

4.2.2 几何分析

我们从两个角度分析了生成图像的基本几何形状,即几何形状的准确性和跨不同视图的一致性,这两个角度在表1中通过SIDE和RE反映出来。这里,对于StyleNeRF [9]、SIDE和RE仅在FFHQ和AFHQ猫的前景对象上进行评估。

所有数据集和体系结构较低SIDE的和RE值表明使用GeoD实现了更好的几何图形。这也展示在了图2到图4的定性比较中。对于每个样本,我们统一对三个视图进行采样,并在每个视图中显示法线贴图和网格。π-GAN在三个数据集上都生成了有噪声的形状。使用我们的GeoD时,凹坑都消失了,生成的形状更加逼真,也获得更好的准确度和一致性分数。

StyleNeRF和VolumeGAN以低于图像分辨率的分辨率应用NeRF,并倾向于生成平面形状,如图3和图4所示。特别是在AFHQ猫 和LSUN卧室 数据集上,它们生成的几何图形几乎或完全是平面。通过使用GeoD作为鉴别器,得到的几何图形更加三维化。VolumeGAN结合了体表示和NeRF进行渲染,因此生成的形状比StyleNeRF的形状更精细。图5显示了从3D感知生成器和GeoD中提取的几何图形。GeoD成功提取了生动的几何图形,因此能够指导生成器生成精细的几何图形。

图3 使用StyleNeRF的定性结果[9]作为基础模型。自上而下:合成结果、NeRF生成的法线贴图和三维网格。

4.3 消融实验(变量控制)

为了分析在三种设置下GeoD的有效性:从头开始训练、预训练和微调,我们进行了消融研究。选择π-GAN作为核心实验,所有实验均在FFHQ 64 ×64上进行。

  • 在第一个设置中,GeoD与生成器一起从头开始训练。
  • 在第二个设置中,我们首先在FFHQ数据集上预处理GeoD的几何分支直到它收敛。然后,GeoD的几何分支将在GAN的整个训练过程中固定不变。
  • 在第三种设置中,GeoD的几何分支将首先在FFHQ数据集上对其收敛的一半迭代进行离线训练。然后,在整个框架的训练中,使用权重初始化GeoD的几何分支。

结果见表2中。GeoD中的预约束几何分支在开始时提供了更好的几何监督,因此几何的精度更高。不过,太强的几何监督从一开始就可能主导监督信号,从而导致RGB合成的次优解。因此,GeoD从头开始训练的设置可以获得更好的图像质量和一致性。

表2 在FFHQ 64 ×64上进行的消融研究[14],使用π-GAN[2]

图4 以VolumeGAN[34]为基础模型的定性结果。自上而下:合成结果、NeRF生成的法线贴图和3D网格。

4.4 GeoD在一致性改进上的扩展

除了底层几何图形之外,多视图一致性对于3D感知图像合成也很重要。在本节中,我们展示了GeoD是一个通用框架,因此它也适用于通过第三个新的视图合成任务来提高多视图的一致性。

特别地,我们要求生成器合成N个多视图图像

,其中将图像

作为源图像处理。然后使用这些源图像重建图像

,该图像与

具有相同的视图。

之间的差异反映了一致性的程度,反过来也指导生成器在不同视图之间更加一致。我们用IBRNet [31],在多个场景重建数据集上预处理三维重建模型。

在实验中,我们将N设置为6,并处理LSUN卧室数据集。

我们选择StyleNeRF和VolumeGAN作为基准,因为引入了卷积层和上采样算子来补偿内部的低分辨率NeRF,以实现高分辨率合成,所以它们面临更严重的不一致性问题。

表3展示了对具有或不具有一致性分支的模型评估。对于一致性分支,FID得分与基准持平或略有下降。而在由SIDE度量表示的一致性分支的监督下,几何形状变得更好。生成的图像的一致性也得到提高。结果证明了在鉴别器中引入一致性分支以增强生成器多视图一致性的必要性。

表3:GeoD在提高多视图一致性方面的扩展。为此,我们为鉴别器配备了第三个分支,通过新视图合成任务训练。这种设计在不牺牲2D图像质量(FID)和3D形状(SIDE)的情况下提高了多视图一致性(RE)。

图5:对GeoD所学几何图形的定性分析。从上到下:合成图像、NeRF生成的法线贴图,以及由GeoD几何分支预测的法线贴图。我们可以看出,我们的几何感知鉴别器确实使用足够的3D知识来监督生成器,从而生成更精确的3D形状。

4.5 GeoD在GAN反演中的应用

GeoD的潜在应用之一是帮助从真实图像中更好地重建几何图形。为了从真实图像中提取基础形状,在3D感知生成器上执行GAN反演[2]。

如图6所示,用2D鉴别器训练的π-GAN发生器重建具有凹凸不平表面的几何图形,导致不一致的新视图合成。使用我们的几何感知鉴别器,重建的形状变得平滑和逼真,并且在不同视点下合成的图像更加一致。

图6:利用GAN对真实数据进行三维重建和新的视图合成。由于我们的几何感知鉴别器,GeoD中的生成器能够学习更精确的三维形状,因此反转它可以实现更好的形状重建。同时,在很大程度上依赖于底层形状的新视图合成任务中,我们的GeoD以更高的保真度以及与源图像(例如,新视图1)的更高相似度呈现结果。

05 结论

在本文中,我们提出了一种新的几何感知鉴别器GeoD,以改进3D感知图像合成。GeoD不仅提供对2D图像的监督,还指导基础几何的训练。

有了这种鉴别器,3D感知发生器可以产生具有更好的基础几何形状的高保真图像。此外,我们还进一步扩展了GeoD,以提高生成器的多视图一致性。实验结果从图像质量和几何角度证明了该鉴别器的有效性。我们希望我们的工作能引起对有效的鉴别器的更多关注。

讨论。尽管2D图像和几何图形的质量都很高,但生成的几何图形的质量会受到GeoD中几何图形分支的性能的影响。例如,场景的几何分支需要标记的数据进行训练。但是,这些标签在当前数据集中不可用于合成。因此,不可能在与生成器相同的数据集上训练几何分支,而要采用在其他数据集上预处理的几何分支。两个数据集之间的域间隙降低了几何形状上的监督信号质量,从而导致生成器的次优解。以后的工作可以尝试提出更有效的几何分支或新的微调方法来缓解该问题。