卷积重建模型
官方实现 CRM: 使用卷积重建模型将单张图片转换为3D纹理网格。
CRM 是一个前馈模型,可以在10秒内生成3D纹理网格。
项目页面 | Arxiv | HF-Demo | 模型权重
https://github.com/thu-ml/CRM/assets/40787266/8b325bc0-aa74-4c26-92e8-a8f0c1079382
试用CRM 🍻
- 在 Huggingface Demo 试用CRM。
- 在 Replicate Demo 试用CRM。感谢 @camenduru!
安装
第一步 - 基础
逐个安装包,我们使用 python 3.9
pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117
pip install torch-scatter==2.1.1 -f https://data.pyg.org/whl/torch-1.13.1+cu117.html
pip install kaolin==0.14.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-1.13.1_cu117.html
pip install -r requirements.txt
此外,需要根据官方 文档 手动逐个安装 xformers (conda 不需要),例如:
pip install ninja
pip install -v -U git+https://github.com/facebookresearch/xformers.git@main#egg=xformers
第二步 - Nvdiffrast
根据官方 文档 安装 nvdiffrast,例如:
pip install git+https://github.com/NVlabs/nvdiffrast
推理
我们建议使用 gradio 进行可视化推理。
gradio app.py
对于命令行中的推理,只需运行:
CUDA_VISIBLE_DEVICES="0" python run.py --inputdir "examples/kunkun.webp"
它将输出预处理的图像、生成的六视图图像和CCMs以及一个obj格式的3D模型。
提示: (1) 如果结果不理想,请检查输入图像是否正确预处理成灰色背景。否则结果将无法预测。 (2) 与 Huggingface Demo 不同,该官方实现使用UV纹理而不是顶点颜色。它比在线演示有更好的纹理,但由于UV纹理处理生成时间更长。
待办事项
- 发布推理代码。
- 发布预训练模型。
- 优化推理代码以适应低内存GPU。
- 上传训练代码。
致谢
引用
@article{wang2024crm,
title={CRM: 使用卷积重建模型将单张图片转换为3D纹理网格},
author={Zhengyi Wang, Yikai Wang, Yifei Chen, Chendong Xiang, Shuo Chen, Dajiang Yu, Chongxuan Li, Hang Su, Jun Zhu},
journal={arXiv preprint arXiv:2403.05034},
year={2024}
}