Stable Diffusion之提示词指南(三)

2024-09-01 22:20
文章标签 指南 提示 diffusion stable

本文主要是介绍Stable Diffusion之提示词指南(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上一篇的文章中,我们讲解了Stable Diffusion提示词的高级用法,对于一些高级属性有了了解。如果有不记得的,可以再去看看———Stable Diffusion之提示词指南(二)。今天我们讲解一下负提示词。

负提示词

负向提示词:简单说就是告诉AI你想不要绘制什么,不要在画面中出现的内容。

1-1

可以看到在Web UI页面中负提示词也是和正提示词一样,有一个输入框,一般我们不输入也是可以的。

使用负面提示词是引导图像的另一种好方法,这里放的不是你想要的东西,而是你不想要的东西。它们不一定必须是物体,也可以是样式和不需要的属性。 (例如丑陋、变形等)

同时对于v2模型来说,使用负面提示词是必须的。如果没有它,图像看起来会远不如v1的图像。对于v1和SDXL模型来说,它们是可选的,但我经常使用它们,因为它们要么有帮助,要么无害。

比如使用通用的负提示词。

ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, extra limbs, disfigured, deformed, body out of frame, bad anatomy, watermark, signature, cut off, low contrast, underexposed, overexposed, bad art, beginner, amateur, distorted face, blurry, draft, grainy
丑陋、平铺、手画得不好、脚画得不好、脸画得不好、出框、多余的肢体、毁容、变形、身体出框、解剖结构不良、水印、签名、切断、对比度低、曝光不足、曝光过度、不好艺术、初学者、业余、扭曲的脸、模糊、草稿、颗粒状

比如生成的图片:

1-2

使用负提示词

负提示词是让Stable Diffusion输出结果更符合要求的另一种方式。与需要绘制蒙版的不同,你可以使用负提示词并享受文本输入的所有便利。事实上,有些图像只能通过使用负提示词来生成。

比如下面的例子:

Portrait photo of a man

1-3

好的,我们得到了我们所期望的。毫不奇怪。不过,这些人看上去有些太严肃了。让我们试着把他们的胡子去掉,让它们看起来更亮丽一些。我们来尝试一下提示:

Portrait photo of a man without mustache

1-4

我们这里发现有问题。我们的胡子更加突出!这是怎么回事?罪魁祸首很可能是cross-attention未能将“没有”和“小胡子”联系起来。Stable Diffusion将提示词理解为“男人”和“小胡子”。这就是为什么你会看到他们两个。

那么我们能做些什么来生成没有胡子的男人呢?这是Stable Diffusion做不到的吗?答案就是使用负提示词。如果我们使用提示:

正提示词:

Portrait photo of a man

负提示词:

mustache

1-5

我们终于可以生成一些没有胡子的男人了!同样的使用v2模型您将得到类似的结果。

本例演示了使用否定提示的原理:

如果您看到不想要的内容,请将其放入否定提示中。

负提示词如何工作的

回想一下,在文本到图像调节中,提示词被转换为嵌入向量,然后将其馈送到 U-Net 噪声预测器。在这里实际上有两组嵌入向量,一组用于正面提示,另一组用于负面提示。

正面提示和负面提示是平等的。他们都有 77 个token。您始终可以将其中之一与另一个一起使用或单独使用。

负提示是在采样器中实现的,该算法负责实现反向扩散。要了解负提示如何工作的,我们首先需要了解在不使用负提示词的情况下采样是如何工作的。

无负提示词的采样

在Stable Diffusion的采样步骤中,算法首先在文本提示词的指导下通过条件采样对图像进行一点降噪。然后,采样器通过无条件采样对同一图像进行一点去噪。这完全是无指导的,就好像您不使用文本提示词一样。请注意,它仍然会扩散到一个像样的图像,例如下面的篮球或酒杯,但它可以是任何东西。实际完成的扩散步骤是条件采样和无条件采样之间的差异。重复此过程一定数量的采样步骤。

1-6

在没有负提示词的情况下,扩散步骤是朝着提示并远离随机图像的一步。

带负提示词的采样

负提示是通过劫持无条件采样来实现的。不使用生成随机图像的空提示,而是使用负提示。

1-7

当使用负面提示词时,扩散步骤是朝向正面提示并远离负面提示的步骤。

从技术上讲,积极的提示会将扩散引向与其相关的图像,而消极的提示则会将扩散引向与其相关的图像。请注意,稳定扩散中的扩散发生在潜在空间中,而不是图像中。图像空间中的上述图形仅用于说明目的。如果您对如何在代码级别实现它感兴趣,请参阅这篇精彩的文章。

采样空间

让我们考虑以下采样空间的图示。当我们使用提示“男人的肖像照片”时,Stable Diffusion会从所有男人的整个潜在空间中采样图像,无论有没有胡子。你应该得到有和没有胡子的男人的图像。

1-8

所有男人形象的空间。

当添加负提示词“小胡子”时,“有小胡子的男人”空格被排除。实际上,我们正在对没有胡子的男性的图像进行采样。

所以我们知道负提示会以一种单独修改肯定提示无法实现的方式删除对象或样式。它的工作原理是劫持每个采样步骤中的无条件采样,以便扩散偏离了负面提示中所描述的内容。

如何使用好负提示词

你能把你不想看到的东西放在负面提示词中。它为您提供了另一种控制文本到图像生成的方法。许多人将其视为 Stable Diffusion v1.5 中的可选功能。随着 Stable Diffusion v2 的发布,情况发生了变化。负面提示变得不可或缺。

移除物体

和前面的去掉“胡子”例子类似,假设您在雨天创作了一幅巴黎的画作。正提示词如下:

autumn in paris, ornate, beautiful, atmosphere, vibe, mist, smoke, fire, chimney, rain, wet, pristine, puddles, melting, dripping, snow, creek, lush, ice, bridge, forest, roses, flowers, by stanley artgerm lau, greg rutkowski, thomas kindkade, alphonse mucha, loish, norman rockwell.

Seed种子值如下:

1923936260

生成的图片中有很多人,如下图:

1-9

如果我想生成另一个,但街道空无一人。就可以使用指定图像的相同种子值,并在负提示中添加“people”。就会得到一张删除了大多数人的图像。

1-10

假如图片中的人还没删除完,那您也可以通过上节学习的语法强调负面提示来告诉稳定扩散要更加努力(people:1.3)。这告诉Stable Diffusion,关键字“people”现在重要性提高了30%。

修改图片

您也可以让Stable Diffusion以使用负提示进行细微的更改。比如您不想删除任何内容,只想对主题进行细微的更改。

让我们处理这个悟空图像:

1-11

看起来是在草原,并且天黑了,我们调整一下。添加草原,黄昏到负提示词中。

1-12

图片中的悟空看起来有点……不成熟,像小朋友一样,我们添加“未成年”这样的负提示词中让他看起来更像成年人。

1-13

负提示中带关键字切换

我们不想看到耳朵出现在图片中,同时在负提示词添加了ear,当我们逐渐添加强度时,画面可能会直接扭曲变形。

现在,如果你确实想使用高度强调 (ear:1.9)该怎么办 ? 这里有一个窍门。

你可以使用关键字切换 ,首先使用无意义的单词作为负提示词,然后 (ear:1.9) 在稍后的采样步骤中切换。

让我们选择 the 无意义、无用的负提示词。 你可以通过将其放入负提示词来验证它的无用性。 你将获得与未放置任何内容相同的图像。

现在我们用它作为负提示词:

[the: (ear:1.9): 0.5]

比如这里我使用 20 个采样步骤,这意味着 the 在步骤 1 —10 不会产生实际效果,而步骤 11 —20 中采用负提示词 (ear:1.9)。

修改样式

负提示词不仅对修改内容有用,对修改风格也有用。为什么要用负提示词来改变风格? 有时,在正提示词中添加太多只会让扩散器感到困惑。 想象一下有人让你同时去77个地方。 如果他们告诉你应该避免哪些区域,将会很有帮助 。

Sharpening

你可以在负提示词中使用“blurry”,而不是在正提示词中使用关键字 “sharp”、“focused” 。 这也许会让图像变得更清晰。

Photorealistic

在负提示中使用“painting”, “cartoon”也会使其更像照片。

比如黑神话-悟空,我们使用特定Lora加通用负提示词生成如下:
1-14
1-15


以上便是负提示词相关内容,关于如何训练自己的Lora,如何使用高级技巧等相关知识后面博主会逐步介绍,欢迎大家关注微信公众号"壁虎说技术",更多AI新技术,新点子在公众号第一时间更新。

壁虎说技术

参考

prompt-guide
how-to-use-negative-prompts

这篇关于Stable Diffusion之提示词指南(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128202

相关文章

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

Mybatis提示Tag name expected的问题及解决

《Mybatis提示Tagnameexpected的问题及解决》MyBatis是一个开源的Java持久层框架,用于将Java对象与数据库表进行映射,它提供了一种简单、灵活的方式来访问数据库,同时也... 目录概念说明MyBATis特点发现问题解决问题第一种方式第二种方式问题总结概念说明MyBatis(原名