AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)


大家好,我是风雨无阻。


通过前面几篇AI 绘画Stable Diffusion 研究系列的介绍,我们完成了Stable Diffusion整合包的安装、模型ControlNet1.1 安装、模型种类介绍与安装,相信看过教程的朋友们,手上已经有可以操作实践的Stable Diffusion 环境了。


那么本篇文章将给大家带来 Stable Diffusion 最重要也是使用最多的文生图功能介绍,由于内容比较多,这里会分成上、下两篇文章进行介绍。


今天为大家带来的是 AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)。


大家进入到web ui 页面后,首先看到的是下面这个界面。


在这里插入图片描述

上图一目了然的标注了文生图界面大致的功能。
接下来,就详细讲解一下每个功能的使用方法和注意事项。


1、模型选择区域

模型对于 SD 绘图来说非常重要,不同的模型类型、质量会很大程度的决定最终的出图效果。


2、功能栏

包括了常见的 文生图、图生图、后期处理等常用功能。不同的功能页面也不同,在这里,我们先针对经常使用的文生图模块页面来进行讲解。


3、正向提示词

正向提示词prompt &tag**: 如果大家使用过 ChatGPT 就应该知道 Prompt 是什么。说的直白点就是我们想让 SD 帮忙生成什么样的图的描述,比如角色或场景等,**需要使用英文进行描述


正向Prompt &Tag 改善画质用的 Tag ,适用于二次元风格,可以考虑搭配不同的模型使用:

(masterpiece:1.2), best quality, masterpiece, highres, original, extremely detailed wallpaper.oerfect lighting,(extremely detailed CG:1.2), drawing, paintbrush

4、反向提示词

反向提示词 Prompt&Tag : 就是告诉SD 生成图里 ,不想出现的内容, 需要使用英文进行描述


通用反面 Tag,保底不出古神用的 Tag,适用于二次元风格,可以考虑搭配不同的模型使用:

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:l.331), mutated hands, (poorly drawnands:1.5), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331),missing arms: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)))

5、生成按钮

调整完其他设置后,点击生成,开始生成图片,也可以不做调整。


6、采样迭代步数

AI 绘画的过程是将纯噪点图,变为高清图的一个过程,采样迭代步数,就是这个过程需要的步数,随着步数的增加,图片的细节也不断增多。


采样迭代步数不能设置太小,也不能设置太大。设置太小,图片效果就不好;设置太大, 生成图花的时间就越长,如果超过40 步以后,那么画面的变化是基本看不出来。


采样迭代步数,推荐 20-30 之间,通常28是一个不错的值。


7、采样方法

采用什么样的绘画方式算法,以及“画多少笔” 来绘图,一定程度上决定出图的质量。

以下是 每个采样方法,对应生成步数的效果。


如图:

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


综合以上参考,根据出图质量、采样步数的对比,对于新手朋友来说 推荐无脑使用:DPM adaptive 采样方法


8、出图显示区域

9、出图大小

出图大小 :默认 512**512 像素 ,因为模型训练时,都是使用这个尺寸,因此效果最好,所以一般保持默认即可,当然如果要出 3:2 的图,也可以设置为: 512* 768 , 768*512 。

根据自己的需要进行调整,也可以不用调整。出图越大,对于显卡要求越高。


10、出图数量

出图数量=总批次数x每批数量。

每批的数量越多:需要的显存越大。

总批次越多:根据实际经验,生成的图片质量要好一些,但是花的时间越长。

可根据自己的需求和电脑配置进行选择。


11、出图存储目录

可以查找历史出图


12、随机种子

模仿别人的图,需要进行调整,一般不用调整。


13、面部修复

面部修复,首先需要在设置中,按如下选项进行设置 :


在这里插入图片描述


然后依次点击:保存设置,重载前端,让其生效:

在这里插入图片描述


14、高分辨率修复

因为我们出图是512*512, 如果要放大,比如1024x1024 ,就需要勾选高分辨率修复功能。


A、放大算法选择推荐

真实风格推荐选择:R-ESRGAN 4x+

在这里插入图片描述


动漫风格推荐选择:R-ESRGAN 4x+ Anim

在这里插入图片描述


B、放大倍数

根据电脑配置进行选择

显卡显存高 选择 2-3倍

显卡显存不高,选择1.5-2倍


15、提示词引导系数(CFD Scale):

提示词引导系数,是控制提示词与生成的图像相关性 ,可以理解为 “越小AI越自由发挥” ,一般推荐数值为5-15之间,默认为 7 。

如果数值太大,会出现锐化、线条变粗的效果;

如果太小AI就自由发挥了,不看 Tag, 同时图像的饱和度也会偏低。


参考以下对比图:

在这里插入图片描述


在这里插入图片描述


16、随机种子:

随机种子是生成过程中所有随机性的源头, 每个种子都是一幅不一样的画。

默认的 -1 是代表每次都换一个随机种子,生成的每张图就不同。由随机种子,生成了随机的噪声图,再交给AI进行画出来。

使用固定的随机种子 ,可控制生成图与之前的图更相似。


17、保存

针对部署到本地的,意义不大。

如果针对部署到服务器上的,点击保存后,就可以下载。


18、打包下载

生成多张图的时候,图片会打包到压缩包内,就可以下载,本地基本用不到。

在这里插入图片描述


19、发送到图生图、发送到重绘、发送到后期处理,这三个功能,这里就先不做介绍。后边介绍图生图功能的时候再做详细说明。


20、图标功能介绍

在这里插入图片描述


图标1: 箭头 从提示词或上次生成的图片中,读取生成参数。

图标2: 清空提示词

图标3: 快捷显示隐藏扩展模型

图标4: 预设样式,保存反向提示词。


21、Tag 加权、减权用法简单说明

大家可能会经常看到别人发的 Tag 里面会有一些符号?比如大小括号等等。这些属于进阶用法,这里仅仅简单提及一下。

这里以 Tree 这个 Tag 作为例子进行说明。

(Tree) : 加权重,这是1.1倍。

((Tree)) :括号叠加,这是 1.1*1.1=1.21倍。

[Tree] :减权重,一般用的少。减权重也一般就用下面的指定倍数。

(Tree:1.5) 指定倍数,这里是1.5倍的权重,还可以 (Tree:0.9) 达到减权重的效果。


好了,今天的内容就到这里,下一篇将给大家详细讲解提示词的规则和写作技巧,敬请期待!


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何把非1024的采样数放入aac编码器

一. aac对数据规格要求 二、代码实现 1.初始化 2.填入数据 3.取数据 三.图解 一. aac对放入的采样数要求 我们知道aac每次接受的字节数是固定的,在之前的文章里有介绍libfdk_aac音频采样数和编码字节数注意 它支持的采样数和编码字节数分别是: fdk_aac …

马斯克收购AI.com域名巩固xAI公司地位;如何评估大型语言模型的性能

🦉 AI新闻 🚀 AI拍照小程序妙鸭相机上线商业工作站并邀请摄影师进行内测 摘要:AI拍照小程序妙鸭相机将上线面向商业端的工作站,并邀请摄影师进行模板设计的内测。妙鸭相机希望为行业提供更多生态产品,扩大行业规模&a…

JavaScript的对象+内置对象(Math+Date日期+数组+字符串)

一.创建对象 对象是由属性和方法组成的 创建对象的三种方法: 1.利用字面量创建对象 var obj{uname : 张三疯 ,age : 18 ,sex : 男 ,sayHi : function(){console.log(hi~);}} 里面的属性或者方法采用键值对的形式多个属性或者方法用逗号隔开方法冒号后面跟的是一个匿名…

大数据Flink(五十六):Standalone伪分布环境(开发测试)

文章目录 Standalone伪分布环境(开发测试) 一、架构图 二、环境准备 三、下载安装包</

分布式任务调度平台——XXL-JOB

1、为什么需要任务调度平台 1.1、传统的定时任务实现方案不足 在Java中&#xff0c;传统的定时任务实现方案&#xff0c;比如Timer&#xff0c;Quartz等都或多或少存在一些问题&#xff1a; 不支持集群、不支持统计、没有管理平台、没有失败报警、没有监控等。在现在分布式的…

约数个数和欧拉函数

1.约数个数 一个数等于它的质因子的c次方相乘&#xff0c;那么约数个数为所有的次数分别1再相乘。 2. 大概时间复杂度 1-n中&#xff0c;所有数的约数个数之和 3.int范围内约数最t多的数大概1600个左右 一个数的约数大概 根号n 的复杂度

图像处理库(Opencv, Matplotlib, PIL)以及三者之间的转换

文章目录 1. Opencv2. Matplotlib3. PIL4. 三者的区别和相互转换5. Torchvision 中的相关转换库5.1 ToPILImage([mode])5.2 ToTensor5.3 PILToTensor 1. Opencv opencv的基本图像类型可以和numpy数组相互转化&#xff0c;因此可以直接调用torch.from_numpy(img) 将图像转换成t…

第三章 图论 No.6负环之01分数规划与特殊建图方式

文章目录 裸题&#xff1a;904. 虫洞01分数规划&#xff1a;361. 观光奶牛特殊建图与01分数规划trick&#xff1a;1165. 单词环 裸题&#xff1a;904. 虫洞 904. 虫洞 - AcWing题库 // 虫洞是负权且单向边&#xff0c;道路是正权且双向边&#xff0c;题目较裸&#xff0c;判…

【SpringBoot学习笔记】02. yaml配置注入

yaml配置注入 yaml基础语法 说明&#xff1a;语法要求严格&#xff01; 1、空格不能省略 2、以缩进来控制层级关系&#xff0c;只要是左边对齐的一列数据都是同一个层级的。 3、属性和值的大小写都是十分敏感的。 yaml注入配置文件 1、在springboot项目中的resources目录…

32位M0核单片机XL32F003芯片特征和功能介绍

XL32F003 系列微控制器采用高性能的 32 位 ARMCortex- M0 内核&#xff0c;宽电压工作范围的MCU。嵌入高达64 Kbytes flash和8 Kbytes SRAM存储器&#xff0c;最高工作频率32 MHz。包含多种不同封装类型多款产品。芯片集成多路I2C、SPI、 USART等通讯外设&#xff0c;1路12 bit…

一招让你的Python爬虫事半功倍

在Python爬虫的世界里&#xff0c;你是否也被网站的IP封锁问题困扰过&#xff1f;别担心&#xff0c;我来教你一个简单而又有效的爬虫ip设置方法&#xff0c;让你的爬虫畅行无阻&#xff01;快来跟我学&#xff0c;让你的Python爬虫事半功倍&#xff0c;轻松搞定IP封锁问题&…

【高频面试题】微服务篇

文章目录 Spring Cloud1.Spring Cloud 5大组件有哪些&#xff1f;2.服务注册和发现是什么意思&#xff1f;Spring Cloud 如何实现服务注册发现&#xff1f;3.负载均衡如何实现的 ?4.什么是服务雪崩&#xff0c;怎么解决这个问题&#xff1f;5.微服务是怎么监控的 业务相关6.项…

【ASP.NET MVC】使用动软(三)(11)

一、问题 上文中提到&#xff0c;动软提供了数据库的基本操作功能&#xff0c;但是往往需要添加新的功能来解决实际问题&#xff0c;比如GetModel&#xff0c;通过id去查对象&#xff1a; 这个功能就需要进行改进&#xff1a;往往程序中获取的是实体的其他属性&#xff0c;比如…

Spring 容器原始 Bean 是如何创建的?

以下内容基于 Spring6.0.4。 这个话题其实非常庞大&#xff0c;我本来想从 getBean 方法讲起&#xff0c;但一想这样讲完估计很多小伙伴就懵了&#xff0c;所以我们还是一步一步来&#xff0c;今天我主要是想和小伙伴们讲讲 Spring 容器创建 Bean 最最核心的 createBeanInstan…

浅谈智能低压电动机保护控制器的研发及其应用

安科瑞 华楠 摘 要&#xff1a;低压电动机保护控制器是整套工业生产自动化电动机拖动系统中的重要的核心器件&#xff0c;可以实现工业自动化生产过程中电动机远程系统监控与控制的智能化管理&#xff0c;帮助用户及 时了解电动机的运行状况&#xff0c;为电动机设备状态分析…

宝塔Linux面板点击SSL闪退打不开?怎么解决?

宝塔Linux面板点击SSL证书闪退如何解决&#xff1f;旧版本的宝塔Linux面板确实存在这种情况&#xff0c;如何解决&#xff1f;升级你的宝塔Linux面板即可。新手站长分享宝塔面板SSL闪退的解决方法&#xff1a; 宝塔面板点击SSL证书闪退解决方法 问题&#xff1a;宝塔Linux面板…

【数学建模学习(9):模拟退火算法】

模拟退火算法(Simulated Annealing, SA)的思想借 鉴于固体的退火原理&#xff0c;当固体的温度很高的时候&#xff0c;内能比 较大&#xff0c;固体的内部粒子处于快速无序运动&#xff0c;当温度慢慢降 低的过程中&#xff0c;固体的内能减小&#xff0c;粒子的慢慢趋于有序&a…

springBean生命周期解析

本文基于Spring5.3.7 参考&#xff1a; kykangyuky Spring中bean的生命周期 阿斌Java之路 SpringBean的生命周期&#xff0c; 杨开振 JavaEE互联网轻量级框架整合开发 黑马程序员 JavaEE企业级应用开发教程 马士兵 Spring源码讲解 一. SpringBean生命周期流程图 二. 示例代码 …

第 357 场力扣周赛题解

A 故障键盘 简单模拟 class Solution { public:string finalString(string s) {string res;for (auto c: s)if (c ! i)res.push_back(c);elsereverse(res.begin(), res.end());return res;} };B 判断是否能拆分数组 区间dp&#xff1a;定义 p i , j p_{i,j} pi,j​表示子数组 n…

R语言3_安装SeurateData

环境Ubuntu22/20, R4.1 在命令行中键入&#xff0c; apt-get update apt install libcurl4-openssl-dev libssl-dev libxml2-dev libcairo2-dev libgtk-3-dev # libcairo2-dev :: systemfonts # libgtk :: textshaping进入r语言交互环境&#xff0c;键入&#xff0c; instal…