法线深度扩散模型:一个通用的法线深度扩散模型。
如果您熟悉中文,可以阅读中文版本的README。
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 .
我们还提供了一个下载脚本。
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
从parquet下载laion-2b数据集
然后,将parquet文件放入./laion2b-dataset-5-aes
cd ./tools/download_dataset bash ./download_2b-5_aes.sh cd -
# 将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
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
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}
}
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!