AI 绘画Stable Diffusion 研究(十五)SD Embedding详解

CSDN 2024-06-23 09:01:02 阅读 90

大家好,我是风雨无阻。

本期内容:

Embedding是什么?Embedding有什么作用?Embedding如何下载安装?如何使用Embedding?

大家还记得 AI 绘画Stable Diffusion 研究(七) 一文读懂 Stable Diffusion 工作原理 这篇文章中,曾提到过词嵌入(Embedding)吗?

我们来简单回顾一下:Embedding 将输入的tokens转换为一个连续的向量,然后stable diffusion再将 Embedding 向量 通过text transformer转换后,作为模型输入,进行训练。

那在上一篇中只是简单提到了Embedding, 对于我们实际使用stable diffusion过程中,可能很多朋友对Embedding的概念还不是很清楚。今天我们就来详细介绍一下Embedding, 它到底是干嘛的?有什么作用?以及应该怎么安装和使用Embedding ?

一、Embedding 的介绍

1、Embedding是什么?

Embedding 又名 textual inversion 中文名:“嵌入或文本反转”。

在计算机科学中,Embedding是将高维数据映射到低维空间的过程。

在图像处理中,Embedding通常用于将图像转换为向量表示,以便进行机器学习和深度学习任务。

在使用stable diffusion进行绘画时,Embedding可以用于将输入的图像转换为向量表示,以便于算法对其进行处理和生成新的图像。这种技术可以使算法更加高效地处理图像数据,并提高生成图像的质量和准确性。

2、Embedding有什么作用?

通俗来讲,Embedding 的作用就是对提示词进行打包。

如果你有做 UI 的经验,那么应该知道组件的概念。

在 Stable Diffusion 中,Embedding 技术就可以被理解为一种组件,它可以将输入数据转换成向量表示,方便模型进行处理和生成。

在日常使用中,Embedding 技术通常用于控制人物的动作和特征,或者生成特定的画风。

我们来举例,思考一个问题:

如果我们直接使用原版本的stable diffusion 文生图功能, 不使用stable diffusion 任何插件,我们应该怎么来生成如下的图片呢?

在这里插入图片描述

想必大家首先想到的是,写一大堆的提示词来进行控制生成,类似例如:

masterpiece, high-quality,1girl,clothes with Pink pattern,(brown hair), pinkearphones, green pattern on the earphones, blue tights, white gloves, ((pinkpattern on the clothes)), cat pattern on the face, detailed eyes, (pink theme), rabbitdecoration on the chest, green word pattern, sewing line on the clothes, long hair.thin girl, delicate face, beautiful face, melon face, skin full of details, pinkbackground, white gloves, thin neck, Sexy figure, (brown eyes:1.2), smile, wearingwhite shoes, green patterns, blushing,.....以下省略N个tag

但是,如果我们引入Embedding 后,只需要如下的提示词就可以生成上面的图:

masterpiece, high-quality,corneo dva

通过上面的问题,相信大家已经对 Embedding 的作用有所理解了吧。

3、Embedding 的特点

相比于其他模型来说(如 LORA),Embedding 文件的大小只有几十 KB。

除了还原度对比 LORA 差一些外,在存储和使用上却更方便。

总而言之:

Embedding 技术将输入数据转换为向量表示,为模型的处理和生成提供了便利。

通过使用 Embedding,我们可以更加轻松地生成符合预期的样本,而不需要手动输入大量的描述词汇。

二、Embedding下载和安装

既然Embedding 这么便利,我们一定得好好用起来,那么在哪里可以下载呢?

主要还是在c站下载。

接下来,就跟着我的演示步骤,实际操作一下吧。

第一步,打开c站,搜索 Embedding

在这里插入图片描述

第二步,选择喜欢的Embedding 下载

这里演示,我们选择这个骑马的外星人,点击“Download”下载:

在这里插入图片描述

下载后,我们得到 16-token-negative-deliberate-neg.pt 这个文件。

第三步 Embedding安装

将文件 16-token-negative-deliberate-neg.pt 拷贝到 sd-webui-aki-v4.2\embeddings 目录下。

\sd-webui-aki-v4.2\embeddings

在这里插入图片描述

记得重启stable diffusion 才能生效。

三、Embedding 的使用

1、功能栏区域,选择文生图,然后选择右侧生成按钮下方 “显示/隐藏扩展模型” 图标

如图:

在这里插入图片描述

切换到嵌入式 (Enbedding)标签页面 :

在这里插入图片描述

2、根据 Enbedding 模型演示图片 参数进行设置

正向提示词输入

an astronaut riding a horse on the moon, 8k uhd

反向提示词输入

3d render

选择下方刚刚安装的Enbedding : 16-token-negative-deliberate-neg

在这里插入图片描述

反向提示词输入框中会自动添加 16-token-negative-deliberate-neg 模型提示词

如图:

在这里插入图片描述

采样方法设置 : Euler

迭代步数设置:50

勾选高清分辨率修复

随机种子设置:43

在这里插入图片描述

4、点击“生成”按钮,查看效果

在这里插入图片描述

由此可见 Embedding真是一个很有用东西,通过简单的一个提示词就作出有自己特色的作品,感兴趣的朋友赶快玩起来吧~



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。