Stable Diffusion 入门指南:原理、应用与使用技巧
2022 年 8 月,在美国科罗拉多州举办的一场新兴数字艺术家竞赛中,一幅名为《太空歌剧院》的作品获得'数字艺术/数字修饰照片'类别的一等奖。该作品的作者并没有绘画基础,而是利用 AI 生成的。这一事件展示了 AI 在绘画领域惊人的创造力,让人们见识到 AI 作品不仅可以具有精心雕刻般的细节,还可以拥有独特的风格。创作者只要通过自然语言将创作需求描述清楚,就能借助 AI 生成高品质的作品。
什么是 AI 绘画
AI 绘画是指使用人工智能算法生成图像或绘画作品,它基于机器学习模型,可以接受不同的提示词(Prompt)、引导图等作为输入参数来生成各种风格和内容的视觉艺术品。例如,给 AI 输入提示词 "a cute cat" 即可得到相应的绘图结果。

那么如果随口说出几个指令就能画出好看的图画?未来插画师、摄影师是否会被取代?对于没有学习过绘画的普通用户,同样能创作出优质的绘画作品。AI 绘画的大门正在为所有人敞开,而通往这扇门,我们就不得不提到一个优秀的绘图工具 Stable Diffusion。
1. 什么是 Stable Diffusion
在当下流行的 AI 绘画工具中,Midjourney 和 Stable Diffusion 是风头最盛的,它们在产品策略上各有长处。
Midjourney 的优势在于它通过 Discord 来构建自己的 AI 绘画社区,这个策略一方面使得用户能够在社区互相学习提示词的使用技巧,从而激发用户的兴趣;另一方面通过庞大的用户数量积累了独有的数据集,进而可以根据用户需求有针对性地训练模型并快速进行产品迭代。
Stable Diffusion 的厉害之处在于它可以在运行于大多数配备有合适 GPU 的个人计算机上,而且,它开源了项目代码和模型权重。这样一来,开发者就可以在它的基础上进行二次开发、做插件、做工具,这就有了如今结合 Stable Diffusion 流行起来的 Stable Diffusion WebUI、LoRA、ControlNet 等开源项目。这就相当于给 Stable Diffusion 的发展增加了大量的盟友,极大地丰富了它的功能和特性。
对于想要使用 Stable Diffusion 来进行 AI 绘画的用户来说,开源意味着更大的灵活性和自由度,我们可以借助 Stable Diffusion 丰富的相关模型和扩展插件来满足我们自己独特的 AI 绘画创作需求。
Stable Diffusion 是一款在 2022 年发布的支持由文本生成图像的 AI 绘画工具,它主要用于根据文本描述生成对应图像的任务,也可以应用于其他任务,比如对原图像内的部分遮罩区域进行重绘的内补绘制功能(Inpainting)、在原图像外部范围进行延伸画图的外补绘制功能(Outpainting)、在提示词引导下基于输入图像生成新图像的图生图功能等。
2. Stable Diffusion 模型原理
Stable Diffusion 最核心的部分是它的模型,要理解 Stable Diffusion 所使用的潜在扩散模型背后的技术细节需要一定的算法基础,因此我们在这里只用尽量简要的语言介绍一下扩散模型的训练过程,帮助大家对它建立一个大概的印象。
(1) 正向扩散与反向学习
扩散模型的训练需要先找到大量高质量的图像数据,训练时先进行正向扩散,即对每张图像按照高斯噪声公式逐步向数据中添加噪声,直到整张图像变成一张全是噪声的图像(噪声数据)。在这个训练的过程中,会记录所有步骤,然后用神经网络来反向学习噪声分布和数据分布之间的关系,即学习如何给一个全是噪声的图像降噪,生成一张高清图像。

(2) 图像生成过程
所有高质量图像都经过步骤 (1) 后,就会得到一个训练好的扩散模型,机器就可以通过噪声来对图像进行预测。这样一来,整个绘画的过程就是 AI 用一组随机噪声(随机数)来预测基于它们能画出一个什么样的图像,即从一堆凌乱的随机数中画出图像。这是一个大力出奇迹的过程,但厉害的是最终能产出清晰度非常高和细节较为完美的图像。
来欣赏几张 Stable Diffusion 生成的高质量图片吧:
从左往右:港口;底下洞穴的水晶沉积物


从左往右:甜美风小姐姐;二次元小姐姐