MeshAnything:艺术家级别的自回归3D网格生成

MeshAnything: Artist-Created Mesh Generation with Autoregressive Transformers

📜 文献卡

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
DOI: 10.48550/arXiv.2406.10163
摘要: Recently, 3D assets created via reconstruction and generation have matched the quality of manually crafted assets, highlighting their potential for replacement. However, this potential is largely unrealized because these assets always need to be converted to meshes for 3D industry applications, and the meshes produced by current mesh extraction methods are significantly inferior to Artist-Created Meshes (AMs), i.e., meshes created by human artists. Specifically, current mesh extraction methods rely on dense faces and ignore geometric features, leading to inefficiencies, complicated post-processing, and lower representation quality. To address these issues, we introduce MeshAnything, a model that treats mesh extraction as a generation problem, producing AMs aligned with specified shapes. By converting 3D assets in any 3D representation into AMs, MeshAnything can be integrated with various 3D asset production methods, thereby enhancing their application across the 3D industry. The architecture of MeshAnything comprises a VQ-VAE and a shape-conditioned decoder-only transformer. We first learn a mesh vocabulary using the VQ-VAE, then train the shape-conditioned decoder-only transformer on this vocabulary for shape-conditioned autoregressive mesh generation. Our extensive experiments show that our method generates AMs with hundreds of times fewer faces, significantly improving storage, rendering, and simulation efficiencies, while achieving precision comparable to previous methods.
github(Pytorch):[buaacyw/MeshAnything:https://github.com/buaacyw/meshanything

⚙️ 内容

近期,由重建和生成创建的3D 资产已经达到了手工制作资产的质量水平,凸显了它们在替代领域的潜力。然而,这一潜力并未得到充分实现,因为这些资产总是需要转换为网格以用于3D 行业应用,而当前的网格提取方法产生的网格明显劣于由人类艺术家创作的网格(AMs)。特别是,当前的网格提取方法依赖于密集的面,并忽略了几何特征,导致低效、复杂的后处理以及较低的表示质量。为了解决这些问题,研究人员提出了 MeshAnything。

MeshAnything 将3D模型的网格提取视为生成问题,旨在产出与指定形状对齐的艺术家创作网格(Artist-Created Meshes, AMs)。这项技术可以将任意3D表示形式的资产转化为AMs,从而与多种3D资源生产流程相结合,增强其在3D行业中的应用。MeshAnything的核心架构包括一个VQ-VAE和一个形状条件解码器,该解码器是一个仅有的自回归变压器,首先通过VQ-VAE学习网格词汇,然后在此基础上训练形状条件解码器进行自回归网格生成。

💡 创新点
  1. 网格生成新视角:首次将网格提取视为生成任务,模拟人类艺术家的网格提取过程,生成具有高效拓扑结构的AMs。

  2. 减少面数显著提升效率:生成的AMs相比传统方法能减少数百倍的面数,极大地提高了存储、渲染和模拟的效率,同时保持与先前方法相当的精确度。

  3. 形状条件解码:提出形状条件的自回归网格生成方法,仅需学习如何为已知形状构建高效拓扑,简化学习过程。

  4. 广泛适用性:适用于任何3D表示形式,能与不同的3D资产生产方法集成,提高3D行业的应用范围

🧩 不足
  1. 面数限制:MeshAnything无法生成超过最大面数限制的网格,因此对于大型场景或特别复杂的对象处理能力有限。受计算资源限制,MeshAnything 是在少于 800 个面的网格上训练的,无法生成超过 800 个面的网格。

  2. 形状质量:输入网格的形状应足够锋利;否则,仅用 800 张面孔来表示它将具有挑战性。因此,由于形状质量不足,前馈图像到 3D 方法通常会产生不良结果。我们建议使用 3D 重建、扫描和基于 sds 的方法(如 DreamCraft3D)的结果作为 MeshAnything 的输入。

  3. 稳定性问题:由于其生成性质,相比于确定性方法如Marching Cubes,MeshAnything在稳定性上略显不足。

🔁实验卡

💧 数据

数据准备
  1. 数据来源与选择:MeshAnything的训练数据来源于两个主要的数据集:Objaverse和ShapeNet。Objaverse因其包含大量无类别限制的AMs而被选中,这使得MeshAnything能够处理一般形状。另一方面,ShapeNet虽然局限于特定类别,但提供了高质量的数据。结合这两个数据集,研究确保了模型的广泛适用性。

  2. 数据过滤:为了保证数据质量,研究者从两个数据集中过滤掉了面数超过800的网格,并通过人工检查移除了低质量的网格。最终,数据集包含了51k个来自Objaverse和5k个来自ShapeNet的网格。

  3. 数据划分:从总数据集中随机抽取10%作为评估数据集,剩余的90%用于训练。这样的划分确保了模型的泛化能力能够得到有效评估。

👩🏻‍💻 方法

数据处理与增强
  1. 预处理:所有网格的面按照最低顶点索引排序,然后是下一个最低,以此类推。顶点则按z-y-x坐标升序排列,其中z轴代表垂直方向。每个面内的索引进行重排,确保最低索引优先。这一步骤有助于模型学习一致的表示。

  2. 数据增强:在训练过程中,研究团队应用了实时的缩放、平移和旋转增强,将每个网格标准化到[-0.5, 0.5]的单位边界框内。这样的增强策略增加了模型的鲁棒性,使其能够更好地泛化到未见过的数据。

🔬 实验

实现细节
  1. 网络架构:MeshAnything的架构结合了VQ-VAE和自回归变压器。VQ-VAE的编码器和解码器基于BERT架构,而自回归部分选择了OPT-350M模型。使用了残差向量量化技术,深度为3,代码本大小为8,192个条目。

  2. 点云编码器:点云的编码由一个预训练的点云编码器完成,该编码器基于Objaverse数据集训练,能输出一个固定长度的257个令牌序列,其中包括256个携带形状信息的令牌和1个含有形状语义信息的头令牌。每组点云采样4096个点。

  3. 训练策略:模型使用交叉熵损失进行训练。在推理阶段,输入点云令牌序列到变压器中,要求生成后续序列,然后通过噪声抵抗解码器重构网格。每个序列在点云令牌后添加一个开始令牌(),在网格令牌后添加一个结束令牌()。

📜 结论

  • 实验表明,MeshAnything能够有效从各种3D表示中生成AMs,并且在集成到不同3D资产生产流程时,能适应多样化的条件进行网格生成。定量实验通过计算Chamfer距离、Edge Chamfer距离、法线一致性等指标来评估网格质量,结果显示MeshAnything不仅能生成与艺术家作品相媲美的网格,而且在某些情况下以更少的面数超越了地面真值。
  • 噪声抵抗解码器的消融实验验证了其有效性,提高了模型在有噪声情况下的性能。

🤔 总结卡


MeshAnything是一项突破性的研究,它通过创新地将网格提取视为一个生成问题,成功地缩小了自动生产与手工创建3D资产之间的差距。该模型不仅提升了网格的拓扑效率,降低了存储和处理成本,还通过灵活的兼容性为3D行业带来了广泛的应用潜力。尽管存在一些局限性,如对复杂对象处理的局限和稳定性问题,但MeshAnything无疑为3D内容创造开辟了新的可能,有望在游戏、电影及元宇宙等领域引发生产效率的革命。未来的研究可进一步探索提高模型稳定性和扩大适用范围的方法。

相关推荐
aPurpleBerry3 分钟前
解决 fatal: detected dubious ownership in repository at ‘XXXX‘ 问题
github
jndingxin15 分钟前
OpenCV相机标定与3D重建(26)计算两个二维点集之间的部分仿射变换矩阵(2x3)函数 estimateAffinePartial2D()的使用
opencv·3d
vvw&4 小时前
如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台
linux·运维·服务器·ubuntu·开源·github·graylog
盛世隐者4 小时前
【pytorch】循环神经网络
人工智能·pytorch
HelloGitHub5 小时前
跟着 8.6k Star 的开源数据库,搞 RAG!
开源·github
四口鲸鱼爱吃盐6 小时前
Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
烧技湾6 小时前
RTMW:实时多人2D和3D 全人体姿态估计
3d·全人体关键点检测
audyxiao00116 小时前
AI一周重要会议和活动概览
人工智能·计算机视觉·数据挖掘·多模态
sdaxue.com17 小时前
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
数据库·github·网站·帝国cms·认证码