pipeline_tag: 图像转3D
library_name: mesh-anything
MeshAnything:
基于自回归Transformer的
艺术家级网格生成
陈逸文1,2*,
何通2†,
黄迪2,
叶伟才2,
陈思进3,
唐家祥4
陈欣5,
蔡忠昂6,
杨磊6,
于刚7,
林国盛1†,
张弛8†
*上海人工智能实验室研究实习期间完成
†通讯作者
1南洋理工大学S实验室,
2上海人工智能实验室,
3复旦大学,
4北京大学,
5中国科学院大学,
6商汤科技研究院,
7步趣科技,
8西湖大学
发布
- [6月17日] 🔥🔥 我们发布了MeshAnything的350m版本。
目录
安装
我们的环境已在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
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
使用
本地Gradio演示 
python app.py
网格命令行推理
# 文件夹输入
python main.py --input_dir examples --out_dir mesh_output --input_type mesh
# 单文件输入
python main.py --input_path examples/wand.ply --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),前3列为坐标,后3列为法向量
# 文件夹推理
python main.py --input_dir pc_examples --out_dir pc_output --input_type pc_normal
# 单文件推理
python main.py --input_dir pc_examples/mouse.npy --out_dir pc_output --input_type pc_normal
重要说明
- A6000显卡生成单个网格约需7GB显存和30秒
- 输入网格会被归一化到单位包围盒,建议+Y轴朝上以获得最佳效果
- 受计算资源限制,本模型训练时使用面数少于800的网格,因此无法生成超过800面的模型。输入网格需具有足够锐利的形状特征,否则难以用800面表现。前馈式图像转3D方法常因形状质量不足导致效果不佳,建议使用3D重建、扫描或基于SDS的方法(如DreamCraft3D)的输出作为输入
- 更多示例请参考https://huggingface.co/spaces/Yiwen-ntu/MeshAnything/tree/main/examples
待办事项
项目仍在持续完善中,感谢您的耐心等待。
致谢
我们的代码基于以下优秀项目:
引用
@misc{chen2024meshanything,
title={MeshAnything:基于自回归Transformer的艺术家级网格生成},
author={陈逸文 and 何通 and 黄迪 and 叶伟才 and 陈思进 and 唐家祥 and 陈欣 and 蔡忠昂 and 杨磊 and 于刚 and 林国盛 and 张弛},
year={2024},
eprint={2406.10163},
archivePrefix={arXiv},
primaryClass={cs.CV}
}