normal-depth-diffusion

normal-depth-diffusion

通用法线深度扩散模型实现高细节3D生成

Normal-Depth Diffusion Model是一个创新的文本到3D生成模型,采用法线深度扩散技术生成细节丰富的3D模型。该项目支持单视图和多视图生成,提供预训练权重、推理和训练代码,以及Objaverse数据集的多视图渲染图像。这一模型为3D内容创作开辟新途径,可应用于艺术设计等多个领域。

Normal-Depth Diffusion ModelAI生成3D模型图像生成深度学习Github开源项目
<p align="center"> <br> <img src="https://yellow-cdn.veclightyear.com/835a84d5/df2448f5-3089-4846-a04f-5313df42b040.gif" width="400"/> <br> <h1>法线深度扩散模型</h1> <p>

法线深度扩散模型:一个通用的法线深度扩散模型。

如果您熟悉中文,可以阅读中文版本的README

文本到法线深度

teaser-nd

文本到多视角法线深度

<img src="https://yellow-cdn.veclightyear.com/835a84d5/8e0f9bee-4898-4e2a-92cf-51d8672a6995.jpg" alt="image" width="atuo" height="auto">

项目页面 | 论文 | YouTube

  • 推理代码
  • 训练代码
  • 预训练模型:ND、ND-MV、Albedo-MV
  • 预训练模型:ND-MV-VAE
  • Objaverse数据集的渲染多视角图像

新闻

  • 2023-12-25:我们通过阿里云OSS服务发布了训练数据集mvs_objaverse。我们还提供了一个方便的多线程脚本用于快速下载。
  • 2023-12-11:推理代码和预训练模型已发布。我们正在努力改进ND-Diffusion Model,敬请期待!

3D生成

  • 本仓库仅包含RichDreamer论文中的扩散模型和2D图像生成代码。
  • 对于3D生成,请查看RichDreamer

推理准备

  1. 使用以下脚本安装依赖项。
conda create -n nd conda activate nd pip install -r requirements.txt pip install git+https://github.com/openai/CLIP.git pip install git+https://github.com/CompVis/taming-transformers.git pip install webdataset pip install img2dataset

我们还提供了一个dockerfile来构建docker镜像。

sudo docker build -t mv3dengine_22.04:cu118 -f docker/Dockerfile .
  1. 下载预训练权重。
  • ND:在Laion-2B上训练的法线深度扩散模型
  • ND-MV:多视角法线深度扩散模型
  • Alebdo-MV:多视角深度条件反照率扩散模型

我们还提供了一个下载脚本。

python tools/download_models/download_nd_models.py

推理(采样)

我们提供了一个用于采样的脚本

sh demo_inference.sh

或使用以下详细说明:

文本到法线深度采样

# dmp求解器
python ./scripts/t2i.py --ckpt $ckpt_path --prompt $prompt --dpm_solver --n_samples 2 --save_dir $save_dir
# plms求解器
python ./scripts/t2i.py --ckpt $ckpt_path --prompt $prompt --plms --n_samples 2  --save_dir $save_dir
# ddim求解器
python ./scripts/t2i.py --ckpt $ckpt_path --prompt $prompt --n_samples 2  --save_dir $save_dir

文本到多视角法线深度采样

# nd-mv
python ./scripts/t2i_mv.py --ckpt_path $ckpt_path --prompt $prompt  --num_frames 4  --model_name nd-mv --save_dir $save_dir

# nd-mv带VAE(即将推出)
python ./scripts/t2i_mv.py --ckpt_path $ckpt_path --prompt $prompt  --num_frames 4  --model_name nd-mv-vae --save_dir $save_dir

文本到多视角反照率采样

python ./scripts/td2i_mv.py --ckpt_path $ckpt_path --prompt $prompt --depth_file $ depth_file --num_frames 4  --model_name albedo-mv --save_dir $save_dir

训练准备

  1. 下载Laion-2B-en-5-AES(训练ND模型所需

parquet下载laion-2b数据集 然后,将parquet文件放入./laion2b-dataset-5-aes

cd ./tools/download_dataset bash ./download_2b-5_aes.sh cd -
  1. 下载单目先验模型权重(训练ND模型所需
# 将scannet.pt移动到normalbae先验模型 mv scannet.pt ./libs/ControlNet-v1-1-nightly/annotator/normalbae/scannet.pt # 将dpt_beit_large512.pt移动到./libs/omnidata_torch/pretrained_models/dpt_beit_large_512.pt mv dpt_beit_large512.pt ./libs/omnidata_torch/pretrained_models/dpt_beit_large_512.pt
  1. 下载Objaverse数据集的渲染多视角图像(训练ND-MV和Albedo-MV模型所需
  • 使用准备好的脚本下载我们的渲染数据集
wget https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/aigc3d/valid_paths_v4_cap_filter_thres_28.json # 示例:python ./scripts/data/download_objaverse.py ./mvs_objaverse ./valid_paths_v4_cap_filter_thres_28.json 50 python ./scripts/data/download_objaverse.py /保存数据的路径 /valid_paths_v4_cap_filter_thres_28.json的路径 线程数(例如 10) # 如果将数据保存在其他位置,请设置一个链接 ln -s /保存数据的路径 mvs_objaverse # 说明文件 wget https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/aigc3d/text_captions_cap3d.json

训练

训练法线深度VAE模型

  1. 下载在ImageNet上预训练的VAE权重
  2. 修改configs/autoencoder_normal_depth/autoencoder_normal_depth.yaml中的配置文件,设置model.ckpt_path=/预训练VAE权重的路径
# 训练VAE数据集 bash ./scripts/train_vae/train_nd_vae/train_rgbd_vae_webdatasets.sh \ model.params.ckpt_path=${预训练VAE权重} \ data.params.train.params.curls='path_laion/{00000..${:5 end_id}}.tar' \ --gpus 0,1,2,3,4,5,6,7

训练法线深度扩散模型

在训练并获得法线深度VAE模型后,或者您可以从ND-VAE下载

# 第一步 export SD-MODEL-PATH=/sd-1.5的路径 bash scripts/train_normald_sd/txt_cond/web_datasets/train_normald_webdatasets.sh --gpus 0,1,2,3,4,5,6,7 \ model.params.first_stage_ckpts=${法线深度VAE} model.params.ckpt_path=${SD-MODEL-PATH} \ data.params.train.params.curls='path_laion/{00000..${:5 end_id}}.tar' # 第二步 在./configs/stable-diffusion/normald/sd_1_5/txt_cond/web_datasets/laion_2b_step2.yaml中修改您的step_weights路径 bash scripts/train_normald_sd/txt_cond/web_datasets/train_normald_webdatasets_step2.sh --gpus 0,1,2,3,4,5,6,7 \ model.params.first_stage_ckpts=${法线深度VAE} \ model.params.ckpt_path=${预训练步骤权重} \ data.params.train.params.curls='path_laion/{00000..${:5 end_id}}.tar'

训练多视角法线深度扩散模型

在训练并获得法线深度扩散模型后,或者您可以从ND下载,

我们提供两个版本的多视角法线深度扩散模型

a. 不带VAE去噪 b. 带VAE去噪

在当前版本中,我们提供不带VAE去噪的版本

# a. 训练不带VAE版本 bash ./scripts/train_normald_sd/txt_cond/objaverse/objaverse_finetune_wovae_mvsd-4.sh --gpus 0,1,2,3,4,5,6,7, \ model.params.ckpt_path=${法线深度扩散} # b. 训练带VAE版本 bash ./scripts/train_normald_sd/txt_cond/objaverse/objaverse_finetune_mvsd-4.sh --gpus 0,1,2,3,4,5,6,7, \ model.params.ckpt_path=${法线深度扩散}

训练多视角深度条件反照率扩散模型

在训练并获得法线深度扩散模型后,或者您可以从ND下载,

bash scripts/train_abledo/objaverse/objaverse_finetune_mvsd-4.sh --gpus 0,1,2,3,4,5,6,7, model.params.ckpt_path=${法线深度扩散}

致谢

我们大量借鉴了以下代码库。非常感谢这些作者分享他们的代码。

引用

@article{qiu2023richdreamer,
    title={RichDreamer: A Generalizable Normal-Depth Diffusion Model for Detail Richness in Text-to-3D}, 
    author={Lingteng Qiu and Guanying Chen and Xiaodong Gu and Qi zuo and Mutian Xu and Yushuang Wu and Weihao Yuan and Zilong Dong and Liefeng Bo and Xiaoguang Han},
    year={2023},
    journal = {arXiv preprint arXiv:2311.16918}
}

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多