大家在使用stable diffusion webui,通过img2img做Inpaint局部绘制,包括Inpaint、Inpaint sketch、Inpaint upload,会听到很多与蒙版mask相关专业术语。我将会写一系列文档来说明白各个专业术语对应参数的作用。
测试环境为:
在stable-diffusion-webui中,"Inpaint" 功能可以通过黑色的画笔,确定需要重绘的区域,然后通过sd重绘该区域的内容。
"Inpaint Sketch" 功能可以通过彩色的画笔,确定需要重绘的区域,并且像Sketch功能一样设置重绘的颜色。
"Inpaint Upload" 功能可以通过上传一张蒙版图,帮助用户修复或编辑的【蒙版图白色区域】(当Mask mode值为Inpaint not masked时,则为蒙版图黑色区域)图像,并进行后续的操作和处理。
额外说明一下,在稳定扩散图像处理中,"Inpaint" 是一种技术,用于修复图像中的缺陷或缺失部分。它可以通过对图像周围的像素进行插值或外推来填补缺失的区域,从而使图像看起来更完整。
在图像处理中,"Mask"(蒙版,或翻译为掩模,这里统一使用蒙版)是一种用于指定图像区域的二进制图像。掩模图像中的像素值通常为 0 或 1,其中 0 表示不包含在指定区域内的像素,1 表示包含在指定区域内的像素。在二进制图像中,通常约定 0 表示黑色,1 表示白色。在这种约定下,黑色通常表示需要排除或去除的区域,白色则表示需要保留或处理的区域。这个原始概念在“Inpaint Upload”上,就需要理解为蒙版图白色区域是需要重绘的(而非保留不变的)区域。
Mask blur:蒙版羽化,在 0-64 之间调节,就是将我们涂抹(或正常白色蒙版)区域,从边缘向中间透明过渡。数值较小的时候,边缘越锐利,所以一个合适的值会让图片看起来更真实,数值一般默认4即可,对于更换背景图这样的场景,一般建议设置为0
Mask transparency(缺省仅在Inpaint sketch栏目中才有):蒙版透明度,一般默认为0,即不透明,因为透明度越高,AI发挥的空间越小,基本上当透明度大于60,预处理就会失去作用
Mask mode:模版模式,包括 inpaint masked绘制蒙版内容、inpaint not masked绘制非蒙版内容,选择第一个就是只在蒙版区域重绘,另一种则相反(可以理解为将蒙版图中的0与1,黑与白互换),默认值是inpaint masked绘制蒙版内容
Masked content:蒙版内容,包括 fill 填充、original 原图、latent noise 潜在噪声、latent nothing 无潜在空间。
Inpaint area:重绘区域,包括 whole picture全图、only masked仅蒙版。全图重绘是指在原图大小的基础下绘制蒙版区域,优点就是内容与原图融合的更好,缺点是不够细节;而蒙版重绘是指处理的时候将蒙版区域进行放大到原图的尺寸,画完之后再缩小放到原图的相应的位置,优点就是细节更好,缺点也是细节太多,与原图融合的不够好
Only masked padding, pixels:当选择Only masked 仅重绘蒙版区域 模式时,我们可以通过此参数来调整放大区域的边界来控制重绘的精度。边界越大,运行Only masked模式时放大的倍数就越小,但是周围能参考的区域也就越多,这样绘制出来的效果相对更加平滑,不容易出现瑕疵。反之,如果边界越小,放大的倍数就越大,这样就能够更加精细地绘制出图像的细节,但也可能会出现与原始图像中其他物体关系错乱的情况,例如人物的衣着不连续或阴影明暗错位。因此,在选择放大倍数时,需要根据具体情况进行权衡和取舍,以得到最佳的绘制效果。
Masked content有四种选项:
这是一种预处理的步骤,其中fill 填充是指使用蒙版边缘图像的颜色填充,不过颜色已经被高度模糊;original 原图则是同原图一样不改变任何细节;而latent noise 潜在噪声则是使用噪点进行填充;而latent nothing 无潜在空间就是噪点值为0的状态
本文在Inpaint upload下,结合实战案例来看一下Masked content的各个值的效果。
参数截图如下:
这里需要说明一下,Steps代表采样迭代步骤,采样迭代步骤越多,就越接近目标要求,或者采样迭代步骤过大变得过拟合;Denoising(Denoising strength)本质代表去除噪声的强度,这个参数决定了我们重绘幅度,也就是说参数越高,幅度越大,图片生成差距越大。经测试参数超过0.75基本上和原图没啥关系了。
fill 填充是指使用蒙版边缘图像的颜色填充,不过颜色已经被高度模糊
左上角Steps=1,Denoising=0.0,基本代表初始化的原始图。右上角Steps=20,Denoising=0.0,代表在fill 填充模式下,直观展示使用蒙版边缘图像的颜色填充的图。右下角几张图代表是相对最符合prompts提示词的生成图。
original 原图则是同原图一样不改变任何细节
左上角Steps=1,Denoising=0.0,基本代表初始化的原始图。右上角Steps=20,Denoising=0.0,代表在original 原图模式下,直观展示使用原图改变任何细节的图。右下角几张图代表是相对最符合prompts提示词的生成图。
latent noise 潜在噪声则是使用噪点进行填充
左上角Steps=1,Denoising=0.0,基本代表初始化的原始图。右上角Steps=20,Denoising=0.0,代表在latent noise 潜在噪声模式下,直观展示使用噪点进行填充的图。右下角几张图代表是相对最符合prompts提示词的生成图。
latent nothing 无潜在空间就是噪点值为0的状态
左上角Steps=1,Denoising=0.0,基本代表初始化的原始图。右上角Steps=20,Denoising=0.0,代表在latent nothing 无潜在空间模式下,直观展示使用噪点值为0的状态图。右下角几张图代表是相对最符合prompts提示词的生成图。
为什么以上四种模式左上角的图不一样,这是因为已经跑了一个Step,且seeds设置为-1,每次生成时的seeds都不一样的缘故。
我用一致的seeds再重新跑了四张,初始化的原始图就明显比较一致了,见下图。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有