RMBG-2.0 是 BRIA AI 的背景移除模型,基于 BiRefNet(双参考网络,专为高分辨率二分图像分割设计),在专业级授权数据上训练,可商用(需遵守 BRIA 许可)。输入图像被缩放到 1024×1024 并做 ImageNet 归一化,模型输出多尺度预测,最后一层 sigmoid 得到前景 alpha 蒙版(matte),可直接用于抠图/换背景。模型规模 220.2M 参数。
原始模型:briaai/RMBG-2.0(HF 上为 gated;本仓库权重来自 ModelScope) 官方代码:ZhengPeng7/BiRefNet
加载方式:transformers auto_map(AutoModelForImageSegmentation → 仓库自带 birefnet.BiRefNet,trust_remote_code=True),依赖 kornia + timm(自定义建模文件所需)。
# 1. 克隆仓库
git clone https://gitcode.com/weasonlee/RMBG-2.0.git
cd RMBG-2.0
# 2. 安装依赖
pip install -r requirements.txt
# 3. 准备权重到 models/(已 .gitignore 排除;~885MB safetensors + 自定义代码)
# HF 源为 gated,可从 ModelScope 下载:
pip install modelscope
python -c "
from modelscope import snapshot_download
snapshot_download('briaai/RMBG-2.0', local_dir='models')"
# 4. 推理(NPU)
python inference.py --device npu
# 或 CPU(1024^2 前向较慢,~1 分钟/张)
python inference.py --device cpu --batch 1 --runs 1$ python inference.py --device npu --batch 1
torch.npu.is_available() = True
torch.npu.device_count() = 2
[info] device = npu:0, torch = 2.9.0+cpu
[load] BiRefNet (RMBG-2.0): 220.2M params
[info] batch = (1, 3, 1024, 1024) synthetic images (subject-on-background)
[time] run 0: 11377 ms
[time] avg: 11259 ms (batch 1 x (1024, 1024))
[out ] img0: alpha mean=0.1800 fg(FG>50%)=18.0% max=1.000
===== CPU vs NPU comparison (alpha matte, 3 images) =====
img0: cos_sim=1.00000000 max_abs_err=7.705e-04 mean_abs_err=1.784e-06 IoU=0.999989
OVERALL: cos_sim=1.00000000 max_abs_err=7.705e-04 mean_abs_err=1.784e-06 mean_IoU=0.999989输入:确定性 PIL 合成图(人物状主体/色块主体/低对比主体,固定种子,无外部图片依赖),1024×1024 + ImageNet 归一化;CPU 与 NPU 输入完全一致。alpha 蒙版经 sigmoid 输出,fg% 为 alpha>0.5 的前景占比。
| 指标 | img0 |
|---|---|
| cos_sim(1024×1024 alpha 蒙版) | 1.00000000 |
| max_abs_err | 7.705e-04 |
| mean_abs_err | 1.784e-06 |
| IoU(阈值 0.5 二值蒙版) | 0.999989 |
| 单张耗时(含同步) | NPU ~11259 ms vs CPU ~55684 ms(~5× 加速) |
结论:NPU(Ascend 910, torch-npu 2.9.0.post1)与 CPU 的 alpha 蒙版完全一致(cos_sim=1.0,IoU≈0.99999),二值化抠图结果实质等价,适配成功。
├── inference.py # 推理脚本(合成图 alpha 蒙版 + NPU/CPU 对比 + IoU)
├── readme.md
├── requirements.txt
├── models/ # 权重目录(需自行下载,已 gitignore;含 birefnet.py 等自定义代码)
├── assets/ # 运行截图
│ ├── agent_workflow.png
│ ├── npu_device_call.png
│ └── model_result.png
└── results/ # 每次运行的 alpha/耗时产物(gitignore)权重遵循 BRIA RMBG 许可(商用需购买授权)。
Peng Z. et al. "BiRefNet: Bilateral Reference for High-Resolution Dichotomous Image Segmentation." CAAI AIR 2024.