MeshAnything:
基于自回归变换器的
艺术家创作网格生成
陈怡文1,2*,
何通2†,
黄迪2,
叶伟才2,
陈思进3,
唐嘉祥4
陈鑫5,
蔡忠罡6,
杨磊6,
余刚7,
林国升1†,
张驰8†
*在上海人工智能实验室研究实习期间完成的工作。
†通讯作者。
1南洋理工大学S-Lab,
2上海人工智能实验室,
3复旦大学,
4北京大学,
5中国科学院大学,
6商汤科技研究院,
7Stepfun,
8西湖大学
发布
- [6/17] 🔥🔥 尝试我们新发布的 MeshAnything V2。V2版本的最大面数增加到1600,性能更佳。
- [6/17] 我们发布了350m版本的 MeshAnything。
目录
安装
我们的环境已在Ubuntu 22、CUDA 11.8上使用A100、A800和A6000进行测试。
- 克隆我们的仓库并创建conda环境
git clone https://github.com/buaacyw/MeshAnything.git && cd MeshAnything
conda create -n MeshAnything python==3.10.13 -y
conda activate MeshAnything
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt
pip install flash-attn --no-build-isolation
或者
pip install git+https://github.com/buaacyw/MeshAnything.git
然后在你的代码中直接使用
import MeshAnything
使用
本地Gradio演示
python app.py
网格命令行推理
# 文件夹输入
python main.py --input_dir examples --out_dir mesh_output --input_type mesh
# 单文件输入
python main.py --input_path examples/wand.obj --out_dir mesh_output --input_type mesh
# 先用Marching Cubes预处理
python main.py --input_dir examples --out_dir mesh_output --input_type mesh --mc
点云命令行推理
# 注意:如果你想使用自己的点云,请确保包含法线。
# 文件格式应为.npy文件,形状为(N, 6),其中N是点的数量。前3列是坐标,后3列是法线。
# 文件夹推理
python main.py --input_dir pc_examples --out_dir pc_output --input_type pc_normal
# 单文件推理
python main.py --input_path pc_examples/mouse.npy --out_dir pc_output --input_type pc_normal
重要说明
- 在A6000 GPU上生成一个网格大约需要7GB显存和30秒。
- 输入网格将被归一化到单位包围盒。为获得更好的结果,输入网格的向上向量应为+Y。
- 受计算资源限制,MeshAnything在少于800个面的网格上训练,无法生成超过800个面的网格。输入网格的形状应足够锐利;否则,用800个面表示将非常困难。因此,前向3D生成方法由于形状质量不足,常常会产生不好的结果。我们建议使用3D重建、扫描和基于SDS的方法(如DreamCraft3D)的结果作为MeshAnything的输入。
- 更多示例请参考 https://huggingface.co/spaces/Yiwen-ntu/MeshAnything/tree/main/examples。
待办事项
该仓库仍在建设中,感谢您的耐心等待。
- 发布训练代码。
- 发布更大的模型。
致谢
我们的代码基于这些优秀的仓库:
Star历史
引用
@misc{chen2024meshanything,
title={MeshAnything: Artist-Created Mesh Generation with Autoregressive Transformers},
author={Yiwen Chen and Tong He and Di Huang and Weicai Ye and Sijin Chen and Jiaxiang Tang and Xin Chen and Zhongang Cai and Lei Yang and Gang Yu and Guosheng Lin and Chi Zhang},
year={2024},
eprint={2406.10163},
archivePrefix={arXiv},
primaryClass={cs.CV}
}