DiffSplat:输入文本或图像,2秒内生成3D建模!北大联合字节开源3D建模生成框架

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


大家好,我是蚝油菜花,今天跟大家分享一下 DiffSplat 这个由北京大学和字节跳动联合推出的 3D 建模生成框架。

🚀 快速阅读

DiffSplat 是一个高效的 3D 生成框架,能够在 1-2 秒内从文本或图像生成高质量的 3D 高斯点阵。

  1. 核心功能:支持文本和图像条件输入,生成 3D 高斯点阵并确保多视图一致性。
  2. 技术原理:基于大规模预训练的文本到图像扩散模型,结合 3D 渲染损失,确保生成内容在任意视图下的 3D 一致性。

DiffSplat 是什么

DiffSplat

DiffSplat 是由北京大学和字节跳动联合推出的一个新型 3D 生成方法。它能够从文本提示和单视图图像快速生成 3D 高斯点阵(Gaussian Splats),并确保生成的内容在多视图下保持一致性。通过微调预训练的文本到图像扩散模型,DiffSplat 基于强大的 2D 先验知识,引入 3D 渲染损失来确保生成的 3D 内容在任意视图下的一致性。

DiffSplat 的核心优势在于其高效性和灵活性,能够在 1-2 秒内生成高质量的 3D 对象。此外,轻量级的重建模型用于构建结构化的高斯表示,为训练提供了高质量的数据支持。

DiffSplat 的主要功能

  • 从文本或图像生成 3D 高斯点阵:DiffSplat 能直接从文本提示或单视图图像生成 3D 高斯点阵(Gaussian Splats),保持 3D 一致性。
  • 高效利用 2D 先验知识:通过微调大规模文本到图像扩散模型,DiffSplat 有效基于网络规模的 2D 先验知识,同时引入 3D 渲染损失确保生成内容在任意视图下的 3D 一致性。
  • 支持多种条件输入:DiffSplat 支持文本条件、图像条件或两者的组合输入,用户可以根据需要选择合适的条件。
  • 可控生成能力:DiffSplat 可以与 ControlNet 等技术结合,实现基于文本提示和多种格式(如法线图、深度图、Canny 边缘图)的可控 3D 生成。

DiffSplat 的技术原理

  • 基于大规模预训练的文本到图像扩散模型:DiffSplat 通过微调这些模型,直接生成 3D 高斯点阵(Gaussian Splats),有效基于网络规模的 2D 先验知识。
  • 轻量级重建模型:为了启动训练,DiffSplat 提出轻量级的重建模型,能快速生成多视图高斯点阵网格,用于可扩展的数据集构建。
  • 3D 渲染损失:DiffSplat 引入了 3D 渲染损失,确保生成的 3D 内容在任意视图下都能保持一致性。

如何运行 DiffSplat

1. 安装环境

首先,克隆仓库并安装依赖项:

git clone https://github.com/chenguolin/DiffSplat.git
cd DiffSplat
bash settings/setup.sh
2. 下载预训练模型

下载预训练模型并存储在 ./out 目录中。其他预训练模型将自动下载并存储在 HuggingFace 缓存目录中。

python3 download_ckpt.py --model_type [MODEL_TYPE] [--image_cond]

例如,下载 text-cond SD1.5-based DiffSplat 模型:

python3 download_ckpt.py --model_type sd15
3. 文本条件 3D 对象生成

使用以下命令进行文本条件 3D 对象生成:

bash scripts/infer.sh src/infer_gsdiff_sd.py configs/gsdiff_sd15.yaml gsdiff_gobj83k_sd15__render \
--prompt a_toy_robot --output_video_type gif \
--gpu_id 0 --seed 0
4. 图像条件 3D 对象生成

使用以下命令进行图像条件 3D 对象生成:

bash scripts/infer.sh src/infer_gsdiff_sd.py configs/gsdiff_sd15.yaml gsdiff_gobj83k_sd15_image__render \
--rembg_and_center --triangle_cfg_scaling --output_video_type gif --guidance_scale 2 \
--image_path assets/grm/frog.png --elevation 20 --prompt a_frog
5. 使用 ControlNet 进行 3D 对象生成

使用以下命令进行基于 ControlNet 的 3D 对象生成:

bash scripts/infer.sh src/infer_gsdiff_sd.py configs/gsdiff_sd15.yaml gsdiff_gobj83k_sd15__render \
--load_pretrained_controlnet gsdiff_gobj83k_sd15__render__depth \
--output_video_type gif --image_path assets/diffsplat/controlnet/toy_depth.png \
--prompt teddy_bear --elevation 10

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值