当前位置:AIGC资讯 > AIGC > 正文

你想要的照片,AI都能帮你画出来:记录Stable Diffusion的力量

目录

前言 一、配置软件环境(可以跳过直接看第二部分效果图) 1.启动界面 二、解锁新功能 2.1 开源模型的获取 三、如何生成细节更加可控的内容呢? 3.1 充分利用prompt: 3.2 词不达意时,充分使用lora 3.2 使用多个lora时,充分使用AddNet 触发提示词 lora封面 3.3 VAE:滤镜/调色 在页面上显示 VAE 设置 下载 VAE 模型 为什么 VAE 模型比较少? 3.4 其他重要参数: 总结

前言

Stable Diffision火得一塌糊涂,作为开源阵营里文生图的典型代表,是跟闭源的Dall-E,midjourney分庭抗礼的利器。不体验一把,怎么能说自己是搞AI的呢?体验之后,发现以及上瘾了,这扩散模型太好玩了,打开新的视觉体验啊!

万事开头男:先记录下如何在linux+4090显卡安装和使用Stable Diffusion,看RP决定安装成功的时间。这里从一台新机器开始肝起!

一、配置软件环境(可以跳过直接看第二部分效果图)

因为是新电脑,不少工具都需要安装:

anaconda:虚拟环境管理工具anaconda需要安装,参考这个可以安装成功:wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
具体参考:如何在Linux服务器上安装Anaconda(超详细) Flameshot:安装火焰截图工具,请在「终端」运行以下命令:sudo apt install flameshot FlareGet:下载管理器,涉及到训练好的大模型的下载,遇到网络不稳定的情况,必备的暂停、恢复下载?具备。 Git:sudo apt install git 参考这篇成功的攻略: [Stable Diffusion]webui部署(Linux) 启动程序:python launch.py --xformers
网上安装的方法很多,但避免踩坑的办法还是有限,强力推荐某乎的一篇文章。。。~~pip install -r requirements.txt~~ 不要按照这里面下载的方法,因为它没有指定各种软件的版本,很容易导致不兼容bug;推荐安装requirements-versions.txt

我的电脑配置是RTX4090,24G显存,之前安装cuda 12.几,但是按照这个攻略,降低了cuda版本,也是可以运行成功的。

有关启动方式的注意点:
1、要关闭系统代理,不然有可能会报网络错误;因为默认打开的是http://127.0.0.1:7860/
2、从terminal启动:python launch.py --xformers 。一直卡住,一动不动,为此硬重启机器很多次;
3、从vs code启动,点击conda python的运行环境,运行launch成功。
时间很宝贵,还是花了一个白天的时间来复现啊!!!

1.启动界面

有一些参数需要了解,比如添加–xformers可以启动更快,具体的加载时间如下:
Startup time: 36.4s (prepare environment: 28.6s, import torch: 5.6s, import gradio: 0.4s, setup paths: 0.8s, other imports: 0.3s, load scripts: 0.3s, create ui: 0.3s, gradio launch: 0.1s).
Model loaded in 2.9s (load weights from disk: 0.4s, find config: 1.1s, apply weights to model: 1.2s).
启动有点慢,需要有点耐心,毕竟机器重启了很多次!!!

此处有bug:
【BUG】NansException: A tensor with all NaNs was produced in Unet. 
This could be either because there's not enough precision to represent the picture, 
or because your video card does not support half type. Try setting the 
"Upcast cross attention layer to float32" option in 
Settings > Stable Diffusion or using the --no-half commandline argument to fix this. 
Use --disable-nan-check commandline argument to disable this check.

解决方法:按照提示,在Settings > Stable Diffusion>“Upcast cross attention layer to float32” 打钩,即可解决。我们试试效果吧。


这个绘画水平一言难尽啊,可能比入门者水平好点!!!

二、解锁新功能

决定成像质量好坏的元素有:1、提示词,prompt;2、模型;3、开启方式,比如是文生图,还是pose-guided或者图生图等。其中,最关键的还是模型。现在有很多开源的模型都可以去使用。

2.1 开源模型的获取

比较常用的有以下网站:

C站:https://civitai.com/models。国外网站,需要搭梯子才能连。这个有很多不同风格的模型,一般比较大,从2-7G之间比较多。可以下载ckpt模型。

比如,体验一个叫Re3mix-3D-pvc的模型,这是官方的生成图片

被这样的古典浪漫风给吸粉了吗?
[Bug]: OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. 
If you were trying to load it from 'https://huggingface.co/models'
[Solve]:download files from https://huggingface.co/openai/clip-vit-large-patch14/tree/main and 
put them into the directory stable-diffusion-webui/openai (create it if doesn't exist)
解决方法:需要下载一些模型,放到对应文件夹下,又是漫长的下载过程!!!重新运行之后,就可以得到一些结果了。

这是提示词生成的模型


这个模型生成的质量一般,可以从琢磨一些参数和细节,比如prompt,或lora等参数来调整,才能生产对应的内容。

继续体验Thumbs_up 2.5D的模型,按照对应的参数,生产的图片还可以。

更多的图

此图看着一眼假,哪个女生的手指头这么大!!

继续体验新模型picxReal_10,生成的内容如下:


还是非常逼真的!!!

还能生成高分辨率的图片,如下:


美女+旗袍风:

当然,不合规的图片也能产生。但自从2023下半年,国家网信办等七部门联合公布《生成式人工智能服务管理暂行办法》。
生产漂亮小姐姐的内容都需要合规管理。

在合法合规的范围进行生产创作,我们要双头双脚投票同意。

国产网站,http://liblibai.com的新网址是liblib.ai。

国产的模型也非常强大,这里体验一个具有真实景深、焦距的摄影大模型,生产的图像非常大片!!!



通过AI来摄影,理想的情况是想要任何道具都能凭空生成,并且给模特换脸都不带重样的,简单强大!


这水平能比得上一个资深的设计师、摄影师吗

拍摄物品广告的体验如何呢?这里加载自然美状的模型,生成示例:


生成的质量还可以,但离作品级别的广告还需进一步提升!

三、如何生成细节更加可控的内容呢?

3.1 充分利用prompt:

prompt可以在web UI界面的“拓展”模块中加载插件,默认的“https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json”里面的插件几乎没有,这里强力推荐:

https://gitcode.net/rubble7343/sd-webui-extensions/raw/master/index.json

这里下载我们所需要的prompt all-in-one插件,非常好用:

点击安装,然后在installed模块里重启应用,就可以找到安装后的插件了。
这是添加该插件之后的效果,当我们需要设计一个目标,通常是Person时,我们可以选择几个人、性别、特征等关键词提示,还可以选择服装等,这样我们就可以方便的使用该插件来完成提示词的撰写。

如何切换web UI的主题颜色?
我这里采取的是安装Catppuccin theme插件

具体可以参考一分钟学会Stable Diffusion深色主题界面设置

这是安装上述提示词(一个女孩,圆脸,汉服)生成的效果图。

还可以给prompt添加不同的权重,我们会在一个系列的教程中讲解prompt的具体使用用法。

3.2 词不达意时,充分使用lora

Lora的使用,是对提示词的一个补充,就是当我们充分使用prompt,但还是无法达到想要的效果时,可以考虑使用模板,即相似性。一般用200张图片训练,就可以得到一个Lora模型,这里,我们主要使用现有的开源的Lora文件。有关如何训练有特色的Lora,这个放在进阶阶段中去考虑。

根下载ckpt文件差不多,我们可以下载lora文件,注意,放到models/lora文件夹下。

这里,我们下载了一个少女感的模板,如下所示


用在提示词里面(2girls,white hair,teenager,lora:ran:1,),可以看到生成的效果图如下:

好像有这样类似的风格了!!!

3.2 使用多个lora时,充分使用AddNet

additional network同安装上述插件类似的操作,在extension里面输入上述网址,然后搜索关键词,即可找到对应的插件,并安装。之后可以重新加载web UI,刷新之后就可以看到AddNet的选项了。

触发提示词

例如,我们下载了【Character】alice (nikke)这样的Lora风格,这是官方的样例:

如果加载这个lora,生成的效果可以看到如下:

同样例很像,但是差点意思,但是如果按照它提供的trigger prompt,将会生成新的效果如下:

ALICE \(NIKKE\)
PINK BODYSUIT
ANIMAL EAR HEADPHONES
SHINY CLOTHES
TWINTAILS
LATEX BODYSUIT


按照官方的提示词+Dark Sushi Mix 大颗寿司Mix_BrighterPruned.safetensors,生成的图像如下:

lora封面


生成的图,可以插入Lora的封面替换。

3.3 VAE:滤镜/调色

在页面上显示 VAE 设置

stable-diffusion-webui 默认页面并没有显示 VAE 设置部分,所以需要先设置一下。首先点击「Settings」,然后点左侧菜单的「User interface」这个 Tab,拉到下面有个选项叫做Quicksettings list,在输入框里面添加,sd_vae,CLIP_stop_at_last_layers:

下载 VAE 模型

目前我们还没有任何的 VAE 模型,需要下载再使用。VAE 主要是从 Huggingface 下载,而 C 站 VAE 比较少,并没有一个专门的过滤分类,只能通过搜索框输入 vae 过滤:

例如,我们下载了如下VAE,放入models/VAE文件夹下:

添加滤镜前:

添加滤镜后:

此处不是很明显,但VAE还是起着一些作用。

以下图片是参考Stable Diffusion高级教程 - VAE

另外一个方式是看主模型下的提示,很多知名主模型里面会有 VAE 相关的内容,例如有打包 VAE 的模型 (自带的就不需要额外加了),或者在描述中建议你使用什么 VAE。

为什么 VAE 模型比较少?

主要的原因是很多软件已经实现了滤镜相关的功能,例如 PS、一些美颜 App、剪映等等。它们的效果不错,门槛很低。

3.4 其他重要参数:

clip:一般设置为2
step:一般设置为20-30,设置太高,耗时间;
一般采用DPM++2M karras 比较多
提示次引导系数:让模型听话的程度,一般设置在7-8之间,设置太小,或者太大,都不是理想的;
Seed:锁住种子,保证前后两张图像相一致。
高分辨率修复,也非常好用,可以选择放大算法;
例如,这是普通图像的例子:

按照下面的放大图片1.5倍

也能生成高清大图!!!

以上是SD的一些基本操作了。但是如何根据真实的照片来生成我们想要的效果图呢,为此需要更加精确的设计效果,下一章,我们讲解ControlNet,通过模型来编辑图片,并生成我们想要的内容。

更多的应用示例还在规划中

总结

SD生产的内容太强大了,就像是一个魔法一样能够创造出新奇的世界。还有哪些地方可以挖掘和探索,离市场应用还有多远有待挖掘。

更新时间 2024-05-25