返回

零基础自建StableDiffusion与实践技巧

2023-06-25 by fangzhiyuan

一、Stable Diffusion 介绍

Stable Diffusion 是一款基于人工智能技术开发的绘画软件,它可以帮助艺术家和设计师快速创建高品质的数字艺术作品。该软件使用了一种称为 GAN(生成对抗网络)的深度学习模型,该模型可以学习并模仿艺术家的创作风格,从而生成类似的艺术作品。

Stable Diffusion 具有直观的用户界面,可以让用户轻松地调整绘画参数并实时预览结果。用户可以选择不同的画布、画笔和颜色,还可以通过调整图像的风格、纹理和颜色等参数来创建各种不同的艺术作品。

Stable Diffusion 一些配置及参数详解-Ai作品欣赏

除此之外,Stable Diffusion 还提供了一些高级功能,例如批量处理、自动矫正和自动化调整等,可以帮助用户更加高效地完成大量的绘画任务。

二、完全白嫖!kaggle的stable diffusion绘图

简单介绍一下Kaggle, Kaggle是成立于2010年进行数据挖掘和预测竞赛的平台。Kaggle给每个用户提供了每月30小时的GPU使用时间!


首先需要注册一个账号,
登陆网址:

https://www.kaggle.com/code/xinsiac/zh-stable-diffusion-webui-kaggle


点击Edit my copy

接下来验证手机号

验证完成后,弹出验证成功页面

我们按照下面的步骤选择显卡:
1、点击打开”Internet off”
2、选择ACCELERATOR
3、选择显卡, 我们这里选择GPU T4 X2

选择完显卡后,开始运行

最后执行完成后,看到以下页面

点击上文红框URL,进入到绘画页面

三、stable diffusion 云端部署方案补充

上文中的kaggle方案存在一定的局限性,出图质量和速度相对差强人意,下面提供另外一个平台方案。本次示例的云平台是星舟
链接:https://www.lanrui-ai.com/register?invitation_code=4106

注册登陆,进入控制台,创建工作空间

基于工作空间购买算力

3090-24G目前1.9元每小时,注册账号赠送3.8元(可免费体验两小时)
点击算力市场,购买一台3090的机器,镜像选择公共镜像/others/sd-webui-2.0/v3,数据集选择sd-base,参见下图:

待实例状态为运行中后,进入Jupyter后,选择other下terminal, 运行如下命令。

1
2
3
// Some code
cd /app
bash start.sh

然后在实例-操作列中,复制调试地址,粘贴到浏览器后就能访问Stable Diffusion Web UI
(云服务1小时起用,不要开了关,关了开。反而费钱)
Stable Diffusion Web UI所使用的模型,会链接到网盘的data/sd目录下,用户可以直接在data/sd/models中上传模型,Web UI将会热加载新的模型,而无需重启。

四、stable diffusion 基本操作

(1)大模型切换

首先是这个界面左上角,在这里可以切换你所安装的模型。

Stable Diffusion和Mid journey不一样, Stable Diffusion生成的图片和模型是关系是非常大的,同样的提示词,不同的模型效果可能差别是比较大的,在我们这次的讲解中,使用的是图片中画了红框的模型。

Stable Diffusion 一些配置及参数详解-Ai作品欣赏

这里我先推荐一下常用的模型网站:C 站: https://civitai.com/

Stable Diffusion 一些配置及参数详解-Ai作品欣赏

然后我们在 C 站上下载一些模型:

上面的例子模型是一个Lora模型, 因此可以将其放到stable-diffusion-webui/models/Lora/文件夹下, 其余类型的文件对应放置在相应的文件夹中即可,然后刷新 web UI 界面(就是 SD 操作界面)

(2)提示词书写

我猜应该有不少小伙伴刚开始的时候提示词不知道写什么?
很可能是1 girl、a beatiful girl、a handsome man之类的。
有个编辑的办法–去找别人的提示词模板,在原来的基础上修改。
给大家列了几个可参考的提示词模板地址。
1、https://civitai.com (需要特殊网络设置,美国站点)
2、https://www.aigodlike.com/
3、https://arthub.ai/
4、https://lexica.art

正向提示词&反向提示词

大家会发现, Stable Diffusion WebUI会有两个提示词输入框, 一个是正向提示词, 一个是反向提示词。
那么这两个提示词有什么用呢?
正向提示词:简单的说, 就是告诉Stable Diffusion你想要什么
反向提示词:告诉Stable Diffusion你不想要什么
在这里,有些常用的正向提示词,都是描述照片好的地方

1
best quality,ultra-detailed,masterpiece,finely detail, highres,8k,wallpaper

翻译成中文就是:

1
最好的质量,超详细,杰作,精细的细节,高分辨率,8k壁纸

也有些常用的反向提示词,这些是图片不好的描述词

1
mutated hands and fingers, deformed, bad anatomy, disfigured, poorly 5148drawn face, mutated, extra limb, ugly, poorly drawn hands, missing limb, floating limbs, disconnected limbs, malformed hands, out of focus, longneck, long body

翻译成中文就是:

1
变异的手和手指,变形,坏的解剖结构,毁容,画得不好的脸,变异的,多余的肢体,丑陋的,画得不好的手,缺肢,漂浮的肢体,断肢,畸形的手,失焦,长脖子,长身体

上面的提示词, 就是告诉Stable Diffusion你想要的照片,我们在设置自己的提示词时候,根据自己的实际情况,看看是否需要添加上面的提示词。

从零开始创造属于自己漂亮的女孩

主体:要画什么?漂亮的女孩

我们就从画一个女孩开始,讲下从零开始设置提示词的一些过程。
首先,我先加上正向提示词,这里的正向提示词是【正向提示词&反向提示词】中提及的正向提示词。然后再加上我们的画作的主体, a girl

1
best quality,masterpiece,super high resolution,realistic, a girl

Stable Diffusion只给我们生成了女孩的脸蛋, 看起来确实漂亮。如果我们想从别的角度看, 那该怎么办呢?
设定视角
有几个常用的视角提示词,我们先列出来给大家看看。
·dynamic angle–动态视角
from above–从上面
·from below–从下面
·wide shot–广角镜头
·Aerial View–鸟瞰图

设定人物比例
full body–全身
upper body—半身

我们来设定这些提示词,看看这些提示词效果是什么样子的
full body–全身

1
best quality,masterpiece,super high resolution,realistic,a girl, wide shot, full body

设定人物样貌、穿着、年龄、国籍
我们来设置下人物的样貌,描述人物样貌的词很多,比如,头发颜色、眼睛颜色等等。我们可以选“长黑直的头发”,“蓝色大眼睛”

1
Long black straight hair, big blue eyes

设定人物身处环境
这里就需要大家发挥想象力了,如果实在想不出来,可以求助Chat GPT。在这儿, 我们就简单点,就给这个女孩周围加上树、海就可以啦。

1
tree, ocean

最后我们的正向提示词就是

1
2
best quality,masterpiece,superhigh resolution,realistic,
a girl, wide shot,full body, Long black straight hair,big blue eyes, black jeans, white tights, adult female, asian, tree,ocean

反向提示词

1
mutated hands and fingers, deformed, bad anatomy, disfigured, poorly drawn face, mutated, extra limb, ugly, poorly drawn hands, missing limb, floating limbs, disconnected limbs, malformed hands, out of focus,longneck, long body