Stable Diffusion:文本到图像的开源标杆

CompVis/stable-diffusion 在 GitHub 上已经拿到 73K Star 了。

这是一个潜在扩散模型(Latent Diffusion Model),能把文字描述直接生成图像。你输入一段文本描述,它就给你一张匹配的图片。模型由 CompVis 团队主导开发,Stability AI 提供算力支持,背后还有 LAION 的数据支撑。

1、 这项目是干嘛的

就一件事:把文本转成图像。

模型架构是潜在扩散模型,核心由一个 860M 参数的 UNet 和一个 123M 参数的 CLIP 文本编码器组成。整体体积控制在 1B 以内,一张 10GB 以上显存的 GPU 就能跑推理。

训练数据来自 LAION-5B 的子集,先在 256x256 分辨率上预训练,再到 512x512 上微调。前后发布了四个版本(v1.1 到 v1.4),逐步优化了生成质量。v1.1 在 256x256 上训练 237K 步,再到 512x512 训练 194K 步;v1.2 到 v1.4 基于前序版本继续迭代,加入了美学评分过滤和条件丢弃策略,提升了 classifier-free guidance 的效果。

正文顶部截图

2、 为什么影响力这么大

Stable Diffusion 不是第一个文本生成图像的项目,但它是第一个做到开源且可用的。

Google 的 Imagen 效果也不错,但不开放权重。OpenAI 的 DALL-E 是闭源的。Stable Diffusion 把模型权重、训练代码、推理代码全部开放,还采用 CreativeML OpenRAIL-M 许可证,允许商业使用。开发者可以基于它做二次开发、微调模型、搭建产品。

社区围绕它迅速长出了大量生态。WebUI 让用户通过浏览器操作模型,ComfyUI 提供了节点式工作流,LoRA 实现了低成本微调,ControlNet 增强了可控性。这些工具全部构建在 Stable Diffusion 的基础上。AI 绘画从实验室走向大众,这条路径是 Stable Diffusion 打开的。

3、 怎么用

基础用法很简单。下载权重后,一行命令就能跑:

python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms

也有 img2img 模式,拿一张草稿图让模型重绘:

python scripts/img2img.py --prompt "A fantasy landscape, trending on artstation" --init-img sketch.jpg --strength 0.8

不想折腾命令行的用户,可以用 Hugging Face 的 diffusers 库,几行 Python 代码就能调通:

from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4").to("cuda")
image = pipe("a photo of an astronaut riding a horse on mars")["sample"][0]

推理脚本集成了安全过滤器和水印,降低生成不当内容的概率,也方便识别机器生成的图片。参数方面支持调整 guidance scale、采样步数、种子值,控制生成结果的多样性和质量。

README区域截图

4、 适合谁

  • 想做文本生成图像产品的开发者
  • 研究扩散模型的算法工程师
  • 需要用图像生成做创意辅助的设计师
  • 对 AI 绘画感兴趣、想本地跑模型的技术爱好者

散模型的算法工程师

  • 需要用图像生成做创意辅助的设计师
  • 对 AI 绘画感兴趣、想本地跑模型的技术爱好者
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐