查看 Markdown

FeyNobg

一个来自 Feyn Inc. 的背景移除模型,它加深了 BiRefNet 的架构并重新训练。LibreYOLO 为 FeyNobg 的 matte 任务提供推理和验证。

任务
matte
尺寸
l at 1024 px
安装
pip install libreyolo
支持层级
仅推理,自 v 起。仅支持预测、验证和导出。训练相关的功能不适用。
上游
FeyNobg,由 Feyn Inc. 发布,采用 Apache-2.0 许可。论文源码
许可
代码采用 MIT,权重采用 Apache-2.0。商用

安装

FeyNobg 不需要任何可选的额外依赖。它导入的所有东西都在基础安装里。

bash
pip install libreyolo

预测

检查点(checkpoint)会在首次使用时从 Hugging Face 上的 LibreYOLO 组织下载,并 缓存到本地,和其他家族一样,只是它还没有列进本页的检查点表格。

Python
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)
CLI
libreyolo predict model=LibreFeyNobgl-matte.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
抠图
from 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,因此用的是这个家族确切的预处理。

Python
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 上提供的引用块。

已针对 LibreYOLO v1.5.0 验证。本页的支持表、检查点和基准测试数据由已发布的库和权重生成,并非手工编写。