前言

本文主要介绍SD1.5和SDXL模型的inpaint局部重绘,当然除此之外还有更好的Flux和QwenImage模型的局部重绘,会比SD1.5等早期模型做得更好。从早期的基础模型开始有助于我们了解跟深层次的原理,小模型对硬件配置要求和时间成本也有更好的优势。对于那些新模型原理基本都是差不多的,当然在后续也会有对应模型的局部重绘教程。

遮罩Mask

遮罩被广泛应用到图形设计和影视剪辑领域,在confyui中局部重绘中,遮罩用于区分重绘区域和非重绘区域。

初识遮罩

1、新建一个空白的工作流,分别加入图像加载节点(load image),和遮罩预览节点(MaskPreview),把加载图像节点的遮罩输出,连接到遮罩预览节点,然后任意上传一张图像,如图所示:

添加遮罩预览节点

2、在图像节点中,图像任意位置单击鼠标右键,选择在遮罩编辑器中打开(Open in Mask Editor),选择蒙版遮罩选项(一般默认就是),选择一个合适的画笔大小,任意涂抹画面中的内容。涂抹完成后会在涂抹的区域显示半透明的黑色,点击保存。如图所示:

为图像添加遮罩并预览遮罩

执行工作流后,在遮罩预览节点中,显示了刚刚绘制的遮罩,白色区域为遮罩区域(即需要用于重绘的区域)。

关于蒙版的其他操作

隐藏内容
此内容需解锁查看
未解锁内容包含:约684个字符,和1张图像
  • 普通用户: 16.9牛币
  • VIP: 免费
  • SVIP: 免费
已有104人赞助并解锁

基础局部重绘

接下来以下面图像为例,意在将图中的蛋糕区域重绘为红烧肉(Braised Pork),如图所示:

局部重绘测试案例图

vae编码局部重绘

1、加载一个默认的工作流,选择一个sd1.5的模型,我这个以sd1.5官方基础模型为例,然后输入合适的提示词,提示词内容为需要重新绘制的内容。例如:Braised Pork。

2、为图像蛋糕区域涂抹遮罩,添加VAE编码(局部重绘)节点VAE Encode (for Inpainting),将图像、遮罩、vae与节点输入相连。latent输出与采样器相连。如图所示:

VAE编码局部重绘工作流搭建

3、点击执行看一下重绘效果,如图所示:

vae编码局部重绘结果

可以明确的看到重绘后的结果,虽然该区域内容已经完成重新绘制,但是图像效果非常不理想。整个重绘内容就像是生搬硬套的放进去一样,十分突兀。

设置latent噪波遮罩

尝试使用另外一种方式来进行重绘。

1、将刚刚的VAE编码(局部重绘)节点删除,添加另外一个设置latent噪波遮罩节点(Set Latent Noise Mask),该节点输入遮罩和latent数据,所以还需要将图像使用vae编码成latent数据。如图所示:

latent噪波遮罩工作流搭建

2、再次点击执行,可以看到边缘过渡还是会有些问题,但这次的重绘效果会比刚刚好不少,至少没有刚刚那么突兀。如图所示:

设置latent噪波遮罩重绘结果

3、我们尝试把降噪值调低一点,会发现融合得会更好。如图所示:

设置latent噪波遮罩重绘-降低重绘幅度的结果

虽然上述降低重绘幅度会得到一定的改善,但终究无法将新绘制的内容,完美的溶如到原本的图像中,无论如何在边缘过渡处都会有很大的问题。当然这并不能满足我们的要求,这就需要借助模型来解决,不过在这之前应先了解清楚vae编码(局部重绘)设置latent噪波遮罩的本质区别。

 

隐藏内容
此内容需解锁查看
未解锁内容包含:约352个字符,和3张图像
  • 普通用户: 16.9牛币
  • VIP: 免费
  • SVIP: 免费
已有104人赞助并解锁

 

局部重绘inpaint模型

除了类似controlnet这样将模型分离出来的,还有与unet模型融合在一起的inpaint模型。这类型模型无需借助任何低三方模型,可以直接对图像进行重绘。

这里分享两个带有inpaint的模型,分别是sd1.5基础模型和麦橘写实的inpaint模型。

存放路径:ComfyUI\models\checkpoints

网盘下载:https://pan.quark.cn/s/e4b1f4549d82

工作流搭建

使用带有局部重绘的unet模型,搭建工作流与基础模型与前文提到的vae编码局部重绘完全一样,不同的只是unet模型。完整工作流,如图所示:

inpaint模型局部重绘工作流

 

使用controlnet局部重绘

在上一个小节中我们接触到了controlnet控制,局部重绘也可以通过controlnet来控制,首先得下载inpaint模型。

存放路径:ComfyUI\models\controlnet

网盘下载:https://pan.quark.cn/s/2a8088d09670

工作流搭建

controlnet局部重绘有两种方式,分别是之前接触的controlnet应用节点,和controlnet应用(阿里妈妈局部重绘)。工作流搭建方式就是结合局部重绘与controlnet两者实现。

完整工作流,如图所示:

controlnet局部重绘工作流

隐藏内容
此内容需解锁查看
未解锁内容包含:约168个字符
  • 普通用户: 16.9牛币
  • VIP: 免费
  • SVIP: 免费
已有104人赞助并解锁

外补扩图

扩图也是重绘的一种,只需要添加图像区域之外的遮罩即可。

1、添加外补画板节点。节点库→图像→外补画板,如图所示:

外补画板节点

2、该节点需要传入一张图像,输出图像与遮罩。遮罩区域通过上、下、左、右进行设置,单位为px。例如将原图上下各增加80px内容。完整工作流如图所示:

外补扩图工作流

说明

隐藏内容
此内容需解锁查看
未解锁内容包含:约66个字符
  • 普通用户: 16.9牛币
  • VIP: 免费
  • SVIP: 免费
已有104人赞助并解锁

案例工作流

隐藏内容
此内容需解锁查看
未解锁内容包含:约70个字符
  • 普通用户: 16.9牛币
  • VIP: 免费
  • SVIP: 免费
已有104人赞助并解锁

传送门:inpaint局部重绘与外补扩图基础工作流

第三方局部重绘节点

除了上述的几种重绘方式之外,还可以借助第三方节点进行重绘。

BrushNet局部重绘,传送门:BrushNet节点与randomMask局部重绘操作使用教程

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。