当前位置: 首页 > news >正文

Stable Diffusion 提示词技巧

文章目录

  • 背景介绍
  • 如何写好提示词
    • 提示词的语法
    • 正向提示词
    • 负向提示词

随着AI技术的不断发展,越来越多的新算法涌现出来,例如Stable Diffusion、Midjourney、Dall-E等。相较于传统算法如GAN和VAE,这些新算法在生成高分辨率、高质量的图片方面表现更加卓越,把 AI 图像生成又提升了一个新的高度,AI图像生成对各行各业都带来了很重要的影响。如 Stable Diffusion 技术只需要通过设计好的文字来生成所需要的图片,而这些文字我们称为 提示词,故提示词的设计也决定着生成图片的质量。

背景介绍

Stable Diffusion是一个基于Latent Diffusion Model(LDM)的文生图AI模型,核心思想就是通过不断调整图像的隐式表示,逐渐接近真实图像。其具体实现方式是,将初始噪声向量通过一个潜空间网络转换为图像的隐式表示。然后,针对每个时间步,利用扩散过程逐渐优化该表示,使其逼近真实图像的隐式表示。最终,通过一个反向变换,将该隐式表示转换为生成的图像。

相比传统的生成模型,Stable Diffusion生成的图像质量更高、速度更快、成本更低。具体来说,Stable Diffusion能够在消费级显卡上实现图像生成,而且生成速度比传统的生成模型提高了30倍。这使得Stable Diffusion成为当前最先进的生成模型之一,并受到了广泛关注。
Demo体验:https://stablediffusionweb.com/#demo

如何写好提示词

一般情况下,Stable Diffusion模型的提示词都包含正向提示词和负向提示词,所谓提示词其实就是prompt,还有一些通俗的叫法如关键字、咒语、指令等。
在Stable Diffusion WebUI中可以看到下面两个框,就是用来填写正向提示词和负向提示词的。
在这里插入图片描述
所谓正向提示词就是告诉AI要生成哪些东西。而负向提示词 (Negative prompt) 告诉AI不要生成哪些东西。这里需要注意的一点是世界上的图片是无穷多的,所以生成出图片的风格及效果不仅仅和提示词有关系,和文生图模型的关系也很大,因此在使用提示词前要根据自己的需要挑选好适合的模型。

提示词的语法

在使用提示词进行图文生成时,会发现一些简单的提示词是由短语或单词构成的,而一些较复杂的提示词还包含一些括号,数字等,因此想更详细了解使用提示词,是需要掌握提示词的一些语法的。

1、首先需要注意的是所有的语法使用的符号都是英文字符,默认的提示词编写是使用逗号分分隔的。

2、越靠前的提示词权重越高,即生成的图片越符合前面提示词的要求,关键的提示词,要尽量往前放,但要注意关键词不要写太多,最多不超过75个。

3、英文括号表示增减权重,( ) 每用一次代表权重提高 1.1 倍,[ ] 每用一次代表权重降低 1.1 倍,当然可以在括号中实现降低权重的效果,即通过冒号 + 权重数值的方式。(需要注意的是括号是可以叠加的,但一般不建议)。
如:

(word) :将括号内的提示词权重提高 1.1 倍
((word)):将括号内的提示词权重提高 1.21 倍 (= 1.1 * 1.1)
[word]:将括号内的提示词权重降低 1.1 倍
(word:1.5):将括号内的提示词权重提高 1.5 倍
(word:0.25):将括号内的提示词权重减少4 倍(= 1 / 0.25)

tips:先选中要加权重的提示词,Ctrl + ⬆增加权重,Ctrl + ⬇减少权重。

4、控制生成不同内容的步数,语法为:[from:to:when]
其中,from表示前多少步采样的图片信息,to表示后多少步采样的信息,而when表示前者采样的步数,如果when的值为大于0的整数,则指的是步数,如果是大于0小于1的小数,则表示的是前者采样步数占总步数的百分比。(总步数就是通常为可选值)
举例:当采样步骤(Sampling steps)为20时,
[men:women:0.5]:表示前50%步(10步)画men,后50%步(10步)画women。
在这里插入图片描述

该用法的变体:

[to:when]//在设定的步数后开始绘制
[from::when]//在设定的步数后结束绘制
举例说明:

[tree:background:0.5]代表前50%步画树,后50%步画背景。
[tree:0.5]代表后50%步开始画树。
[tree::0.5]代表前50%步画树,然后到了50%步数就结束画树。

5、两个或多个提示词权重相同,用 大写 AND
在第2点中有说,越靠前的提示词权重越高,而AND可以使得两个或多个提示词权重保持一致。

a lion AND a bear

在这里插入图片描述

该语法支持指定权重值:默认权重值为 1,也可以指定每个提示词的权重,比如:

a lion :1.3 AND a cat :1.2 AND a bear :1.5

在这里插入图片描述

6、交替绘制
语法代表每隔一步换一个提示词交替绘制,此语法可以绘制出各种融合怪四不像。

如交替绘制狗和猫,可以用

[cat|dog]

在这里插入图片描述

正向提示词

想要写好正向提示词,一般需要考虑以下几个方面:
(1) 主体 subject
(2) 媒介 medium
(3) 画质 quality
(4) 风格 style
(5) 色调 color
(6) 光影 lighting
(7) 画家 Artist

1、考虑主体(subject)

角度:

低角度,广角,全景,全身,特写,无人机
low angle, wide-angle, panorama, full-body, close-up, drone

地点:

在一个空旷的广场上,在一座废墟城市里,在一个茂密的森林中
in an empty square, in a fallout city, in a dense forest

背景:

繁忙的大都市,日落余晖
Busy metropolis, Sunset glow

考虑面部表情,情绪

大笑、愤怒、伤心
laughing, contempt, angry

考虑氛围

mysterious, misty, spooky
神秘的,幽灵般的,模糊的

注意灵活使用脚本(Script)

X/Y plot:对比提示词,可以出多张图。可以横向对比多张图片,X/Y plot 需要选择Prompt S/R。
在这里插入图片描述

Matrix:在prompt中的某一个或多个词前面加| 并设置prompt Matrix,可以生成是否包含该关键词的两张或多张图片。
在这里插入图片描述

2、考虑媒介
什么样的画:比如油画、插图、电子画、照片
也可以用X轴去找不同的风格

插画,数码绘画,油画,摄影,木炭画,素描
illustration, digital painting, oil painting, photography, charcoal drawing, sketch

3、画质

4k, 8k, 64k, uhd, high quality

4、风格

印象派,超现实主义,波普艺术,超写实主义,现代主义,新艺术运动
impressionist, surrealist, pop art, hyperrealistic, Modernist,art nouveau

5、color

鲜艳的色彩,黑白
vivid color, black and white

6、Lighting

电影般的照明,柔和的照明,边缘光,昏暗照明
cinematic lighting, soft lighting, rim light, dimly lit

7、画家
Alphonse Mucha, greg rutkowski, rhads, trending on artstation, trending on deviant art

负向提示词

上面的例子中只写了正面提示词,但下面的负向提示词的字段都是空白。模型会尽可能地根据正面提示词画出想看到的内容,但如果不加负向提示词,模型还是会生成一些不想看到的内容。负面提示词和正面提示词是同等重要的,使用负面提示词也是生成迭代过程的一个重要环节。

故生图时常常还需要加入一些负向提示词,避免掉不好的结果。且AI绘图有时不会一次就算出好结果,所以还需要加上负向提示词来控制,尤其是大批量进行文生图的时候更为重要。

加入一些常见的「不好」的特征,例如:

丑陋,画得不好的手,画得很差的脚,画得差的脸,四肢多余,毁容,

ugly, poorly drawn hands, poorly drawn feet, poorly drawn face, extra limbs, disfigured,

加入影响画质特征的信息,例如:

变形, 低质、结构差、水印、签名、剪切、低对比度、曝光不足、曝光过度、艺术差、模糊

deformed, lowers, bad anatomy, , cut off, low contrast, underexposed, overexposed, bad art, blurry,

加入不想看到的东西加进去,例如:

not safe for word,武器,血液,签名,水印,

nsfw, weapon, blood, watermark, signature

值得参考的提示词网站
若使用的是SD模型,想生成真人,请看 Voldy整理的历史上有名的艺术家。

若使用动漫风的模型请看 Danbooru图库的标签决定要下哪些提示词。

Prompt Generator和 NovelAI魔导书可以协助你组合提示词。

Civitai除了下载模型外,还有很多现成的提示词搭配模型的范例可以照抄。

相关文章:

Stable Diffusion 提示词技巧

文章目录 背景介绍如何写好提示词提示词的语法正向提示词负向提示词 随着AI技术的不断发展,越来越多的新算法涌现出来,例如Stable Diffusion、Midjourney、Dall-E等。相较于传统算法如GAN和VAE,这些新算法在生成高分辨率、高质量的图片方面表…...

VS2019编译curl库

下载: curl-7.61.0.tar.gz 编译: 解压到一个文件下,然后右键以管理员权限运行buildconf.bat 编译x64的库使用的是x64 Native Tools Command Prompt for VS 2019 本机工具命令提示,如果想编译x86的库,可以选择x86 Nat…...

yolov5自定义模型训练三

经过11个小时cpu训练完如下 在runs/train/expx里存放训练的结果, 测试是否可以检测ok 网上找的这张识别效果不是很好,通过加大训练次数和数据集的话精度可以提升。 训练后的权重也可以用视频源来识别, python detect.py --source 0 # webca…...

服务器中了mkp勒索病毒该怎么办?勒索病毒解密,数据恢复

mkp勒索病毒算的上是一种比较常见的勒索病毒类型了。它的感染数量上也常年排在前几名的位置。所以接下来就由云天数据恢复中心的技术工程师来对mkp勒索病毒做一个分析,以及中招以后应该怎么办。 一,中了mkp勒索病毒的表现 桌面以及多个文件夹当中都有一封…...

Docker环境搭建Prometheus实验环境

环境: OS:Centos7 Docker: 20.10.9 - Community Centos部署Docker 【Kubernetes】Centos中安装Docker和Minikube_云服务器安装docker和minikube_DivingKitten的博客-CSDN博客 一、拉取Prometheus镜像 ## 拉取镜像 docker pull prom/prometheus ## 启动p…...

Python Qt学习(七)Listview

源代码: # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_listview.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not…...

哈希表HashMap(基于vector和list)

C数据结构与算法实现(目录) 1 什么是HashMap? 我们这里要实现的HashMap接口不会超过标准库的版本(是一个子集)。 HashMap是一种键值对容器(关联容器),又叫字典。 和其他容易一样…...

go中的函数

demo1:函数的几种定义方式 package mainimport ("errors""fmt" )/* 函数的用法 跟其他语言的区别:支持多个返回值*///函数定义方法1 func add(a, b int) int {return a b }//函数定义方法2 func add2(a, b int) (sun int) {sun a breturn s…...

小试 InsCode AI 创作助手

个人理解: 自ChatGPT新版现世,一直被视面替代人工工作的世大挑战,各类人工智能语言生成工目层出不穷,也在不断影响着我们日常的工作和生活 小试CSDN的InsCode AI: - 基本概念查询方便,与个人了解&…...

粉丝经验分享:13:00 开始的面试,13:06 就结束了,问题真是变态

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

SASS的@规则

1,import sass扩展了import导入,对于css,import导入在页面加载的时候去下载导入的外部文件,而sass的导入,在编译成css文件的时候就将外部的sass文件导入合并编译成一个css文件。 他支持同时导入多个文件;…...

【C++初阶】模拟实现优先级队列priority_queue

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…...

如何为你的公司选择正确的AIGC解决方案?

如何为你的公司选择正确的AIGC解决方案? 摘要引言词汇解释(详细版本)详细介绍1. 确定需求2. 考虑技术能力3. 评估可行性4. 比较不同供应商 代码快及其注释注意事项知识总结 博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客&…...

Windows下将nginx等可执行文件添加为服务

Windows下将nginx等可执行文件添加为服务 为什么将可执行文件添加为服务?将可执行文件添加为服务的步骤步骤 1:下载和安装 Nginx步骤 2:添加为服务方法一:使用 Windows 自带的 sc 命令方法二:使用 NSSM(Non…...

视觉SLAM14讲笔记-第4讲-李群与李代数

李代数的引出: 在优化问题中去解一个旋转矩阵,可能会有一些阻碍,因为它对加法导数不是很友好(旋转矩阵加上一个微小偏移量可能就不是一个旋转矩阵),因为旋转矩阵本身还有一些约束条件,那样再求…...

浅析Redis(1)

一.Redis的含义 Redis可以用来作数据库,缓存,流引擎,消息队列。redis只有在分布式系统中才能充分的发挥作用,如果是单机程序,直接通过变量来存储数据是更优的选择。那我们知道进程之间是有隔离性的,那么re…...

【每日一题】2337. 移动片段得到字符串

【每日一题】2337. 移动片段得到字符串 2337. 移动片段得到字符串题目描述解题思路 2337. 移动片段得到字符串 题目描述 给你两个字符串 start 和 target ,长度均为 n 。每个字符串 仅 由字符 ‘L’、‘R’ 和 ‘_’ 组成,其中: 字符 ‘L’…...

MySQL 数据库常用命令大全(详细)

文章目录 1. MySQL命令2. MySQL基础命令3. MySQL命令简介4. MySQL常用命令4.1 MySQL准备篇4.1.1 启动和停止MySQL服务4.1.2 修改MySQL账户密码4.1.3 MySQL的登陆和退出4.1.4 查看MySQL版本 4.2 DDL篇(数据定义)4.2.1 查询数据库4.2.2 创建数据库4.2.3 使…...

中国移动加大布局长三角,打造算力产业新高地

8月27日,以“数实融合算启未来”为主题的2023长三角算力发展大会在苏州举办,大会启动了长三角算力调度枢纽,携手各界推动算力产业高质量发展。 会上,移动云作为第一批算力资源提供方,与苏州市公共算力服务平台签订算力…...

话费、加油卡、视频会员等充值接口如何对接?

现在很多商家企业等发现与用户保持粘性是越来越难了,大多数的用户活跃度都很差,到底该怎么做才能改善这种情况呢? 那么我们需要做的就是投其所好,在与用户保持粘性的app或者积分商城中投入大家感兴趣的物品或者虚拟产品&#xff…...

服务器重启MongoDB无法启动

文章目录 服务器重启MongoDB无法启动背景规划实施 总结 服务器重启MongoDB无法启动 背景 数据库服务器的CPU接近告警值了,需要添加CPU资源,于是乎就在恰当的时间对服务器进行关机,待添加完资源后开机,这样就完成了CPU资源的添加…...

深度刨析数据在内存中的存储

✨博客主页:小钱编程成长记 🎈博客专栏:进阶C语言 深度刨析数据在内存中的存储 1.数据类型介绍1.1 类型的基本归类 2.整形在内存中的存储2.1 原码、反码、补码2.2 大小端介绍 3.浮点型在内存中的存储3.1 一个例子3.2 浮点数的存储规则3.3指数…...

理解FPGA中的亚稳态

一、前言 大家应该经常能听说到亚稳态这个词,亚稳态主要是指触发器的输出在一段时间内不能达到一个确定的状态,过了这段时间触发器的输出随机选择输出0/1,这是我们在设计时需要避免的。本文主要讲述了FPGA中的亚稳态问题,可以帮助…...

Leetcode86. 分隔链表

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台…...

如何处理 Flink 作业中的数据倾斜问题?

分析&回答 什么是数据倾斜? 由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点。 举例:一个 Flink 作业包含 200 个 Task 节点,其中有 199 个节点可以在很短的时间内完成计算。但是有一个节点执行时间…...

cobbler自动化安装CentOS、windows和ubuntu

环境介绍 同时玩cobbler3.3和cobbler2.8.5 cobbler3.3 系统CentOS8.3 VMware虚拟机 桥接到物理网络 IP: 192.168.1.33 cobbler2.8.5 系统CentOS7.9 VMWare虚拟机 桥接到物理网络 IP:192.168.1.33 安装cobbler3.3 yum源修改 cat /etc/yum.repo.d/Cento…...

springcloud3 GateWay章节-Nacos+gateway动态路由负载均衡4

一 工程结构 1.1 工程 1.2 搭建gatewayapi工程 1.pom文件 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency><!--gateway--&g…...

RESTful API 面试必问

RESTful API是一种基于 HTTP 协议的 API 设计风格&#xff0c;它提供了一组规范和约束&#xff0c;使得客户端&#xff08;如 Web 应用程序、移动应用等&#xff09;和服务端之间的通信更加清晰、简洁和易于理解。 RESTful API 的设计原则 使用 HTTP 协议&#xff1a;RESTful …...

软件机器人助力行政审批局优化网约车业务流程,推动审批业务数字化转型

随着社会的进步和发展&#xff0c;行政审批业务逐渐趋向于智能化和自动化。近日&#xff0c;某市行政审批局在市场准入窗口引入博为小帮软件机器人大幅度提升了网约车办理业务的效率&#xff0c;创新了原有的业务模式。 软件机器人以其自动化、智能化的特性&#xff0c;优化了网…...

飞天使-python的字符串转义字符元组字典等

文章目录 基础语法数据类型python的字符串运算符输入和输出 数据结构列表与元组字典与集合 参考文档 基础语法 数据类型 数值型 &#xff0c;整数 浮点型 布尔型&#xff0c; 真假&#xff0c; 假范围 字符型 类型转换python的字符串 了解转义字符一些基本的运算 \ 比如一行…...