Stable Diffusion教程(5) - 文生图教程

news2024/11/25 0:39:43

配套视频教程: https://v.douyin.com/UyHNfYG/ 

文生图界面标注如下

1 提示词和反向提示词

提示词内输入的东西就是你想要画的东西,反向提示词内输入的就是你不想要画的东西

提示框内只能输入英文,所有符号都要使用英文半角,词语之间使用半角逗号隔开

1.1 一般原则

一般来说越靠前的词汇权重就会越高,比如说

  • car,1girl, 可能会出现一整辆车,旁边站着女孩
  • 1girl,car, 可能会出现女孩肖像,背景是半辆车

所以多数情况下的提示词格式是

  • 质量词,媒介词,主体,主体描述,背景,背景描述,艺术风格和作者

举个例子就是

  • masterpiece, bestquality, sketch, 1girl, stand, black jacket, wall backgoround, full of poster, by token,
  • 一张token画的高质量速写,内容是一个穿着黑色夹克的女孩站在铺满海报的墙前

但是实际上SD所使用的文本编码器会对一切文本产生反应,对于不同词的敏感度也完全不同,对于同一含义的不同词汇表达也会有不同的敏感度,并没有一定的规则,所以还是需要去亲自反复调试才能体会SD对各种词汇排列和组合的敏感度,形成一种大致的直觉

1.2 权重调节

最直接的权重调节就是调整词语顺序,越靠前权重越大,越靠后权重越低

可以通过下面的语法来对关键词设置权重,一般权重设置在0.5~2之间,可以通过选中词汇,按ctrl+↑↓来快速调节权重,每次步进为0.1

  • (best quality:1.3)

以下方式也是网上常见的权重调节方式,但是调试起来不太方便所以并不推荐

  • (best quality) = (best quality:1.1)
  • ((best quality)) = (best quality:1.21) ,即(1.1 * 1.1)
  • [best quality] = (best quality:0.91)

1.3 起手式

现在我的建议是使用尽可能简洁的起手式,而不是早期特别冗长的起手式,因为提示词输入的越多ai绘画时间就会越长,同时分配给每个词汇的注意力也会越低,调试也会很困难

现在的模型相对于早期模型在词汇敏感性上有了长足的进步,所以不必担心提示词太短而导致画面效果不佳

简单的正面和反面起手式

  • masterpiece, best quality, 1boy
  • nsfw, (worst quality, bad quality:1.3)

稍长的正面和反面起手式

  • masterpiece, best quality, highres, highly detailed, 1girl,
  • nsfw, bad anatomy, long neck, (worst quality, bad quality, normal quality:1.3), lowres

1.4 词条组合

几个词用括号合起来并不会让ai把他们视为一体,即使打上权重也不行,比如以下两者实际上是完全等价的

  • (car, rockt, gun:1.3)
  • (car:1.3), (rocket:1.3), (gun:1.3)

词条组合的方式和自然语言差不多,要使用介词,比如and,with,of 等等,比如

  • (car with guns and rockets)

2 采样方法

采样方法有很多,但是目前常用的基本只有几种

2.1 Euler a

速度最快的采样方式,对采样步数要求很低,同时随着采样步数增加并不会增加细节,会在采样步数增加到一定步数时构图突变,所以不要在高步数情景下使用

2.2 DPM++2S a Karras 和 DPM++ SDE Karras

这两个差不太多,似乎SDE的更好,总之主要特点是相对于Euler a来说,同等分辨率下细节会更多,比如可以在小图下塞进全身,代价是采样速度更慢

2.3 DDIM

很少会用到,但是如果想尝试超高步数可以使用,随着步数增加可以叠加细节

3 采样步数

一般来说大部分时候采样部署只需要保持在20~30之间即可,更低的采样部署可能会导致图片没有计算完全,更高的采样步数的细节收益也并不高,只有非常微弱的证据表明高步数可以小概率修复肢体错误,所以只有想要出一张穷尽细节可能的图的时候才会使用更高的步数

4 生成批次和生成数量

  • 生成批次是显卡一共生成几批图片
  • 生成数量是显卡每批生成几张图片

也就是说你每点击一次生成按钮,生成的图片数量=批次*数量

需要注意的是生成数量是显卡一次所生成的图片数量,速度要比调高批次快一点,但是调的太高可能会导致显存不足导致生成失败,而生成批次不会导致显存不足,只要时间足够会一直生成直到全部输出完毕

5 输出分辨率(宽度和高度)

图片分辨率非常重要,直接决定了你的图片内容的构成和细节的质量

5.1 输出大小

输出大小决定了画面内容的信息量,很多细节例如全身构图中的脸部,饰品,复杂纹样等只有在大图上才能有足够的空间表现,如果图片过小,像是脸部则只会缩成一团,是没有办法充分表现的

但是图片越大ai就越倾向于往里面塞入更多的东西,绝大多数模型都是在512*512分辨率下训练的,少数在768*768下训练,所以当输出尺寸比较大比如说1024*1024的时候,ai就会尝试在图中塞入两到三张图片的内容量,于是会出现各种肢体拼接,不受词条控制的多人,多角度等情况,增加词条可以部分缓解,但是更关键的还是控制好画幅,先算中小图,再放大为大图

大致的输出大小和内容关系参考:

  • 约30w像素,如512*512,大头照和半身为主
  • 约60w像素,如768*768,单人全身为主,站立或躺坐都有
  • 越100w像素,如1024*1024,单人和两三人全身,站立为主
  • 更高像素,群像,或者直接画面崩坏

5.2宽高比例

宽高比例会直接决定画面内容,同样是1girl的例子:

  • 方图512*512,会倾向于出脸和半身像
  • 高图512*768,会倾向于出站着和坐着的全身像
  • 宽图768*512,会倾向于出斜构图的半躺像

所以要根据想要的内容来调整输出比例

6 提示词相关性(CFG)

CFG很难去用语言去描述具体的作用,很笼统的来说,就是给你所有的正面和反面提示词都加上一个系数,所以一般CFG越低,画面越素,细节相对较少,CFG越高,画面越腻,细节相对较多

  • 二次元风格CFG可以调的高一些以获得更丰富的色彩和质感表达,一般在7~12,也可以尝试12~20
  • 写实风格CFG大都很低,一般在4~7,写实模型对CFG很敏感,稍微调多一点可能就会古神降临,可以以0.5为步进来细微调节

7 随机种子

随机种子可以锁定这张图的初始潜在空间状态,意思就是如果其他参数不变,同一个随机种子生成的图应该是完全相同的,可以通过锁定随机种子来观察各种参数对画面的影响,也可以用来复现自己和他人的画面结果

  • 点击筛子按钮可以将随机种子设为-1,也就是随机
  • 点击回收按钮可以将随机种子设为右边图片栏里正在看的那张图片的随机种子

需要注意的是,即使包括随机种子在内的所有参数相同,也不能保证你生成的而图片和他人完全一致,随着显卡驱动,显卡型号,webui版本等其他因素的变动,同参数输出的图片结果都会可能会发生变动,这种变动可能是细微的细节区别,可能是彻底的构图变化

8 面部修复

面部修复在早期模型生成的的写实图片分辨率不高的时候有一定价值,可以在低分辨率下纠正错误的写实人脸,但是现在的模型的脸部精度已经远超早期模型,而面部修复功能会改变脸部样貌,所以只要无视这个功能就好

9 其他

9.1 VAE设置

VAE的作用是修正最终输出的图片色彩,如果不加载VAE可能会出现图片特别灰的情况,设置位置:

  • 设置-StabelDiffusion-模型的VAE

设置之后记得点击上方的保存设置,VAE是通用的,可以和任何模型组合

整合包已经自带了final-pruned.vae.pt,一般用来修正二次元模型,但是这个VAE可能会在图片计算完成之后提示错误:

  • modules.devices.NansException: A tensor with all NaNs was produced in VAE. This could be because there’s no enough precision to represent this picture. Try adding –no-half-vae commandline to fix this.

如果出现这种情况,需要在启动器额外参数一栏填写–no-half-vae来解决

除了这个VAE,还有别的VAE可供使用,觉得颜色偏灰可以去切换使用:

  • https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt
  • https://huggingface.co/stabilityai/sd-vae-ft-ema-original/resolve/main/vae-ft-ema-560000-ema-pruned.ckpt

VAE放置路径:*\models\VAE

使用这两个VAE如果发现二次元图片算出来线条很粗还有红边紫边的情况,切换回final-pruned.vae.pt即可解决

9.2 图片信息

每个SD生成的图片都会自动写入相关参数信息,包括正面和反面提示词,采样步数,采样器,CFG,随机种子,尺寸,模型哈希,模型名称,Clip skip,超分参数等等

在图片信息界面拖入他人或者自己的原始图片都可以读取到参数信息,点击文生图等相应按钮即可将图片和参数一同复制到指定模块,需要注意的是他可能会改变你的webui不容易注意到的一些设置,比如controlnet等插件的设置,Clip skip,ENSD等等,如果后面用自己的参数算图发现不太对劲的时候可以检查一下这些部分

9.3 图片保存和浏览

所有输出的图片都会自动存放在以下路径,不同模块的图片都分开放置在相应文件夹下

  • *\outputs

webui自带了一个图库浏览器,可以满足小规模的图片浏览,用来调取参数也更方便,但是毕竟是网页程序,在大规模图片管理方面还是使用资源管理器效率更高

9.4 40系显卡相关

如果你是40系显卡可能会需要替换整合包自带的cudnn文件来获得全部的计算速度性能,大概会有一倍以上的提升

  • cudnn文件下载
  • https://developer.nvidia.com/rdp/cudnn-archive

在webui文件夹中搜索“cudnn”,找到cudnn文件所在的路径,将下载的压缩包解压,把包内bin文件夹中的文件全部复制到webui的cudnn文件所在的路径,并选择替换相应的文件

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业级信息系统开发讲课笔记4.5 掌握Spring Boot多环境配置

文章目录 零、学习目标一、项目进行多环境配置的必要性二、使用Profile文件进行多环境配置(一)创建Spring Boot项目(二)创建多环境配置文件1、全局配置文件改名2、模拟开发环境3、模拟测试环境4、模拟生产环境 (三&…

Unity基础 音频组件以及音频播放

在游戏开发中,声音是一个重要的环节。Unity中的声音组件可以帮助开发者轻松地控制游戏中音频的播放、音量、循环等属性,从而实现更好的游戏体验。本文将详细介绍Unity声音组件的相关概念和技术,以及其在游戏、影视等领域的广泛应用和发展前景…

银行联行号-联行号api接口-联行号数据源

接口地址: https://登录后显示/api/180/348(支持:http/https) 数据源:https://www.wapi.cn/source/8.html 网站地址:https://www.wapi.cn 返回格式:json,xml 请求方式:GET,POST 请求说明: 银行联行号-联行…

数据集:T-Drive(北京出租车轨迹数据)

1 数据来源 T-Drive trajectory data sample - Microsoft Research 2 数据介绍 数据集包含了2008年2月2日至2月8日期间在北京市内的10,357辆出租车的GPS轨迹。总共包含约1500万个GPS点,轨迹总里程达到了900万公里。 图1显示了两个连续点之间的时间间隔和距离间隔…

Apache 配置和应用

目录 构建虚拟 Web 主机 Options指令解释 Options指令常用选项 AllowOverride指令解释: 地址限制策略: httpd服务支持的虚拟主机类型包括以下三种: 基于域名的虚拟主机 1.为虚拟主机提供域名解析 2.为虚拟主机准备网页文档 3.添加虚拟…

【服务器】springboot实现HTTP服务监听

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

Mysql 异常,“Cause: com.mysql.cj.jdbc.exceptions.MySQLTimeoutException”

Cause: com.mysql.cj.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request 简言:这种异常从字面翻译过来:mysql 请求链接超时,具体超时是什么原因导致的,可以根据情况分析下。 异常详…

【黄啊码】PHP商城中的积分任务系统实现

大家好,我是黄啊码,前几天有位小伙伴问我,商城中的任务系统是怎么实现的? 积分作为一种营销手段,被广泛运用于线上/线下的产品中,以此来增加用户对于产品的粘性。比如天猫积分可以用来兑换商品&#xff0c…

uni-app通过vue.config.js在项目中配置跨域代理

其实这个 如果你用nginx去配肯定再好不过 不过 一般大家也都不想把开发环境弄那么复杂 最好还是在项目中配置 那么 我们选择项目跟目录右键 选择 使用命令行窗口打开所在目录 在新弹出的命令行中引入依赖 npm install http-proxy-middleware --save-dev然后我们的依赖就进来…

【通信接口】CAN总线协议

目录 一、什么是CAN 1、CAN 的概念 2、节点构成(CAN 总线通信模型) 3、差分信号(电平特性) 4、CAN 总线的特点 二、CAN 总线协议的通信过程 1、发送过程 2、接收过程 3、概括 三、CAN 通信帧的分类 一、什么是CAN 1、C…

易基因:全基因组ChIP-seq分析揭示细菌转录因子PhoB的基因内结合位点|mBio

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 细菌编码许多转录因子(transcription factor,TF),这些转录因子通过与启动子周围的DNA结合并调控RNA聚合酶(RNAP)全…

微服务架构打造的供应链系统、采购配送系统,支持SaaS模式

一、开源项目简介 haohan-scm 介绍 基于pig微服务架构打造 供应链系统,采购配送系统。为客户提供仓储管理、订单管理、打单、货源采购、分拣、配送等系统功能。 二、开源协议 使用AGPL-3.0开源协议 三、界面展示 系统截图 四、功能概述 基于pig微服务架构打…

电脑重装系统需要多长的时间

电脑重装系统是一个涉及多个步骤和因素的过程,所需的时间会因个体差异和系统配置而异。本文将解析电脑重装系统所需的时间,并提供一些因素和建议,帮助您对整个过程有一个准确的预期。 工具/原料: 系统版本:windows8系…

c语言的预处理和编译

预处理 文件包含 当预处理器发现#include指令时,会查看后面的文件名并把文件的内容包含到当前文件中 两种写法 尖括号:引用的是编译器的库路径里面的头文件。 双引号:引用的是程序目录中相对路径中的头文件,如果找不到再去上面…

【redis基础】事务|管道|发布订阅

大家好~这里是redis系列文章之《【redis基础】事务|管道|发布订阅》上一篇文章:redis持久化【RDBAOF】持久化双雄_努力努力再努力mlx的博客-CSDN博客 目录 事务 概念 作用 数据库事务vs redis事务 常用指令 情况1:正常执行 情况2:放弃…

微信小程序开发实践入门教程

随着微信小程序的火爆,越来越多的人开始关注微信小程序开发并加入开发大军中,而很多人对于如何开发微信小程序,并没有很好的思路和方法。因此,为了方便大家在学习、实践和应用的过程中能够少走弯路,本文将通过一篇关于…

IE11离线安装包ie离线升级ie11离线安装ie11补丁

首先下载ie11离线安装包与补丁文件: 下载地址(我的资源里有): (如不着急可私信直接要安装包补丁包,我若看到及时回复你) 1、 下载补丁文件和IE11安装程序(这里以32位系统为例&…

uni-app 金额格式化

普通过滤器(filter)在当前页面定义&#xff0c;复制红色代码即可 <template> <view> <text >{{balance|money}}</text> </view> </template> <script> export default{ data(){ return{ …

怎么让用户用好你的在线帮助文档协作工具?

在线帮助文档协作工具是现代企业中重要的工具&#xff0c;它可以帮助企业员工更好地协作&#xff0c;提高工作效率&#xff0c;减少沟通成本。然而&#xff0c;如何让用户用好在线帮助文档协作工具&#xff0c;满足其需求&#xff0c;本文将探讨以下几个方面&#xff1a; 一、…

LwIP 之七 详解 PBUF 结构、通信数据流、性能优化

数据包的复制在协议栈中是非常耗时的一个操作。LwIP 协议栈内部使用 pbuf 这种数据结构来对数据进行传递&#xff0c;灵活的 pbuf 结构体使得数据在不同网络层之间传递时可以减少内存的开销&#xff0c;避免频繁的内存复制&#xff0c;增加数据在不同层之间传递的速度。 简介 …