当前位置: 首页 > 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…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

ES6从入门到精通:前言

ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...