MeshAnything:突破3D网格生成的新境界
在3D建模和计算机图形学领域,一项名为MeshAnything的创新技术正在引起广泛关注。这项由南洋理工大学S-Lab、上海人工智能实验室等多家机构联合开发的技术,旨在解决3D资产生成中的一个关键问题:如何高效地生成艺术家级别的网格模型。
什么是MeshAnything?
MeshAnything是一个基于自回归变换器的模型,能够从任何3D表示中生成艺术家级别的网格(Artist-Created Meshes,简称AMs)。这项技术的核心在于它能够模仿人类艺术家从各种3D表示中提取网格的过程,并将其应用于各种3D资产生产流程,如3D重建和生成等。
如上图所示,MeshAnything能够从各种输入中生成高质量的网格模型,展现出惊人的灵活性和适应性。
MeshAnything的技术创新
MeshAnything的核心架构包含两个关键组件:
- VQ-VAE(Vector Quantized Variational Autoencoder):用于学习网格词汇表。
- 基于形状条件的仅解码器变换器:用于在学习到的词汇表上进行形状条件的自回归网格生成。
这种架构设计使MeshAnything能够生成面数少得多的网格,同时保持与之前方法相当的精度。研究表明,MeshAnything生成的网格面数可以减少数百倍,显著提高了存储、渲染和模拟效率。
上图展示了MeshAnything与传统方法的对比。可以看到,MeshAnything生成的网格在保持形状精度的同时,大大减少了面数。
MeshAnything的工作流程
MeshAnything的工作流程如下:
- 从给定的3D资产中采样点云。
- 将点云编码为特征。
- 将编码后的特征注入仅解码器变换器,实现形状条件下的网格生成。
这种方法避免了直接学习复杂的3D形状分布,而是专注于通过优化拓扑结构高效构建形状,大大减轻了训练负担并提高了可扩展性。
MeshAnything的应用前景
MeshAnything的出现为3D资产生产带来了新的可能性。它可以与各种3D资产生产方法集成,从而增强这些方法在整个3D行业中的应用。具体而言,MeshAnything可以应用于以下场景:
- 3D重建:将扫描或重建的点云数据转换为高质量的网格模型。
- 3D生成:将生成的3D形状转换为可用于工业应用的网格模型。
- 3D资产优化:将现有的高面数网格模型简化为低面数但保持高质量的网格模型。
MeshAnything V2:更进一步的突破
最近,研究团队发布了MeshAnything的升级版本——MeshAnything V2。这个新版本引入了一种称为Adjacent Mesh Tokenization(AMT)的新型网格tokenization方法,进一步提升了模型的性能和效率。
AMT的核心思想是尽可能使用单个顶点来表示一个面,而不是传统方法中使用的三个顶点。这种方法平均将token序列长度减少了一半,使得序列表示更加紧凑和结构化,从而从根本上提高了网格生成的效率和性能。
MeshAnything V2的主要改进包括:
- 最大面数从800增加到1600,能够处理更复杂的模型。
- 生成效率和质量都有显著提升。
- 更好地适应各种3D资产生产流程。
MeshAnything的局限性和未来发展
尽管MeshAnything展现出了巨大的潜力,但它仍然存在一些局限性:
- 计算资源需求:生成一个网格模型需要约7GB显存和30秒时间(在A6000 GPU上)。
- 输入要求:输入网格需要归一化到单位包围盒,且上向量应为+Y以获得更好的结果。
- 面数限制:当前版本训练于少于800面的网格,无法生成超过800面的网格。
研究团队正在积极解决这些问题,未来的发展方向包括:
- 发布训练代码,使社区能够针对特定需求定制模型。
- 发布更大规模的模型,以处理更复杂的3D形状。
- 进一步优化模型架构,提高生成效率和质量。
结语
MeshAnything代表了3D网格生成技术的一个重要突破。它不仅提供了一种高效生成高质量网格的方法,还为3D资产生产流程带来了新的可能性。随着技术的不断发展和完善,我们可以期待看到更多令人兴奋的应用和创新。对于3D建模师、游戏开发者、VR/AR内容创作者以及任何涉及3D资产生产的领域,MeshAnything都将是一个值得关注和尝试的强大工具。
随着人工智能和计算机图形学的不断融合,像MeshAnything这样的技术正在重新定义我们创建和交互3D内容的方式。它不仅提高了效率,还为创作者提供了更多的创意空间。我们可以期待,在不久的将来,这类技术将成为3D内容创作的标准工具,推动整个行业向前发展。