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

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

AI,如何重构理解、匹配与决策?

AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...