AI抠图使用指南:Stable Diffusion WebUI Rembg实用技巧

抠图是图像处理工具的一项必备能力,可以用在重绘、重组、更换背景等场景。最近我一直在探索 Stable Diffusion WebUI 的各项能力,那么 SD WebUI 的抠图能力表现如何呢?这篇文章就给大家分享一下。
安装插件
作为一个生成式AI,SD本身并没有精细的抠图控制能力,它需要借助插件来实现。
这里我们使用 stable-diffusion-webui-rembg 这个插件,插件安装成功后,会出现在“高清化”这个页面的底部。

安装方法一
适合网络访问各种资源比较畅通的同学。
插件地址:GitHub - AUTOMATIC1111/stable-diffusion-webui-rembg: Removes backgrounds from pictures. Extension for webui.
直接在 Stable Diffusion WebUI 中通过网址安装,操作步骤如下图所示:

第5点指示插件已经安装成功,只需要在“已安装”页面中重启SD WebUI就可以了。
实际抠图时,插件还会根据选择的抠图算法自动下载相关的模型,第一次使用某个算法抠图时等待的时间会长一点。
安装方法二
适合访问外网不怎么方便的同学。
先通过别的工具,比如迅雷下载到本地,然后再部署到相应的目录。
插件地址:GitHub - AUTOMATIC1111/stable-diffusion-webui-rembg: Removes backgrounds from pictures. Extension for webui.
算法模型地址:GitHub - danielgatis/rembg: Rembg is a tool to remove images background
或者下载我已经打包好的文件,关注公众号:萤火遛AI,发消息:抠图,即可获取相关文件。

stable-diffusion-webui-rembg.zip 是插件程序,解压后放到 stable-diffusion-webui/extensions 目录。
u2net.zip 是算法模型文件,解压后放到当前用户的临时目录:
- Windows是:C:\Users\{你登录的Windows用户名}\.u2net
- Linux是:/root/.u2net/
如果部署在云服务器,需要先上传zip压缩文件,再解压到指定的目录。参考解压指令:
unzip -o /root/autodl-tmp/stable-diffusion-webui-rembg.zip -d /root/stable-diffusion-webui/extensions/stable-diffusion-webui-rembg/
unzip -o /root/autodl-tmp/u2net.zip -d /root/.u2net/
安装完毕之后,记得重启SD。
使用rembg
基本使用
点击“高清化”页签,上传要抠图的照片,“Remove background”这里选择抠图算法,最后点击“生成”。


看看默认的抠图效果:头发这里还有些底色没去掉,这部分和背景有些交错,算法不能很好的识别。
注意人像周围黑色的部分实际上都是透明的,我们把这张图片放到白色的背景中人像周围就是白色了。

我们把这个“Alpha matting”勾上,然后会出来几个选项,把“Erode size”的值改为“15”,它可以优化前景图边缘的分割。

重新生成,看看这次的结果,头发这块基本上看不出来之前的底色了,但是衣领这里有些模糊了。我尝试了不同的参数,也没能达到完美。或许把图片放到PS中再处理下是个正确的方法,以结果为导向,不能死抱着AI不放,有兴趣的可以试试。

参数介绍
上面做了一个基本的演示,但是这些参数我们如何配置才能发挥最好的效果呢?这一小节就来看看这些参数的定义。
先看看这几个算法模型:
- u2net:通用的的预训练模型,通常用这个就行。
- u2netp:u2net的轻量级版本。
- u2net_human_seg:专门针对人像分割的预训练模型,只是分割人像时建议使用。
- u2net_cloth_seg:专门从人像上抠衣服的预训练模型,它会把衣服分成三部分:上半身、下半身和全身。
- silueta:和u2net相同,但是大小减少到43Mb,方便在小内存机器上使用。
- isnet-general-use :一个新的通用的预训练模型。
- isnet-anime:专门针对动画人物的高精度分割。
再看看它的两个选项:
- Alpha matting:Alpha遮罩,这是一个比较专业的图像处理术语。在图像处理中,有一个东西用来表示图像中每个像素点的透明度,这个东西称为Alpha通道;然后Alpha遮罩利用Alpha通道来控制图像的透明度,从而达到隐藏或显示某些部分的目的;在抠图这里就是努力让前景部分都显示出来,让背景部分都变透明。这个选项有三个参数,用来控制抠图的效果,我们看下:
-
- Erode size:Alpha抠图腐蚀尺寸,通过在图像中构建一个长宽为这个值的矩形进行腐蚀。太小了前景和背景分离不彻底,边缘有交叉;太大了前景和背景会腐蚀的太多,边缘缺损明显。
- Foreground threshold:前景图像的阈值,值过小背景可能被识别为前景,值过大前景可能被识别为背景。
- Background threshold:背景图像的阈值,值小了前景可能被识别为背景,值大了背景可能识别为前景。
使用Alpha遮罩时可以初始用这几个经验值:(15, 220, 100),具体参数值再根据实际情况进行调整。
- Return mask:返回抠图的蒙版图,下面马上就会介绍它的用法和用途。
使用蒙版
这一小节以更换图片背景为例,演示蒙版的用法。具体想法是生成一张马斯克登陆火星遭遇外星人的照片。
生成蒙版
只要在生成时勾选上“Return mask”,最终输出图片就会变成蒙版图。

如下图所示,可以看到人物变成了白色的蒙版,我们把这个蒙版图片先保存到本机,后面马上要用。

更换背景
在“图生图”中打开“局部绘制(上传蒙版)”。这里需要上传两张照片,一张原图,一张人物的蒙版图。

图生图的具体参数如下:
提示词:(the desert), ((night)), dim sun, (stargate), a man in a suit and white shirt smiling for a picture, a alien standing in the distance, digital painting, stargatejackal,surrealistic, hdri, smooth, sharp focus, illustration, fantasy, intricate, elegant, highly detailed, 8k <lora:sgasgard_v1:1>
反向提示词:EasyNegative, moon
缩放模式:填充,因为我想调整下图片的宽高比到 16:9,原图没这么宽,所以需要填充新扩展的空间。
蒙版模式:绘制非蒙版内容,在“局部绘制(上传蒙版)”中白色的区域是蒙版,因为我们要重绘背景,所以这里选择的是“绘制非蒙版内容”。
采样器:DPM++ 2M SDE Karras,这是最近新加的一个采样器,建议体验下。当然也可以用别的采样器。
采样步数:配合采样器设置。
宽度、高度:根据 16:9的比例设置。

看看出图的效果:

以上就是本文的主要内容了,感兴趣的同学赶紧去试试吧。
如果你刚开始学习AI绘画,建议先看这两篇 Stable Diffusion WebUI 安装指南:
手把手教你在本机安装Stable Diffusion秋叶整合包
手把手教你在云环境炼丹(部署Stable Diffusion WebUI)
相关文章:
AI抠图使用指南:Stable Diffusion WebUI Rembg实用技巧
抠图是图像处理工具的一项必备能力,可以用在重绘、重组、更换背景等场景。最近我一直在探索 Stable Diffusion WebUI 的各项能力,那么 SD WebUI 的抠图能力表现如何呢?这篇文章就给大家分享一下。 安装插件 作为一个生成式AI,SD…...
gitlab-Runner搭建
root wget https://packages.gitlab.com/runner/gitlab-runner/packages/fedora/29/gitlab-runner-12.6.0-1.x86_64.rpm/download.rpm rpm -ivh download.rpm ---- 安装 rpm -Uvh download.rpm -----更新升级 然后运行: gitlab-runner register --url https://git…...
【ChatGPT 指令大全】销售怎么借力ChatGPT提高效率
目录 销售演说 电话销售 产出潜在客户清单 销售领域计划 销售培训计划 总结 随着人工智能技术的不断进步,我们现在有机会利用ChatGPT这样的智能助手来改进我们的销售工作。在接下来的时间里,我将为大家介绍如何运用ChatGPT提高销售效率并取得更好的…...
【Spring】-Spring项目的创建
作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:创建spring项目的步骤:先创建一个maven项目,再在pom.xml中添加spring框架支持,最后写一个启动类。 文章目…...
SQL | 使用通配符进行过滤
6-使用通配符进行过滤 6.1-LIKE操作符 前面介绍的所有操作符都是通过已知的值进行过滤,或者检查某个范围的值。但是如果我们想要查找产品名字中含有bag的数据,就不能使用前面那种过滤情况。 利用通配符,可以创建比较特定数据的搜索模式。 …...
make: *** [Makefile:719: ext/openssl/openssl.lo] Error 1
在ubuntu系统上编译安装PHP7.4.33时,会报错如下 make: *** [Makefile:719: ext/openssl/openssl.lo] Error 1 原因分析:这个错误提示的意思是PHP配置过程中缺少OpenSSL库文件,因此在编译过程中出现了问题;Ubuntu 22.04 中openss…...
Android Studio实现简单ListView
效果图 MainActivity package com.example.listviewtest;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.widget.ListView;import com.example.listviewtest.adapter.PartAdapter; import com.example.listviewtest.bean.PartB…...
【设计模式】模板模式
什么是模板模式? 模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行…...
配置docker和复现
1.Nginx环境搭建 选择centos7来进行安装 1.1 创建Nginx的目录并进入 mkdir /soft && mkdir /soft/nginx/ cd /soft/nginx/ 1.2 下载Nginx的安装包,可以通过FTP工具上传离线环境包,或者通过wget命令在线获取安装包 wget https://nginx.org/down…...
Qt应用开发(基础篇)——工具箱 QToolBox
一、前言 QToolBox类继承于QFrame,QFrame继承于QWidget,是Qt常用的基础工具部件。 框架类QFrame介绍 QToolBox工具箱类提供了一列选项卡窗口,当前项显示在当前选项卡下面,适用于分类浏览、内容展示、操作指引这一类的使用场景。 二…...
地理测绘基础知识(1) 坐标系经纬度与ECEF直角坐标的基本换算
经纬度与ECEF直角坐标的基本换算 我们目前最常用的全球坐标系是WGS-84坐标系,各种手机、地图基本用经纬度来标记位置。然而,经纬度对于空间的计算是很复杂的,需要很多三角函数操作。平面直角坐标系利用向量的运算,可以非常方便的…...
【UE4 RTS】08-Setting up Game Clock
前言 本篇实现的效果是在游戏运行后能够记录当前的游戏时间(年月日时分秒),并且可以通过修改变量从而改变游戏时间进行的快慢。 效果 步骤 1. 在Blueprints文件夹中新建如下两个文件夹,分别命名为“GameSettings”、“Player”…...
百度chatgpt内测版
搜索AI伙伴 申请到了百度的chatgpt: 完整的窗口布局: 三个哲学问题: 灵感中心: 请做一副画,一个渔夫,冬天,下着大雪,在船上为了一家的生计在钓鱼,远处的山上也都是白雪&a…...
[GAN] 使用GAN网络进行图片生成的“调参人”入门指南——生成向日葵图片
[GAN] 使用GAN网络进行图片生成的“炼丹人”日志——生成向日葵图片 文章目录 [GAN] 使用GAN网络进行图片生成的“炼丹人”日志——生成向日葵图片1. 写在前面:1.1 应用场景:1.2 数据集情况:1.3 实验原理讲解和分析(简化版&#x…...
(十)人工智能应用--深度学习原理与实战--模型的保存与加载使用
目的:将训练好的模型保存为文件,下次使用时直接加载即可,不必重复建模训练。 神经网络模型训练好之后,可以保存为文件以持久存储,这样下次使用时就不重新建模训练,直接加载就可以。TensorfLow提供了灵活的模型保存方案,既可以同时保存网络结构和权重(即保存全模型),也可…...
Java“牵手”1688商品详情页面数据获取方法,1688API实现批量商品数据抓取示例
背景:1688商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取1688商品详情数据,您可以通过开放平台的接口或者直接访问1688商城的网页来获取商品详情信息。以下是两种常用方法的介绍&a…...
Docker_docker runContainerd
docker run-Containerd docker run -it 运行容器交互式方式启动守护进程方式启动其他命令 docker部署nginx服务k8s废弃docker原因安装和配置containerdcontainerd常用命令 docker run -it 运行容器 交互式方式启动 # 以交互式方式启动并进入容器 docker run --namehello -it …...
python中常见的矩阵变换总结
利用python做数据处理和分析过程中,如在开展机器学习的数据预处理、数据格式转换等等,不可避免的会涉及到各种矩阵变换,其中使用最多的就是numpy下的矩阵变换,以下是日常用到的一些矩阵变换总结,主要有矩阵中数据类型的…...
LightningChart JS 2023Crack,CPU高效实时更新
LightningChart JS 2023Crack,CPU高效实时更新 添加了新的极地热图图表类型-添加了新系列类型,允许您在极地坐标系中可视化热图。极地热图的一些关键特征是: 处理多达400万个数据点。 快速加载速度和CPU高效实时更新。 100ms以完全显示由所有数据填充的热…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
