【Stable Diffusion】(基础篇三)—— 关键词和参数设置

news/2024/9/11 3:38:17/ 标签: stable diffusion, AI作画

提示词和文生图参数设置

本系列笔记主要参考B站nenly同学的视频教程,传送门:B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili

本文主要讲解如何正确高效地使用合适的提示词来帮助完成AI绘画

提示词Prompts

通过上一个简单的例子,我们知道可以理解到AI绘画提示词在生成艺术作品的过程中扮演着至关重要的角色。整个AI模型通过我们给出的提示词来产出对应的内容,AI绘画提示词不仅是生成艺术作品的技术指令,更是激发创意、实现个性化表达和探索艺术边界的强大工具。正确而巧妙地运用提示词,能够极大提升AI绘画作品的艺术价值和创作效率。

在webui文生图界面,我们可以看到两个填写提示词的地方,一个是正向提示词,一个是反向提示词。我们可以把想要让画面中出现的内容写在正向提示词中,同样的,如果你有不想出现在画面中的内容就写在反向提示词中。

在这里插入图片描述

提示词的一些限制:

  • 提示词需要使用英文进行书写,其中的符号也得是英文
  • 提示词以词组作为单位
  • 不能够很好的识别英文句子。

不论是在文生图还是图生图功能中,提示词都至关重要,我在这篇文章中最主要的还是使用文生图来帮助你快速地熟悉提示词的使用,因为文生图对提示词的依赖更加明显,如果你能在文生图中熟练使用提示词,相信在图生图中对提示词的使用也完全没有问题。

提示词分类

如果你想要使用AI画出一幅你脑海中的画面,你可能会出现词穷或者不知道该如何描述的问题,了解提示词的类型,可以帮助你把脑海中的画面更加具体地进行描述,提示词可以大致被分为内容提示词和标准化提示词,它们的类型如下:

内容型提示词

  • 人物及主体特征:服装穿搭、发型发色、五官特点、面部表情、肢体动作

  • 场景特征:室内/外、大场景、小细节

  • 环境光照:白天/黑夜、特定时段、光环境、天空

  • 画幅视角:距离、人物比例、观察视角、镜头类型

标准化提示词

  • 画质提示词:best quality, ultra-detailed, mastrpiece, hires, 8k,extremely detailed CG unity 8k wallpaper, unreal engine rendered
  • 画风提示词:插画风(ilustration, painting, paintbrush)二次元(anime, comic, game CG)写实系(phtrealistirealistictgra)

这些类型的提示词并不需要在每一次AI绘画时都进行详细地描述,你可以只选择自己需要的内容进行组合达到想要的效果。

提示词权重

在一幅画面中,如果有很多元素,AI通常会随机处理这些元素之间的主次关系,比如说一幅画中有花有树,你想要实现的效果是花多一点,但AI画出的作品可能就是树更多一点,这时候就设置提示词的权重,这可以帮助AI理解提示词之间的主次关系。

下面是一些设施提示词权重的方法:

  1. 括号加数字:(white flower:1.5) ,将白花权重调整为原来的1.5倍
  2. 套圆括号:每套一层,额外乘1.1倍
  3. 套大括号:每套一层,额外乘1.05倍
  4. 套大括号:每套一层,额外乘0.9倍

权重应该保持在0.8-1.2之间,太高或太低可能会让画面整体变得非常不协调

进阶语法:

  • 混合: white | yellow flower,混合两个描述同一对象的提示词要素,此处:生成黄色和白色混合的花。

  • 迁移:[white|red|blue] flower,合两个描述同一对象的提示词要素。连续生成具有多个不同特征的对象,不断迁移。此处:先生成白花,再生成红花,再生成蓝花

  • 迭代:(white flower:bush:0.8)与采样进程关联,一定阶段以后再生成特定对象。处:进程到达80% 之前生成白花,80%之后再生成灌木。

通用提示词

不论是正向提示词,还是反向提示词,都有一些内容是固定通用的,比如说在正向提示词中写上高质量的图片,在反向提示词中写不协调的肢体等,这些内容基本每次进行AI绘画都会写上,把它们整理好之后可以帮助你控制出图质量。

正向提示词模板:

(masterpiece:1,2), best quality, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed CG:1.2), drawing, paintbrush,
(杰作:1,2),最佳质量,高层建筑,原创,极其详细的壁纸,完美的照明,(极其详细的CG:1.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), (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))),
不适合上班时间浏览,(最差质量:2),(低质量:2),(正常质量:2),低分辨率,正常质量,((黑白)),((灰度)),皮肤斑点、痤疮、皮肤瑕疵、年龄斑,(丑陋:1. 331),(重复:1. 331),(病态:1. 21),(残缺:1. 21),(变形:1. 331),(变形手:1. 331),变形手,(手绘得很差:1. 5),模糊,(解剖结构不良:1. 21),比例不良,(多余的手臂:1. 331),(多余的腿:1. 331),(融合的手指:1. 61051),(太多的手指:1. 61051),(眼睛不清楚:1. 331),低分辨率,(畸形:1. 331),手不好,手指不见了,手指多了,手不好了,手指少了,(((额外的胳膊和腿)),

提示词的写法

如果你的英语水平过关,可以直接使用英文书写提示词

可以利用翻译软件将构思好的提示词翻译为英文,但要注意使用词组而不使用句子

利用提示词生成工具,可以帮助更快地写提示词,但提示词生成工具可能没有你构思好的内容,需要自行补充。其结构通常如下图所示,只需要选择对应的中文词汇进行组合,最后复制粘贴即可。

在这里插入图片描述

下面给出几个提示词生成工具网站:

AI绘画提示词生成器 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)

PromptTool词图 游戏资产AIGC

文生图参数设置

SD需要设置的主要参数如下,新人第一次见到可能都会被吓一跳,面对这么多的参数该如何设置无从下手,我会给你讲解以下这些参数的含义,了解其含义之后进行参数的设置就会变得得心应手许多,如果你对这些参数的底层原理并不感兴趣的话,我在每个参数介绍我的经验参数选择,按照这些来即可。

在这里插入图片描述

迭代步数

决定了从随机噪声到最终输出图像的转换过程中,模型将进行多少次迭代。

更多的步骤通常需要更多的时间和计算资源。

更多的步骤可能会产生更高质量、更详细的图像,但并不总是如此,因为过长的序列可能导致图像变得模糊或失去细节。

经验总结,20步以后的提升不大,最好不小于10

采样方法

采样方法指的是从模型学习到的概率分布中抽取样本的过程。不同的采样方法可以影响生成内容的质量、多样性、速度以及控制程度。对于Stable Diffusion这样的模型,采样方法尤其关键,因为它涉及到从噪声开始逐步恢复信号(或图像)的过程。以下是一些常见的Stable Diffusion采样方法及其特点:

  1. DDPM (Denoising Diffusion Probabilistic Model):
    • 最基础的扩散模型,通过多次迭代逐渐去除图像中的噪声。
    • 需要大量步骤才能达到高质量的输出。
  2. DDIM (Denoising Diffusion Implicit Models):
    • 改进了DDPM,允许直接采样后验分布,而非先采样前向过程再反转。
    • 可以通过较少的步骤达到与DDPM相当的质量。
  3. Langevin Dynamics:
    • 基于物理原理,模拟粒子在势能场中的运动,用于探索概率分布。
    • 适用于高维空间的采样。
  4. DPM-Solver (Diffusion ODE Solver):
    • 解决扩散过程的微分方程,允许更快的采样。
    • 可以用较少的步数获得高质量的图像。
  5. DPM++ Series:
    • 包括DPM++ 2M、DPM++ 3M、DPM++ SDE等,是对扩散模型的改进版本。
    • 结合了随机微分方程(SDE)和其他优化策略,提高了图像质量和生成速度。
  6. Karras Sampling:
    • 命名来源于研究人员Karras等人,采用非均匀步长来优化采样过程。
    • 有助于在保持质量的同时减少计算成本。
  7. Euler-Maruyama Method:
    • 用于解决随机微分方程的数值方法。
    • 可以应用于基于SDE的采样过程。
  8. Heun’s Method:
    • 一种更高级的数值积分方法,用于SDE的解决方案。
    • 比Euler-Maruyama方法更精确。
  9. PNDM (Predictive Noise Decomposition Method):
    • 通过预测和分解噪声来改善采样效率。

经验总结,Euler适合插画,DPM和2M Karras速度快,选择带有加号的采样方法效果更好

高度和宽度

高度和宽度控制图像分辨率,分辨率太高可能出现画面结构混乱的情况(多人/头/手脚)。

解决方法:先使用低分辨率绘画之后再使用高清修复重绘放大分辨率

提示词引导系数

提示词引导系数(CFG Scale,全称为Classifier-Free Guidance Scale)是在生成式AI模型,特别是像Stable Diffusion这样的模型中使用的参数,它用于控制生成图像与给定文本提示之间的相关程度。这个系数直接影响着模型在生成过程中遵循提示的程度。

  • 较高的CFG Scale值(例如0.7到1.2之间)意味着模型将更紧密地跟随提供的文本提示。这通常会产生与提示高度相关的图像,但可能会导致生成的图像过于拘束于细节,有时甚至产生过度锐化或粗糙的细节。
  • 较低的CFG Scale值则会让生成过程更加随机,图像可能包含更多意外元素或更少地依赖于原始提示。这可能会增加图像的创意性和多样性,但同时可能使图像与原始提示的关联性降低。

经验总结,提示词引导系数保持在0.7-1.2之间

批次和数量选择

这两个参数含义非常简单,控制每次画图出图的数量,因为AI绘画有很大的随机性,出图的过程和抽卡很类似,很多时候都是一次生成多张图片,再从中选取合适的。每次最终生成的图像总数量就是批次数量x数量

经验总结,生成多张选择修改批次而不是每次的数量,这样可以减轻每批渲染的显卡压力

随机种子

“随机种子”(Random Seed)是指在随机数生成器(Random Number Generator, RNG)中设定的一个初始值。当这个初始值被固定时,即使RNG的输出看起来是随机的,实际上每次运行都会得到完全相同的结果序列。这是因为大多数伪随机数生成器都是确定性的算法,它们通过一系列数学运算来产生看似随机的数字,而随机种子就是这一系列运算的起始点。

经验总结,设定相同的种子可以让多次生成的内容相近,随机种子为-1每次都随意选取种子


http://www.ppmy.cn/news/1475226.html

相关文章

html高级篇

1.2D转换 转换(transform)你可以简单理解为变形 移动:translate 旋转:rotate 缩放:sCale 移动:translate 1.移动具体值 /* 移动盒子的位置: 定位 盒子的外边距 2d转换移动 */div {width…

go 密码hash加密包 bcrypt

1.明文密码一般都会通过一套算法转成一条长长的字符串,密码验证这需要通过验证明文和加密字符串是否对应 2.go 有现成的hash算法包 "golang.org/x/crypto/bcrypt" 一般我们有一个工具包utils ,在工具里封装两个方法即可, 即 明文…

Studying-代码随想录训练营day33| 动态规划理论基础、509.斐波那契函数、70.爬楼梯、746.使用最小花费爬楼梯

第33天,动态规划开始,新的算法💪(ง •_•)ง,编程语言:C 目录 动态规划理论基础 动态规划的解题步骤 动态规划包含的问题 动态规划如何debug 509.斐波那契函数 70.爬楼梯 746.使用最小花费爬楼梯 总结 动态…

mysql快速精通(四)多表查询

主打一个实用 一. 连接查询 交叉连接 交叉连接返回两个表的笛卡尔积,即每个表的每一行与另一个表的每一行组合 语法: SELECT *FROM table1 CROSS JOIN table2;内连接 查询两张表都存在的数据,即排除两张表的未匹配部分 语法: SELECT 字段名 FROM 左表 IN…

【ceph】ceph集群-添加/删除mon

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

Python-数据爬取(爬虫)

~~~理性爬取~~~ 杜绝从入门到入狱 1.简要描述一下Python爬虫的工作原理,并介绍几个常用的Python爬虫库。 Python爬虫的工作原理 发送请求:爬虫向目标网站发送HTTP请求,通常使用GET请求来获取网页内容。解析响应:接收并解析HTTP响…

力扣第230题“二叉搜索树中第K小的元素”

在本篇文章中,我们将详细解读力扣第230题“二叉搜索树中第K小的元素”。通过学习本篇文章,读者将掌握如何使用中序遍历来找到二叉搜索树中的第K小的元素,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释,以便于…

PostgreSQL 怎样处理数据仓库中维度表和事实表的关联性能?

文章目录 PostgreSQL 中维度表和事实表关联性能的处理 PostgreSQL 中维度表和事实表关联性能的处理 在数据仓库的领域中,PostgreSQL 作为一款强大的关系型数据库管理系统,对于处理维度表和事实表的关联性能是一个关键的问题。维度表和事实表的关联是数据…

2024最新最全面的软件测试自动化面试题(含答案)

1.如何把自动化测试在公司中实施并推广起来的? 选择长期的有稳定模块的项目 项目组调研选择自动化工具并开会演示demo案例,我们主要是演示selenium和robot framework两种。 搭建自动化测试框架,在项目中逐步开展自动化。 把该项目的自动化…

paddla模型转gguf

在使用ollama配置本地模型时,只支持gguf格式的模型,所以我们首先需要把自己的模型转化为bin格式,本文为paddle,onnx,pytorch格式的模型提供说明,safetensors格式比较简单请参考官方文档,或其它教…

决策树构建精要:算法步骤与实现细节

决策树构建:算法流程与步骤 决策树是一种强大的机器学习算法,用于分类和回归问题。下面将详细介绍决策树的构建流程和具体步骤,帮助您理解并实现决策树算法。 1. 算法流程 决策树的构建流程可以概括为以下几个主要步骤: 特征选…

Apache-Flink未授权访问高危漏洞修复

漏洞等级 高危漏洞!!! 一、漏洞描述 攻击者没有获取到登录权限或未授权的情况下,或者不需要输入密码,即可通过直接输入网站控制台主页面地址,或者不允许查看的链接便可进行访问,同时进行操作。 二、修复建议 根据业务/系统具体情况,结合如下建议做出具体选择: 配…

OpenGL笔记一之基础窗体搭建以及事件响应

OpenGL笔记一之基础窗体搭建以及事件响应 总结自bilibili赵新政老师的教程 code review! 文章目录 OpenGL笔记一之基础窗体搭建以及事件响应1.运行2.目录结构3.main.cpp4.CMakeList.txt 1.运行 2.目录结构 01_GLFW_WINDOW/ ├── CMakeLists.txt ├── glad.c ├── main…

Web3 社交领域的开发技术

Web3 社交领域的开发技术主要包括以下几种,随着 Web3 技术的不断发展,Web3 社交领域将会出现更多新的技术和应用场景。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 区块链技术 区块链技术是 Web3 社交的…

探索邻近奥秘:SKlearn中K-近邻(KNN)算法的应用

探索邻近奥秘:SKlearn中K-近邻(KNN)算法的应用 在机器学习的世界里,K-近邻(K-Nearest Neighbors,简称KNN)算法以其简单直观而著称。KNN是一种基本的分类和回归方法,它的工作原理非常…

ElasticSearch 深度分页详解

原文链接:https://zhuanlan.zhihu.com/p/667036768 1 前言 ElasticSearch 是一个实时的分布式搜索与分析引擎,常用于大量非结构化数据的存储和快速检索场景,具有很强的扩展性。纵使其有诸多优点,在搜索领域远超关系型数据库&…

【人工智能】-- 迁移学习

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏: 专业知识 文章目录 🍉引言 🍉迁移学习 🍈基本概念 🍍定义 🍌归纳迁移学习(Induct…

LeetCode HOT100(四)字串

和为 K 的子数组(mid) 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 输入:nums [1,1,1], k 2 输出:2 解法1:前缀和Map 这…

租用海外服务器需要考虑哪些因素

当企业选择租用海外服务器时需要考虑到哪些因素呢? 对于海外服务器的租用我们需要考虑到机房的位置以及服务器的稳定性如何,所以企业可以选择离目标用户群体比较近一点的机房,以此来降低服务器的延迟度并且能够提高用户的访问速度。 对于机房…