如果提到Ai绘画,很多人第一反应都是midjourney,确实midjourney现在在绘画领域如日中天,因为它使用简单而且智能化程度非常高。但是对我们普通用户来说midjourney还是有很高的门槛 。首先是注册账号以及充值,需要我们学会科学上网,其次是每个月几十美元的费用,如果我们只是轻度使用而不是专业的设计人员的话,这些费用都是没必要的!
那么除了midjourney之外还有没有Ai绘画软件呢?有的!
今天来介绍一款开源免费的软件------Stable Diffusion

Stable Diffusion是一款开源Ai绘画软件,因为是开源的,所以你可以把它下载到本地,绘画过程是完全离线的,使用你电脑的CPU或者GPU。绘画的风格由你自己来训练,如果你的显卡足够好的话,完全可以提供你喜欢的照片来训练专属于自己的Ai模型。
这时候有的小伙伴要问了,我使用的是中低端显卡就不能使用Stable Diffusion了吗?完全没问题!因为上面已经提到Stable Diffusion是开源软件,所以社区已经有非常多已经训练好的Ai模型了,动漫风格、国风汉服、真人风格......你基本可以在社区找到自己想要的模型。
好了,说了这么多,下面教大家怎么使用Stable Diffusion。
Stable Diffusion WebUI
如果说Stable Diffusion的门槛已经非常低了(只要能访问GitHub就可以部署),那么Stable Diffusion WebUI的门槛比Stable Diffusion 还低,你可以把Stable Diffusion WebUI理解成Stable Diffusion的网页版,不需要我们将软件安装到电脑上,只需要访问网页即可。
从GitHub的star数也能看出Stable Diffusion WebUI更受欢迎!
GitHub的地址为:

下载
进入GitHub地址在右侧我们可以下载最新版的Stable Diffusion WebUI
目前版本是1.6.0,点击之后下拉到最下面下载Stable Diffusion WebUI的源代码,然后解压即可。


环境准备
要运行Stable Diffusion WebUI,本地应该具备Python和Git环境
Python环境(如果已经安装Python可以直接跳过)
这里安装的Python版本为3.10.6(较新版本的 Python 不支持 torch)
下载地址
【www.python.org/downloads/r...
下拉到最后我们根据自己的系统下载安装包

打开安装包,这里一定要勾选"Add Python to PATH",然后点击下一步完成即可,最后打开命令窗口输入Python,出现如图所示代表已经安装完成!



Git环境(如果本地已经安装Git可以直接跳过)
下载地址
根据自己的系统下载对应的安装包
打开下载好的安装包,直接默认下一步安装即可,非常简单。最后同样在命令窗口输入git,出现如图的信息说明已经安装完成!





上面就是需要的环境准备。
运行Stable Diffusion WebUI
打开第一步下载好的Stable Diffusion WebUI源码解压文件,找到根目录下的webui.bat命令,双击即可,接下来就是等待Stable Diffusion WebUI自动将依赖和所需要的模型下载完成,需要注意的是依赖大约4个G左右,所以需要确保磁盘空间足够。当我们看到下图Running on local URL:http://127.0.0.1:7860的时候说明依赖已经安装完成,我们只需要浏览器访问本机的http://127.0.0.1:7860即可打开Stable Diffusion WebUI的首页。




安装中文语言环境
依次点击页面的extentions->install from URL
然后输入
bash
https://github.com/VinsonLaro/stable-diffusion-webui-chinese
点击 install即可,等待几秒钟,当底部出现蓝色字样代表中文插件已经安装完成。
然后依次点击installed->Apply and restart UI等待WebUI重启。




设置中文页面
在安装完中文插件之后需要设置中文环境。
在首页依次点击settings->user interface->localization
选中刚才下载好的中文语言环境:Chinese-all-0722
然后重启WebUI即可,至此中文环境已经安装完毕!首页已经是中文了。


安装 sd-webui-controlnet 外挂程序
sd-webui-controlnet插件也是至关重要的,我们依次点击扩展插件->可用->加载自->搜索sd-webui-controlnet->点击搜索结果的安装。
同样需要重启WebUI,步骤如下图所示。


到此为止,stable-diffusion-webui以及其运行环境已经全部安装完毕!
Ai绘画
接下来我们就可以使用stable-diffusion来Ai绘画了。现在我们需要一个绘画模型,正如一开始提到的,我们需要给stable-diffusion一个训练好的模型,它才能知道我们想要画什么风格的图片。
在选择模型之前我先来介绍下模型的概念。
主模型
它在大量的数据上进行了训练,并且获得了广泛的知识和能力。
特点:
大规模:主模型通常有数十亿到数千亿的参数。例如,GPT-3的最大版本有1750亿个参数。
泛化能力:由于在大量数据上的预训练,这些模型能够泛化到许多不同的任务,从简单的文本生成到更复杂的问题解答、翻译等。
计算要求:由于其巨大的大小,训练这些模型需要大量的计算资源和时间。
LoRA模型
LoRA旨在改进大型预训练模型(如GPT-3)在特定任务上的性能。
特点:
适应性:LoRA技术通过在大型模型的顶部添加低秩适应层来提供模型的微调能力。这允许LoRA在特定的任务或数据集上进行更为精确的适应。
模型大小:LoRA层相对较小,因此它添加的参数相对较少。这意味着与对整个大型模型进行微调相比,LoRA技术的微调更为高效和经济。
通俗的总结下两个模型,主模型可以理解为一个通用的模型,是核心部分,LoRA模型是一个个性化的模型,在表层发挥作用,主要是为了做一些个性化的定制服务。
理解了两个模型之后,接下来我使用一个非常成熟的且常用的模型【ChilloutMix】来展示下stable-diffusion的绘画能力。
模型下载
ChilloutMix下载地址



以上是主模型,大约4个G左右,下载完成之后,放到stable-diffusion根目录->models->Stable-diffusion目录下。
LoRA下载地址



以上是LoRA模型下载,下载好之后放到stable-diffusion根目录->models->Lora目录下。
模型下载好之后就可以在首页看到了,点击首页左上角的刷新按钮,选择模型。

Ai画图
首先介绍两个概念:
提示词(prompt):可以理解为Ai的语言,我们通过prompt让Ai知晓我们需要画一幅什么样的画,一个好的prompt可以迅速让Ai 理解我们的意图,从而高效准确的生成想要的图片。
反向提示词(Negative prompt):可以理解为提示词的反面,提示Ai需要避免一些什么问题,比如说长短手、少一个或者多一个手指头、同时存在两个左手或者右手等问题。
理解了上面两个概念之后,最后一步,复制模型的提示词(prompt)到首页输入框,然后点击生成,等待一段时间(等待的时间会根据显卡的性能而定)就可以得到一个美女的照片了!



局部绘制
这里我们以给美女换装为例,我要把美女的上衣T恤换成旗袍应该怎么做呢?
点击生成图片对应的下方【图生图】按钮跳转到对应的页面。
我们先来分析下一开始复制的prompt,发现美女的穿衣风格主要在红线标注的地方。

我们只需要在prompt描述中插入旗袍(cheongsam)即可,然后在下面用画笔标注出来哪里的衣服需要换成旗袍风格。这里我用画笔将美女的上衣标注好之后,点击生成,等待一会儿,上衣就换成旗袍了,可以看到,改变之后的图片和原图还是非常贴合的!



到此,stable-diffusion的绘画功能已经介绍完了,大家可以自己修改或者自己写prompt来生成想要的图片,这个模型非常灵活,包括人物的背景、站姿、发型以及穿衣风格等等细节都可以修改。下面是我用模型生成的其他美女照片,大家可以参考一下。