stable diffusion文字转图片(教程)

这篇具有很好参考价值的文章主要介绍了stable diffusion文字转图片(教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文字转图片#

请先通过前文 调参基础 了解 SD-WebUI 网页应用提供的基本参数。

如何书写提示词#

这是一个通用的指南,内容是基本通用的,可能有例外情况,请读对应的章节了解不同应用的特性。

写什么?#

TIP

提示词是提示而不是判定依据,比如你输入质量判定词汇的时候,其实是在限制数据的范围,而不是 “要求” AI 出一张很好的图片。

单词标签#

对于在标签单词上特化训练的模型,建议使用逗号隔开的单词作为提示词。

普通常见的单词,例如是可以在数据集来源站点找到的著名标签(比如 Danbooru)。单词的风格要和图像的整体风格搭配,否则会出现混杂的风格或噪点。

避免出现拼写错误。NLP 模型可能将拼写错误的单词拆分为字母处理。

自然语言#

对于在自然语言上特化训练的模型,建议使用描述物体的句子作为提示词。

取决于训练时使用的数据集,可以使用英文,日文,特殊符号或一些中文。大多数情况下英文较为有效。

避免 with 之类的连接词或复杂的语法,大多数情况下 NLP 模型只会进行最简单的处理。

避免使用重音符(如 é 和 è)和德语 umlauts(如 ä 和 ö),它们可能无法被映射到正确的语义中。

不建议随意套用现成模板,尤其是无法经过人类理解的模板。

Emoji#

Emoji (💰,💶,💷,💴,💵,🎊,🪅🪄,🎀,👩‍🚀) 表情符号也是可以使用并且 非常准确 的。

Emoji 因为只有一个字符,所以在语义准确度上表现良好。

Emoji 在构图上有影响,比如 💐☺️💐

表情符号参考

颜文字#

对于使用 Danbooru 数据的模型来说,可以使用颜文字在一定程度上控制出图的表情。

例如:

:-) 微笑 :-( 不悦 ;-) 使眼色 :-D 开心 :-P 吐舌头 :-C 很悲伤 :-O 惊讶 张大口 :-/ 怀疑

仅支持西方颜文字,详细内容请见 Danbooru 颜文字部分 或 维基百科

空格#

逗号前后的少量空格并不影响实际效果。

开头和结尾的额外空格会被直接丢弃。词与词之间的额外空格也会被丢弃。

标点符号#

用逗号、句号、甚至是空字符(\0)来分隔关键词,可以提高图像质量。目前还不清楚哪种类型的标点符号或哪种组合效果最好。当有疑问时,只要以一种使提示更容易被阅读的方式来做。

对于部分模型,建议将下划线(_)转换为空格。

艺术风格词#

可以通过指定风格关键词来创作带有特效或指定画风的图片。

参考资料:

NovelAI 使用教程和魔咒课堂人偶教室的测试记录风格化: 32 种

或通过使用 微调模型 来创作图片。

运动和姿势#

如果没有很大要求的话,选择只与少数姿势相关的提示。

这里的姿势是指某一事物的物理配置:图像主体相对于摄像机的位置和旋转,人类/机器人关节的角度,果冻块被压缩的方式,等等。你试图指定的事物中的差异越小,模型就越容易学习。

因为运动就其定义而言涉及到主体姿势的巨大变化,与运动相关的提示经常导致身体的扭曲,如重复的四肢。另外,因为人类的四肢,特别是人类的手和脚有很多关节,他们可以采取许多不同的、复杂的姿势。这使得他们的可视化特别难学,对于人类和神经网络都是如此。

简而言之:人类站着/坐着的好形象很容易,人类跳着/跑着的好形象很难。

如何写?#

模板#

先想一下要画什么,例如 主题,外表,情绪,衣服,姿势,背景 一类,然后参考数据集标签表(如果有的话,比如 Danbooru, Pixiv 等)。

然后将想要的相似的提示词组合在一起,请使用英文半角 做分隔符,并将这些按从最重要到最不重要的顺序排列。

一种模板示例如下:

(quality), (subject)(style), (action/scene), (artist), (filters)
  • (quality) 代表画面的品质,比如 low res 结合 sticker 使用来 “利用” 更多数据集, 1girl 结合 high quality 使用来获得高质量图像。
  • (subject) 代表画面的主题,锚定画面内容,这是任何提示的基本组成部分。
  • (style) 是画面风格,可选。
  • (action/scene) 代表动作/场景,描述了主体在哪里做了什么。
  • (artist) 代表艺术家名字或者出品公司名字。
  • (filters) 代表一些细节,补充。可以使用 艺术家,工作室,摄影术语,角色名字,风格,特效等等。

大小写#

CLIP 的标记器在标记之前将所有单词转为小写。其他模型,如 BERT 和 T5,将大写的单词与非大写的单词区别对待。

但避免涉及特殊语法,以防被解释为其他语义,例如 AND

词汇顺序#

demystifying_prompting_what_you_need_to_know/

似乎 VAE 使用了一种称为贝叶斯定理的统计方法。在计算标记的去向时,前几个单词似乎锚定了其余单词标记在潜在空间中的分布。

早期的标记具有更一致的位置,因此神经网络更容易预测它们的相关性。在贝叶斯推理中,矩阵中的第一个标记或证据很重要,因为它设置了初始概率条件。但是后面的元素只是修改了概率条件。因此,至少在理论上,最后的令牌不应该比前面的令牌具有更大的影响。

但是解析器理解事物的方式是不透明的,因此没有办法确切地知道词法顺序是否具有“锚”效应。

可以 使用 X/Y 图自动生成各种顺序 进行尝试。

提示词长度#

避免过长的提示词。

提示词放入的顺序就是优先级。由于提示词的权重值从前向后递减,放置在特别靠后的提示词已经对图片的实际生成影响甚微。

不堆叠提示词是一个好习惯,但是如果你确实有很多内容要写,可以适当提高生成步数,以便在生成过程中更好地利用提示词。

SD-WebUI 突破最多 75 个词组限制的方式是将每 20 + 55 个词分为一组。选项 Increase coherency by padding from the last comma within n tokens when using more than 75 tokens 让程序试图通过查找最后 N 个标记中是否有最后一个逗号来缓解这种情况,如果有,则将所有经过该逗号的内容一起移动到下一个集合中。该策略可适当缓解提示词过多无法处理的问题,但可能破坏提示词之间的权重关系。

除了 WebUI 对此情况进行了特殊处理外,由于 GPT-3 模型限制,提示词处理空间并不是无限的,大多在在 75-80 之间,75 字符后的内容会被截断。

特异性#

问题体现在语义偏移上。对于神经网络的训练来说,特征的质量很重要:输入和输出之间的联系越强,神经网络就越容易学习这种联系。

换句话说,如果一个关键词有非常具体的含义,那么学习它与图像之间的联系要比一个关键词有非常广泛的含义容易得多。

这样一来,即使是像 "Zettai Ryouiki" 这样很少使用的关键词也能产生非常好的结果,因为它只在非常具体的情况下使用。另一方面,"动漫" 即使是一个比较常见的词,也不会产生很好的结果,这可能是因为它被用于许多不同的情况,即使是没有字面意思的动漫。如果你想控制你的图片的内容,选择具体的关键词尤其重要。另外:你的措辞越不抽象越好。如果可能的话,避免留下解释空间的措辞,或需要 "理解" 不属于图像的东西。甚至像 "大" 或 "小" 这样的概念也是有问题的,因为它们与物体离相机近或远是无法区分的。理想情况下,使用有很大可能逐字出现在你想要的图像标题上的措辞。

语义失衡#

每一个提示词就像染料一样,它们的 “亲和性“ 不同,如果更常见的提示词,比如 loli (和其他提示词并列放置)的影响就大于其他提示词。

比如,如果你想生成动漫图片,使用了 星空 startrail 标签,相比你期望出现的动漫星空,会有更多来自真实照片的星空元素。

许多词汇在基准上的权重就不一样,所以要根据效果进行合理调节。

否定提示词#

SD-WebUI 网页应用会在生成时 避免生成否定提示词提及的内容

否定提示是一种使用 Stable-Diffusion 的方式,允许用户指定他不想看到的内容,而不对模型本身做额外的要求。

通过指定 unconditional_conditioning 参数,在生成中采样器会查看去噪后符合提示的图像(城堡)和去噪后看起来符合负面提示的图像(颗粒状、雾状)之间的差异,并尝试将最终结果远离否定提示词。

python

# prompts = ["a castle in a forest"]
# negative_prompts = ["grainy, fog"]

c = model.get_learned_conditioning(prompts)
uc = model.get_learned_conditioning(negative_prompts)

samples_ddim, _ = sampler.sample(conditioning=c, unconditional_conditioning=uc, [...])

比如使用以下提示词避免生成水印和文字内容

text

lowres, bad anatomy, bad hands, text, error, missing fingers,
extra digit, fewer digits, cropped, worst quality, low quality,
normal quality, jpeg artifacts, signature, watermark, username, blurry

还如这个例子

text

ugly, fat, obese, chubby, (((deformed))), [blurry], bad anatomy,
disfigured, poorly drawn face, mutation, mutated, (extra_limb),
(ugly), (poorly drawn hands fingers), messy drawing, morbid,
mutilated, tranny, trans, trannsexual, [out of frame], (bad proportions),
(poorly drawn body), (poorly drawn legs), worst quality, low quality,
normal quality, text, censored, gown, latex, pencil

更多资料详见 官方 Wiki

提示词语法#

以下内容主要适用于 SD-WebUI。NovelAI 用户可参照 官网文档。

权重系数#

权重系数可改变提示词特定部分的比重。

更多资料详见 Wiki:Attention Emphasis

对于 SD-WebUI,具体规则如下:

  • (word) - 将权重提高 1.1 倍
  • ((word)) - 将权重提高 1.21 倍(= 1.1 * 1.1),乘法的关系。
  • [word] - 将权重降低 90.91%
  • (word:1.5) - 将权重提高 1.5 倍
  • (word:0.25) - 将权重减少为原先的 25%
  • \(word\) - 在提示词中使用字面意义上的 () 字符

使用数字指定权重时,必须使用 () 括号。如果未指定数字权重,则假定为 1.1。指定单个权重仅适用于 SD-WebUI。

INFO

权重增加通常会占一个提示词位,应当避免加特别多括号。

> ( n ) = ( n : 1.1 )
> (( n )) = ( n : 1.21 )
> ((( n ))) = ( n : 1.331 )
> (((( n )))) = ( n : 1.4641 )
> ((((( n )))) = ( n : 1.61051 )
> (((((( n )))))) = ( n : 1.771561 )

关于 NovelAI

因为 NAI 使用的是 WebUI 2022 年 9 月 29 日之前的实现,所以权重增强语法是旧的 {} ,新的 WebUI 更改为 ()

换算关系

NAI 的 [word] = WebUI 的 (word:0.952) (0.952 = 1/1.05)

NAI 的 {word} = WebUI 的 (word:1.05)

NAI 花括号权重为 1.05/个,WebUI 圆括号权重为 1.1/个。

How It Works

每个单词都将被解析为 768 维度空间内的一个向量,该向量“指向”概念的方向。

如果你缩放这个向量,这个概念会变得更强或更弱。

详见 Here

无论使用何种具体的脚本,重复某个关键词似乎都会增加其效果。

值得注意的是,你的提示中存在越多的提示词,任何单一提示词的影响就越小。你还会注意到,由于这个原因,在增加新的提示词时,风格会逐渐消失。强烈建议随着提示符长度的增加改变风格词的强度,以便保持一致的风格。

标签替换#

详见 Prompt Editing

允许您开始先使用一个提示词,但在生成过程中间切换到其他提示词。基本语法是:

  • [to:when] 在指定数量的 step 后添加 to 到提示
  • [from::when] 在指定数量的 step 后从提示中删除 from
  • [from:to:when] 在指定数量的 step 后将 from 替换为 to

其中 from 与 to 是替换前后的提示词,when 表示替换时机。

如果 when 是介于 0 和 1 之间的数字,则它指进行切换的步数的百分比。如果它是一个大于零的整数,那么这代表进行切换的字面步数。

替换标签可无限嵌套。

示例:对于 a [fantasy:cyberpunk:16] landscape

  • 开始时,模型将绘制 a fantasy landscape
  • 在第 16 步之后,它将采用 a cyberpunk landscape 继续生成。

标签轮转#

详见 Alternating Words

允许您在生成过程中每步轮换使用多个提示词。基本语法是:

[a|b|c]

生成的第一步将使用 a,第二步将使用 b,第三步将使用 c,第四步将使用 a,依此类推。

多组提示词生成#

详见 Composable-Diffusion

WARNING

AND 的语法优先级最高,因此试图使用 AND 分离单个提示词的操作是错误的。注意甄别部分公开教程中的错误示例。

允许在生成时同时使用多组提示词,并将结果直接相加。基本语法是:

a, b, c AND d, e, f

这将使用两组提示词 a, b, c 和 d, e, f 生成,并将它们的结果相加。

Prompt matrix 参数矩阵#

使用 | 分隔多个 Tag,程序将为它们的每个组合生成一个图像。 例如,如果使用 a busy city street in a modern city|illustration|cinematic lighting ,则可能有四种组合(始终保留提示的第一部分):

  • a busy city street in a modern city
  • a busy city street in a modern city, illustration
  • a busy city street in a modern city, cinematic lighting
  • a busy city street in a modern city, illustration, cinematic lighting

转载自AiDraw | AiDraw文章来源地址https://www.toymoban.com/news/detail-512920.html

到了这里,关于stable diffusion文字转图片(教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stable diffusion图片转图片(教程)

    一般我们有两种途径对图像进行修复: PS 和 InPaint ,使用方法也十分多样。 WebUI 使用  --gradio-img2img-tool color-sketch  启动会带入一个插件对图片进行颜色涂抹(这里不是 Inpaint) Just resize : 将图像调整为目标分辨率。除非高度和宽度完全匹配,否则图片会被挤压 Crop and resize:调

    2024年02月06日
    浏览(36)
  • Stable Diffusion教程(6) - 图片高清放大

      放大后细节 修复图片损坏 显存占用 速度 批量放大 文生图放大 好 是 高 慢 否 附加功能放大 一般 否 中 快 是 图生图放大 好 是 低 慢 是 tile模型放大 非常好 是 高 快 是 优点:放大时能添加更多细节,修复图片损坏 缺点:GPU要求高,生成速度变慢 优点:速度快,可以批

    2024年02月14日
    浏览(44)
  • 图片生成视频来了:Stable Video Diffusion使用教程

    11月22日 Stability AI 发布了一个AI视频的开源项目:Stable Video Diffusion,它可以基于一张图片生成数秒钟的视频,效果比较惊艳,本文就给大家分享下如何安装和使用。 视频不方便分享,我这里做成了gif动图,可以看到画面很稳定,基本上是没有闪烁的。 这个程序对显卡的要求

    2024年04月14日
    浏览(441)
  • Stable Diffusion ComfyUI 基础教程(六)图片放大与细节修复

    我们都知道文生图、图生图、局部重绘,生成的图片分辨率太小,怎么办?我们可以通过模型放大、潜在放大、非潜在放大、分块放大多种方式对图像进行放大。 放大工作流: 我们以文生图后的图片进行放大,在开始之前我们打开之前搭建的文生图基础流程 模型放大: 模型

    2024年04月27日
    浏览(37)
  • AI绘画Stable DIffusion教程 | 如何利用 Stable Diffusion webui 将图片变得更清晰?全方位对比4种放大方法!

    大家好,我是程序员晓晓 “高分放大” (有时候也叫“超分放大”或“高清修复”)描述了在确保图像清晰度的前提下提升图片分辨率的过程。例如,将一张512 x 512的图片放大四倍,得到的就是2048 x 2048分辨率的图片,这个过程不仅放大了图片尺寸,也丰富了图像细节以保持

    2024年04月28日
    浏览(52)
  • 阿里云免费使用stable diffusion三个月【ai生成图片】详细教程【保姆级】

    这两天关注了ai生成图片,尝试了mijiourney服务【比较贵没入手】,结果免费的没有了,没用上,换了国内的一些小程序体验了下 综合体验式是太慢了,而他们是基于国外开源的stable diffiusion模型开发的【可以比肩mijiourney】,所以我动了开发一个自己用的念头 不会的同学可以

    2024年02月05日
    浏览(123)
  • 【教程篇】AI绘画Stable Diffusion入门教程之提示词和生成图片步骤 最简单上手方法

    实在不会就照葫芦画瓢~ 这个主要是说电脑端,本地使用Stable Diffusion软件出图的教程,手机用户和移动端用户请看副推文~ 这是一个直接给出图照葫芦画瓢的教程,给0基础小白上手出图的一个简单教程,更多东西还是要自己多去学习和摸索,下面给出的也只是根据我本地测试

    2024年02月21日
    浏览(182)
  • Stable Diffusion 图片换脸插件Roop保姆教程 附错误解决办法和API使用

    换脸技术已经不是新鲜事物,但如何实现简单、快速、高效的换脸操作呢?Roop插件正是为解决这一问题而生的。 sd-webui-roop 插件适用于已经本地部署了SD的用户。相较于传统的换脸技术,Roop插件几乎不需要训练,只需一张照片,即可在10秒内完成换脸。 但是要注意到是必须注

    2024年02月08日
    浏览(45)
  • Stable Diffusion WebUI制作光影文字效果

    在huggingface上下载control_v1p_sd15_brightness模型。 将模型放在stable-diffusion-webuiextensionssd-webui-controlnetmodels目录下。 正向提示词: city,Building,tall building,Neon Light, gentle light shines through, anime style, painting, high definition, lots of details, balanced colors, warmth, night starry sky, people walking down the

    2024年01月16日
    浏览(40)
  • 苹果M1芯片上运行Stable Diffusion(文字作画)

    放到源码目录下的 会自定下载模型文件,有人说下载慢,时间段不同,但是我下载很快没有啥问题  执行

    2024年02月12日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包