MeshAnything:直接生成一切网格!
MeshAnything:直接生成一切网格!
近年来,3D视觉领域取得了快速发展,各种自动生成高质量3D资产的方法层出不穷。然而,这些方法生成的3D资产在应用于3D行业时,往往需要转换为网格格式,而现有的网格提取方法生成的网格质量普遍低于人工创建的网格(AMs)。为了解决这一问题,来自南洋理工大学等机构的研究者提出了MeshAnything模型,该模型能够生成与给定形状对齐的AMs,显著提高了存储、渲染和模拟效率。
1. 研究背景与动机
3D视觉领域近年来取得了显著进展,开发出了多种自动生成高质量3D资产的方法。这些方法包括3D重建、3D生成和扫描,能够产生在形状和颜色质量上与手工创建资产相当的3D资产。这些方法的成功揭示了在3D行业中,包括游戏、电影和元宇宙等应用中,用自动生成的3D模型替代手工创建的3D模型的潜力,这将极大减少时间和人力成本。
然而,这种潜力在很大程度上尚未实现,因为当前的3D行业主要依赖基于网格的流程,以追求更高的效率和可控性,而生成3D资产的方法通常使用替代的3D表示方式,以便在各种场景下获得最佳结果。因此,人们投入了大量努力来将其他3D表示方式转换为网格,并取得了一些成功。这些方法产生的网格在形状质量上接近人类艺术家创建的网格(我们称之为艺术家创建的网格,简称AMs),但它们仍然无法解决上述问题。
这是因为所有这些方法产生的网格在拓扑质量上显著不如AMs。这些方法依赖密集的面来重建3D形状,完全忽略了几何特性。在3D行业中使用这些网格会导致三个主要问题:首先,转换后的网格通常包含比AMs多得多的面,导致在存储、渲染和模拟方面出现显著的低效。其次,转换后的网格使得后续处理和向下缩放变得复杂。最后,由于拓扑质量差,这些网格难以在3D编辑软件中编辑和修改。
2. MeshAnything模型
在这项工作中,研究者旨在解决上述问题,以促进自动生成的3D资产在3D行业中的应用。如前所述,所有之前的方法都以重建的方式提取具有过多密集面的3D网格,这本质上无法解决这些问题。因此,研究者首次将网格提取表述为一个生成问题,从而与以往的方法不同:他们教模型生成与给定3D资产对齐的艺术家创建的网格(AMs)。他们的方法生成的网格模仿了人类艺术家创建的网格的形状和拓扑质量。因此,他们的设置,即形状条件化的AM生成,从根本上避免了之前所有的问题,使得生成的结果能够无缝集成到3D行业流程中。
然而,训练这样的模型面临着重大挑战。第一个挑战是构建数据集,因为研究者需要成对的形状条件和艺术家创建的网格(AMs)来进行模型训练。形状条件必须尽可能地从多种不同的3D表示中高效导出,以在推理过程中作为条件使用。此外,它必须具有足够的精度来准确表示3D形状,并且能够高效地处理成可以注入到模型中的特征。在权衡利弊之后,研究者选择了点云,因为它们具有明确且连续的表示,易于从大多数3D表示中导出,并且成熟的点云编码器是可用的。
研究者从Objaverse和ShapeNet中筛选出高质量的AMs(抽象模型)。在获取成对的形状条件时,一种直接的方法是直接从AMs中采样点云。然而,这种方法在推理时会导致较差的结果,因为采样的点云具有过高的精度,而自动生成的3D资产无法提供相似质量的点云,导致训练和推理之间存在领域差异。为了解决这个问题,研究者故意破坏AMs的形状质量。他们首先从AMs中提取有符号距离函数,然后使用将其转换为更粗糙的网格,并从这个粗糙的网格中采样点云,以缩小推理和训练之间形状条件的领域差异。
研究者使用VQ-VAE来学习网格词汇表,并在这个词汇表上训练仅解码器的Transformer以生成网格。为了注入形状条件,研究者从最近的多模态大型语言模型(MLLM)的成功中受到启发,其中,通过预训练的图像编码器编码的图像特征被投影到大型语言模型的标记空间中,以实现高效的多模态理解。类似地,研究者将从训练的VQ-VAE中获得的网格标记视为大型语言模型中的语言标记,并使用预训练的编码器将点云编码为形状特征,然后将这些特征投影到网格标记空间中。这些形状标记被放置在网格标记序列的开头,有效地作为下一个标记预测的形状条件。在预测之后,这些预测的网格标记通过VQ-VAE解码器解码回网格。
为了进一步提高网格生成的质量,研究者开发了一种新颖的抗噪解码器,以实现稳健的网格解码。他们的观察是,由于VQ-VAE中的解码器仅使用来自编码器的真实标记序列进行训练,因此在解码生成的标记序列时可能会出现领域差异。为了缓解这个问题,研究者将形状条件作为辅助信息注入到VQ-VAE解码器中,以实现稳健的解码,并在VQ-VAE训练后对其进行微调。这个微调过程涉及向网格标记序列中添加噪声,以模拟仅解码器变换器可能产生的低质量标记序列,从而使解码器对这样的低质量序列具有鲁棒性。
3. 主要贡献
- 研究者强调了当前自动生成的3D资产无法替代人类艺术家创作的作品的一个重要原因:当前的方法无法将这些3D资产转换为艺术家创作的网格(AMs)。为了解决这个问题,研究者提出了一种名为形状条件AM生成的新解决方案,其目标是生成与给定形状对齐的AMs。
- 研究者为形状条件AM生成引入了MeshAnything。MeshAnything可以与各种3D资产生产方法相结合,将其结果转换为AMs,以促进它们在3D行业中的应用。
- 研究者开发了一种新型的抗噪解码器,以提高网格生成的质量。研究者将形状条件作为辅助信息注入解码器中以进行鲁棒解码,并使用带噪声的标记序列对其进行微调,以缩小训练和推理之间的领域差异。
4. 实验结果
在训练两个模型足够多的周期后,研究者测试了它们对相同级别噪声的性能。如表1所示,随着添加噪声强度的增加,带有形状条件的抗噪解码器明显获得了更好的重建结果。这表明形状条件有助于解码器识别和纠正输入令牌序列中的不完善之处。
接下来,研究者验证抗噪解码器是否确实在推理过程中增强了转换器的性能。测试方法使用了从损坏的GT网格中派生出的密集网格作为生成新网格的条件。然后评估生成的网格与条件形状的形状对齐情况。如表2所示,使用抗噪解码器的模型取得了更好的结果。
如表3所示,研究者发现这些方法需要数百倍的面片数量才能达到与研究者方法相当的结果。此外,即使研究者的方法使用的面片数量显著少于其他方法,但在边缘Chamfer距离(ECD)上仍取得了最佳性能。比较(a)和(g),研究者的方法在Chamfer距离(CD)和法线一致性(NC)上稍逊一筹,这主要是由于研究者方法作为生成模型的固有失败案例,使其不如Marching Cubes稳健。与重新网格化方法相比,研究者发现它们需要付出高昂的代价才能达到与研究者相似的面片数量。比较(f)和(g),研究者发现即使重新网格化方法达到了与研究者相当的面片数量,其顶点数量仍然高出研究者几倍,这表明重新网格化方法的拓扑效率远低于研究者,因为它们完全忽略了3D资产的形状特征。此外,研究者惊讶地发现,研究者的方法可以产生比真实情况更少的面片数量的结果,这表明MeshAnything并没有过拟合数据,而是学习了一种高效的拓扑表示,有时甚至超过了真实网格。
5. 限制性 & 总结
限制性:研究者的方法无法生成超过最大面片数量限制的网格,因此无法将大型场景和特别复杂的对象转换为网格。此外,由于其生成性质,研究者的方法不如Marching Cubes等方法稳定。
总结:在这项工作中,研究者提出了一种改进网格提取和网格生成的新型设置,即基于形状的艺术家创建网格(AM)生成。根据这一设置,研究者引入了MeshAnything模型,该模型能够生成符合给定3D资产的AMs。MeshAnything可以将任何3D表示形式的3D资产转换为AMs,因此可以与多种3D资产生产方法相结合,以促进其在3D行业中的应用。此外,研究者还介绍了一种抗噪解码器架构,以提高生成质量,使模型能够处理自回归变换器产生的低质量标记序列。最后,广泛的实验证明了研究者方法的卓越性能,突出了其在3D行业应用中的可扩展性和相较于先前方法的优势。