最近和一个做跨境电商的朋友聊起工作,他们在运营过程中经常需要更换商品的背景图,以便快速响应市场的变化。以前用Photoshop先抠图再换背景,既费时又费力;而一些商业软件不仅价格高昂,效果还不尽如人意。朋友希望能找到一种更高效的解决方案,于是让我研究一下是否可以通过AI来实现。于是,我在周末花了半天时间,快速帮他解决了问题。
方案调研
在AI图像生成和处理领域,Stable Diffusion 作为一个开源模型,已经获得了广泛的应用和扩展。为了让这个模型更易于使用,ComfyUI 这个功能强大的图片创作引擎应运而生。ComfyUI 采用图形化、节点化的工作流程,让创作者能够更轻松地组织和复用各种工作流。
我们的解决方案正是基于 ComfyUI 来实现的。在 Stable Diffusion 的庞大生态系统中,第三方开发者可以根据特定的应用场景、风格或功能,对其进行调整,从而生成具有独特特性的图像或完成特定任务。而今天帮助我们高效完成背景替换任务的,是 BriaAI 开源的 RMBG-2 模型。
根据 BriaAI 的测试,RMBG 2.0 在处理复杂背景移除时,表现优于市场上许多主流产品,甚至比 Adobe Photoshop 的准确性提升了 44%。下图是官方给的效果图。
到底真实效果如何呢,又该如何通过 RMBG 2.0 快速完成商品图的背景替换,接下来开始实践。
方案实践
环境安装
首先,我们需要安装 ComfyUI。官方文档(https://github.com/comfyanonymous/ComfyUI
)提供了详细的安装指南,你可以根据自己的操作系统选择对应的步骤。这里以我的 Apple Mac Silicon (M1) 为例,具体操作如下:
# 克隆ComfyUI代码库
git clone https://github.com/comfyanonymous/ComfyUI.git
# 安装 PyTorch(注意自己电脑的显卡类型)
pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
# 进入ComfyUI目录并安装依赖
cd ComfyUI
pip install -r requirements.txt
在安装过程中,可能会遇到一些依赖库冲突或其他问题。别担心,只需耐心分析、查找解决方案,通常都能顺利搞定。
在下载的 ComfyUI 工程中,比较重要的一个文件夹是models
,它内置的模型,以及我们将要使用的第三方模型,都需要放置于这个文件夹中。
安装完成后,启动 ComfyUI 非常简单。在终端中进入 ComfyUI 目录,运行以下命令:
python main.py
启动后,打开浏览器访问 http://localhost:8188
,你就可以看到 ComfyUI 的界面了。接下来,就需要安装 RMBG 2.0 的相关模型。
安装 RMBG-2.0 模型其实也非常简单。只需要在 ComfyUI 的 models 文件夹下,通过 git clone 下载一系列所需的模型即可。以下是具体步骤:
打开终端,导航到 ComfyUI 的 models 文件夹,然后依次执行以下命令来克隆所需的模型:
# 进入ComfyUI的models文件夹
cd ComfyUI/models
# 克隆RMBG-2.0模型
git clone https://huggingface.co/briaai/RMBG-2.0
# 克隆InspyreNet模型
git clone https://huggingface.co/1038lab/inspyrenet
# 克隆BEN模型
git clone https://huggingface.co/PramaLLC/BEN
# 克隆SAM模型
git clone https://huggingface.co/1038lab/sam
# 克隆GroundingDINO模型
git clone https://huggingface.co/1038lab/GroundingDINO
# 克隆SegFormer用于服装的模型
git clone https://huggingface.co/1038lab/segformer\_clothes
# 克隆SegFormer用于时尚的模型
git clone https://huggingface.co/1038lab/segformer\_fashion
所有模型下载成功后,重启 ComfyUI 服务,就可以在界面的节点中找到RMBG
节点。
接下来,就可以开始设计我们流,我们首先看一下 RMBG 的背景消除效果如何:
通过连接加载图像、RMBG 和预览图像三个节点,就可以完成一个简单的背景剔除工作流。效果非常出色,甚至连毛发的边缘都能干净地从背景中剥离。在 RMBG 节点中,有一系列参数可以帮助我们控制最终效果。
sensitivity
:控制背景去除的敏感度(0.0-1.0)process\_res
:处理分辨率 (512-2048,步长 128)mask\_blur
:控制应用于掩码边缘的模糊量,减少锯齿状(0-64)mask\_offset
:调整掩码边界 (-20 到 20)background
:选择输出背景颜色invert\_output
:翻转掩码和图像输出optimize
:切换模型优化开关,正确设置选项可以提高处理多张图片时的性能
经过对各种不同背景的图片进行测试,我发现 RMBG 依然表现稳定,能够将人物或物品从复杂的背景中干净利落地剥离出来。接下来,我开始设计一个背景替换的工作流。相比于单纯的背景剔除,背景替换的工作流稍微复杂一些,因为它需要额外添加背景图、图像缩放(以确保新背景与原图匹配)以及图像混合等节点。
这里需要特别注意的是,图像混合部分我使用了一个开源的自定义节点套件:was-node-suite-comfyui(https://github.com/WASasquatch/was-node-suite-comfyui
)。这个套件包含了丰富的图像处理和文本处理节点,极大地扩展了 ComfyUI 的功能。
以下是最新设计的工作流效果图:
可以看到,从旧背景中剥离出的美女图像完美地融合到了新的背景中,毫无违和感,效果非常自然。
接下来的步骤就是开发一个简单的程序,允许商家批量上传商品图片和新的背景图,并且能够轻松调整商品在新背景中的摆放位置。这样一来,整个背景替换流程就可以自动化完成,大大提升工作效率,让商家轻松应对市场的快速变化。
结语
通过本文的介绍,我们可以看到,利用 AI 技术进行商品背景替换不仅高效、便捷,而且效果专业,完全不亚于传统的手工操作。未来,随着AI技术的不断进步,背景替换的精度和功能将会更加完善,商家们也将有更多定制化的选择。希望这篇文章能为你在电商运营中提供实用的参考和帮助,激发你探索更多AI赋能的可能性。如果你对这套流程有任何疑问或需要进一步的指导,欢迎在评论区留言或联系我。