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

提示词和文生图参数设置

本系列笔记主要参考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每次都随意选取种子

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

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

相关文章

深入理解 LXC (Linux Containers)

目录 引言LXC 的定义LXC 的架构LXC 的工作原理LXC 的应用场景LXC 在 CentOS 上的常见命令实验场景模拟总结 1. 引言 在现代 IT 基础设施中,容器技术已经成为一种重要的应用和部署方式。与虚拟机相比,容器具有更高的效率、更轻量的特性和更快的启动速度…

解答 | http和https的区别,谁更好用

TTP(超文本传输协议)和HTTPS(安全超文本传输协议)的主要区别在于安全性和数据传输的方式。 一、区别 1、协议安全性: HTTP:使用明文形式传输数据,不提供数据加密功能,数据在传输过…

用于视频生成的扩散模型

学习自https://lilianweng.github.io/posts/2024-04-12-diffusion-video/ 文章目录 3D UNet和DiTVDMImagen VideoSora 调整图像模型生成视频Make-A-Video(对视频数据微调)Tune-A-VideoGen-1视频 LDMSVD稳定视频扩散 免训练Text2Video-ZeroControlVideo 参…

利用 STM32 实现多协议物联网网关:Modbus/Zigbee 到以太网/Wi-Fi 的数据桥接

摘要: 随着物联网技术的飞速发展,不同通信协议之间的互联互通成为了构建智能化系统的一大挑战。本文将以实战项目为例,详细介绍如何利用 STM32 微控制器实现 Modbus/Zigbee 与以太网/Wi-Fi 之间的协议转换,从而打通传感器数据上传至服务器的“…

源码编译构建LAMP(企业网站架构部署与优化)

部署LAMP平台 LAMV架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包 括 Linux操作系统,Apache网站服务器、MySQL数据库服务器、P…

海南云亿商务咨询有限公司助力品牌快速崛起

在数字化浪潮的推动下,电商行业日新月异,短视频平台更是成为品牌宣传和销售的新宠。海南云亿商务咨询有限公司,作为抖音电商服务的领军者,凭借其专业的团队和丰富的经验,助力众多品牌在抖音平台上实现了快速增长。 一…

【INTEL(ALTERA)】为什么我使用 PIO 边缘捕获中断的 Nios® II 设计不能正常工作?

目录 说明 解决方法 说明 当用户选择了不正确的边缘捕获设置,从而阻止触发中断时,可能会出现此问题。 在 PIO(并行 I/O)英特尔 FPGA IP内核中,如果“启用单个位设置/清除”选项被关闭,则将任何值写入边…

【RIP实验-熟悉基础配置】

实验拓扑 实验要求 根据实验拓扑的IP地址分配,为所有设备配置对应的IP地址和环回地址。全网运行RIPv2,将R1、R2、R3和R4的物理端口、Loopback地址和10.1.00网段进行宣告。并在rip协议下配置路由自动汇总,观察R1/R2是否能够收到10.0.0.0的详细…

初识数组(二)

目录 1. 二维数组的初始化 1) 不完全初始化 2) 完全初始化 3) 按照行初始化 4) 初始化时省略行,但是不能省略列 2.二维数组的使用 1) 二维数组的下标 2)二维数组的输入和输出 3. 二维数…

学生管理系统 | python

1. 题目描述 ****************************** 欢迎使用学生管理系统 ****************************** 1. 添加学生 2. 查看学生列表 3. 查看学生信息 4. 删除学生 5. 退出系统 1 请输入学生姓名: zhangsan 请输入学生学号: 10010 请输入学生班级: 3 请输入学生成…

044基于SSM+Jsp的个性化影片推荐系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

如何在JetBrains中写Codeforce?

目录 前言 正文 leetcode 个人喜好 参考资料 具体操作步骤 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ningbo China&#x1f4…

2024第六届上海国际新材料展览会-12月精彩呈现

2024第六届上海国际新材料展览会 The 6th shanghai International New Materials Exhibition in 2024 时 间:2024年12月18-20日 地 点:上海新国际博览中心 CIME 2024专业、权威,涵盖整个新材料行业的国际盛会。 期待与您在CIME 2024现场相…

linux中top、htop监控工具命令详解

文章目录 top 命令概述如何使用 top 命令top 命令输出解释各部分解释系统信息任务信息CPU 使用信息内存使用信息进程信息 top 命令的常用交互操作top 命令的常用选项查看每个CPU使用情况示例说明默认视图按下 1 键后的视图 如何使用 htop和top之间比较用户界面和可用性功能和特…

大话光学原理:2.最短时间原理、“魔法石”与彩虹

一、最短时间原理 1662年左右,费马在一张信纸的边角,用他那著名的潦草笔迹,随意地写下了一行字:“光在两点间选择的路,总是耗时最少的。”这句话,简单而深邃,像是一颗悄然种下的种子&#xff0c…

自动化测试之unittest框架详解

1、什么是Unittest框架? python自带一种单元测试框架 2、为什么使用UnitTest框架? >批量执行用例 >提供丰富的断言知识 >可以生成报告 3、核心要素 1).TestCase(测试用例) 2).TestSuite(测试套件) 3).Test…

关于Qt模型插入最后一行数据中存在未填满的项,点击导致崩溃的解决办法

在使用Qt模型视图框架的时候,你可能会遇见这种情况:给QTableView设置设置模型的时候,网模型里面插入数据,因为数据是一行一行插入的,即要使用model的appandRow函数,但有时候最后一行数据没有填满一行&#…

汇川CodeSysPLC教程03-2-14 与HMI通信

硬件连接 PLC与HMI连接采用何种连接方式,通常是参考双方支持哪些接口。PLC(可编程逻辑控制器)与HMI(人机界面)之间的通讯方式主要有以下几种: 串行通讯(Serial Communication)&…

Docker-compse的应用

1 docker-compose # 使用了docker 面临一个比较大的问题,如果一个djagno项目,使用mysql,redis,不要一次性把所有服务都放到一个容器中,每个服务一个容器,批量的管理多个容器,比较难以操作&…

第5章-组合序列类型

#全部是重点知识,必须会。 了解序列和索引|的相关概念 掌握序列的相关操作 掌握列表的相关操作 掌握元组的相关操作 掌握字典的相关操作 掌握集合的相关操作1,序列和索引 1,序列是一个用于存储多个值的连续空间,每一个值都对应一…