粗糙纹理生成阶段
在粗糙阶段,研究团队基于预训练的视角深度感知的 2D 扩散模型为 3D 模型生成粗糙的 UV 纹理贴图,从不同的相机视角渲染深度图,然后使用深度条件从图像扩散模型中采样图像,最后将这些图像反投影到网格表面上。
为了提高每个视角中纹理网格的一致性,研究团队交替执行渲染、采样和反投影的三个过程,首先,从第一个视角将 3D 网格渲染成深度图,然后根据输入纹理条件和深度图像,利用 2D 扩散模型采样得到纹理图像:
接下来,将这个图像从第一个视角反投影到 3D 网格上,生成该视角的纹理贴图。在预先定义的 n 个相机视角上依次进行上述过程,融合后得到 3D 模型粗糙的纹理贴图。
纹理细化阶段
对于细化阶段而言,尽管第一阶段生成的粗糙纹理外观是连贯的,但仍存在一些问题,比如由 2D 图像扩散模型引起的光照阴影,或者在渲染过程中由自遮挡引起的纹理空洞。为了缓解这些问题并在纹理细化过程中进一步增强纹理贴图的视觉美感,研究团队在 UV 空间中训练扩散模型,基于粗糙纹理贴图在 UV 空间中完成纹理细化过程。
为了在 UV 空间中训练扩散模型,研究人员引入了位置图来表示纹理片段的 3D 邻接信息。位置图中的每个非背景元素都是一个 3D 点坐标,可以通过将 3D 点坐标进行 UV 映射来获得。
研究人员在预训练的图像扩散模型中添加了一个独立的位置图编码器,用于在扩散过程中融合 3D 邻接信息。这个编码器与图像扩散模型中的编码器具有相同的架构,并通过零卷积层连接在一起。新的编码器利用 3D 数据高质量的无照明纹理作为监督,在 UV 空间上训练无光照扩散模型:
通过纹理细化过程,研究团队减轻了光照阴影和纹理空洞等问题,并进一步提升了纹理贴图的视觉美感。
实验结果
Paint3D 通过一系列的量化和定性实验,证明了其在生成多样化纹理贴图方面的显著能力。该评估随机选取了多个 3D 模型生成纹理贴图,覆盖了人物、汽车、飞机、桌椅等多种物体类别,通过评估 FID 得分及用户调研来定量评估其纹理生成的效果。
实验结果显示,Paint3D 有着更好的纹理生成质量,同时能生成更符合输入条件的纹理结果,实验结果对比如下:
研究人员也在相同的 3D 模型上与当前最佳的纹理生成算法进行比较。结果显示,Paint3D 几乎在所有的样本上都达到了更好的效果,也是唯一一个能生成无内嵌光照纹理的算法。比较结果如下: