通义XR实验室文生3D模型开源,魔搭社区最佳实践来啦!

简介: 通义实验室XR实验室重磅开源文生3D新模型,能够从一句文本描述构建3D模型及对应纹理,目前已经在Github面向外界开源!与该项技术一起开源的,还有通义实验室推出的Text-to-ND(文本生成深度、法向图)、Text-to-ND-MV(文本生成多视角的深度、法向图)两个大模型。我们先来直观感受一下这两个大模型的魔法能力:

引言

通义实验室XR实验室重磅开源文生3D新模型,能够从一句文本描述构建3D模型及对应纹理,目前已经在Github面向外界开源!与该项技术一起开源的,还有通义实验室推出的Text-to-ND(文本生成深度、法向图)、Text-to-ND-MV(文本生成多视角的深度、法向图)两个大模型。我们先来直观感受一下这两个大模型的魔法能力:

Text-to-ND大模型:

Text-to-ND-MV大模型:

为了满足不同开发者的需求,通义实验室XR实验室开源了Text-to-ND的基础版本以及Multi-View版本,满足不同细粒度的算法开发需求。不仅如此,还同步开源了从大模型中蒸馏出(Score Distillation Sampling) 3D模型的优化代码,串联可以完成文本直接到3D模型的生成。

Text-to-3D效果:

目前,魔搭社区提供一站式体验、下载、推理、训练教程,欢迎开发者小伙伴体验!

模型效果体验

ModelScope提供了创空间在线体验算法:

创空间体验链接:https://modelscope.cn/studios/Damo_XR_Lab/3D_AIGC/summary

模型下载

模型链接:

Text-to-ND、Text-to-ND-MV大模型:

https://modelscope.cn/models/Damo_XR_Lab/Normal-Depth-Diffusion-Model/summary

模型下载:

# 以linux系统为例
git clone https://github.com/modelscope/normal-depth-diffusion
cd normal-depth-diffuison && python tools/download_models/download_nd_models.py

模型推理

Text-to-ND、Text-to-ND-MV大模型推理:

# 模型下载
git clone https://github.com/modelscope/normal-depth-diffusion
cd normal-depth-diffuison && python tools/download_models/download_nd_models.py
# 安装依赖
conda create -n nd
conda activate md
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
sudo docker build -t mv3dengine_22.04:cu118 -f docker/Dockerfile .
# 进行推理
python demo_inference.sh

资源消耗:

Text-to-ND(512x512):

Text-to-ND-MV(256x256):

Text-to-3D模型推理:

## 代码及依赖项
git clone https://github.com/modelscope/RichDreamer.git --recursive
cd RichDreamer
conda create -n rd
conda activate rd
# install dependence of threestudio
pip install -r requirements_3d.txt
# Text-to-ND、Text-to-ND-MV模型下载
python tools/download_models/download_nd_models.py
# 拷贝256分辨率的DMTet资源文件
cp ./pretrained_models/Damo_XR_Lab/Normal-Depth-Diffusion-Model/256_tets.npz ./load/tets/
# 下载SD1.5及SD2.1(/path/to/${download_sd}是models_sd.tar.gz的本地地址)
bash prepare_sd_models.sh
## NeRF表达的推理
# 单张A100-80GB,Quick Start
python3 ./run_nerf.py -t $prompt -o $output
# 推理所有Prompts
# 例如 bash ./scripts/nerf/run_batch.sh 0 1 ./prompts.txt
bash ./scripts/nerf/run_batch.sh $start_id $end_id ${prompt.txt}
# 如果没有80GB VRAM的A100, 我们提供了一个24GB VRAM的inference脚本
# 可以在单张3090/4090进行推理.
python3 ./run_nerf.py -t $prompt -o $output -s 1
## DMTet表达的推理
# 单张A100-80GB,Quick Start
python3 ./run_dmtet.py -t $prompt -o $output
# 推理所有Prompts
# e.g. bash ./scripts/dmtet/run_batch.sh 0 1 ./prompts.txt
bash ./scripts/dmtet/run_batch.sh $start_id $end_id ${prompt.txt} 
# 如果没有80GB VRAM的A100, 我们提供了一个24GB VRAM的inference脚本
# 可以在单张3090/4090进行推理.
# 例如 bash ./scripts/dmtet/run_batch_fast.sh 0 1 ./prompts.txt
bash ./scripts/dmtet/run_batch_fast.sh $start_id $end_id ${prompt.txt}

模型训练

Text-to-3D是基于Text-to-ND、Text-to-ND-MV的优化算法,我们提供Text-to-ND、Text-to-ND-MV的模型训练步骤。

数据准备:

## 下载 Laion-2B-en-5-AES(训练ND模型)
# 从https://huggingface.co/datasets/laion/laion2B-en 下载filelist
# 将该文件放在 ./laion2b-dataset-5-aes 路径下
cd ./tools/download_dataset
bash ./download_2b-5_aes.sh
cd -
## 下载Objaverse多视角数据
# 从我们的分享链接下载objaverse_dataset, 上传需要大量时间
# 上传完毕我们会在https://github.com/modelscope/normal-depth-diffusion更新数据链接
ln -s /path/to/objaverse_dataset mvs_objaverse

深度估计及法向估计预训练模型准备:

# 法向估计模型
# https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/RichDreamer/scannet.pt
# 深度估计模型
# https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/RichDreamer/dpt_beit_large_512.pt
mv /path/to/scannet.pt ./libs/ControlNet-v1-1-nightly/annotator/normalbae/scannet.pt
mv /path/to/dpt_beit_large512.pt ./libs/omnidata_torch/pretrained_models/dpt_beit_large_512.pt

开始训练:

## 训练ND-VAE
# 下载预训练权重
wget https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/RichDreamer/nd-vae-imgnet.ckpt
# 修改config文件 configs/autoencoder_normal_depth/autoencoder_normal_depth.yaml
model.ckpt_path=/path/to/nd-vae-imgnet.ckpt
# 训练启动
bash ./scripts/train_vae/train_nd_vae/train_rgbd_vae_webdatasets.sh \ model.ckpt_path=${pretained-VAE weights} \
data.params.train.params.curls='path_laion/{00000..${:5 id}.tar' \
--gpus 0,1,2,3,4,5,6,7
## 训练ND-Diffusion
# 训练完成ND-VAE之后,使用训练好的权重或者下载我们训练的版本
# https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/RichDreamer/nd-vae-laion.ckpt
# 步骤一
export SD-MODEL-PATH=/path/to/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=${Normal-Depth-VAE} model.params.ckpt_path=${SD-MODEL-PATH} \
    data.params.train.params.curls='path_laion/{00000..${:5 id}.tar'
# 步骤二 修改 ./configs/stable-diffusion/normald/sd_1_5/txt_cond/web_datasets/laion_2b_step2.yaml
# 中的model.params.ckpt_path 为第一步的权重地址。
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=${Normal-Depth-VAE} \
    model.params.ckpt_path=${pretrained-step-weights} \
    data.params.train.params.curls='path_laion/{00000..${:5 id}.tar'
## 训练Multi-View的ND-Diffusion
# 在训练完成ND-Diffusion之后得到预训练权重,或者下载我们训练的版本:
# https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/RichDreamer/nd-laion.ckpt
# 训练Multi-View的ND-Diffusion有两种训练方式,在latent-space计算loss以及经过VAE解码计算loss
# 目前版本我们提供latent-space计算loss的预训练模型,开发者也可以自己尝试训练经过VAE解码计算loss的版本
# 不经过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=${Normal-Depth-Diffusion}
# 经过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=${Normal-Depth-Diffusion}

训练曲线:

Text-to-ND:

Text-to-ND-MV:

欢迎Star相关开源仓库:

点击了解模型详情:modelscope.cn/models/Damo_XR_Lab/Normal-Depth-Diffusion-Model/summary

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
3月前
|
分布式计算 测试技术 Spark
科大讯飞开源星火化学大模型、文生音效模型
近期,科大讯飞在魔搭社区(ModelScope)和Gitcode上开源两款模型:讯飞星火化学大模型Spark Chemistry-X1-13B、讯飞文生音频模型AudioFly,助力前沿化学技术研究,以及声音生成技术和应用的探索。
360 2
|
3月前
|
机器学习/深度学习 数据采集 人工智能
通义实验室Mobile-Agent-v3开源,全平台SOTA的GUI智能体,支持手机电脑等多平台交互
近日,通义实验室MobileAgent团队正式开源全新图形界面交互基础模型 GUI-Owl,并同步推出支持多智能体协同的自动化框架 Mobile-Agent-v3。该模型基于Qwen2.5-VL打造,在手机端与电脑端共8个GUI任务榜单中全面刷新开源模型性能纪录,达成全平台SOTA。
1183 2
|
3月前
|
人工智能 Java 开发者
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。
1784 58
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
|
4月前
|
人工智能 算法 测试技术
轻量高效,8B 性能强劲书生科学多模态模型Intern-S1-mini开源
继 7 月 26 日开源『书生』科学多模态大模型 Intern-S1 之后,上海人工智能实验室(上海AI实验室)在8月23日推出了轻量化版本 Intern-S1-mini。
725 50
|
4月前
|
编解码 自然语言处理
通义万相开源14B数字人Wan2.2-S2V!影视级音频驱动视频生成,助力专业内容创作
今天,通义万相的视频生成模型又开源了!本次开源Wan2.2-S2V-14B,是一款音频驱动的视频生成模型,可生成影视级质感的高质量视频。
1204 29
|
3月前
|
机器学习/深度学习 人工智能 测试技术
开源SOTA:阶跃发布端到端语音大模型Step-Audio 2 mini!
大家好,今天阶跃星辰正式发布最强开源端到端语音大模型 Step-Audio 2 mini,该模型在多个国际基准测试集上取得 SOTA 成绩。
733 21
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
阶跃星辰开源! Step 3 :最新一代基础大模型 ,多模推理,极致效率
阶跃星辰开源新一代大模型 Step 3,采用 MoE 架构,参数量达 321B,激活参数 32B,平衡推理效率与资源利用,具备强大多模态能力,支持复杂推理与视觉分析,已在多个评测集取得领先成绩。
516 10
|
3月前
|
机器学习/深度学习 编解码 人工智能
InternVL3.5多模态大模型开源发布,1B-241B九种尺寸,支持跨平台GUI自动化与矢量图生成
近日,上海人工智能实验室(上海AI实验室)重磅开源发布了多模态大模型书生·万象 InternVL3.5,通过创新的级联式强化学习(Cascade RL)、动态视觉分辨率路由与解耦部署架构,实现推理能力、部署效率与通用能力的全面升级。
1177 7

热门文章

最新文章