什么是 Stable Diffusion?
Stable Diffusion 是 2022 年发布的一款深度学习文本到图像模型。它主要用于根据文本描述生成详细的图像,但也可以应用于其他任务,如图像修复(inpainting)、图像扩展(outpainting)以及在文本提示指导下生成图像到图像的转换。它由来自 CompVis、慕尼黑大学(LMU Munich)和 Runway 的研究人员和工程师在 Stability AI 的支持下开发。其开源的特性使其与 DALL-E 和 Midjourney 等竞争对手区别开来。这使得任何拥有消费级硬件的人都可以运行该模型,从而催生了一个庞大的开发者和艺术家社区,他们创造和分享衍生作品。
主要特点
- 文本到图像生成: 从简单或复杂的文本提示中创建高质量、逼真或艺术性的图像。
- 图像到图像转换 (Img2Img): 根据文本提示修改现有图像,实现强大的编辑和风格迁移。
- 图像修复与扩展 (Inpainting & Outpainting): 智能地填充图像的缺失部分或用与上下文匹配的生成内容扩展其原始边界。
- 高度可定制性: 用户可以通过 CFG 缩放(提示相关性)、采样步骤和种子等参数对生成过程进行精细控制。
- 可扩展性和社区模型: 开源生态系统催生了数千个针对特定风格(如动漫、照片写实)的微调模型,以及像 ControlNet 这样的高级控制机制,用于精确复制姿势和构图。
应用场景
- 艺术与插画: 艺术家使用 Stable Diffusion 创作复杂的插图、概念艺术和独特的视觉风格,这些手动制作会非常耗时。
- 设计与原型制作: 设计师可以快速生成网站、产品设计、标志和营销材料的模型。
- 娱乐与游戏: 游戏开发者用它来创建纹理、角色概念和环境资产,显著加快了开发速度。
- 摄影与内容创作: 摄影师和内容创作者可以生成逼真的场景、修复旧照片或为社交媒体创作富有想象力的内容。
入门指南
开始使用 Stable Diffusion 最简单的方法是在 Python 中使用 Hugging Face 的 diffusers 库。这个例子展示了如何从文本提示生成图像。
首先,确保你已经安装了必要的库:
pip install diffusers transformers torch accelerate
然后,你可以运行以下 Python 脚本: ```python from diffusers import StableDiffusionPipeline import torch
加载预训练模型
model_id = “runwayml/stable-diffusion-v1-5”
使用 float16 以降低内存占用,需要兼容的 GPU
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16) pipe = pipe.to(“cuda”) # 将 pipeline 移动到 GPU
定义提示
prompt = “a photo of an astronaut riding a horse on mars”
生成图像
image = pipe(prompt).images[0]
将图像保存到文件
image.save(“astronaut_on_mars.png”)
print(“图像已保存为 astronaut_on_mars.png”)
定价
Stable Diffusion 模型本身是开源的,可以免费在您自己的硬件上下载和使用。然而,Stability AI(资助开发的公司)和其他各种云平台提供付费的 API 访问和托管服务。这提供了一种无需管理基础设施即可轻松使用模型的方式,定价通常基于生成的图像数量或使用的计算时间。
社区与生态系统
Stable Diffusion 最强大的优势之一是其充满活力的社区。像 Automatic1111 和 ComfyUI 这样的平台为与模型交互提供了强大的 Web 界面。像 Civitai 这样的网站充当了巨大的存储库,用户可以在其中共享和下载数千个定制训练的模型、LoRA(用于风格调整的低秩适应)和文本反演。这个协作生态系统使 Stable Diffusion 成为一个无限多功能且不断发展的工具。