Dreambooth-Stable-Diffusion
用3-5张图片微调Stable Diffusion,让AI精准记住并生成任意特定物体
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用3-5张图片微调Stable Diffusion,让AI精准记住并生成任意特定物体
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你给 AI 看了 3 张自家狗狗的照片,下次随口说一句「画一张我家狗在月球上奔跑的照片」,它真的能画出来,而且画得还挺像——这就是 Dreambooth 要解决的问题。
2022 年 8 月,Google Research 发布了 Dreambooth 论文,提出了一种个性化文本到图像(Text-to-Image)生成的新方法。传统的 Diffusion 模型虽然强大,但想让它们精确生成某个特定物体(比如你家的猫、你的自拍照、特定款式的背包)时,往往力不从心——要么画得完全不像,要么风格走样。
Dreambooth 的核心思路是「微调」(Fine-tuning):不再从零训练,而是在已有的 Stable Diffusion 模型基础上,用少量目标物体图片(通常 3-5 张)进行继续训练,让模型的参数记住这个新概念。整个过程只需要约 15 分钟(两张 A6000 GPU),但效果却令人惊艳——训练后,模型能在各种场景、光照、风格下生成该物体的图像。
本项目由独立开发者 Xiao Xiao 将 Google 原版 Dreambooth(基于 Imagen)移植到 Stable Diffusion 架构,使得普通用户无需 Google 的专有模型也能体验 Dreambooth 的强大能力。项目发布于 2022 年 9 月,迅速成为 AI 生成图像领域的重要里程碑。

图1:正则化图片——用于维持物体「类别」概念的基准图像(如「容器」类)
Dreambooth 的精妙之处在于它解决了一个微妙的问题:如何在微调中精确注入新概念,同时不破坏模型原有的知识。
三重保障机制:
罕见的标识符(Identifier):Dreambooth 在词汇表中引入了一个几乎不存在的词(如「sks」)作为目标物体的「名字」。这个词在原始模型中几乎没有语义关联,因此微调时所有关于这个标识符的知识都来源于新提供的图片,避免了与原有概念的冲突。
类别先验保持(Class Prior Preservation):训练时不仅让模型学习目标物体的特征,还要让它同时记住这个物体属于哪个「类别」(如「狗」)。通过生成该类别的正则化图像,确保模型不会将「物体」和「类别」混淆。
低学习率微调:学习率设为 1e-6(原论文建议 1e-5),以避免过快地覆盖预训练知识,同时保持良好的「可编辑性」——即生成图像时仍能灵活地改变场景、风格和构图。
本项目基于 Textual Inversion 代码库开发,核心修改极少,主要工作是让 Dreambooth 的训练逻辑适配 Stable Diffusion 的架构。主要依赖:
训练入口为 main.py,接受 YAML 配置文件(configs/stable-diffusion/v1-finetune_unfrozen.yaml),支持通过命令行参数覆盖任意配置项。
训练流程:
python main.py --base configs/stable-diffusion/v1-finetune_unfrozen.yaml \
--actual_resume /path/to/sd-v1-4-full-ema.ckpt \
--data_root /path/to/training/images \
--reg_data_root /path/to/regularization/images \
--class_word dog
约 800 步训练后,在 logs/<job_name>/checkpoints/ 目录下生成两个检查点:500 步版本和最终版本。一般 500 步的模型已经足够好用。
生成阶段使用 scripts/stable_txt2img.py,通过自定义提示词调用微调后的模型:
python scripts/stable_txt2img.py --ckpt /path/to/checkpoint \
--prompt "photo of sks dog on the beach"

图2:微调后,物体可自然融入各种场景
项目 README 展示了一个生动案例:作者用 3 张大型垃圾箱(trash container)的图片进行训练,然后用 Dreambooth 生成了大量场景丰富的垃圾箱图像——在沙滩上、在月球表面、涂成红色、被狗踩在脚下。这种物体-场景的解耦能力正是 Dreambooth 的魅力所在。

图3:Dreambooth 实现了物体与场景的灵活组合,AI 能够将特定物体置于任意背景中
使用门槛较高:
局限性:

图4:属性操控示例——「红色容器」这一组合概念也能被正确生成
本项目在 2022 年 9 月的发布,正值 AI 图像生成领域最激动人心的时刻。它首次让普通用户(而非仅限 Google 内部研究人员)能够用上 Dreambooth 的能力。
Dreambooth 的出现直接催生了后来一系列轻量化微调技术的兴起,包括 LoRA(Low-Rank Adaptation)、Textual Inversion 的改进、以及各种社区微调模型(如 Civitai 上的数千个动漫角色、游戏角色、艺术风格模型)。这些技术的共同祖先,都可以追溯到 Dreambooth 提出的「用少量图片微调大模型」这一核心范式。
从技术史的角度看,本项目是 Stable Diffusion 生态从「预训练模型即产品」向「人人可微调」这一转折点的标志性作品。它证明了开源社区能够快速跟进学术前沿并实现工程落地,也为此后国内 Stable Diffusion 工具链(如 FastDream、Stable Diffusion WebUI)的繁荣奠定了基础。

图5:微调后生成的多样化物体图像,展示 Dreambooth 对物体特征的精准捕捉能力
Dreambooth-Stable-Diffusion 是一款将 Google Dreambooth 论文从 Imagen 迁移到 Stable Diffusion 的开源实现。它允许用户用 3-5 张图片微调 SD 模型,使 AI 精确记住并生成特定物体。该项目技术门槛较高(需高端 GPU),但代表了 AI 图像个性化生成的核心范式,对后续 LoRA、Textual Inversion 等轻量化微调技术产生了深远影响。如果你对 AI 生成个性化图像有强烈需求且具备相应硬件条件,这是值得深入研究的重要参考项目。