人工智能
Paint3D : 无需照明的扩散模型用于图像生成

人工智能生成模型的快速发展,尤其是深度生成模型的发展,显著提高了自然语言生成、3D生成、图像生成和语音合成的能力。这些模型在各个行业中革新了3D生产。然而,许多模型面临一个挑战:它们的复杂电路和生成的网格通常与传统的渲染管道(如基于物理的渲染(PBR))不兼容。基于扩散的模型,特别是没有照明纹理的模型,展示了令人印象深刻的多样化3D资产生成,增强了电影、游戏和AR/VR中的3D框架。
本文介绍了Paint3D,一种用于生成多样化、高分辨率2K UV纹理贴图的新型框架,适用于无纹理3D网格,条件输入为视觉或文本输入。Paint3D的主要挑战是生成高质量的纹理而不包含嵌入式照明,允许用户在现代图形管道中重新编辑或重新照明。它采用预训练的2D扩散模型进行多视纹理融合,生成初始粗糙纹理贴图。然而,这些贴图通常显示照明伪影和不完整区域,这是由于2D模型在禁用照明效果和完全表示3D形状方面的局限性。我们将深入探讨Paint3D的工作原理、架构和与其他深度生成框架的比较。让我们开始。
Paint3D : 介绍
深度生成AI模型在自然语言生成、3D生成和图像合成任务中的能力众所周知,并在现实应用中得到了实施,革新了3D生成行业。尽管它们具有显著的能力,现代深度生成AI框架生成的网格具有复杂的电路和混乱的照明纹理,这些纹理通常与传统的渲染管道(包括PBR或基于物理的渲染)不兼容。像深度生成AI模型一样,纹理合成也迅速发展,特别是在利用2D扩散模型方面。纹理合成模型采用预训练的深度到图像扩散模型,有效地使用文本条件生成高质量的纹理。然而,这些方法面临预照明纹理的问题,这可能会显著影响最终的3D环境渲染,并在更改照明时引入照明错误,如下图所示。

如图所示,具有自由照明的纹理贴图与传统渲染管道协同工作,提供准确的结果,而具有预照明的纹理贴图在重新照明时包含不适当的阴影。另一方面,训练在3D数据上的纹理生成框架提供了一种替代方法,即框架通过理解特定3D对象的整个几何形状来生成纹理。虽然它们可能提供更好的结果,但训练在3D数据上的纹理生成框架缺乏泛化能力,这阻碍了它们将模型应用于训练数据以外的3D对象的能力。
当前的纹理生成模型面临两个关键挑战:使用图像指导或多样化提示来实现不同对象之间更广泛的泛化,以及消除预训练结果中的耦合照明。预照明纹理可能会干扰渲染引擎中的最终纹理对象结果,因为预训练的2D扩散模型仅在视图域中提供2D结果,它们缺乏对形状的全面理解,这导致它们无法在3D对象中保持视图一致性。
由于上述挑战,Paint3D框架尝试开发一个双阶段纹理扩散模型,用于3D对象,能够泛化到不同的预训练生成模型,并在学习照明无关纹理生成的同时保持视图一致性。
Paint3D是一个双阶段的粗糙到精细的纹理生成模型,旨在利用预训练生成AI模型的强大提示指导和图像生成能力来纹理3D对象。在第一阶段,Paint3D框架首先从预训练的深度感知2D图像扩散模型中进步地采样多视图图像,以实现从多样化提示中生成高质量和丰富的纹理结果。然后,模型通过将这些图像反投影到3D网格表面来生成初始纹理贴图。在第二阶段,模型专注于生成照明无关的纹理,通过实施专门用于移除照明影响和不完整区域的形状感知细化的扩散模型的方法。在整个过程中,Paint3D框架能够一致地生成高质量的2K纹理,语义上并消除内在的照明效果。

总之,Paint3D是一个新颖的粗糙到精细的生成AI模型,旨在生成多样化、照明无关和高分辨率的2K UV纹理贴图,用于无纹理3D网格,实现最先进的性能,在使用不同条件输入(包括文本和图像)时进行3D对象的纹理,并为合成和图形编辑任务提供显著的优势。
方法和架构
Paint3D框架生成和细化纹理贴图,以使用所需的条件输入(包括图像和提示)生成多样化和高质量的纹理贴图,如下图所示。

在粗糙阶段,Paint3D模型使用预训练的2D图像扩散模型来采样多视图图像,然后通过将这些图像反投影到网格表面来创建初始纹理贴图。在第二阶段,即细化阶段,Paint3D模型使用UV空间中的扩散过程来增强粗糙纹理贴图,从而实现高质量、修复和照明无关的功能,确保最终纹理的视觉吸引力和完整性。
阶段1:进步的粗糙纹理生成
在进步的粗糙纹理生成阶段,Paint3D模型为3D网格生成一个粗糙的UV纹理贴图,使用预训练的深度感知2D扩散模型。具体来说,模型首先使用不同的相机视图来渲染深度图,然后使用深度条件从图像扩散模型中采样图像,并将这些图像反投影到3D网格表面。框架执行渲染、采样和反投影方法,交替进行,以提高纹理网格的一致性,这最终有助于进步地生成纹理贴图。
模型首先使用相机视图聚焦于3D网格来生成可见区域的纹理,并从第一视图渲染3D网格到深度图。然后,模型为外观条件和深度条件采样纹理图像。然后,模型将图像反投影到3D网格。对于视点,Paint3D模型执行类似的方法,但略有不同,即使用图像绘制方法执行纹理采样过程。此外,模型考虑到来自以前视点的纹理区域,使渲染过程不仅输出深度图像,还输出具有未着色蒙版的部分着色RGB图像。
模型然后使用具有填充编码器的深度感知图像填充模型来填充RGB图像中的未着色区域。模型然后通过将填充图像反投影到3D网格来生成纹理贴图,从而使模型能够进步地生成纹理贴图,并最终到达整个粗糙结构贴图。最后,模型将纹理采样过程扩展到具有多个视图的场景或对象。具体来说,模型使用一对相机来捕获两个深度图,并从对称视点组合两个深度图,形成深度网格。然后,模型用深度网格替换单个深度图像来执行多视深度感知纹理采样。
阶段2:UV空间中的纹理细化
虽然粗糙纹理贴图的外观是合理的,但它面临一些挑战,例如由于2D图像扩散模型的参与而在渲染过程中由自遮挡或照明阴影引起的纹理孔。Paint3D模型旨在在粗糙纹理贴图的基础上,在UV空间中执行扩散过程,以减轻这些问题并进一步增强纹理贴图的视觉吸引力。在UV空间中细化主流图像扩散模型与纹理贴图会引入纹理不连续性,因为纹理贴图是通过3D表面纹理的UV映射生成的,这会将连续的纹理切割成UV空间中的多个单独的碎片。因此,模型难以学习碎片之间的3D相邻关系,这导致了纹理不连续性问题。
模型通过执行受纹理碎片相邻信息引导的扩散过程来在UV空间中细化纹理贴图。需要注意的是,在UV空间中,位置图表示纹理碎片的3D相邻信息,模型将每个非背景元素视为3D点坐标。在扩散过程中,模型通过将位置编码器添加到预训练的图像扩散模型来融合3D相邻信息。新的编码器类似于ControlNet框架的设计,并具有与图像扩散模型中实现的编码器相同的架构,具有连接两个的零卷积层。此外,纹理扩散模型在包含纹理和位置图的数据集上进行训练,模型学习预测添加到噪声潜在图的噪声。然后,模型优化位置编码器并冻结训练的去噪器用于其图像扩散任务。
模型然后同时使用位置条件编码器和其他编码器来执行UV空间中的细化任务。在这方面,模型具有两个细化能力:UVHD或UV高定义和UV填充。UVHD方法旨在增强纹理贴图的视觉吸引力和美观。为了实现UVHD,模型使用图像增强编码器和位置编码器与扩散模型。模型使用UV填充方法来填充UV平面中的纹理孔,能够避免渲染过程中生成的自遮挡问题。在细化阶段,Paint3D模型首先执行UV填充,然后执行UVHD来生成最终的细化纹理贴图。通过集成两个细化方法,Paint3D框架能够生成完整、多样化、高分辨率和照明无关的UV纹理贴图。
Paint3D:实验和结果
Paint3D模型采用Stable Diffusion文本到图像模型来协助其纹理生成任务,并采用图像编码器组件来处理图像条件。为了进一步增强其对条件控制(如图像填充、深度和图像高定义)的掌握,Paint3D框架采用ControlNet域编码器。模型在PyTorch框架上实现,渲染和纹理投影在Kaolin上实现。
文本到纹理比较
为了分析其性能,我们首先评估Paint3D的纹理生成效果,当条件为文本提示时,并将其与最先进的框架(包括Text2Tex、TEXTure和LatentPaint)进行比较。如图所示,Paint3D框架不仅在生成高质量的纹理细节方面表现出色,而且还合理地合成了照明无关的纹理贴图。

相比之下,Latent-Paint框架倾向于生成模糊的纹理,导致视觉效果不佳。另一方面,虽然TEXTure框架生成清晰的纹理,但缺乏平滑度,并表现出明显的拼接和缝隙。最后,Text2Tex框架生成平滑的纹理非常好,但它无法复制生成具有精细细节的纹理的性能。
以下图表比较了Paint3D框架与最先进的框架的量化结果。

如图所示,Paint3D框架超越了所有现有的模型,并且有着显著的优势,FID基线提高了近30%,KID基线提高了近40%。FID和KID基线分数的改进表明了Paint3D生成高质量纹理的能力,适用于不同对象和类别。
图像到纹理比较
为了生成Paint3D的生成能力,使用视觉提示,我们使用TEXTure模型作为基线。如前所述,Paint3D模型采用来自Stable Diffusion的文本到图像模型的图像编码器。如图所示,Paint3D框架合成精美的纹理,仍然能够保持与图像条件的高保真度。

另一方面,TEXTure框架能够生成类似于Paint3D的纹理,但它无法准确地表示图像条件中的纹理细节。此外,如下图所示,Paint3D框架在与TEXTure框架的比较中提供了更好的FID和KID基线分数,前者从40.83降低到26.86,后者从9.76降低到4.94。

总结
在本文中,我们讨论了Paint3D,一种能够生成照明无关、多样化和高分辨率的2K UV纹理贴图的新颖框架,适用于无纹理3D网格,条件输入为视觉或文本输入。Paint3D框架的主要亮点是能够生成照明无关的高分辨率2K UV纹理,语义上一致,不需要图像或文本输入。由于其粗糙到精细的方法,Paint3D框架生成照明无关、多样化和高分辨率的纹理贴图,并且在与当前最先进的框架的比较中提供了更好的性能。
