AI绘画【comfyUI】两个自动蒙版操作,轻松实现一键更换背景

大家好!我是向阳

在SD-webui里有个segment_anything插件,只需输入想要提取的元素,

就能帮我们一键生成图片的前景、背景和蒙版。

这期我就分享两个,在ComfyUI里面轻松去背景和生成蒙版的节点。

第一个:segment_anything

插件地址:https://github.com/storyicon/comfyui_segment_anything
注意:需要科学上网,如无法下载,请看文末扫描获取插件安装包

其实它的原理采用GroundingDINO作为对象检测器,通过我们输入的类别名称或引用表达式,来检测目标,

然后再经过大量数据训练的segment_anything_model,简称SAM模型,来处理图像,最后生成对象蒙版。

使用时会自动下载模型。你也可以根据下表,手动下载它们。如果自动下载速度慢,可以设置 HTTP_PROXY 和 HTTPS_PROXY 环境变量来使用代理。

从 https://huggingface.co/bert-base-uncased/tree/main 下载模型到 ComfyUI 根目录下的models/bert-base-uncased 文件夹中,如下所示:

ComfyUI  
    models  
        bert-base-uncased  
            config.json  
            model.safetensors  
            tokenizer_config.json  
            tokenizer.json  
            vocab.txt  

当然你也可以跳过此步骤。在推理过程中, bert-base-uncased 会通过 transformers 库自动下载,

其目录通常为 ~/.cache/huggingface/hub/models–bert-base-uncased

请直接将模型和配置文件下载到ComfyUI根目录下的 models/grounding-dino 目录中,无需修改文件名。

名称大小模型文件
GroundingDINO_SwinT_OGC694MB请看文末扫描获取
GroundingDINO_SwinB938MB请看文末扫描获取

SAM 模型

下载后放到ComfyUI根目录下的 models/sams 目录下,无需修改文件名。

根据自己的需要请看文末扫描获取模型,模型有大有小。

在这里插入图片描述

实操步骤

还是老规矩,先加载默认文生图工作流

默认文生图工作流

接着我们使用上面安装的segment_anything插件

可以看到,这个节点是要加载两个模型的,也就是上面我们下载的模型,并且需要一个图片作为参考图,它的输出则是一张图和一个遮罩。

我们按它的输入要求加载下需要的东西,并且我们希望他能扣出我的主体人物,所以我提示词给它:character,并且把图片和遮罩预览下,看看效果

小知识点:遮罩预览需要转成图像才能预览哦。

sam模型加载器处理模式,尽可能的选择GPU模式,速度更快。

可以看到,很简单就从图片了抠出了人物主体图像,并且生成了一个前景遮罩。

  • 前景遮罩(Foreground Mask):前景遮罩用于标识图像中前景物体的区域。在图像分割中,前景通常是我们关注的对象,比如人、动物或物体。前景遮罩用于分离前景和背景,使我们能够对前景物体进行单独的处理,如提取、替换背景或进行图像合成。

  • 背景遮罩(Background Mask):背景遮罩用于标识图像中背景区域的遮罩。它帮助我们确定哪些部分是背景,以便我们可以对背景进行操作,如替换、模糊或去除。背景遮罩在视频处理中特别有用,用于在动态场景中稳定背景或分离前景对象。

接下来我们把它接入文生图流程看看效果,这里我们其实已经是图生图的模式了,我们需要把遮罩和原图传给KSampler采样器,进行处理,图片进入latent我们都知道,只需要通过vae编码即可,遮罩我们需要使用到设置latent噪波遮罩这个节点,用户这个替换文生图中的空latent就可以了

我们再使用背景遮罩来试试效果,背景遮罩就是把前景遮罩反转即可,使用的节点是反转遮罩这个节点

这就是实现了,人物换背景了,而且整体来说还是很协调了。

第二种comfyui-was-node-suite中图像处理

was-node-suite-是comfyui中的一个泛节点套件,来源github作者:WAS-PlaiLabs

其中包含图像处理、文本处理等190个常用节点。部分节点如下图:

GitHub地址:https://github.com/WASasquatch/was-node-suite-comfyui

需要确保/ComfyUI/custom_nodes、was-node-suite-comfyui、 和WAS_Node_Suite.py具有写入权限。

加载

效果是一样的,生成前景遮罩

背景遮罩:

简单几个节点就实现背景替换,效果还是不错的。

整体工作流如下,需要的朋友添加文末的微信获取。

总结

  1. 使用segment_anything插件来一键生成图片的前景、背景和蒙版。插件使用GroundingDINO作为对象检测器,并通过SAM模型处理图像,生成对象蒙版。实操步骤包括加载默认的文生图工作流,使用segment_anything插件,并输入提示词来生成前景遮罩。

  2. 文章还介绍了comfyui-was-node-suite中的图像处理方法。这是一个包含190个常用节点的泛节点套件,可以用于图像处理、文本处理等。通过这个套件,可以使用简单的几个节点来实现背景替换的效果。

  3. 整体工作流包括加载文生图工作流,使用segment_anythingcomfyui-was-node-suite中的节点来生成前景遮罩和背景遮罩,最后将遮罩和原图传给KSampler采样器进行处理,实现背景替换的效果。

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

### ComfyUI功能的实现与使用 在 ComfyUI 中,功能通过 ControlNet 插件实现,能够对图像进行局部编辑或生成。以下是对如何在 ComfyUI实现和使用功能的详细介绍: #### 1. 环境准备 确保 ComfyUI 的安装目录中包含所需的模型文件。例如,从 `https://huggingface.co/bert-base-uncased/tree/main` 下载的 BERT 模型应放置在 ComfyUI 根目录下的 `models/bert-base-uncased` 文件夹中[^1]。虽然 BERT 模型主要用于文本任务,但类似的操作也适用于其他预训练模型,如用于图像处理的 ControlNet 模型。 #### 2. 功能的基本原理 ControlNet 的功能允许用户通过二值化图像(黑白图像)定义操作区域。白色区域表示需要应用 ControlNet 效果的部分,而黑色区域则保持原样。这种机制可以精确控制图像生成或编辑的范围[^2]。 #### 3. 使用步骤说明 以下是实现功能的具体方法: - **创建图像** 使用图像编辑工具(如 Photoshop 或 GIMP)创建一个与目标图像尺寸相同的图像。将需要编辑的区域标记为白色,其余部分标记为黑色。例如,在城市街景照片中,仅将天空区域标记为白色。 - **加载 ControlNet 模型** 在 ComfyUI 的节点编辑器中,添加一个 `Load ControlNet Model` 节点,并选择合适的 ControlNet 模型(如 `control_canny` 或 `control_scribble`)。这些模型可以根据不同的输入类型(如边缘检测或草图)生成相应的效果[^2]。 - **配置参数** 将图像作为输入传递到 `ControlNet Image Processor` 节点中。同时,设置适当的强度参数以调整区域的效果强度。例如,对于图像内容替换任务,可以将强度设置为较高值以确保新内容完全覆盖旧内容。 - **执行图像生成** 将所有节点连接起来,并运行流水线以生成最终结果。生成的图像将根据的定义,在指定区域内应用 ControlNet 的效果,而在其他区域保持不变[^2]。 #### 4. 示例代码 以下是一个简单的 Python 脚本示例,展示如何加载 ControlNet 模型并应用功能: ```python from comfy_controlnet_preprocessors import load_controlnet_model, apply_controlnet_with_mask # 加载 ControlNet 模型 controlnet_model = load_controlnet_model("path/to/controlnet_model") # 应用功能 result_image = apply_controlnet_with_mask( input_image="path/to/input_image.png", mask_image="path/to/mask_image.png", controlnet_model=controlnet_model, strength=0.8 # 区域的效果强度 ) ``` #### 5. 注意事项 - 确保图像的分辨率与输入图像一致,否则可能导致对齐问题。 - 不同的 ControlNet 模型适用于不同的任务场景,选择时需根据具体需求进行测试。 - 如果需要更复杂的渐变效果,可以使用灰度图像作为,其中灰度值定义了透明度过渡。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值