0. 这篇文章干了啥?
近年来,3D社区取得了迅速的发展,开发出了多种自动生成高质量3D资产的方法。这些方法,包括3D重建、3D生成和扫描,能够产生在形状和颜色质量上与手工创建资产相当的3D资产。这些方法的成功揭示了在3D行业中,包括游戏、电影和元宇宙等应用中,用自动生成的3D模型替代手工创建的3D模型的潜力,这将极大减少时间和人力成本。
然而,这种潜力在很大程度上尚未实现,因为当前的3D行业主要依赖基于网格的流程,以追求更高的效率和可控性,而生成3D资产的方法通常使用替代的3D表示方式,以便在各种场景下获得最佳结果。因此,人们投入了大量努力来将其他3D表示方式转换为网格,并取得了一些成功。这些方法产生的网格在形状质量上接近人类艺术家创建的网格(我们称之为艺术家创建的网格,简称AMs),但它们仍然无法解决上述问题。
这是因为所有这些方法产生的网格在拓扑质量上显著不如AMs。这些方法依赖密集的面来重建3D形状,完全忽略了几何特性。在3D行业中使用这些网格会导致三个主要问题:首先,转换后的网格通常包含比AMs多得多的面,导致在存储、渲染和模拟方面出现显著的低效。其次,转换后的网格使得后续处理和向下缩放变得复杂。最后,由于拓扑质量差,这些网格难以在3D编辑软件中编辑和修改。
在这项工作中,我们旨在解决上述问题,以促进自动生成的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训练后对其进行微调。这个微调过程涉及向网格标记序列中添加噪声,以模拟仅解码器变换器可能产生的低质量标记序列,从而使解码器对这样的低质量序列具有鲁棒性。
最后,我们介绍了基于上述技术训练的模型MeshAnything。MeshAnything可以将各种3D表示形式的3D资产转换为AMs(抽象模型),从而极大地促进了它们的应用。此外,我们的广泛实验表明,我们的方法生成的AMs具有显著更少的面和更精细的拓扑结构,同时实现了与之前方法相近或可比的精度指标。
下面一起来阅读一下这项工作~
1. 论文信息
标题:MeshAnything: Artist-Created Mesh Generation with Autoregressive Transformers
作者:Yiwen Chen, Tong He, Di Huang, Weicai Ye, Sijin Chen, Jiaxiang Tang, Xin Chen, Zhongang Cai, Lei Yang, Gang Yu, Guosheng Lin, Chi Zhang
机构:南洋理工大学、上海AI Lab、复旦大学、北京大学、中国科学院大学、图森、Stepfun、西湖大学
原文链接:https://arxiv.org/abs/2406.10163
代码链接:https://github.com/buaacyw/MeshAnything
官方主页:https://buaacyw.github.io/mesh-anything/
2. 摘要
最近,通过重建和生成创建的3D资产已经匹配了手工制作的资产的质量,突显了它们作为替代品的潜力。然而,这种潜力在很大程度上并未实现,因为这些资产总是需要转换为网格以供3D行业应用,而当前网格提取方法产生的网格质量明显低于艺术家创建的网格(AMs)。具体来说,当前的网格提取方法依赖于密集的面片并忽略了几何特征,导致效率低下、后处理复杂以及表示质量较低。为了解决这些问题,我们引入了MeshAnything,一个将网格提取视为生成问题的模型,产生与指定形状对齐的AMs。通过将任何3D表示的3D资产转换为AMs,MeshAnything可以与各种3D资产生产方法相结合,从而增强它们在3D行业的应用。MeshAnything的架构包括一个VQ-VAE和一个形状条件解码器仅变压器。我们首先使用VQ-VAE学习一个网格词汇表,然后在这个词汇表上训练形状条件解码器仅变压器,以实现形状条件的自回归网格生成。我们的大量实验表明,我们的方法生成的AMs面片数量减少了数百倍,显著提高了存储、渲染和模拟效率,同时达到了与先前方法相当的精度。
3. 效果展示
MeshAnything模仿人类艺术家从任何三维表示中提取网格。它可以与各种3D资产生产管道相结合,如3D重建和生成,将其结果转换为艺术家创建的网格,可以无缝应用于3D行业。
MeshAnything可以将任何3D表示转换为艺术家创建的网格(AMs),即人类艺术家创建的网格。它可以与各种3D资产生产流程(如3D重建和生成)相结合,将其结果转换为可以无缝应用于3D行业的AMs。
与Marching Cubes和Remesh的比较。我们将行进立方体和网格任何东西应用于地面实况形状,然后将重新网格化应用于具有不同体素大小的行进立方体结果。现有的方法以重建的方式提取网格,忽略了对象的几何特征,产生了拓扑较差的密集网格。这些方法从根本上无法捕捉尖锐的边缘和平坦的表面,如放大图所示。
4. 主要贡献
• 我们强调了当前自动生成的3D资产无法替代人类艺术家创作的作品的一个重要原因:当前的方法无法将这些3D资产转换为艺术家创作的网格(AMs)。为了解决这个问题,我们提出了一种名为形状条件AM生成的新解决方案,其目标是生成与给定形状对齐的AMs。
• 我们为形状条件AM生成引入了MeshAnything。MeshAnything可以与各种3D资产生产方法相结合,将其结果转换为AMs,以促进它们在3D行业中的应用。
• 我们开发了一种新型的抗噪解码器,以提高网格生成的质量。我们将形状条件作为辅助信息注入解码器中以进行鲁棒解码,并使用带噪声的标记序列对其进行微调,以缩小训练和推理之间的领域差异。
5. 基本原理是啥?
MeshAnything是一种自回归Transformer,能够生成符合给定3D形状的艺术家创建的网格。我们从给定的3D资产中采样点云,将它们编码为特征,并将它们注入到仅解码器的转换器中,以实现形状条件网格生成。
6. 实验结果
在训练两个模型足够多的周期后,我们测试了它们对相同级别噪声的性能。如表1所示,随着添加噪声强度的增加,带有形状条件的抗噪解码器明显获得了更好的重建结果。这表明形状条件有助于解码器识别和纠正输入令牌序列中的不完善之处。
接下来,我们验证抗噪解码器是否确实在推理过程中增强了转换器的性能。测试方法使用了从损坏的GT网格中派生出的密集网格作为生成新网格的条件。然后评估生成的网格与条件形状的形状对齐情况。如表2所示,使用抗噪解码器的模型取得了更好的结果。
如表3所示,我们发现这些方法需要数百倍的面片数量才能达到与我们方法相当的结果。此外,即使我们的方法使用的面片数量显著少于其他方法,但在边缘Chamfer距离(ECD)上仍取得了最佳性能。比较(a)和(g),我们的方法在Chamfer距离(CD)和法线一致性(NC)上稍逊一筹,这主要是由于我们方法作为生成模型的固有失败案例,使其不如Marching Cubes稳健。与重新网格化方法相比,我们发现它们需要付出高昂的代价才能达到与我们相似的面片数量。比较(f)和(g),我们发现即使重新网格化方法达到了与我们相当的面片数量,其顶点数量仍然高出我们几倍,这表明重新网格化方法的拓扑效率远低于我们,因为它们完全忽略了3D资产的形状特征。此外,我们惊讶地发现,我们的方法可以产生比真实情况更少的面片数量的结果,这表明MeshAnything并没有过拟合数据,而是学习了一种高效的拓扑表示,有时甚至超过了真实网格。
7. 限制性 & 总结
限制性:我们的方法无法生成超过最大面片数量限制的网格,因此无法将大型场景和特别复杂的对象转换为网格。此外,由于其生成性质,我们的方法不如Marching Cubes等方法稳定。
总结:在这项工作中,我们提出了一种改进网格提取和网格生成的新型设置,即基于形状的艺术家创建网格(AM)生成。根据这一设置,我们引入了MeshAnything模型,该模型能够生成符合给定3D资产的AMs。MeshAnything可以将任何3D表示形式的3D资产转换为AMs,因此可以与多种3D资产生产方法相结合,以促进其在3D行业中的应用。此外,我们还介绍了一种抗噪解码器架构,以提高生成质量,使模型能够处理自回归变换器产生的低质量标记序列。最后,广泛的实验证明了我们方法的卓越性能,突出了其在3D行业应用中的可扩展性和相较于先前方法的优势。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~