Stable Diffusion WebUI 从零基础到入门

143e5c0474fcc925328b46b7cfcb1c32.gif

本文主要介绍Stable Diffusion WebUI的实际操作方法,涵盖prompt推导、lora模型、vae模型和controlNet应用等内容,并给出了可操作的文生图、图生图实战示例。适合对Stable Diffusion感兴趣,但又对Stable Diffusion WebUI使用感到困惑的同学,希望通过本文能够降低大家对Stable Diffusion WebUI的学习成本,更快速的体验到AIGC图像生成的魅力。

eeb0e23c36195e6f924f089776f96950.png

引言

Stable Diffusion (简称sd)是一个深度学习的文本到图像生成模型, Stable Diffusion WebUI是对Stable Diffusion模型进行封装,提供可操作界面的工具软件。Stable Diffusion WebUI上加载的模型,是在Stable Diffusion 基座模型基础上,为了获得在某种风格上的更高质量的生成效果,而进行再次训练后产生的模型。目前 Stable Diffusion  1.5版本是社区内最盛行的基座模型。

  安装

sd web-ui的安装请参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-NVidia-GPUs



sd web-ui使用了gradio组件包,gradio在配置share=True时,会创建frpc隧道并链接到aws,详情可参考(https://www.gradio.app/guides/sharing-your-app),因此在sd web-ui应用启动时,请根据自身安全生产或隐私保护要求,考虑是否禁止开启share=True配置,或删除frpc客户端。

  模型

https://civitai.com/是一个开源的sd模型社区,提供了丰富的模型免费下载和使用。在此简述一下模型的分类,有助于提高对sd web-ui的使用。sd模型训练方法主要分为四类:Dreambooth, LoRA,Textual Inversion,Hypernetwork。

  1. Dreambooth:在sd基座模型的基础上,通过 Dreambooth 训练方式得到的大模型, 是一个完整的新模型,训练速度较慢,生成模型文件较大,一般几个G,模型文件格式为 safetensors 或 ckpt。特点是出图效果好,在某些艺术风格上有明显的提升。如下图所示,sd web-ui中该类模型可以在这里进行选择。

    72b9c1b72375ee586d1b36f87057806b.png

  2. LoRA: 一种轻量化的模型微调训练方法,在原有大模型的基础上对该模型进行微调,用于输出固定特征的人或事物。特点是对于特定风格的图产出效果好,训练速度快,模型文件小,一般几十到一百多 MB,不能独立使用,需要搭配原有大模型一起使用。sd web-ui提供了lora模型插件,以及使用lora模型的方式,具体操作可见本文的 "操作流程->lora模型" 。

  3. Textual Inversion:一种使用文本提示和对应的风格图片来微调训练模型的方法,文本提示一般为特殊的单词,模型训练完成后,可以在text prompts中使用这些单词,来实现对模型生成图片风格和细节的控制,需要搭配原有的大模型一起使用。

  4. Hypernetwork:与LoRA类似的微调训练大模型的方法,需要搭配原有的大模型一起使用。

28ae693cb6d310b5cf8bfde911ca0819.png

操作流程

  prompt推导

  1. 在sd中上传一张图片

  2. 反向推导关键词,有两个模型CLIP和DeepBooru,以图1为例:

8f15663cb0b8f1532aec6e80caee7c06.png

图1: iphone 14 pro max 原相机拍摄的高清照片

使用CLIP进行prompt反推的结果:

a baby is laying on a blanket surrounded by balloons and balls in the air and a cake with a name on it, Bian Jingzhao, phuoc quan, a colorized photo, dada

使用DeepBooru进行prompt反推的结果:

1boy, ball, balloon, bubble_blowing, chewing_gum, hat, holding_balloon, male_focus, military, military_uniform, open_mouth, orb, solo, uniform, yin_yang

CLIP反推结果是一个句子,DeepBooru的反推结果是关键词。

可以修改正向prompt,也可以添加反向prompt,反向prompt用于限制模型在生产图片时不添加反向prompt中出现的元素。反向prompt不是必须的,可以不填。

  lora模型

lora模型对大模型生成图的风格和质量有很强的干预或增强作用,但是lora模型需要与配套的大模型一起使用,不能单独使用。在sd-webui中使用lora模型的方式主要有两种:

  • 方法一

安装additional-network插件,插件的github地址:https://github.com/kohya-ss/sd-webui-additional-networks,在sd-webui上可以在扩展中直接下载安装。该插件仅支持使用sd-script脚本训练的lora模型,目前https://civitai.com/上绝大多数的开源lora模型都是基于此脚本训练的,因此该插件支持绝大多数的lora模型。下载的lora模型需要放到

*/stable-diffusion-webui/extensions/sd-webui-additional-networks/models/lora

路径下, 新增模型需要重启sd-webui,插件和模型正确加载后,会在webui操作界面的左下角中出现“可选附加网络(LoRA插件)” 。在生成图片时触发lora,需要在插件中选中lora模型,并在正向提示词中加入Trigger Words。下图中选中的lora模型为blinndbox_v1_mix, trigger words为full body,chibi, 每个lora模型有自己独有的Trigger Words,在模型的简介中会注明。

fc3c26d16ed4d53f49d542426b3e728e.png

如果插件在点击安装后没有反应,或者提示因为Flag引起的错误,是因为webui启动时允许扩展插件的设置配置为禁止,需要在webui启动时添加启动参数:--enable-insecure-extension-access

./webui.sh --xformers --enable-insecure-extension-access
  • 方法二

不使用additional-network插件,使用sd-webui默认支持的lora模型使用方式,需要将lora模型放到

*/stable-diffusion-webui/models/Lora

目录下,重新启动sd-webui即可自动载入模型。

在正向提示词中加入lora模型启用语句,生产图片时即可触发lora模型:

e42f73a1d0927302588104b5eed8e56d.png

web-ui提供了自动填充lora提示语句的功能,点击如图所示的图标,可以打开lora模型列表,然后点击模型区域,语句会自动填充到正向提示词区域:

92604da6ff2598d11821cbd5d7c24f62.png

以上两种方式,选用其中任意一种均能使lora模型在内容生产中生效,两种方式同时使用也不会引起问题。

  ControlNet

controlNet通过支持额外的输入条件,试图控制预训练的大模型,如Stable Diffusion。单纯的文本控制方式令内容的生产就像碰运气抽卡,结果无法控制且不容易达到预期效果,controlNet的出现使stable diffusion大模型的内容生成进入可控时期,让创作变得可控使得AIGC在工业应用上更进一步。

  • 安装controlNet

在sd-webui上,点击扩展,进入插件安装页面,找到controlNet插件,点击install即可完成插件安装。

6185919ac3f16d18fb478030ceb71d72.png

下载开源的controlnet模型

下载地址:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

一个模型由两个文件组成: .pth 和 .yaml,需要同时下载。文件名中"V11"后面的字母,p:表示可以使用,e:表示还在试验中,u:表示未完成。下载好的模型放在如下目录,重启sd-webui 即可完成controlnet模型加载。

*\stable-diffusion-webui\extensions\sd-webui-controlnet\models

  图生图示例

  • 模型选择

1、stable diffusion大模型选用:revAnimated_v11 (https://civitai.com/models/7371?modelVersionId=46846)

2、lora模型选用blind_box_v1_mix (https://civitai.com/models/25995?modelVersionId=32988)

3、采样方法Euler a

4、源图片使用 图1,使用DeepBooru模型进行正向prompts生成, 添加revAnimated_v11的特定prompts, 删除一些正向prompts,添加反向prompts,最后使用的prompt如下所示。

正向:

(masterpiece),(best quality), (full body:1.2), (beautiful detailed eyes), 1boy, hat, male, open_mouth, smile, cloud, solo, full body, chibi, military_uniform, <lora:blindbox_v1_mix:1>

反向:

(low quality:1.3), (worst quality:1.3)

生成的图片为:

29fdaaac3b31b46d313fbc8e9a216691.jpeg

图1:原图片

2fa3bc952baf7942005f065423565af4.png

图2:sd生成图片

5、保持生成图片的条件不变,添加ControlNet模型,选择Openpose,control mode选择 balance ,生成的图片如下所示,生成的人物动作因为Openpose的作用被约束了,与原图像保持的更为相似。

559911c06acb9684d04793ef5b06d5ac.png

图3:sd生成图片(添加openpose)

dd831f5c06f8afa377a3f145162f7105.png

图4: openpose生成的图片

  文生图示例

  • 模型选择

  1. stable diffusion大模型选用:revAnimated_v11 (https://civitai.com/models/7371?modelVersionId=46846)

  2. lora模型选用blind_box_v1_mix (https://civitai.com/models/25995?modelVersionId=32988)

  3. 采样方法Euler a

示例1

提示词

正向:

(masterpiece),(best quality),(ultra-detailed), (full body:1.2), 1girl, youth, dynamic, smile, palace,tang dynasty, shirt, long hair, blurry, black hair, blush stickers, black hair, (beautiful detailed face), (beautiful detailed eyes), <lora:blindbox_v1_mix:1>, full body, chibi

反向:

(low quality:1.3), (worst quality:1.3)

生成的图片为:

69d0db04c873ed88181305fe921b658c.png

图5: 文生图实例1

示例2

提示词

正向:

(masterpiece),(best quality),(ultra-detailed), (full body:1.2), 1girl,chibi,sex, smile, open mouth, flower, outdoors, beret, jk, blush, tree, :3, shirt, short hair, cherry blossoms, blurry, brown hair, blush stickers, long sleeves, bangs, black hair, pink flower, (beautiful detailed face), (beautiful detailed eyes), <lora:blindbox_v1_mix:1>,

反向:

(low quality:1.3), (worst quality:1.3)

生成图片为:

cac55344623ebfa70e034cb50a6c2abe.png

图6: 文生图实例2

提示词解析

  1. (masterpiece),(best quality),(ultra-detailed), (full body:1.2), (beautiful detailed face), (beautiful detailed eyes) 这些带()的词为revAnimated_v11 模型配套prompts,用于提高图片的生成质量。

  2. <lora:blindbox_v1_mix:1> 是触发 blind_box_v1_mix 模型的 prompt。

  3. full body, chibi 为 blind_box_v1_mix 模型的 trigger words。

  4. 剩下的prompts为图片内容的描述。

  5. revAnimated_v11 模型对prompt的顺序是敏感的,排在前面的提示词比排在后面的prompt对结果的影响更大。

  VAE

在sd的实际使用中,vae模型起到滤镜和微调的作用,有些sd模型是自带vae的,并不需要单独挂载vae。与模型配套的vae的模型,通常会在模型的发布页面会附带vae的下载链接。

  • 模型的安装

下载vae模型到sd web-ui的如下目录,重启sd web-ui,即可自动完成vae模型加载。

/stable-diffusion-webui/models/VAE

如下图所示,在sd web-ui上可以切换vae模型。

374c1eebf411e9888fdb8a37e792bd82.png

如果we-ui上看不到此选择框,则到设置-> 用户界面-> 快捷设置列表 添加配置 "sd_vae",如下所示:

93f1d6142c091ce4525a9b8f9f8d677d.png

  • 效果

在保持图6生成条件不变的基础上,附加Blessed2(https://huggingface.co/NoCrypt/blessed_vae/blob/main/blessed2.vae.pt)模型,图片的颜色和对比度有了明显的变化。

224788fa718edebbc871737318bba789.png

图7: 添加vae模型前

e28713ed9ee3f3a1ea54aa775a3c4a2c.png

图8:添加vae模型后图片的饱和度和对比度都有提升

f28929f2d7d40123980923cc8766ec08.png

结束语

  1. sd web-ui的学习曲线比较陡峭,具有一定的图像处理领域知识能够帮助用户更好的选择和组合模型。

  2. 零基础小白用户容易出现随便选择模型,胡乱组合,对着sd web-ui界面进行一系列操作后,出图效果和预期完全不符的情况,建议先了解每个模型的特点后再根据实际目标进行选择。

  3. sd是开源的,sd web-ui是一个工具箱,不是一个商业产品,社区中有很多效果很棒的模型,出图的上限很高,但下限也很低,开源不代表没有成本,因为sd we-ui部署要求较高的硬件配置。要节省学习成本,较为稳定的出图效果,简单便捷的用户体验,没有硬件配置要求,midjourney 是当前的首选,但需要支付订阅费。

0ee2460d5265df6083f5e18eb8f1896d.png

团队介绍

我们是大淘宝FC技术智能策略团队,负责手机天猫搜索、推荐、拍立享等业务研发和技术平台建设,综合运用搜推算法、机器视觉、AIGC等前沿技术,致力于依靠技术的进步支持场景的提效和产品的创新,为用户带来更好的购物体验。

¤ 拓展阅读 ¤

3DXR技术 | 终端技术 | 音视频技术

服务端技术 | 技术质量 | 数据算法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/92740.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

序列模型和循环网络

Sequence Modeling and Recurrent Networks Sequence modeling tasks 在以往的模型中&#xff0c;各个输入之间是独立分布的 x ( i ) x^{(i)} x(i) 之间是相互独立的&#xff0c;同样输出 y ( i ) y^{(i)} y(i)之间也是相互独立的。 但是在序列模型中&#xff0c;输入输出是…

STM32基于CubeIDE和HAL库 基础入门学习笔记:功能驱动与应用

文章目录&#xff1a; 一&#xff1a;LED与按键驱动程序 main.c 1.闪灯 led.h led.c 2.按键控制LED亮灭 key.h key.c 二&#xff1a;蜂鸣器与继电器驱动程序 main.c 1.蜂鸣器 buzzer.h buzzer.c delay.h delay.c 2.继电器 relay.h relay.c 三&#xff1…

“MongoDB基础知识【超详细】

"探索MongoDB的无边之境&#xff1a;沉浸式数据库之旅" 欢迎来到MongoDB的精彩世界&#xff01;在这个博客中&#xff0c;我们将带您进入一个充满创新和无限潜力的数据库领域。无论您是开发者、数据工程师还是技术爱好者&#xff0c;MongoDB都将为您带来一场令人心动…

PLY模型格式详解【3D】

本文介绍PLY 多边形文件格式&#xff0c;这是一种用于存储被描述为多边形集合的图形对象。 PLY文件格式的目标是提供一种简单且易于实现但通用的格式足以适用于各种模型。 PLY有两种子格式&#xff1a;易于入门的 ASCII 表示形式和用于紧凑存储和快速保存和加载的二进制格式。 …

搭建 Python 环境 | Python、PyCharm

计算机 计算机能完成的工作&#xff1a; 算术运算逻辑判断数据存储网络通信…更多的更复杂的任务 以下这些都可以称为 “计算机”&#xff1a; 一台计算机主要由以下这几个重要的组件构成 CPU 中央处理器&#xff1a;大脑&#xff0c;算术运算&#xff0c;逻辑判断 存储器&…

Redis——常见数据结构与单线程模型

Redis中的数据结构 Redis中所有的数据都是基于key&#xff0c;value实现的&#xff0c;这里的数据结构指的是value有不同的类型。 当前版本Redis支持10种数据类型&#xff0c;下面介绍常用的五种数据类型 底层编码 Redis在实现上述数据结构时&#xff0c;会在源码有特定的…

Docker数据卷容器

1.数据卷容器介绍 即使数据卷容器c3挂掉也不会影响c1和c2通信。 2.配置数据卷容器 创建启动c3数据卷容器&#xff0c;使用-v参数设置数据卷。volume为目录&#xff0c;这种方式数据卷目录就不用写了&#xff0c;直接写宿主机目录。 创建c1、c2容器&#xff0c;使用–volum…

三星霸主地位“无可撼动“,DRAM内存市场份额创近 9 年新低仍第一

三星电子在DRAM市场的竞争地位一直备受关注。据报告显示&#xff0c;除了市场份额下降外&#xff0c;三星电子在上半年的销售额也出现了下滑。这主要是由于全球消费电子产品需求下滑&#xff0c;导致三星电子的芯片需求减少。 存储芯片业务所在的设备解决方案部门的营收和利润也…

24届近3年上海电力大学自动化考研院校分析

今天给大家带来的是上海电力大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、上海电力大学 学校简介 上海电力大学&#xff08;Shanghai University of Electric Power&#xff09;&#xff0c;位于上海市&#xff0c;是中央与上海市共建、以上海市管理为主的全日…

经典人体模型SMPL介绍(一)

SMPL是马普所提出的经典人体模型&#xff0c;目前已成为姿态估计、人体重建等领域必不可少的基础先验。SMPL基于蒙皮和BlendShape实现&#xff0c;从数千个三维人体扫描结果得来&#xff0c;后通过PCA统计学习得来。 论文&#xff1a;SMPL: A Skinned Multi-Person Linear Mode…

基于Python的HTTP代理爬虫开发初探

前言 随着互联网的发展&#xff0c;爬虫技术已经成为了信息采集、数据分析的重要手段。然而在进行爬虫开发的过程中&#xff0c;由于个人或机构的目的不同&#xff0c;也会面临一些访问限制或者防护措施。这时候&#xff0c;使用HTTP代理爬虫可以有效地解决这些问题&#xff0…

普华永道踩坑MOVEit漏洞,泄露银行8万名储户的信息

8月14日&#xff0c;波多黎各自治区最大的银行——人民银行向缅因州司法部长提交了一份客户信息泄露报告。该报告指出&#xff0c;由于供应商普华永道使用的MOVEit软件存在安全漏洞&#xff0c;导致银行82217名储户的个人信息被泄露。 目前&#xff0c;波多黎各人民银行已经陆续…

javaScript:数组方法(增删/提取类/截取/操作方法等)

目录 一.数组的增删方法 1.push()数组末尾添加元素 解释 代码 运行截图 2.unshift()向数组的头部添加数组 解释 代码 运行截图 3.pop()数组的尾部删除一个元素 解释 代码 运行截图 4.shift()数组的头部删除一个元素 解释 代码 运行截图 5. splice()任意位…

使用 Visual Studio Code 调试 CMake 脚本

之前被引入到 Visual Studio 中的 CMake 调试器&#xff0c;现已在 Visual Studio Code 中可用。 也就是说&#xff0c;现在你可以通过在 VS Code 中安装 CMake 工具扩展&#xff0c;来调试你的 CMakeLists.txt 脚本了。是不是很棒? 背景知识 Visual C 开发团队和 CMake 的维…

最全的【DDD领域建模】小白学习手册(文末附资料)

1、前言&#xff1a; 在当时的环境下&#xff0c;单体应用仍然是市场的主体&#xff0c;但是大型复杂软件系统已经出现&#xff0c;给团队的设计和开发工作带来了比较大的挑战。 DDD提供了一种新的设计思路&#xff0c;通过对于业务子域和限界上下文的划分&#xff0c;建立跨…

【Oracle 数据库 SQL 语句 】积累1

Oracle 数据库 SQL 语句 1、分组之后再合计2、显示不为空的值 1、分组之后再合计 关键字&#xff1a; grouping sets &#xff08;&#xff08;分组字段1&#xff0c;分组字段2&#xff09;&#xff0c;&#xff08;&#xff09;&#xff09; select sylbdm ,count(sylbmc) a…

【数据结构OJ题】链表中倒数第k个结点

原题链接&#xff1a;https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId13&&tqId11167&rp2&ru/activity/oj&qru/ta/coding-interviews/question-ranking 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 …

进程间通信——信号

信号的概念 信号是 Linux进程间通信的最古老的方式之一&#xff0c;是事件发生时对进程的通知机制&#xff0c;有时也称之为软件中断&#xff0c;它是在软件层次上对中断机制的一种模拟&#xff0c;是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异…

手机商城网站的分析与设计(论文+源码)_kaic

目录 摘 要 1 1 绪论 2 1.1选题背景意义 2 1.2国内外研究现状 2 1.2.1国内研究现状 2 1.2.2国外研究现状 3 1.3研究内容 3 2 网上手机商城网站相关技术 4 2.1.NET框架 4 2.2Access数据库 4 2.3 JavaScript技术 4 3网上手机商城网站分析与设…