模型名称: RMBG-1.4 (briaai/RMBG-1.4)
模型链接: briaai/RMBG-1.4
模型描述: RMBG-1.4 是 BRIA AI 发布的高精度背景去除(抠图)模型,能够将图像中的前景主体(人物、物体、动物等)从背景中分离并生成掩码(mask),适用于电商、广告、游戏等场景的图片素材处理。
模型架构: 基于 IS-Net 架构增强(RSU 多尺度特征提取 + 深度监督),自定义 BriaRMBG 网络(trust_remote_code 加载)
参数规模: 44.0M
相关获取地址:
| 组件 | 版本 |
|---|---|
torch | 2.9.0 |
torch-npu | 2.9.0.post1+gitee7ba04 |
transformers | 4.57.6 |
torchvision | 0.24.0 |
numpy | 2.x |
Pillow | 12.2.0 |
| 昇腾驱动 / CANN | npu-smi 25.5.5 |
2 逻辑卡(Ascend910)/opt/atomgit/0820/RMBG-1.4npu:0float32| 依赖项 | 版本要求 | 说明 |
|---|---|---|
| Python | >= 3.10 | 推荐 3.11 |
| torch | >= 2.1.0 | 本验证使用 2.9.0 |
| torch_npu | >= 2.1.0 | 昇腾 NPU 插件(随 CANN 安装) |
| torchvision | >= 0.15.0 | 图像归一化(torchvision.transforms.functional) |
| transformers | >= 4.39.1 | AutoModelForImageSegmentation 加载(官方要求) |
| numpy | >= 1.24.0 | 数值计算 |
| Pillow | >= 9.0.0 | 图像处理与结果保存 |
安装命令:
# 使用清华源安装基础依赖
pip install torch torch_npu torchvision transformers numpy Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
# torch_npu 需与 CANN 版本配套,亦可从昇腾官方源安装:
# pip install torch_npu -i https://pypi.ascend.com/pypi/simple或直接使用仓库内 requirements.txt 一键安装:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple# 检查 NPU 设备
npu-smi infocd /opt/atomgit/0820/RMBG-1.4
# 默认推理(内置双样例:球体场景 + 人物剪影)
python inference.py
# 处理指定本地图片
python inference.py --image ./img.jpg
# 处理指定 URL 图片
python inference.py --image_url https://example.com/image.jpg
# 自定义结果保存目录
python inference.py --image ./img.jpg --save_dir ./output| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --model_path | str | 脚本所在目录 | 模型权重目录 |
| --image | str | - | 输入图片路径 |
| --image_url | str | - | 输入图片 URL |
| --save_dir | str | output | 结果保存目录(生成 *_mask.png 与 *_nobg.png) |
| --device | str | auto | 推理设备(auto/npu:0/cuda:0/cpu) |
输入:
python inference.py输出:
[INFO] 设备类型: npu | 设备: npu:0
[INFO] 正在加载 RMBG-1.4 背景去除模型: /opt/atomgit/0820/RMBG-1.4
[INFO] 模型加载成功 | 设备: npu:0 | 参数量: 44.0M | 精度: fp32
[INFO] 待处理图像数量: 2
============================================================
Running inference on NPU...
============================================================
----- 样例 1: 内置示例:球体场景 (sample_ball) -----
输入尺寸: 640x480 | 掩码尺寸: 640x480
掩码范围: 0 - 255 | 前景占比: 30.1%
单图推理耗时 = 175.3 ms
已保存: output/sample_ball_mask.png
已保存: output/sample_ball_nobg.png
----- 样例 2: 内置示例:人物剪影 (sample_person) -----
输入尺寸: 448x595 | 掩码尺寸: 448x595
掩码范围: 0 - 255 | 前景占比: 28.6%
单图推理耗时 = 22.0 ms
已保存: output/sample_person_mask.png
已保存: output/sample_person_nobg.png
============================================================
Inference completed! RMBG-1.4 在昇腾 NPU 上推理成功!
============================================================完整运行日志(含推理期间 npu-smi info 采样及进程占用情况)见 run_npu.log。
输入:
python inference.py --image ./my_image.jpg --save_dir ./output输出:
[INFO] 设备类型: npu | 设备: npu:0
[INFO] 待处理图像数量: 1
...
----- 样例 1: 本地图片 (my_image.jpg) -----
输入尺寸: <宽>x<高> | 掩码尺寸: <宽>x<高>
掩码范围: 0 - 255 | 前景占比: <百分比>%
单图推理耗时 = ~170 ms
已保存: output/my_image_mask.png
已保存: output/my_image_nobg.png*_mask.png:灰度掩码图(前景为白色,背景为黑色)*_nobg.png:透明背景 PNG(掩码写入 Alpha 通道)| 指标 | 数值 |
|---|---|
| 模型参数量 | 44.0M |
| 模型加载 + 权重迁移至 NPU | ~12 s |
| 单图前向推理(1024x1024 输入,fp32) | ~175 ms(首图)/ ~22 ms(预热后) |
| NPU 显存占用(推理期间) | 186 MB |
| NPU 芯片 | Ascend910 / 2 逻辑卡 |
推理期间通过 npu-smi info 多次采样可观察到 python3 进程实际占用 NPU(进程内存 186MB),详见 run_npu.log。
torch_npu 调用 NPU 设备(check_device() 自动优先选择 npu:0),未检测到 NPU 时回退 CPU/CUDA。trust_remote_code=True),本地目录需包含 MyConfig.py 与 briarmbg.py(本仓库已内置)。--image 或 --image_url 传入真实图片。