前言:

ComfyUI-BrushNet是最近的局部重绘节点,其包含BrushNet和Powerpaint两个主要节点,其中BrushNet有SD1.5和SDXL两个版本,PowerPaint只有1.5的模型可以使用,学会该插件,你可以完成对图片的局部重绘以及产品换背景等多个工作流。

目录:

一、BrushNet Loader节点

二、BrushNet节点

三、Blend Inpaint节点

四、Cut For Inpaint节点

五、PowerPaint节点

安装方法:※※看这里※※

一、BrushNet Loader节点

节点功能:这个节点用来加载对应的BrushNet模型,建议按照安装方法来进行模型放置,这样有利于后续管理和理解模型的对应关系。image

重要参数:

dtype -> 这个参数设置模型的运行数据类型

注意:建议设置dtype为float32进行运行,假如这是为float16,那么当CUDA显存不足时会将一部分的数据放入CPU执行模型计算,但是CPU不支持float16精度的数据,会产生报错信息。

该节点目前有三种模型提供加载,第一种是PowerPaint模型:如下图所示,我们使用PowerPaint模型必须使用1.5的sd大模型,对应需要加载PowerPaint需要的Clip模型,下图功能为图像中去除蒙版区域内容。image

第二种是BrushNet用到的random_mask模型,这里我使用SDXL大模型进行实验,下图中使用random_mask模型进行局部修复,从图中可以看出最终修复后的图像并没有严格按照蒙版内容进行填充,比如瓶子明显的低于蒙版的大小,所以该__模型主要用于随机选择蒙版进行修复。__image

第三种是BrushNet用到的segmention模型,从图中可以看出,最终生成的图像严格按照蒙版的区域进行绘制,瓶子完全按照蒙版的大小进行生成,在BrushNet原论文中有提到"segmention模型在插值操作方面可能会引入潜在的不准确性,因为将遮罩调整大小以匹配潜在空间的操作可能会导致潜在的不准确性",也就是说当把蒙版信息通过VAE编码后在潜空间中可能造成蒙版区域并不完美匹配编码前的蒙版,所以可能产生误差。image

二、BrushNet节点

节点功能:该节点用来将BrushNet应用于您的工作流当中。image

重要参数:

mask -> 表示你要上传的蒙版 **如果蒙版和图像不对齐,结果可能会很差**

scale -> 直译是尺度的意思,也就是控制大小的阈值,模型把原始数据编码后加入unet之前与scale相乘, 去控制模型的作用强度。

下图所示为BrushNet批量重绘方式,通过上传多张图像(示例一张多用),进行批量的蒙版识别,随后通过random模型进行图像的重绘。image

下图为BrushNet的基础重绘方式,重绘效果很大程度上收到底模的影响,其次就是提示词,所以为了得到满意的效果,大家需要多次进行尝试。image

三、Blend Inpaint节点

节点功能:该节点将较小的蒙版区域进行放大,然后将放大后的蒙版和放大后的原图对应进行重绘,重绘后粘贴到原图中,这跟我之前讲过的重绘思路类似,具体可参考该视频image

重要参数:

inpaint -> 重绘后的局部图像

original -> 原始图像

origin -> 原图中裁剪后的数据

kernel -> 设置粘贴图像的边缘融合度

sigma -> 设置图像的透明度

四、Cut For Inpaint节点

节点功能:该节点对原图对应蒙版的区域进行裁剪,并且将蒙版也进行裁剪,对齐裁剪后的蒙版和图像区域。image

重要参数:

image -> 输入原始图像

mask -> 输入重绘的蒙版区域

width -> 设置裁剪宽度

height -> 设置裁剪高度

下图为Cut For Inpaint节点和Blend Inpaint节点的组合使用,主要是用在我们的原始图像很大,而我们要重绘的区域却又很小的情况,这种时候我们将对应的区域进行放大修复能够让模型更好的理解上下文,从而进行融合度更高的重绘。

image

五、PowerPaint节点

节点功能:该节点将PowerPaint方法加入到模型的扩散过程中,从而完成局部重绘。image

重要参数:

clip -> PowerPaint有对应的CLIP模型

fitting -> PowerPaint贴合度

function -> PowerPaint功能

在function的功能中一共有五个选项,分别是text guided,shape guided,object removal,context aware和image outpainting,分别对应的功能为“使用文本作为引导”,“使用形状作为引导”,“物体移除”,“上下文感知”和“图像的扩充”

下图所示工作流为对原始图像进行扩充,选择image outpainting选项,在扩充前需要对图像进行pad操作,随后通过模型进行话不得扩展。

image

**先发了,明天测试其他的效果**

孜孜不倦,方能登峰造极。坚持不懈,乃是成功关键。