写点什么

稳定扩散 img2img 的工作原理

作者:3D建模设计
  • 2023-11-14
    湖北
  • 本文字数:1969 字

    阅读完需:约 6 分钟

稳定扩散 img2img 的工作原理

在线工具推荐:Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D数字孪生场景编辑器

在本教程中,我将介绍:

  1. 这种技术在实践中有用的几种方式

  2. 当您提供输入图像时,模型内部实际发生的情况。

1. 如何使用

1.1. 涂鸦艺术

我见过一些艺术家利用这一点,首先创建他们想要的艺术品的“涂鸦”(即他们试图制作的低质量版本),然后通过 Stable Diffusion 提供它来创造更高质量和不同风格的东西。

Reddit 用户和艺术家 TheZakMan 在这里分享了他的工作流程示例:


(你会在他的帖子中发现,他还将结果带回 Photoshop 进行一些额外的绘画,然后再次通过 Stable Diffusion 发送!

我发现这种方法的一个警告是,如果你不是艺术家,场景的背景可能更难绘制,而且将涂鸦的背景留白/空并期望模型填充它是行不通的。

1.2. 现有艺术的新艺术

我喜欢采取的另一种方法是找到一件我喜欢的人造艺术品(通常在 DeviantArt 上),然后首先通过“图像到提示”工具(一个完全不同的主题!)来输入它,例如这个简单的、基于 Web 的(而且免费!img2prompt 工具


这里最初的艺术作品被一位名叫苏安的概念艺术家称为“蒸汽朋克空中站”,在这里的艺术站上。

该工具给了我以下文本提示:

a painting of a train station with people walking around, a detailed matte painting by Tyler Edlin, cgsociety, fantastic realism, steampunk, matte drawing, concept art

我通过 img2img 输入了这个提示(除了我用“蒸汽朋克飞艇站”替换了“火车站”)和最初的艺术作品,并生成了 15 张图像。结果看起来很棒——这是我的最爱之一:


您还可以控制输出与输入图像的相似程度;下面是一个更接近原始示例的示例:


1.3. 镜像布局

在这两种方法中,img2img 似乎是控制要生成的图像整体布局的好方法。

提供初始图像意味着您的更多世代应该坚持您所追求的构图。

也许这也使模型更容易理解图像应该是什么?

2. 它是如何工作的

2.1. 去除噪声

在 Stable Diffusion 的正常文本到图像运行中,我们向模型提供一些随机噪声。不过,该模型假设此输入实际上是一件刚刚添加了一堆噪声的艺术品。

因此,使用文本提示作为(假定的)原始图像外观的“提示”来源,它会尽最大努力从静态中恢复图像。它通过一堆步骤(例如,50 个)执行此操作,每次逐渐消除更多的噪音。

使用 img2img,我们实际上将真实图像(您提供的图像)埋在一堆噪音下。这会导致 Stable Diffusion “恢复”看起来更接近您提供的东西。

2.2. 图像/噪声强度参数

有一个参数允许您控制输出与输入的相似程度。不同的工具使用不同的名称,但它的值介于 0.0 - 1.0 之间,值越高,输出与输入的偏差越大

其工作方式是,我们将通过多个步骤将噪声添加回输入图像,就像最初训练稳定扩散模型一样。

为了便于说明,我们假设我们正在运行 50 个步骤的扩散。

此图像强度参数仅对应于我们将添加到图像的 50 个噪声步长的百分比。

例如,如果将该值设置为 0.8,那么我们将向图像添加 40 个“切片”噪声,然后将噪声图像扩散 40 步。

为了说明这一点,我将使用来自 Kiss 乐队的 Gene Simmons 的这张图片作为我的输入图片,并提供一个主题为“弹吉他的异形”的提示(如果您不熟悉,“异形”指的是外星人电影系列中的外星人)。

如果我们将该值设置为 0.8,我们将增加 40 步噪声。


添加 40 步噪点使我的眼睛完全无法察觉原始图像,但请放心,它仍然足以影响扩散过程!

旁注:代码增加了 1 步的偏移量,因此实际上是 41 步,但我省略了该细节以避免混淆。

以下是 0.5 的值(25 个噪声步长)的样子——您可以开始识别噪声中的原始图像。不过,我发现在如此低的值下,结果往往质量较低。


下面是全套中间噪声图像的图示。它非常大,所以你需要单独打开它仔细看看。


我还发现将噪声时间表图与这些图像进行比较很有趣——您可以看到模型如何在这些早期步骤中对图像进行最戏剧性的修改。


(上面的图是 num_steps=20,而不是 50,但我认为你只要看到一般形状就明白了)

2.3. 噪声强度 = 1.0

一个常见的误解是,将值设置为 1.0 会完全破坏原始图像,但事实并非如此——原始图像仍然参与其中,并且仍然对输出有一定的影响。

在下面的示例中,将强度设置为 1.0 时,您可以看到原始图像的证据:

  • 它用另一艘飞艇取代了左上角的飞艇。

  • 时钟和柱子被山峰所取代。

  • 天空的形状和位置大致相同。

  • 在我生成的所有示例中,右手边都有一个大型结构或飞艇。



事实上,我的经验是,1.0 的强度实际上会生成一些最好的图像!我认为你可以把它看作是给予模特最大的艺术许可,这似乎是它表现最好的地方。

这是我最喜欢的 Xenomorph 结果,强度为 1.0(这与那幅巨型插图的右上角的图像相同):


“一个站在舞台上弹奏 stratocaster 吉他的 Xenomorph,由 giger、Zdzisław Beksiński、greg rutkowski 伸出舌头”


转载:稳定扩散 img2img 的工作原理 (mvrlink.com)

发布于: 刚刚阅读数: 5
用户头像

还未添加个人签名 2023-04-14 加入

还未添加个人简介

评论

发布
暂无评论
稳定扩散 img2img 的工作原理_Stable Diffusion_3D建模设计_InfoQ写作社区