【Stable Diffusion】入门:AI绘画提示词+参数设置攻略
目录
- 1 提示词
- 1.1 分类和书写方式
- 1.1.1 内容型提示词
- 1.1.2 标准化提示词
- 1.1.3 通用模板
- 1.2 权重
- 1.2.1 套括号
- 1.2.2 数字权重
- 1.2.3 进阶语法
- 1.3 负面提示词
- 2 参数详解
- 2.1 Sampling steps
- 2.2 Sampling method
- 2.3 Width, Height
- 2.4 CFG Scale
- 2.5 Seed
- 2.6 Batch count, Batch size
- 3 新手技巧
- 3.1 翻译大法
- 3.2 借助工具
- 3.3 抄作业
感谢前辈种树:哔哩哔哩
1 提示词
Prompts:提示词,告诉AI我们要画什么,多多益善,需要英文书写。提示词以词组为单位,不需要像完整的句子那样需要有完整的语法结构。
词组之间需要插入英文半角逗号作为分隔符,可以分行,每一行的末尾最好也加上分隔符。
1.1 分类和书写方式
1.1.1 内容型提示词
-
人物及主体特征
服饰穿搭:white dress
发型发色:blonde hair, long hair
五官特点:small eyes, big mouth
面部表情:smilling
肢体动作:stretching arms -
场景特征
室内室外:indoor / outdoor
大场景:forest, city, street
小细节:tree, bush, white flower -
环境光照
白天黑夜:day / night
特定时段:morning, sunset
光环境:sunlight, bright, dark
天空:blue sky, starry sky -
画幅视角
距离:close-up, distant
人物比例:full body, upper body
观察角度:from above, view of back
镜头类型:wide angle, Sony A7 III
1.1.2 标准化提示词
-
画质提示词
通用高画质:best quality, ultra-detailed, masterpiece, hires, 8k
特定高分辨率类型:extremely detailed CG unity 8k wallpaper, unreal engine rendered -
画风提示词
插画风:illustration, painting, paintbrush
二次元:anime, comic, game CG
写实系:photorealistic, realistic, photograph
1.1.3 通用模板
描述人物、描述场景、描述环境(时间、光照)、描述画幅视角、其他画面要素;高品质标准化、画幅标准化、其他特殊要求。
1.2 权重
调整词组优先级的方法:套括号和数字权重
1.2.1 套括号
注意格式是英文半角符号。
-
圆括号 ()
每套一层,权重×1.1倍。例如(((white flower))),此处调节white flower的权重变为原来的1.11.11.1=1.331倍,增强了该词组的作用。 -
大括号 {}
每套一层,权重×1.05倍。例如{{{white flower}}},此处调节white flower的权重变为原来的1.051.051.05=1.16倍,增强了该词组的作用。 -
方括号 []
每套一层,权重×0.9倍。例如[[[white flower]]],此处调节white flower的权重变为原来的0.90.90.9=0.729倍,减弱了该词组的作用。
1.2.2 数字权重
圆括号+数字,例如(white flower:1.5),调节white flower的权重为原来的1.5倍;(white flower:0.8),调节white flower的权重为原来的0.8倍。
调节权重的时候需要注意避免个别词条的权重太高,体验的安全范围是1±0.5左右。如果需要增强某个词条的作用,可以通过增加更多的同类型词条来协同增强它的效应。
1.2.3 进阶语法
-
混合:混合两个描述同一对象的提示词要素
white | yellow flower,生成黄色和白色混合的花。 -
迁移:连续生成具有多个不同特征的对象,不断迁移
[white | red | blue] flower,先生成白花,再生成红花,再生成蓝花。 -
迭代:与采样进程关联,一定阶段以后再生成特定对象
(white flower:bush:0.8),进程到达80%之前生成白花,80%之后再生成灌木。
1.3 负面提示词
不希望画面出现什么,就增加对应的反向提示词。例如:
low quality, worst 表示低质量的图片;
monochrome, grayscale 杜绝单色、灰度的图片,保持画面的色彩鲜艳;
bad proportions, 代表畸形的身体比例;
missing hands, extra fingers, 避免画的时候多只手多条腿或者少根手指之类。
2 参数详解
2.1 Sampling steps
迭代步数,越大最终效果越清晰。当步数大于20以后,后面的提升不大,就像从80分到90分100分一样。增加步数意味着更长的计算时间,算力充足时可以设置为30~40,最好不低于10。
2.2 Sampling method
采样方法,生成图像时使用的特定算法。
Euler a和Euler适合插画风格,出图朴素;DPM 2M和2M Karras速度较快;SDE Karras细节较为丰富;推荐使用带有+的,是改进过了的算法。大部分模型也有推荐使用的算法,可能是模型制作者自己测试过的。
2.3 Width, Height
宽和高,代表最终出图时的分辨率,设备支持的情况下越高越好;太高会显存爆掉,也很容易出现多人、多手、多脚的情况,原因是在训练模型的时候,用的图片分辨率一般都比较小,如果分辨率设置太大,模型会认为是多张图片拼接而成,所以会出现多人。
为了避免出现多人或者多手多脚,通常会设置成低分辨率,再通过高清修复(Hires Fix)来放大,本质上是进行了一次额外的图生图。
2.4 CFG Scale
提示词相关性,数值越高,模型反映提示词的程度越高。一般设置成7~12,太高容易变形。
2.5 Seed
随机种子,控制画面内容一致性的重要参数。
2.6 Batch count, Batch size
批次和数量,因为模型绘画的不确定性,同一组提示词也需要反复试验,期待在某一瞬间给到一个完美符合预期的画面,试验过程会很漫长。如果想要模型一直按照同一组提示词和参数去出图,把批次数调高,会不断进行,最后生成多张图片,方便筛选。
批次数量batch size不建议调,增大可以使每批次绘制的图像数量增多,理论上效率会更高,但是同一批绘制的方法是把它们拼在一起看作一张更大的图片一次去画,如果设备不好,非常容易爆显存,不如单批次画少一点,用更多的次数去画更多的图。
3 新手技巧
3.1 翻译大法
不知道该如何表达时,用自然的语言去描述想要画的东西,用翻译平台转成英文。先用一句话描述一个确切的场景,再把新的词组翻译成英文加到后面。
3.2 借助工具
辅助书写提示词的网站
3.3 抄作业
有些网站提供了大量的提示词,可以对已有提示词进行筛选。
https://openart.ai/
https://civitai.com/
相关文章:
【Stable Diffusion】入门:AI绘画提示词+参数设置攻略
目录 1 提示词1.1 分类和书写方式1.1.1 内容型提示词1.1.2 标准化提示词1.1.3 通用模板 1.2 权重1.2.1 套括号1.2.2 数字权重1.2.3 进阶语法 1.3 负面提示词 2 参数详解2.1 Sampling steps2.2 Sampling method2.3 Width, Height2.4 CFG Scale2.5 Seed2.6 Batch count, Batch si…...
Qt使用Q_DECLARE_INTERFACE Q_INTERFACES宏实现接口类使用qobject_cast进行类型转换
在写抽象类或者接口的时候,肯定是不能继承QObject的 但是又想使用qobject_cast进行类型转换,使用以下办法就能实现 #ifndef FACTORYINTERFACE_H__ #define FACTORYINTERFACE_H__ #include <QObject> class FactoryInterface{ public:FactoryInterf…...

docker离线搭建仓库
要在Docker中搭建本地仓库,可以按照以下步骤进行操作: 首先安装 Docker。根据不同的操作系统选择合适的版本并完成安装过程。打开命令行工具(如Terminal或PowerShell),运行以下命令来创建一个新的容器并将其设置为本地…...
ABC344 A-E题解
文章目录 A题目AC Code: B题目AC Code: C题目AC Code: D题目AC Code: E题目AC Code: 不易不难,写到5题很简单,但是要有足够的思维能力。 A 题目 我们用一个 flag 变量记录我们是不是在两个竖…...
Jeecg-boot 初次启动项目失败
1.将IDEA的字符编码全部改成utf-8 2. 更改database的密码 3.换个jdk重新启动...

封装的echarts子组件使用watch监听option失效的问题
项目场景: 我在项目里面封装了一个echarts组件,组件接收一个来自外部的option,然后我用了一个watch函数去监听这个option的变化,option变化之后,销毁,然后再新建一个charts表 碎碎念 问题如标题所示,这篇…...

爬虫入门到精通_框架篇14(PySpider架构概述及用法详解)
官方文档 Sample Code: from pyspider.libs.base_handler import *class Handler(BaseHandler):crawl_config {}# minutes24 * 60:每隔一天重新爬取every(minutes24 * 60)def on_start(self):self.crawl(http://scrapy.org/, callbackself.index_page)…...
WPF DataGrid常用属性
AlternationCount属性:表示有几行不同的颜色来回替换,如果设置2则表示有两个颜色交替循环 AutoGenerateColumns属性:是否生成列 CanUserAddRows属性:用户是否可以添加行 CanUserDeleteRows属性:用户是否可以删除行 …...

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Stepper)
步骤导航器组件,适用于引导用户按照步骤完成任务的导航场景。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 仅能包含子组件StepperItem。 接口 Stepper(value?: { index?…...
Python基础语法:基本数据类型(列表)
现实世界中总是存在一组一组的事物。"组"的概念作为基本数据类型的一种,它也是来源于我们去解决现实生活中的一些问题而产生的。它需要有“组”这样的一个数据类型来丰富我们的基本数据类型。 那么在Python中如何来表示“组”的概念呢? 在Py…...

神经网络线性量化方法简介
可点此跳转看全篇 目录 神经网络量化量化的必要性量化方法简介线性对称量化线性非对称量化方法神经网络量化 量化的必要性 NetworkModel size (MB)GFLOPSAlexNet2330.7VGG-1652815.5VGG-1954819.6ResNet-50983.9ResNet-1011707.6ResNet-15223011.3GoogleNet271.6InceptionV38…...

阿里云k8s内OSS报错UnKnownHost。
这个问题就是链接不上oss属于网络问题: 1.排查服务器 在服务器(ecs)上直接ping oss地址看是否能够通。 不通就要修改dns和hosts(这个不说,自己网上查) 2.排查容器 进去ping一下你的容器是否能访问到oss…...

nginx的使用,homebrew安装及使用nginx。
Nginx 是一个高性能的 HTTP 和反向代理服务器,它提供了诸如 IMAP、POP3 和 SMTP 等邮件代理服务。以下是 Nginx 的主要作用:12345 作为 Web 服务器。Nginx 能够以较少的系统资源提供高效率的服务,尤其在高并发连接下表现出色。1…...
计算机等级考试:信息安全技术 知识点六
1、P2DR模型是美国ISS公司提出的动态网络安全体系的代表模型,可用数学公式表达为Pt>DtRt,其中Pt表示:系统防护时间。 2、美国联邦政府颁布数字签名标准(Digital Signature Standard,DSS)的年份是1994 3、密码分析者(攻击者)已…...

vue provide 与 inject使用
在vue项目中,如果遇到跨组件多层次传值的话,一般会用到vuex,或者其他第三方共享状态管理模式,如pinia等,但是对于父组件与多层次孙子组件时,建议使用provide 与 inject,与之其他方式相比&#x…...

Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?
开始之前 Composition API 可以说是Vue3的最大特点,那么为什么要推出Composition Api,解决了什么问题? 通常使用Vue2开发的项目,普遍会存在以下问题: 代码的可读性随着组件变大而变差每一种代码复用的方式ÿ…...

php集成修改数据库的字段
1.界面效果 2.代码 <?phpecho <form action"" method"post"><label for"table">表名:</label><input type"text" id"table" name"table"><br><div id"fieldsContaine…...

爬虫技术之正则提取静态页面数据
第一天 简单示例 在爬虫过程中,我们获取到了页面之后,通常需要做的就是解析数据,将数据持久化到数据库为我所用。如何又快又准确得提取有效数据?这是一门技术,看了我的博客之前可能略有难度,但各位大师看…...
字符串匹配算法:暴力匹配、KMP 算法、Boyer-Moore 算法、Rabin-Karp 算法
字符串匹配算法 字符串匹配算法是在一个字符串(称为文本)中查找另一个字符串(称为模式)出现的位置或者是否存在的算法。常见的字符串匹配算法包括暴力匹配、KMP算法、Boyer-Moore算法和Rabin-Karp算法。下面是对这些算法的简要介…...

微信小程序接入百度地图(微信小程序插件)使用文档
第一步配置域名 :在微信公众平台登录后配置服务域名称:https://apis.map.qq.com 第二步申请密钥 申请开发者密钥申请地址 第三步使用插件 选择添加插件 搜索腾讯位置服务地图选点 选择要授权的小程序 授权完毕会在这里显示插件信息 第四步查看使用文档 跳转至文…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...