Stable Diffusion

一、概述

截止到目前,AI绘画领域比较主流的还是Midjourney和Stable Diffusion,但目前Midjourney已经没有免费的使用额度,而Stable Diffusion则是完全免费开源,并且其可扩展性很强;除了可以部署在各种平台上还能,还能更换模型创作不同风格的化作。
附上stable-diffusion项目地址:
stable-diffusion
CompVisUpdated Jul 21, 2024
在stable-diffusion的基础上,有大佬开发出了stable-diffusion-weiui:
stable-diffusion-webui
AUTOMATIC1111Updated Nov 15, 2024
这是一个利用 gradio 模块搭建出交互程序,是一个基于stable-diffusion的基础应用,它可以在低代码 GUI 中立即访问 Stable Diffusion;stable-diffusion-weiui提供了多种功能,如 txt2img、img2img、inpaint 等,还包含了许多模型融合改进、图片质量修复等附加升级
本篇文章主要记录我在不同平台上部署和使用stable-diffusion-weiui的过程。

二、搭建部署

2.1、Google Colab

对于Mac用户来说,用显卡加速AI绘画是不可能了,所以只能在线白嫖一下Google Colab(如果不知道可以自行探索)。
部署到Google Colab主要是参照这个项目stable-diffusion-weiui-colab的指导
stable-diffusion-webui-colab
camenduruUpdated Nov 14, 2024
但实际只需要运行下面这三个文件就可以完成部署和启动
一些用Google Colab部署之后画的图
notion imagenotion image
notion imagenotion image
不过遗憾的是,由于Google Colab有资源使用限制,我在第一天部署好之后疯狂画图,最终导致有限的资源被我挥霍一空,最近几天应该都不能愉快的造二次元小姐姐了🤧

2.2、Kaggle

Kaggle的优势在于免费资源比Google Colab多,每周有30小时的使用时长,对于需求不大的小伙伴来说,完全够用了。但是两种方法都需要科学上网,对于不能科学上网的童鞋,只能使用阿里云和其他的部署方式了

2.3、阿里云

阿里云对新手提供7天的免费试用,试用期结束后就需要开始氪金了。

2.4、Mac OS

原版 stable-diffusion-weiui 的安装:

该教程中的安装基本都是官网的安装教程步骤,我自己在安装的时候略有改动。在安装依赖是并没有直接安装 python,只安装了其他的包。而 python 我则是直接新了一个虚拟环境,在启动程序时直接在虚拟环境中进行启动。因为我本地的python 环境很多,这样方便管理,也不会破坏本机原来的的 python 环境。安装过程很顺利,没有遇到文中提到的问题。

秋叶大神整合包在 Mac 上的安装使用

  • 下载完成之后在 vscode 中对启动文件的格式进行转换,将CRLF转换成 LF
    • 文件夹sd-webui-aki-v4.8中的启动文件有webui.sh、webui-user.sh、webui-macos-env.sh
    • 打开这三个文件之后在 vscode 编辑器的右下角找CRLF字样,点击,然后选择 LF,然后保存
  • 然后在虚拟环境中进入sd-webui-aki-v4.8文件夹,正常启动webui.sh文件即可(方法和原版一样)

2.5、Windows

……

三、绘图技巧

3.1、建筑效果图绘制

3.1.1、建筑风格模型下载:

3.1.2、建筑风格提示词:

示例:
  • architecture exterior design,Sleek, futuristic office building with a dramatic, angular design,a shimmering metallic exterior, bright shades,set against a backdrop of a bustling, city skyline,hyperrealistic, 4K, masterpiece, highest quality
拆解:
  • 建筑类型:futuristic office building with a dramatic; modern concert hall
  • 设计风格:angular design; twisted, helix-like shape
  • 建筑材质:a shimmering metallic exterior; soft concrete exterior; light construction materials
  • 环境背景:set against a backdrop of a bustling city skyline; towering mountains, sunset sky; desert, morning, religious; under the ocean
  • 色彩色调:bright shades
  • 情感色彩:Sleek
参考:
注意:画幅也会影响绘画结果,可适当调整

3.1.3、建筑效果图

3.2、写实人像绘制

3.2.1、正向提示词

内容性提示词
人物和主体特征
  • 五官描述
  • 服饰穿搭
  • 肢体动作
  • 面部表情
  • 肤色质感
  • 年龄大小
场景和环境特征
  • 场地描述
  • 时间描述
  • 光照环境
  • 场景细节
结构和视角特征
  • 图像类型
  • 距离远近
  • 人物比例
  • 观察者视角
  • 镜头类型
SFW, 1girl, walking, forest, path, sun, sunshine, shining on body, yellow skirt and white t-shirt, blonde hair, long hair, smiling, stretching arms, hands up, beautiful, happy, trees, bush, white flower, path, outdoor, day, sunlight, blue sky, cloudy sky, close-up, best quality, ultra detailed, masterpiece, hires, 8k, extremely detailed CG unity 8k wallpaper, painting, illustration, anime, game cg.
标准化提示词
画质分辨率
best quality, ultra-detailed, masterpiece, hires, 8k
extremely detailed CG unity 8k wallpaper(超精细的8KUnity游戏CG),unreal engine rendered(虚幻引擎渲染)
画风
插画风 lustration, painting, paintbrush 二次元 anime, corric, game cG 写实系 phatorealistic, realistic, photograph
(masterpiece:1,2), best quality, masterpiece, highres, original, extremely detailed wallpaper, perfect lighting.(extremelydetailed CG:1.2), drawing, paintbrush,

3.2.2、负向提示词

NSFW, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome),((grayscale)), skin spots,acnes, skin blemishes, age spot, (ugly:1.331), (duplicate:1.331), (morbid:1.21), (mutilated:1.21), (tranny:1.331), mutated hands,(poorly drawn hands:1.5), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331), (missingarms:1.331),(extra legs:1.331), (fused fingers:1.61051),(too many fingers:1.61051), (unclear eyes:1.331), lowers, bad hands,missing fingers, extra digit,bad hands, missing fingers, (((extra arms and legs))),
 
 

提示词权重

1、加括号:每加一层括号,该关键词的权重就在原来的基础上乘以 相应的倍数;
  • 小括号,一层增大 1.1 倍;(illustration)
  • 大括号,一层增大 1.05 倍;{illustration}
  • 中括号,一层增大 0.9 倍(权重减小); [illustration]
2、直接指定权重:加了括号之后直接加引号和权重;
  • 增大权重:(illustration:1.5)
  • 减小权重:(illustration:0.5)
 
混合:对一个主体的两个描述混合;如:white / yellow flower,生成黄白相间的花
迁移:连续生成具有多个不同特征的对象,不断迁移。如:[white/red/bluel flower]此处:先生成白花,再生成红花,再生成蓝花。
迭代: 与采样进程关联,一定阶段以后再生成特定对象。如:(white flower:bush:0.8),进程到达80%(0.8) 之前生成白花,80%之后再生成灌木。
 
 

3.2.1、写实人像提示词:

  • portrait:肖像;portrait of
  • 眼睛:detailed face and eyes:1.3; perfect eyes:1.1; contacts, iris (眼角虹膜)
  • 头发:shampoo, conditioner(洗发水护发素???)洗发水和护发素广告中都会展现完美的女性,因而AI也可以识别这些词
  • 衣服:think dresses/tights/shirts/socks;连衣裙/紧身衣/衬衫/长袜
  • 反光:
  • 皮肤:skin blemish、freckles、beauty marks(皮肤斑点、雀斑、美人痣)
    • 负面词:(DIRT、BLOOD、PAINT)泥土、血液、油漆
  • 年龄:用WOMAN代替女孩,用MAN代替男孩;添加25 岁、 100 岁、性别、性格等有助于AI理解年龄的词以获得更好的效果
  • 氛围:将glow、bloom、haze、soft置于提示中有助于生成朦胧和梦幻般的图片。有时使用simple代替intericate有助于生成更清晰、更好的图片,特别是对于机器人和卡通或一些更简单的风格人像。
  • 比例:虽然默认的512×512绘制人像不会出问题,但通常我们都希望绘制竖版人像也能表现良好,这就要控制长宽比,如果采用512×704、512×768,可以添加full body,以获得完美的半身人像,避免出现上下双头。

3.2.2、负面提示语:

painting, drawing, ((((visible hand)))), ((((ugly)))), (((duplicate))), ((morbid)), ((mutilated)), [out of frame], extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))), out of frame, ugly, extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck)))
示例: portrait of a female, natural light, cinematic light, 4k, Photo realistic, volumetric lighting, global dynamic lighting, artgerm, High Detail, bokeh(detailed face and eyes:1.3),(perfect eyes:1.1),contacts, iris,full body,think dresses,skindentation,shampoo, conditioner,short skirts,trending on artstation.
参考:

四、绘画模型

模型分类

二次元
真实风
2.5D模型
 

模型存放位置

  • 基座模型:stable-diffusion-webui/models/Stable-diffusion
  • Lora模型:stable-diffusion-webui/models/Lora;
  • VAE模型:stable-diffusion-webui/models/VAE;(调色滤镜)
 

五、推荐阅读

If you have any questions, please contact me.