Kiss3DGen
CVPR 2025 论文开源实现,将 FLUX/Zero123++ 等 2D 扩散模型改造为 3D
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
CVPR 2025 论文开源实现,将 FLUX/Zero123++ 等 2D 扩散模型改造为 3D
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
影视、游戏、广告行业的同学一定有这个感受——一张高质量 3D 模型,交给专业建模师,少则几天,多则几周,报价轻松破万。传统的 3D 建模软件(Maya、3ds Max、Blender)需要大量人工操作,即便近年来有了摄影测量法(Photogrammetry)和激光扫描,硬件成本和后期处理依然令人头疼。
那么问题来了:能不能让 AI 直接从一张图片或一句话生成 3D 模型? 这正是 Kiss3DGen 要解决的问题。
从单张 2D 图片恢复 3D 结构(Image-to-3D)在计算机视觉领域一直是个深水区。相比于 3D 原生生成模型(如 DreamFusion、Point-E),Image-to-3D 面临的核心挑战是数据稀缺——3D 原生数据集(Objaverse、MVImgNet)规模远不如 2D 图像数据集,且存在严重的长尾分布问题。
Kiss3DGen 来自香港科技大学(HKUST)团队,发表在 CVPR 2025,核心思路是:不从头训练 3D 原生扩散模型,而是「废物利用」——把已经在大规模 2D 图像数据上预训练好的图像扩散模型(如 FLUX.1-dev),通过巧妙的控制策略,改造成 3D 生成引擎。
Kiss3DGen 采用两阶段多视角生成 + 3D 重建的流水线:
第一阶段:多视角图像生成(Multi-View Diffusion)
给定一张输入图片(Text-to-3D 场景则先生成输入图),系统利用两条并行的扩散管线:
Flux Prior Redux Pipeline:使用 FLUX.1-Redux 和 LoRA(rgb_normal.safetensors)为输入图像生成多视角的 RGB 图像和法线图(Normal Map)。法线图是理解物体表面几何形状的关键信号。
Zero123++ Pipeline:作为辅助多视角先验,输入图像先经过 LLM(Qwen2-7B-Instruct)和视觉语言模型(Florence-2-large)进行语义理解,随后生成 24 个视角的 RGB 图像。
两条管线的输出经过 ControlNet 统一整合,最终得到一组具有几何一致性的多视角图。
第二阶段:3D 重建(LRM + ISOMER)
多视角图像送入 LRM(Large Reconstruction Model)网络,预测 3D 隐平面(Triplane)表示,再通过 Marching Cubes 算法提取 mesh。mesh 分为两部分处理:
最终可以渲染出多角度 4 连图(3D Bundle)并生成旋转视频。
| 模式 | 输入 | 输出 | 适用场景 |
|---|---|---|---|
| Text-to-3D | 文本描述(如"A doll of a girl in Harry Potter") | 3D 模型 + 视频 | 概念设计、快速原型 |
| Image-to-3D | 单张图片 | 3D 模型 + 视频 | 产品展示、文物数字化 |
| 3D-to-3D | 已有 3D 模型 | 改进版 3D 模型 | 3D 编辑、风格迁移 |
Kiss3DGen 是一个多模型协同的复杂系统,主要依赖以下组件:
| 组件 | 用途 | 来源 |
|---|---|---|
| FLUX.1-dev (FP8) | 主扩散生成模型 | Comfy-Org via HuggingFace |
| FLUX.1-Redux-dev | 多视角风格融合 | black-forest-labs |
| InstantX/FLUX.1-dev-Controlnet-Union | 视角控制 | InstantX |
| Zero123++ v1.2 | 多视角先验 | sudo-ai |
| Qwen2-7B-Instruct | 语义理解和提示词增强 | Qwen |
| Florence-2-large | 图像描述生成 | multimodalart |
| LRM (PRM checkpoint) | 3D 隐平面预测 | LTT/Kiss3DGen (HuggingFace) |
| PyTorch3D | 网格渲染与着色 | Meta |
| ISOMER | 纹理投影与烘焙 | 自研 |
| Gradio | Web 交互界面 | Gradio |
代码组织结构清晰:pipeline/ 负责推理流程封装,models/ 包含 LRM / ISOMER / Zero123++ 等子模块,custom_diffusers/ 是一个修改版的 diffusers 库(复用了大量 Flux 管线代码),utils/ 包含辅助工具。
Kiss3DGen 的部署难度是极困难级别,官方明确要求 A800 80GB GPU(单卡或多卡组合)。依赖链极长:
项目没有提供 Dockerfile 或 docker-compose.yml,手动在裸机上复现这套环境极其费时。好在团队提供了 HuggingFace Gradio 线上 demo,地址:https://huggingface.co/spaces/LTT/Kiss3DGen,可以在线体验 Text-to-3D 和 Image-to-3D 两种模式。
显存瓶颈:即便官方推荐 80GB A800,消费级 RTX 4090(24GB)基本跑不了完整流程。代码中预留了多卡分布式推理支持(default.yaml 里设置了 cuda:0/1/2 三个设备),但配置起来门槛不低。
生成质量依赖输入图像质量:Image-to-3D 模式下,如果输入图片背景复杂(rembg 去除背景不够干净),法线估计会受到影响,进而降低多视角一致性。
仅支持单物体生成:不能生成场景级别的 3D 内容(如室内场景),这在学术上还是个开放问题。
Kiss3DGen 的最大贡献在于证明了一个关键论点:大规模 2D 图像扩散模型中已经包含了丰富的 3D 结构先验,关键是如何把它们「提炼」出来。 这条路线(Image-to-3D via 2D prior repurposing)与 DreamFusion 的 3D 原生路线形成了鲜明对比,也代表了 CVPR 2025 的一种主流趋势。
对于游戏和电商场景,Kiss3DGen 的 Image-to-3D 能力可以直接落地——给定一张产品图,自动生成可用的 3D 模型,用于 AR 展示或批量渲染。对于科研社区,该工作提供了一个清晰的 pipeline 架构参考,值得深入研究。
从 GitHub 数据看,该项目发布 5 个月已获得 296 stars,虽然绝对数量不高,但作为 CVPR 2025 论文的开源代码,这个增长速度相当健康。