Stable Diffusion如何生成高质量的图-prompt写法介绍

文章目录

  • Stable Diffusion
  • 使用
    • 尝试下效果
    • prompt的编写技巧
      • prompt 和 negative prompt
      • Prompt格式
      • Prompt规则细节
      • 优化
      • Guidance Scale
  • 总结

Stable Diffusion

Stable Diffusion是一个开源的图像生成AI系统,由Anthropic公司开发。它基于 Transformer模型架构,可以通过文字描述生成高质量的图像。
Stable Diffusion的主要特点包括:

  • 强大的图像生成能力。它可以根据文本描述生成非常逼真的图像,包括人物、风景、动物等各种主题。
  • 对文本的理解能力强。它可以捕捉文本描述的关键信息,转换为视觉上的表现。
  • 生成图像分辨率高。它可以生成512x512甚至1024x1024像素的高分辨率图像。
  • 开源且易于使用。它建立在开源框架PyTorch等基础上,可以轻松地在GPU及普通电脑上运行。
  • 训练数据量大。它的训练数据集包含大量高质量图像,这是它强大能力的重要基础。
  • 结果多样化。每次输入相同提示,它都可以生成略有不同的结果,增加了结果的多样性。
  • 控制能力强。用户可以通过调整文字提示、超参数等方式控制生成结果。

Stable Diffusion是一种潜在扩散模型(Latent Diffusion Model),能够从文本描述中生成详细的图像。它还可以用于图像修复、图像绘制、文本到图像和图像到图像等任务。简单地说,我们只要给出想要的图片的文字描述在提Stable Diffusion就能生成符合你要求的逼真的图像。Stable Diffusion作为新兴的AI生成模型,拥有强大的图像生成能力,是目前最先进的开源生成模型之一,值得关注。它的出现将推动创作界发生革命性的变化。

使用

尝试下效果

prompt:beautiful girl,bikini,sea,beach,sunshine

生成的效果如下:
在这里插入图片描述

效果不太好,我们来学习下prompt如何编写,再看看改善效果。

prompt的编写技巧

prompt 和 negative prompt

在这里插入图片描述

描述语分为正向/负向描述,它们也叫tag(标签)或prompt(提示词)
正面提示词:相比Midjourney,SD需要写得更精准和细致,描述少就给AI更多自由发挥空间。
负面提示词:不想让SD生成的内容。
正向:masterpiece, best quality, 画质词,画面描述。
反向:根据画面产出加不想出现的画面。

Prompt格式

第一段:画质tag,画风tag
第二段:画面主体,主体强调,主体细节概括(主体可以是人、事、物、景)画面核心内容
第三段:画面场景细节,或人物细节,embedding tag。画面细节内容
第二段一般提供人数,人物主要特征,主要动作(一般置于人物之前),物体主要特征,主景或景色框架等

Prompt规则细节

  1. 提示词的顺序决定了权重的大小,越靠前的词汇权重越大,会对图像生成产生更直接的影响。
  2. 生成图片分辨率越大,需要的提示词量也越多,否则不同的提示词会产生不一致的效果,相互干扰。
  3. 使用括号可以精确调整单个词的权重值,提高或降低其对图像生成的影响程度。常用的权重调整范围建议控制在0.25到1.5之间,避免超出这个范围带来负面效果。
    方法如下:
    (word) - 将权重提高 1.1 倍
    ((word)) - 将权重提高 1.21 倍(= 1.1 * 1.1)
    [word] - 将权重降低至原先的 90.91%
    (word:1.5) - 将权重提高 1.5 倍
    (word:0.25) - 将权重减少为原先的 25%
    请注意,权重值最好不要超过 1.5

优化

根据上面的规则我们来改下下prompt

A beautiful young girl standing in the shallow seawater on a sunny tropical beach. She has long wavy blonde hair flowing in the ocean breeze. She's wearing a red floral bikini which compliments her tanned skin tone. Her fit athletic body is perfectly framed in this scene. She has a bright, energetic smile on her face as she's enjoying the warm ocean water washing over her feet. The background is a picturesque tropical beach scene with white sand, palm trees, and turquoise blue water sparkling in the bright sunlight stretching out to the horizon. This is a perfect summer beach day. The overall color tone is vibrant and cheerful. The girl looks natural, elegant, and carefree. This is a high quality, photorealistic image.

报错

“Unsafe content found”

继续优化

"A cheerful young woman smiling and having fun at the beach. She has long, dark brown hair blowing casually in the tropical breeze. She's dressed appropriately in a blue floral one-piece swimsuit. Posing happily on the shore, with one hand up to her forehead to shade her eyes. Behind her is a beautiful scenic view of bright turquoise waves gently lapping against the sandy shore. In the background, the wide open clear blue sky meets the ocean horizon. Palm trees and green vegetation dot the landscape. The sunlight is bright and warm. This is a high quality, idyllic summer beach scene."

主要修改的点包括:

  1. 使用积极正面词语 como “cheerful”,“having fun”,“happily”,移除可能引起歧义的词汇。
  2. 将比基尼改为更保守的连体泳衣。
  3. 去掉只描写女孩的语句,加上与海滩景色的衔接。
  4. 增加阳光、植被等宁静自然的元素。
  5. 使用专业的视觉描述词语如“idyllic”,“scenic”等。
  6. 强调图像质量要高,内容要正面积极。
  7. 避免可能引起歧义或联想的表达。

看效果
在这里插入图片描述
很明显,改善很明显…… 哈哈哈哈哈哈哈 (如果被吓到实在不好意思,我也有点看恐怖片的感觉)

上面这些图是因为我Guidance Scale的参数设置太低了。

Guidance Scale

Stable Diffusion 模型中的 Guidance Scale 参数是调整文本提示(Text Prompt)对图像生成影响力的一个重要超参数。
Guidance Scale 参数的主要作用是:

  1. 控制文本提示的重要性:
  • 参数值越高,文本提示的影响就越大,生成图片会越关注文本提示的要求。
  • 参数值越低,文本提示影响减弱,生成图片会更具原创性和多样性。
  1. 平衡文本提示和训练数据:
  • 参数值越高,依赖文本提示的信息更多,训练数据的影响被压制。
  • 参数值越低,训练数据的信息起主导作用,文本提示只起辅助影响。
  1. 调节生成图片质量:
  • 适当的Guidance Scale可以帮助生成更高质量的图片。
  • 参数过大或过小,都可能导致生成图片质量下降。
    通常Guidance Scale的取值范围在1-20之间。默认值是7,这是一个比较平衡的设置。使用时可以通过调整这个参数,来实现对生成图片的精细控制。
    Guidance Scale直接影响文本提示的作用强度,是Stable Diffusion中非常重要的一个生成控制超参数。

我们来调整下Guidance Scale参数
在这里插入图片描述

改后的效果如图(我实在不知道怎么修改CSDN才不违规了,一个连体泳衣都违规,其他平台都正常显示,只能马赛克了):

在这里插入图片描述

在这里插入图片描述

总结

想要用Stable Diffusion生成高质量的图片,避免生成低质量的“烂图片”,可以注意以下几点:

  1. 使用合理的提示词(Prompt)
  • 提示词要简洁明确,避免歧义。important信息前置。
  • 添加合适的描述词帮助生成细节。如大小,颜色,质感等。
  • 使用正确的英文语法和拼写。
  • 避免使用负面和敏感词汇。
  1. 调整超参数
  • 适当调高 Guidance Scale,加强提示词影响力。
  • 调整 Steps(迭代次数)不要过少,一般100-200。
  • 调试不同的 Sampler,如DDIM较平滑。
  1. 使用高质量训练数据
  • 大型模型效果更好,如Stable Diffusion v2。
  • 尝试不同主题的训练数据,匹配生成目标。
  1. 生成分辨率不要过低
  • 分辨率过低会造成图片质量下降。
  • 一般选择512x512 或更高分辨率。
  1. 复核和选择图片
  • 生成多张样本图片,挑选效果最佳的。
  • 检查合理性,删除离题图像。
    通过以上方法,可以最大程度地避免Stable Diffusion生成不理想的低质量图片。但过程中也需要一定的试错尝试,以找到最佳设置。

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

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

相关文章

WAIC2023:图像内容安全黑科技助力可信AI发展

目录 0 写在前面1 AI图像篡改检测2 生成式图像鉴别2.1 主干特征提取通道2.2 注意力模块2.3 纹理增强模块 3 OCR对抗攻击4 助力可信AI向善发展总结 0 写在前面 2023世界人工智能大会(WAIC)已圆满结束,恰逢全球大模型和生成式人工智能蓬勃兴起之时,今年参…

Two Days wpf 分享 分页组件

迟来的wpf分享。 目录 一、序言 二、前期准备 三、前端界面 四、后台代码部分 1、先定义些变量后面使用 2、先是按钮事件代码。 首页按钮 上一页按钮 下一页按钮 末尾按钮 画每页显示等数据 每页显示多少条 判断是否为数字的事件 分页数字的点击触发事件 跳转到…

jmeter常用的提取器(正则表达式和JSON提取器)

jmeter常用的后置处理器有两种提取数据: 1、JSON提取器 获取后可以将变量token引用到其他所需要的地方 (正则表达式和JSON提取器):2023接口自动化测试框架必会两大神器:正则提取器和Jsonpath提取器_哔哩哔哩_bilibilihttps://www.bilibili.…

JVM运行时数据区——堆内的区域分布

1.堆内的区域分布 堆是运行时数据区最大的一块区域,主要用来存放对象,堆是所有线程公用的,在JVM启动时就被创建,堆的空间是可以调整的,是GC(垃圾回收)的重点区域。 堆的内存空间分区:新生代老年代 新生代…

Rust vs Go:常用语法对比(三)

题图来自When to use Rust and when to use Go[1] 41. Reverse a string 反转字符串 package mainimport "fmt"func Reverse(s string) string { runes : []rune(s) for i, j : 0, len(runes)-1; i < j; i, j i1, j-1 { runes[i], runes[j] runes[j], runes[i]…

【SQL应知应会】表分区(五)• MySQL版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 分区表 • MySQL版 前言一、分区表1.非分区表2.分区…

【论文】基于GANs的图像文字擦除 ——2010.EraseNet: End-to-End Text Removal in the Wild(已开源)

pytorch官方代码&#xff1a;https://github.com/lcy0604/EraseNet 论文&#xff1a;2010.EraseNet: End-to-End Text Removal in the Wild 网盘提取码&#xff1a;0719 一、图片文字去除效果 图10 SCUT-EnsText 真实数据集的去除 第一列原图带文字、第二列为去除后的标签&a…

RocketMQ分布式事务 -> 最终一致性实现

文章目录 前言事务消息场景代码示例订单服务事务日志表TransactionMQProducerOrderTransactionListener业务实现类调用总结 积分服务积分记录表消费者启动消费者监听器增加积分幂等性消费消费异常 前言 分布式事务的问题常在业务与面试中被提及, 近日摸鱼看到这篇文章, 阐述的…

认识主被动无人机遥感数据、预处理无人机遥感数据、定量估算农林植被关键性状、期刊论文插图精细制作与Appdesigner应用开发

目录 第一章、认识主被动无人机遥感数据 第二章、预处理无人机遥感数据 第三章、定量估算农林植被关键性状 第四章、期刊论文插图精细制作与Appdesigner应用开发 更多推荐 遥感技术作为一种空间大数据手段&#xff0c;能够从多时、多维、多地等角度&#xff0c;获取大量的…

Spring 能解决所有循环依赖吗?

以下内容基于 Spring6.0.4。 看了上篇文章的小伙伴&#xff0c;对于 Spring 解决循环依赖的思路应该有一个大致了解了&#xff0c;今天我们再来看一看&#xff0c;按照上篇文章介绍的思路&#xff0c;有哪些循环依赖 Spring 处理不了。 严格来说&#xff0c;其实也不是解决不了…

PoseiSwap 即将开启 POSE 单币质押,治理体系将全面运行

PoseiSwap 是目前行业首个将支持 RWA 资产交易的 DEX&#xff0c;其构建在 Nautilus Chain 上&#xff0c;并通过模块化的形式单独构建了 zk-Rollup 应用层&#xff0c;具备并行化运行、隐私特性&#xff0c;并从 Cosmos、Celestia、Eclipse 等 Layer0 设施中获得高度可组合性、…

MySQL 中NULL和空值的区别

MySQL 中NULL和空值的区别&#xff1f; 简介NULL也就是在字段中存储NULL值&#xff0c;空值也就是字段中存储空字符(’’)。区别 1、空值不占空间&#xff0c;NULL值占空间。当字段不为NULL时&#xff0c;也可以插入空值。 2、当使用 IS NOT NULL 或者 IS NULL 时&#xff0…

JDK、JRE、JVM三者之间的关系

总结 JDK包含JRE&#xff0c;JRE包含JVM。 JDK (Java Development Kit)----Java开发工具包&#xff0c;用于Java程序的开发。 JRE (Java Runtime Environment)----Java运行时环境&#xff0c;只能运行.class文件&#xff0c;不能编译。 JVM (Java Virtual Machine)----Java虚拟…

21matlab数据分析牛顿插值(matlab程序)

1.简述 一、牛顿插值法原理 1.牛顿插值多项式   定义牛顿插值多项式为&#xff1a; N n ( x ) a 0 a 1 ( x − x 0 ) a 2 ( x − x 0 ) ( x − x 1 ) ⋯ a n ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n − 1 ) N_n\left(x\right)a_0a_1\left(x-x_0\right)a_2\left(x-x_0\…

AI时代带来的图片造假危机,该如何解决

一、前言 当今&#xff0c;图片造假问题非常泛滥&#xff0c;已经成为现代社会中一个严峻的问题。随着AI技术不断的发展&#xff0c;人们可以轻松地通过图像编辑和AI智能生成来篡改和伪造图片&#xff0c;使其看起来真实而难以辨别&#xff0c;之前就看到过一对硕士夫妻为了骗…

子网划分路由网卡安全组

1."IPv4 CIDR" "IPv4 CIDR" 是与互联网协议地址&#xff08;IP address&#xff09;和网络的子网划分有关的概念。 - "IPv4" 代表 "Internet Protocol version 4"&#xff0c;也就是第四版互联网协议&#xff0c;这是互联网上最广泛使…

谷歌插件(Chrome扩展) “Service Worker (无效)” 解决方法

问题描述&#xff1a; 写 background 文件的时候报错了&#xff0c;说 Service Worker 设置的 background 无效。 解决&#xff08;检查&#xff09;方法&#xff1a; 检查配置文件&#xff08;manifest.json&#xff09; 中的 manifest_version 是否为 3。 background 中的…

办公软件ppt的制作

毕业找工作太难了&#xff0c;赶紧多学点什么东西吧&#xff0c;今天开始办公软件ppt的制作学习。 本文以WPS作为默认办公软件&#xff0c;问为什么不是PowerPoint&#xff0c;问就是没钱买不起&#xff0c;绝对不是不会破解的原因。 一.认识软件 在快捷工具栏中顾名思义就是一…

6.4.2 互联网路由探测与发现基本原理

6.4.2 互联网路由探测与发现基本原理 一、路由探测与发现背后的协议工作过程 我们主要使用三种方法来实现路由探测与发现 基于IP的记录路由选项功能&#xff08;RR&#xff09;和ICMP功能的路由探测&#xff0c;典型的例子就是带有参数“r”的ping命令&#xff0c;即ping -r …

postgresql源码学习(58)—— 删除or重命名WAL日志?这是一个问题

最近因为WAL日志重命名踩到大坑&#xff0c;一直很纠结WAL日志在什么情况下会被删除&#xff0c;什么情况下会被重命名&#xff0c;钻研一下这个部分。 一、 准备工作 1. 主要函数调用栈 首先无用WAL日志的清理发生检查点执行时&#xff0c;检查点执行核心函数为CreateCheckPo…