Stable Diffusion高级教程 - 图生图(img2img)模式

打印 上一主题 下一主题

主题 558|帖子 558|积分 1674

媒介
如今终于可以介绍 Stable Diffusion 除了文生图 (txt2img) 之外最重要的功能:图生图 (img2img)。顾名思义,除了根据正向和反向提示词之外,还必要基于一张图片生成图。这个模式下功能许多我们挨个说
img2img
图生图模式下的默认功能,我们先看一下主界面:

上面还是正面提示词和负面提示词,接着是一个上传图片的区域,写着「Drop Image Here - or - Click to Upload」。然后就是相关参数,大部分在文生图内里已经见过,只有Resize mode、Denoising strength是新增的,我们挨个介绍:

  • Resize mode。当上传图片尺寸和要生成的图的尺寸不同时,必要选择调整巨细方案。
  • Sampling Method 用于去噪,均衡生成图的速度和质量。内置多种算法可供选择。如今看起来 DPM++ 2M Karras 用的比较多。
  • Sampling Steps 是去噪过程的采样步调数。越多越好,但必要更长的时间。一样寻常在 20-28 之间。
  • 宽度和高度 (Width/Height),输出图像的巨细。按需调整即可。
  • Batch Count 批次数目,我更乐意用下面的 Batch size 调整生产图的总数。
  • Batch size,每一批次要生成的图像数目。可以在测试提示时多生成一些,由于每个生成的图像都会有所不同。生成的图像总数等于 Batch Count 乘以 Batch size。
  • CFG (Classifier Free Guidance) scale,提示词相关性, 用于控制模型应在多大程度上服从您的提示。他有几个只可选: 1 (大多忽略你的提示),3 (更有创意),7 (遵照提示和自由之间的良好均衡),15 (更加遵守提示),30 (严格按照提示操作),常用的是 7,做个均衡。测试时可以换这个值体验区别。
  • Denoising strength。降噪强度,常翻译成「重绘幅度」,取值范围是 0-1,形貌新生成的图片与原图的相似程度,数值越小,采样越少,相似度越高,算的越快 (采样数 = Denoising strength* Sampling Steps)
  • Seed,生成的每个图像都有本身的种子值,修改这个值可以控制图像的内容。
  • Script。用户可以编写脚本代码,以实现一些特殊定制的功能。这个将来可以具体说,如今还没有碰到。
先具体说说Resize mode(当然上传的图片最好与生图设置的一致):

  • Just resize:调整图片为生图设置的宽高。若上传图片的宽高与生成设置的宽高不一致,则该图片会被压扁。这个我非常不推荐使用,会让图片非常希奇。
  • Crop and resize:裁切图片以符合生图的宽高,我最推荐的方式。
  • Resize and fill:裁切并调整图片宽高,若上传图片的宽高与生成设置的宽高不一致,则多出来的区域会主动填满。
  • Just resize (latent upscale):调整图片巨细为生图设置的宽高,并使用潜伏空间放大。
这个模式下最重要的就是调Denoising strength参数。我们用下面这张从网上找的新垣结衣的照片来体验:

首先留意,我选择这个图是有 2 个原因的:

  • 这个一张人像正面近像,在生成新图后更容易感受到 SD 的模型的作用
  • 照片可以看得手部有动作,我会生成一张有题目的图让你感受到如今图生图模式的题目
我希望通过 SD 把这个真人照片做出动漫的效果,咱们先来个较大的Denoising strength的值,为了方便对比我用了固定的 Seed:

我直接把生成参数列出来:
a woman with a short hair and a white shirt is posing for a picture with her hand on her chin, a photorealistic painting, Ayami Kojima, precisionism, perfect face
Negative prompt: dongwm-nt,bad finger, bad body
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 8, Seed: 2345567052, Size: 512x512, Model hash: cbfba64e66, Model: CounterfeitV30_v30, Denoising strength: 0.65, Clip skip: 2
这里有一点必要特别的提一下,正面提示词不是我写的。在图生图模式里,生成按钮左边有 2 个选项,分别是「Interrogate CLIP」和「Interrogate DeepBooru」。在上传图片后,可以通过「Interrogate CLIP」反推出提示词,我这个就是这么生成的。另外也说一下「Interrogate DeepBooru」,这说的是一个开源的女孩图片特征提取器,上传图片可以获得图片的标签,我已经把链接都放在了延伸阅读内里:

PS: 如果你选择DeepBooru反推,不能直接使用那些标签,你必要从中筛选必要的、公道的标签,否则效果会完全偏离。
好的,说回来。之前已经说过,Denoising strength的值越大越和原图不符,以是如果你希望「微调」,这个值不应该大于 0.4,如今我们先取了一个更大的值,你可以看到生成图的人物手部的效果是有题目的。而且留意,负面提示词dongwm-nt本身是包含bad finger,bad body这些的。
图生图不是全能的甚至很难达到你的预期

是的,这是我的体验。这个模式下如果你想要生成你想要的效果,对于大模型、微调模型、提示词、参数等都有要求,在前期,你很可能生成希奇的图,你必要不停实验总结经验。
不同的 Denoising strength 效果的区别

我们使用 x/y/z 脚本试试不同的重绘幅度值看看生成的效果:

可以看到随着 Denoising strength 变大,越来越不像原图了。
同时,我们还可以重叠各种微调模型,下面是使用了 VAE、Lora 和 HyperNetwork 后的效果:

这就是微调模型的作用,不外留意,微调后手部后两张还是会有题目。
PS,这个例子用的主模型是:https://civitai.com/models/4468/counterfeit-v30
绘图 (Sketch)

第二个 Tab 是 Sketch,他得当有美术底子的用户,可以给一张现有的图加东西,或者画出你想要的东西,然后再输入提示词完善,我这个没有画画细胞的人基本不用,在这里也举 2 个例子 (我也就这个程度啦)。
由于我们一会要用笔刷编辑图片,我必要用到颜色,以是加启动参数,重启 webui:
  1. ./webui.sh --disable-safe-unpickle --gradio-img2img-tool color-sketch
复制代码
Ok, 先实验基于现有图做修改的,我用了下面这张图:

上传后就进入了编辑模式,然后我用笔刷选了个粉色的把头发涂变色 (当然提示词中并没有提到粉色头发):

可以看到Denoising strength到了 0.7 才看起来正常,前面的谁人「涂」的效果很明显。以是如果你使用和原图差别很大的颜色涂,那么必要更大的重绘幅度值,但是相对的,生成图和原图差别很大。如果选择对比色较少的例如黑色,那么重绘幅度 0.4 可能就够了。
接着我们试试完全从零画一幅画 (叫「涂鸦」更合适),为了展示 SD 的厉害之处,我特意选择了一个「复杂」的构图,在本灵魂画手非常努力作画后,看一下生成图的效果这样的:

留意哈,由于这个模式必要上传图,以是我这里只是截了个终端的黑色区域作为配景图。我知道大家看不懂我的 Sketch

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表