英伟达团队再次于自己的老本行大发光彩。近日发布的Edify 3D支持用户从文本提示或者图像来直接生成4K级别的3D实体与场景,这再次为游戏与影视设计行业注入了新的AI活力。
不满足于只是自己在纸上照着自己的想法去写写画画,但是又没精力去学习专业的3D建模技能,怎么破?
你有曾想过,仅仅通过文字描述自己的想象,就可以将其创造为分辨率高达4K的实体3D模型吗?
现在,你可以通过Nvidia发布的Edify 3D实现你的奇思妙想了!只要你具有足够好的创意,甚至可以利用Edify 3D来创造出经典的游戏、电影的3D模型实体,例如有趣的小黄人。
请看官方视频展示,用户只是进行文字描述,Edify 3D就可以即时生成高清的3D布景、头骨、乌龟等3D实体。
由于创建3D内容需要相关的专业技能和专业知识,这使得此类资产比图像和视频等其他视觉媒体稀缺得多。这种稀缺性引出一个关键的研究问题,即如何设计可扩展的模型以有效地从这些数据中生成高质量的3D资产。
Edify 3D可在2分钟内根据文本描述或者前景图像生成高质量的3D资产,其提供详细的几何图形、清晰的形状拓扑、井然有序的UV映射、高达4K分辨率的纹理以及基于物理的材质渲染。与其他文本到3D方法相比,Edify 3D始终如一地生成卓越的3D形状和纹理,在效率和可扩展性方面都有显著改进。
Edify 3D的流程
Edify 3D的流程为:在给定对于3D实体对象的文字描述后,多视图扩散模型会合成描述对象的RGB外观。然后,生成的多视图RGB图像被用作使用多视图ControlNet合成表面法线的条件。接下来,重建模型将多视图RGB和正常图像作为输入,并使用一组潜在标记预测神经3D表示。然后进行等值面提取和随后的网格后处理,以获得网格几何。放大的ControlNet用于提高纹理分辨率,对网格光栅化进行调节以生成高分辨率多视图RGB图像,然后将其反向投影到纹理贴图上。
多视图扩散模型
创建多视图图像的过程类似于视频生成的设计的我们通过使用相机姿势调节文本到图像模型,将它们微调为姿势感知多视图扩散模型。这些模型将文本提示和摄像机姿势作为输入,并从不同的视点合成对象的外观。
跨视图注意力
研究者在模型训练时,训练了以下模型:
- 基于多视图扩散模型,该模型根据输入文本提示合成RGB外观以及相机姿态。
- 多视图ControlNet模型,该模型基于多视图RGB合成和文本提示来合成物体的表面法线。
- 多视图上采样控制网络,该网络在给定3D网格的栅格化纹理和表面法线条件下,将多视图RGB图像超分辨率提升至更高分辨率。
研究者使用Edify Image模型作为基础扩散模型架构,结合一个具有27亿参数的U-Net,在像素空间中进行扩散操作。ControlNet编码器使用U-Net的权重进行初始化。他们通过一种新机制扩展了原始文本到图像扩散模型中的自注意力层,以关注不同视图,从而使得其作为具有相同权重的视频扩散模型。通过一个轻量级MLP对相机姿态(旋转和平移)进行编码,随后将这些编码作为时间嵌入添加到视频扩散模型架构中。
研究者在3D对象的渲染图上微调文本到图像模型。在训练过程中,他们同时使用自然2D图像以及随机数量(1、4和8)的视图的3D对象渲染图进行联合训练。使用
参数对损失进行训练,与基础模型训练中使用的方法一致。对于多视图ControlNets,首先使用多视图表面法线图像训练基础模型。随后,我们添加一个以RGB图像为输入的ControlNet编码器,并在冻结基模型的同时对其进行训练。
关于视图数量扩展的消融研究
在训练过程中,研究者会对每个训练对象抽取1、4或8个视图,为每个视图分配不同的抽样比例。虽然可以在推理过程中采样任意数量的视图,以使用不同数量的视图进行训练,但最好还是将训练视图与推理过程中预期的视图数量相匹配。这有助于最大限度地缩小训练和推理性能之间的差距。
研究者对比了两个模型:一个主要在4视图图像上训练,另一个在8视图图像上训练,并在相同视角采样10视图图像。如下图所示,与使用4视图图像训练的模型相比,使用8视图图像训练的模型生成的图像更自然,各视图之间的多视图一致性更好。
使用四个视图的图像进行训练的模型
使用八个视图的图像进行训练的模型
重建模型
从图像观测中提取3D结构通常被称为摄影测量,该技术已被广泛应用于许多3D重建任务中。研究者使用基于Transformer的重建模型从多视图图像中生成3D网格几何形状、纹理图和材质图。他们发现,基于Transformer的模型对未见过的物体图像表现出强大的泛化能力,包括从2D多视角扩散模型合成的输出。
研究者使用仅解码器的Transformer模型,以三平面作为潜在3D表示。输入的RGB和法线图像作为重建模型的条件,在三平面标记和输入条件之间应用交叉注意力层。三平面标记通过MLP处理以预测用于签名距离函数(SDF)和PBR属性的神经网络场,用于基于SDF的体积渲染。神经网络SDF通过等值面提取转换为3D网格。PBR属性通过UV映射烘焙到纹理和材质图中,包括漫反射颜色和如粗糙度和金属通道等材质属性。
研究团队使用大规模图像和3D资产数据来训练重建模型。该模型通过基于SDF的体积渲染在深度、法线、掩码、反射率和材质通道上进行监督,输出由艺术家生成的网格渲染。由于表面法线计算相对昂贵,所以需要仅在表面计算法线并对真实情况进行监督。
他们发现将SDF的不确定性与其对应的渲染分辨率对齐可以提高最终输出的视觉效果。此外,还需要在损失计算期间屏蔽物体边缘以避免由混叠引起的噪声样本。为了平滑样本间的噪声梯度,他们对最终重建模型权重应用了指数移动平均(EMA)。
重建模型方面的消融研究
研究者发现,重建模型在恢复输入视图方面始终比新视图更准确。该模型在视点数量方面具有良好的扩展性,即随着提供更多信息,其性能得到提升。
输入视图数量的比较
对角线单元格表示输入视图与验证视图匹配的情况。这些对角线条目通常显示每行的最佳结果,表明模型最准确地复制了输入视图。此外,随着输入视图数量从4增加到16,结果持续改善。这表明重建模型从额外的输入信息中受益,同时也证明了Edify 3D的重建模型的可扩展性。
受模型随视点数量扩展的启发,研究者进一步研究训练视点数量是否影响重建质量。他们使用固定的8视图设置评估模型,其中模型使用4、6、8和10个视图进行训练。
结果如下图(a)所示。尽管随机采样相机姿态在训练过程中提供了多样化的视图,但随着同一训练步骤中训练视图数量的增加,重建质量仍在持续提高。图(b)为标记数量的比较,它表明了在参数数量固定的情况下,模型需要更多的计算资源来处理更多的标记。
数据处理
Edify 3D在非公开的大规模图像、预渲染的多视图图像和3D形状数据集的组合上进行训练。原始3D数据经过几个预处理步骤,以达到模型训练所需的品质和格式。
数据处理流程的第一步是将所有三维图形转换为统一格式。首先对网格进行三角化处理,打包所有纹理文件,丢弃纹理或材质已损坏的图形,并将材质转换为金属粗糙度格式。通过这一过程,用户将得到一组三维图形,可以按照其意图进行渲染。
对于数据来讲,必要的一环是进行数据质量筛查。研究者从大型三维数据集中过滤掉非以物体为中心的数据,且从多个视角渲染形状,并使用分类器去除部分三维扫描、大型场景、形状拼贴以及包含辅助结构(如背景和地平面)的形状。为确保质量,这一过程通过多轮主动学习进行,由人类专家不断制作具有挑战性的示例来完善分类器。此外,他们还采用基于规则的过滤方法,去除明显存在问题的形状,如过于单薄或缺乏纹理的形状。
为了将3D数据渲染成图像以用于扩散和重建模型,研究团队需要使用自研的光照追踪器进行逼真渲染。他们采用多种采样技术来处理相机参数。一半的图像以固定的仰角和一致的内参进行渲染,而剩余的图像则使用随机的相机姿态和内参进行渲染。这种方法既适用于文本到 3D 用例,也适用于图像到 3D 用例。
而对于3D实体的动作模拟来讲,则需要将模型和真实的实体进行标准姿势对齐。姿势对齐是通过主动学习实现的。研究者通过手动策划少量示例,来训练姿势预测器,并在完整数据集中不断利用困难示例来完成循环训练。
为了给3D形状添加字幕,团队为每个形状渲染一张图像,并使用视觉语言模型(VLM)为图像生成长句和短句字幕。为了提高字幕的全面性,他们还向VLM提供形状的元数据(例如标题、描述、分类树)。
结果
团队通过输入文本提示以及渲染,使得生成的3D模型包含详细的几何形状和清晰的纹理,具有良好分解的反射颜色,使其适用于各种下游编辑和渲染应用。
文本到3D生成结果
对于图像到3D生成,Edify 3D不仅能够准确恢复参考对象的底层3D结构,而且还能在输入图像中未直接观察到的表面区域生成详细的纹理。
图像到3D生成结果
Edify 3D生成的资产以四边形网格的形式呈现,拓扑结构组织良好,如下图所示。这些结构化网格便于操作和精确调整,非常适合各种下游编辑任务和渲染应用。这使它们能够无缝集成到需要视觉真实性和灵活性的3D工作流程中。
四边形网格拓扑
总的来说,Edify 3D是一种针对高质量3D资产生成的解决方案。其研究团队致力于推进和发展3D资产自动化生成的新工具,使3D内容创作更加易于。
参考资料:
https://research.nvidia.com/labs/dir/edify-3d/
本文来自微信公众号“新智元”,作者:泽正