FeyNobg
一个来自 Feyn Inc. 的背景移除模型,它加深了 BiRefNet 的架构并重新训练。LibreYOLO 为 FeyNobg 的 matte 任务提供推理和验证。
- 任务
- matte
- 尺寸
- l at 1024 px
- 安装
pip install libreyolo- 支持层级
- 仅推理,自 v 起。仅支持预测、验证和导出。训练相关的功能不适用。
- 许可
- 代码采用 MIT,权重采用 Apache-2.0。商用
安装
FeyNobg 不需要任何可选的额外依赖。它导入的所有东西都在基础安装里。
pip install libreyolo预测
检查点(checkpoint)会在首次使用时从 Hugging Face 上的 LibreYOLO 组织下载,并 缓存到本地,和其他家族一样,只是它还没有列进本页的检查点表格。
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreFeyNobgl-matte.pt")result = model(SAMPLE_IMAGE, save=True) matte = result.matteprint(matte.array.shape, matte.array.dtype)libreyolo predict model=LibreFeyNobgl-matte.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreFeyNobgl-matte.pt")result = model(SAMPLE_IMAGE) # RGBA (H, W, 4) uint8:源图 RGB 加上作为 alpha 通道的 mattergba = result.cutout()result.save("subject.png")matte 结果不带检测框;result.matte 是一个取值在 [0, 1] 之间的稠密
(H, W) float32 数组,1 表示完全前景,0 表示完全背景。和二值掩码不同,柔和的
matte 会保留头发、毛发这类抗锯齿的边缘细节。result.cutout() 会把源图和这条
alpha 通道合成为一个 RGBA 数组,result.save(path)(或者在预测调用上加
save=True)会直接把它写成一张透明背景的 PNG。模型固定在原生的 1024x1024
画布上运行;不支持其他分辨率,因为 Swin 骨干的相对位置表和它绑在一起,尺寸对不上时
它会把这些表插值得很糟,而不是直接报错。输入源、流式处理和结果处理见
预测。
变体
只发布了一个尺寸 l,采用 Swin-L 档的骨干。FeyNobg 拿来 BiRefNet 的架构,把它
的第三个 Swin 阶段从 18 个 block 加深到 24 个再重新训练,所以 LibreYOLO 的移植
复用了 BiRefNet 的前向路径、预处理和单 logit 输出约定;预测、验证和检查点处理的
行为都和 birefnet 家族一样。
验证
val() 会在成对的 image/matte 目录上报告两个指标,两者都在 [0, 1] 之间,
并且与分辨率无关:MAE,即相对真值(ground truth)alpha 的平均绝对误差(越低越
好);以及 S-measure(Fan 等,ICCV 2017),一种结构相似度,它会奖励保留主体形状
和空洞的结果,而这正是单看像素 MAE 会漏掉的(越高越好)。验证走的是模型自己的
predict,因此用的是这个家族确切的预处理。
from libreyolo import LibreYOLO model = LibreYOLO("LibreFeyNobgl-matte.pt") # 一个包含 images/ 和自动识别出的 matte 目录# (mattes/、matte/、gt/、masks/、mask/ 或 alpha/)的目录# 也可以代替数据集 YAMLmetrics = model.val(data="my-matte-dataset/") print(metrics["metrics/MAE"])print(metrics["metrics/Smeasure"])验证只做推理。上游的 nobg 库提供了采用 Apache-2.0 许可的训练代码;今天要微调,
意味着在那边训练,再用 LibreYOLO 自己的转换脚本转换结果,而不是在这个家族上调用
train()——它会直接报错,而不是跑一个不完整的训练器。
许可
请检查你所下载的具体权重在 Hugging Face 仓库中的许可。LibreYOLO 组织里的每个检查点都附有许可,同一家族内也不一定相同。该仓库是权威来源;以下摘要说明本页上次验证时适用的情况。
这里只说明涉及的许可证,不构成法律意见。如果答案对商用很重要,请自行阅读许可证并咨询法律顾问。
- 原始工作
- FeyNobg, Feyn Inc.
- 上游许可
- Apache-2.0
- LibreYOLO 代码
- MIT
- 权重
- 采用 Apache-2.0 许可,重新发布在 huggingface.co/LibreYOLO
- 解读
- Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. It places no obligation on your own application code. FeyNobg builds on BiRefNet's architecture (MIT) with a deepened backbone stage, and Feyn Inc. releases both the nobg library and the FeyNobg weights under Apache-2.0. LibreYOLO's checkpoint is a format conversion of Feyn's own published weights, with the learned parameters unchanged; fine-tuning is not wired into this library, so there is no LibreYOLO-trained variant to license separately.
引用
@software{nobg,
title={nobg: Open Source Background Removal Models for Image and Video Matting},
author={Hichri, Hafedh},
year={2026},
url={https://github.com/feyninc/nobg},
license={Apache-2.0},
}复制自作者在 github.com/feyninc/nobg#citation 上提供的引用块。