本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。
大家好,我是水滴~~
本篇文章我们介绍 Stable Diffusion WebUI 的图生图功能,主要包括:图生图、图生图(手绘修正)/涂鸦绘制、局部重绘、局部重绘(有色蒙版)、局部重绘(上传蒙版)、批量处理和反推提示词等。
希望能对你有所帮助!
文章目录
一、图生图 1. 提示词 2. 上传图片 3. 缩放模式 4. 调整分辨率 5. 按比例缩放 6. 重绘幅度 二、图生图(手绘修正)/涂鸦绘制 三、局部重绘 1. 蒙版模糊 2. 重绘区域 3. 重绘参考内容 4. 重绘画布大小 5. 以蒙版尺寸重绘时的外部填充半径(像素) 四、局部重绘(有色蒙版) 五、局部重绘(上传蒙版) 六、批量处理 七、反推提示词 1. Clip 反推提示词 2. DeepBooru 反推提示词一、图生图
今天我们一起来看一下 Stable Diffusion WebUI 的图生图(img2img)功能。该功能主要是根据现有的图片来调整细节,或者调整风格,最终生成一张新的图片。
我们可以在文生图(txt2img)中批量生成小姐姐图片,然后选择一张心动的小姐姐,然后点击下面的“将图片和生成参数发送到图生图页面”按钮,图片就跑到图生图页面了。
1. 提示词
图生图中的提示词是用于针对原图的。该提示词为可选项,但是不填写可能会导致生成的图片效果质量不佳。这里通常与原图的提示词保持一致就行。
2. 上传图片
此处就是图生图用来上传原图的地方。可以点击上传;也可以将图片拖到此处;还可以将文生图中的图片“发送到”此处;或者将图库浏览器中的图片“发送到”此处。
3. 缩放模式
当新生成的图片尺寸与原图(参考图)不一致时,需要选择合适的缩放模式(Resize mode);如果尺寸相同,选择哪一种模式都没有问题的。
缩放模式有四种:
下图展示了各种缩放模式的生成效果(原图:512*768
,缩放后:512*512
):
4. 调整分辨率
调整分辨率(Resize to)用于调整生成图片的分辨率,通常要与原图相同,或比例相同。点击“小尺子”图标,可以填充原图的分辨率。
5. 按比例缩放
按比例缩放(Resize by)可以保持原图的宽高比来缩放,下面也会直接显示缩放后的尺寸。
6. 重绘幅度
重绘幅度(Denoising strength)表示新生成的图片会有多大程序改变原图,值越大AI的自由发挥空间就越大,也越不像原图。
这个可以根据实际情况来选择,如果你不想改变太多,就将重绘幅度调小;如果想改变风格,就调大。
下图为重绘幅度从0
到1
的变化情况:
例如,我们想加上海滩背景,就可以在提示词中增加 beach background
,并将重绘幅度调大,例如 0.8
:
二、图生图(手绘修正)/涂鸦绘制
手绘修正/涂鸦绘制(Sketch)是一个特色功能,其操作界面与图生图界面相似,但在原图界面上增加了几个特定的选项。这些选项允许用户控制涂鸦画笔的大小、选择涂鸦颜色以及撤销上一步的操作。
具体来说,用户可以先在要添加物件的部位进行涂鸦,然后在提示词处输入要绘制的物件。通过调整重绘幅度和其他相关设置,可以生成具有所需涂鸦效果的图像。
例如,下图中画了一个白点和一个红点,提示词中增加“蝴蝶”,生成的图片中,就会在相应位置出现两个蝴蝶,颜色也是画笔的颜色:
注意:可以看出,上图中蝴蝶画出来了,但小姐姐的脸也换了,所以 Sketch 不仅改变了涂鸦部分,也会改变整体画面或风格。
三、局部重绘
局部重绘(Inpaint)功能是一项强大的工具,它允许用户在生成的图像上进行精细的修改和重绘。通过这个功能,用户可以轻松地对图像的特定区域进行编辑,从而改变画面的细节或风格。
使用局部重绘功能时,用户首先需要选择要修改的区域,然后利用提供的工具进行涂鸦或绘制。在这个过程中,用户可以调整画笔的大小、颜色以及透明度等参数,以实现更精确的绘制效果。同时,Stable Diffusion WebUI还提供了撤销和橡皮擦功能,方便用户随时修正错误或调整绘制区域。
局部重绘功能的核心在于其蒙版技术。蒙版可以遮住图像的关键区域,用户可以在蒙版上进行绘制,而不会影响其他部分。通过这种方式,用户可以实现对特定区域的精确控制,同时保持整体画面的完整性。
例如,下图中我们使用画笔工具将小姐姐的头发给盖住,这部分就是蒙版部分,然后在提示词中输入“绿色头发”,那么重新生成的小姐姐的头发变成绿色了:
此外,局部重绘功能还支持多种参数设置。用户可以根据需要调整蒙版模糊、蒙版区域以及重绘幅度等参数,以获得更满意的绘制效果。这些参数的设置可以帮助用户更好地控制绘制过程,实现更精确的修改。
1. 蒙版模糊
蒙版模糊(Mask blur)用于设置重绘部分与原图的衔接处的模糊度,起到渐变的作用,让衔接看起来比较自然。衔接不好时可以调大一点看看。
蒙版模糊设为1时,会有明显的衔接:
蒙版模糊设为20时,衔接部分变得更自然了:
2. 重绘区域
重绘区域(Mask mode)有两个选项:蒙版内和蒙版外。蒙版内表示只重绘蒙版内部的画面,而蒙版外表示重绘蒙版外部的画面。
默认选项为蒙版内,如果改成蒙版外,下图中就会将蒙版外部的头发变成了绿色,甚至还改变了其它元素。
3. 重绘参考内容
重绘参考内容(Masked content)表示AI在重绘蒙版内蒙时需要参考的元素。有四个选项:填充空白(fill)、原图像素(original)、潜空间噪声(latent noise)、空白潜空间(latent nothing)。
推荐:如果你想让AI自由发挥,可以选择 fill
;如果想要与原图保持一致,就使用默认的 original
。
如下对这四个选项进行一个对比,我们将小姐姐的衣服全部蒙住,让AI来重新绘制:
(1)填充空白(fill):在渲染时不根据原图的任何元素生成图片。
(2)原图像素(original):在渲染时根据原图中的元素生成图片,这也是默认选项。
(3)潜空间噪声(latent noise):在渲染时不根据原图的任何元素生成图片,比 fill
想象力更丰富,增加了更多的细节,也需要更多的重绘幅度。
(4)空白潜空间(latent nothing):在渲染时不根据原图的任何元素生成图片,类似 fill
,增加了更多的细节。
4. 重绘画布大小
重绘画面大小(Inpaint area)又叫重绘区域,
以原图尺寸重绘(Whole picture) : 如果选的是Whole picture
,那AI会基于你的新的要求,把整张图重新画一遍, 但最后只保留你框出来的这一块区域, 拼回到原图里面去。
以蒙版尺寸重绘(Only masked): 如果选择的是Only masked
,AI就会只重绘蒙版区域,把它当成一张完整的图画好, 然后再拼回去,它涉及区域小,绘制速度固然更快,但因为它没法读取你的图像全貌,所以经常出现拼上去以后变得奇奇怪怪的问题。因此多数时候推荐使用 Only masked
选项 , 也就是整张重画再拼回去。Only masked
更适合用在,一些针对性强的修改, 想要画一点原图里面没有的东西,但是这个时候我们需要降低重绘幅度,避免变形,并且对提示词做净化处理,这是属于比较进阶的内容了。
下图为以原图尺寸重绘(Whole picture):
下图为以蒙版尺寸重绘(Only masked),脖子部分有很明显的阴影:
5. 以蒙版尺寸重绘时的外部填充半径(像素)
以蒙版尺寸重绘时的外部填充半径(Only masked padding,pixels)选项表示使用“以蒙版尺寸重绘(Only masked)”时参考使用蒙版附近的元素的值。值越小参考蒙版附近的元素就越少,出来的图就越随意;值越大参考的就越多,出来的图就更贴切更契合。
四、局部重绘(有色蒙版)
局部重绘/有色蒙版(Inpaint sketch)与局部重绘类似,但可以识别蒙版的颜色。
例如下图,生成的图片参考了蒙版的颜色:
比局部重绘还多了一个调整蒙版的透明度功能:
五、局部重绘(上传蒙版)
局部重绘/上传蒙版(Inpaint upload)允许我们上传一张蒙版,然后根据蒙版让AI生成内容。蒙版必须是白色的,其它为黑色的。可以使用PS或者 Segment Anything 插件来制作蒙版。
下面分别上传了原图和蒙版:
选择重绘蒙版内,可以保持背景不变,更换不同的小姐姐:
选择重绘蒙版外,可以保持小姐姐不变,来更换不同的背景(加一些提示词可以更换不同的背景):
六、批量处理
批量处理(Batch)可以让我们批量完成图生图功能。这里主要有三个目录(注意:目录名不要使用中文):
输入目录:输入目录表示要批量处理的图片所在目录。 输出目录:输出目录表示AI生绘后输出的图片所在目录,需要提前建一个空的目录。 蒙版输入目录:蒙版输入目录表示蒙版所在的目录。这是个可选项,如果填上后,相当于使用Inpaint upload
功能来批处理。并且蒙版图片的文件名要与输入目录中原图文件名一致才行。
下图中,我将三个目录都创建好了:
输入目录(要重绘的原图):
输出目录(一个空的目录):
蒙版输入目录(输入目录中各个图片的蒙版,并且文件名保持一致):
点击生成后,原图中的小姐姐都被替换了,下面是输出目录:
如果你只想为小姐姐换背景,那么调整蒙版,将小姐姐变成黑色,其他为白色即可。
七、反推提示词
Stable Diffusion WebUI 的图生图中,还提供了两个反推提示词的功能“使用 Clip 反推提示词”和“使用 DeepBooru 反推提示词”。它们都可以提取图片中的元素,来提取提示词:
我们使用下面这张图来比较一下这两个反推提示词的区别:
1. Clip 反推提示词
Clip
反推的提示词是句子,可以精准的描述图片中的元素,也是我们推荐的反推方式。
下面是反推出来的提示词:a painting of a woman in a bathing suit with colorful paint splatters on her body and chest, Artgerm, stanley artgerm lau, a painting, funk art
(一幅画,一个女人穿着泳衣,身上和胸口溅满了五颜六色的颜料,阿特泽姆,斯坦利·阿特泽姆劳,一幅画,放克艺术)
使用该提示词生成的图片:
2. DeepBooru 反推提示词
DeepBooru
反推的提示词是单词。
下面是反推出来的提示词:1girl, black hair, bleeding, blood, blood on clothes, blood on face, blood on hands, blood on knife, blood on weapon, blood splatter, blood stain, breasts, brown eyes, cleavage, cuts, dark-skinned female, dark skin, death, dirty, guro, injury, lips, lipstick, makeup, medium breasts, nosebleed, paint, paint splatter, solo, splatter
(女孩,黑发,流血,血,衣服上的血,脸上的血,手上的血,刀上的血,武器上的血,血迹,血迹,乳房,棕色眼睛,乳沟,伤口,深色皮肤的女性,深色皮肤,死亡,肮脏,古罗,受伤,嘴唇,口红,化妆品,中等乳房,鼻血,油漆,油漆飞溅,独奏,飞溅)
两者的差距一目了然