一、Stable Diffusion概念
Stable Diffusion 这个模型架构是由 Stability AI 公司推于2022年8月由 CompVis、Stability AI 和 LAION 的研究人员在 Latent Diffusion Model 的基础上创建并推出的。其核心技术来源于 AI 视频剪辑技术创业公司 Runway 的首席研究科学家 Patrick Esser,以及慕尼黑大学机器视觉学习组的 Robin Rombach 这两位开发者在计算机视觉大会 CVPR22 上合作发表的潜扩散模型(Latent Diffusion Model)的研究
Stable Diffusion WebUI(Automatic1111) 是一个图形化界面,可以让我们方便地使用Stable Diffusion来进行文本到图像(txt2img)和图像到图像(img2img)的转换。它提供了丰富的功能和设置选项,例如:
文本反转:根据图像输入,生成描述该图像的文本输出
文本加权和负文本:通过在文本中添加括号或减号,来增加或减少对某些词语的关注度
图像编辑:可以使用遮罩和裁剪功能,来对图像进行局部修改或重绘
图像增强和放大:可以使用GFPGAN和realESRGAN等技术,来提升图像的清晰度和分辨率
生成预览:可以实时观察生成过程中的图像变化
提示矩阵:可以使用竖线分隔多个文本输入,来生成多个图像输出的组合
词语种子:可以使用词语代替数字作为种子,来控制生成结果的随机性
二、原理简介
Stable Diffusion 技术,作为 Diffusion 改进版本,通过引入隐向量空间来解决 Diffusion 速度瓶颈,除了可专门用于文生图任务,还可以用于图生图、特定角色刻画,甚至是超分或者上色任务。作为一篇基础原理介绍,这里着重解析最常用的“文生图(text to image)”为主线,介绍 stable diffusion 计算思路以及分析各个重要的组成模块。
三、Stable Diffusion能做什么?
1、在最简单的形式中,Stable Diffusion是一种文本到图像模式,给它一个文本提示(text prompt),它将返回与文本匹配的图像。
2、扩散模型(Diffusion model)
Stable Diffusion是扩散模型(Diffusion model)下的一种模型。
它们是生成式模型,这意味着它们的目的是生成类似于它们训练数据的新数据。对于Stable Diffusion来说,数据就是图像。
3、如何训练
为了反向扩散,我们需要知道图像中添加了多少噪声,答案是教神经网络模型来预测增加的噪声。它被称为Stable Diffusion中的噪声预测因子(noise predictor),这是一个U-Net模型。训练如下:
选择一个训练图像,例如猫的照片
生成随机噪声图像
通过将此噪声图像添加到一定数量的步骤中来损坏训练图像
训练噪声预测器告诉我们添加了多少噪声,这是通过调整其权重并向其显示正确答案来完成的。
四、为什么要学Stable Diffusion,它究竟有多强大?
1、真人AI美女
我们最常看到的就是这些真人AI美女的账号
2、生成头像、壁纸
以前很多人花钱去找别人定制自己独一无二的头像或者壁纸,现在SD就可以用来定制个人的二次元头像、盲盒模型或定制壁纸
3、绘画辅助
动漫图画、插画等都可以用SD来辅助完成,比如线稿上色、或者是获取图画的线稿等
Stable diffusion还有很多功能,比如恢复画质、室内设计等
五、Stable Diffusion 的组成
Stable Diffusion 并不是一个单一模型,而是由多个部分和模型一起构成的系统。
从内部来看,首先我们可以看到一个文本理解组件,这个组件将文本信息转化为数字表示(numeric representation)以捕捉文本意图。
这部分主要对 ML 进行大概介绍,文章后续还会讲解更多细节。可以说这个文本理解组件(文本编码器)是一个特殊的 Transformer 语言模型(严格来说它是一个 CLIP 模型的文本编码器)。将文本输入到 Clip 文本编码器得到特征列表,对于文本中的每一个 word/token 都有会得到一个向量特征。
然后将文本特征作为图像生成器的输入,图像生成器又由几部分组成。
六、总结
总之,Stable Diffusion是一款功能强大的AI绘画软件,它比现在市面上主流的AI绘画软件Midjourney更加的强大,可以说SD是所有AI绘画的鼻祖级存在,同样,更强大代表着它的上手难度及配置要求也更高。