# FeyNoBg 发布：开源自动背景去除模型，在四项基准上达到 SOTA

- 来源：Hacker News 热门（buzzing.cc 中文翻译）
- 作者：snyy
- 发布时间：2026-07-28 12:57
- AIHOT 分数：71
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cms47q4jj00mxroep0x4at5sf
- 原文链接：https://usefeyn.com/blog/feynobg

## 精选理由

FeyNoBg 在多个背景去除基准上达到或接近最佳，还开源了训练库，做图像处理的产品可以直接集成，是个实在的工具发布。

## AI 摘要

Feyn Labs 推出 FeyNoBg，一个用于自动背景去除的 SOTA 模型。它在八个基准测试中的四项上取得最佳 S-measure 分数，其余四项与领先者差距在 2% 以内。该模型基于 BiRefNet 架构，参数量从 222M 扩展至 263M，同时开源了训练库 NoBg，模型和代码分别可在 Hugging Face 和 GitHub 获取。

## 正文

研究 · 实地笔记

FeyNoBg：用于背景去除的 SOTA 模型

作者

Hafedh Hichri, Shreyash Nigam

所属机构

Feyn Labs

发布时间

2026 年 7 月 21 日

阅读时间

8 分钟

原始背景已去除

我们推出了 FeyNoBg，这是一款用于自动背景去除的最先进模型。在八个基准测试中，它在四项上取得了已发表的最佳 S-measure 分数，并在其余四项上距离领先者不到 2%。

基准测试 UHRSD-TE

FeyNoBg 0.981

BiRefNet 0.957

Description

测试超高分辨率图像（包括 4K 和 8K 场景）中的显著目标蒙版。

我们还发布了 NoBg，这是我们用于训练模型的库。使用 NoBg 可以运行 FeyNoBg，或训练你自己的背景去除模型。

两者均为开源。在 Hugging Face 上下载 FeyNoBg，或在 GitHub 上使用 NoBg 进行构建。

去除需要组合

在计算机中，图像以像素网格的形式存储。背景去除算法的目标是为每个像素预测一个不透明度值，使得背景像素变为透明，前景像素保持不透明，而边界像素变为半透明。

生成这个不透明度图需要两种技能。首先，模型必须将前景与背景分离。当主体位于纯色背景前时，这可以通过比较颜色轻松完成。然而，在低对比度、拥挤或具有伪装效果的图像中，模型必须利用形状、纹理和上下文来识别哪些像素构成了主体。

其次，模型必须追踪前景的边界。在简单图像中，颜色或纹理的急剧变化提供了强烈的边缘信号。但真实的边界要困难得多。头发、毛发、细线和运动模糊会使前景和背景元素混合在一起。模型必须测量一个边缘像素有多少属于主体，并据此设置其不透明度。这被称为图像抠图。

通常，这些技能是通过不同类型的数据集来训练的。这会产生一个失败点。糟糕的训练混合可能导致模型失衡，一项技能的提升以牺牲另一项技能为代价。输出结果要么遗漏了主体的部分区域，要么边缘不干净。

真实图像是复杂的，需要在前景识别和边界精度方面具备高超技巧。这是我们在训练 FeyNoBg 时的关键洞察。

创造学习空间

我们选择 BiRefNet 作为 FeyNoBg 的基础，因为其架构已经符合我们的目标。BiRefNet 赋予模型两个部分互补的职责：其定位模块负责寻找前景，而重建模块则追踪主体的边界。

模型首先将输入图像送入一个分四个阶段运行的特征提取器。早期阶段捕捉局部细节，后期阶段则将收集到的细节组合成更广泛的图像表征，称为特征图。定位模块利用这些特征图寻找主体，而重建模块则利用它们恢复主体的边界。

特征提取器的第三阶段承担着最艰巨的任务。它既能观察到足够多的图像信息以推理整个主体，同时又能保留表征主体形状所需的空间细节。定位和边界重建都高度依赖于该阶段生成的特征图。

鉴于该阶段拥有丰富的图像表征，我们预期在此处增加深度有助于模型更好地保留信息，从而提升性能。因此，我们将第三阶段从 18 个块扩展至 24 个块。这使得模型规模从 2.22 亿参数适度增长至 2.63 亿参数。

原始模型 BiRefNet 2.22 亿参数 深度=[2, 2, 18, 2]

扩展后模型 FeyNoBg 2.63 亿参数 深度=[2, 2, 24, 2]

在扩展过程中，我们保留了所有兼容的预训练权重。只有新增的六个块从零开始训练。这使得 FeyNoBg 在不忘却基础模型已有知识的前提下，获得了学习新技能的额外能力。

有了更多的学习空间，是时候教老模型一些新技巧了。

多样化数据的优势

我们的首次训练使用了 MaskFactory，这是一个为精确前景分割而创建的合成图像与掩码对数据集。本次训练仅使用了这一个数据集。

如果我们的直觉正确，生成的模型会在某些基准测试上有所提升，而在其他基准测试上则会出现退步。这正是我们在受控评估中观察到的情况：模型在 CAMO 基准测试上有所改进，但在 DIS5K 上出现了退步。

接下来，我们专注于构建一个更多样化的数据集。我们从 10 个数据集中收集了 26,100 张图像，涵盖拥挤场景、伪装、高分辨率主体、肖像和动漫，然后进行了 7,000 步的训练。我们的目标是让模型在训练过程中尽可能多地接触各种场景。

训练混合了来自十个来源的 26,100 个样本

数据集 S3OD

What it added

旨在帮助模型超越熟悉图像集合进行泛化的合成场景。

在最终运行之前，我们修改了最初的混合方案。我们从 S3OD 中增加了 4,000 张图像，将动漫图像减少到 500 张，并移除了 ThinObject-5K、HIM-2K 和 COIFT。这样我们只保留了那些能提供最有用、最一致训练样本的来源。

合并这些数据集带来了两个问题。首先，它们的大小差异很大。如果不加限制，最大的来源会主导训练过程，导致我们之前看到的同样特化问题。因此，我们将每个来源的上限设为 4,000 张图像，然后将它们混合在一起。

其次，这些数据集使用了不同的标注方式。分割数据集提供前景掩码，而抠图数据集则提供 Alpha 通道遮罩。我们将两者都转换为二值前景掩码，这样每张图像都共享相同的训练目标。

因此，抠图数据集贡献的是轮廓精确的主体，而非软透明度监督。

这为我们提供了一个经过精心设计、图像多样化的统一训练集。现在，我们的模型可以学习在更广泛的场景中识别并勾勒出前景。

结果

为了评估性能，我们记录了 S-measure 指标。该指标评分范围为 0 到 1，通过比较预测的前景与正确的掩码来评估。它既奖励完整的主体，也奖励忠实的形状。分数越高越好。

我们将 FeyNoBg 的 S-Measure 与八个基准测试（涵盖伪装、低对比度场景、精细结构、高分辨率图像和视频）上已发表的最佳结果进行了比较。FeyNoBg 在其中四个基准测试上领先，并在其余四个基准测试上与领先者的差距在 2% 以内。

UHRSD-TE

HRSOD-TE

DIS5K

DAVIS-S

DUTS-TE

COD10K-TE

DUT-OMRON

CAMO-TE

值得注意的是，更广泛的训练混合数据将我们的 DIS5K 回归任务变成了基准测试领先的结果。

NoBg 库

图像抠图模型通常以独立的代码仓库形式发布。要比较不同模型或对某个模型进行微调，需要在开始任何实验之前编写多个适配器。这种设置很快就会变得过于混乱和令人沮丧，难以开展高质量的工作。

为了解决这个问题，我们创建了 NoBg。这是一个 Python 库，它提供了一致的接口来运行和训练背景移除模型。我们自己也使用它来训练 FeyNoBg。

为了鼓励该领域的更多发展，我们以开源形式发布了 NoBg。你可以用它来运行 FeyNoBg，或者训练你自己的模型。

高性能且便捷

一致的接口不应以牺牲性能为代价。我们比较了 NoBg 的 BiRefNet 与原始实现在批大小分别为 1、2 和 4 时的表现。NoBg 在每种批大小下都实现了更高的吞吐量、更低的延迟和更低的 GPU 峰值内存占用。

运行 FeyNoBg

NoBg 在推理前会对图像进行大小调整和归一化处理。然后，它会将模型输出转换为原始尺寸的 alpha 遮罩，并将抠图结果保存为透明 PNG 格式。

import torch from loadimg import load_img from nobg import AutoModel, AutoProcessor

model = AutoModel.from_pretrained("feyninc/FeyNobg").eval() processor = AutoProcessor.from_pretrained("feyninc/FeyNobg")

image = load_img("input.jpg").convert("RGB") inputs = processor(image, return_tensors="pt")

with torch.inference_mode(): outputs = model(pixel_values=inputs["pixel_values"])

alpha = processor.post_process_alpha_matting( outputs, target_sizes=[(image.height, image.width)], )[0]

processor.cutout(image, alpha).save("output.png")

训练你自己的模型

NoBg 提供了在你自己提供的图像和遮罩对上训练 BiRefNet 所需的模型、处理器和损失函数。它还可以与 Hugging Face Trainer 配合使用，后者负责处理训练循环、检查点保存和评估。给定一个包含图像和遮罩列的数据集，训练过程如下所示：

from nobg import AutoModel, AutoProcessor from transformers import Trainer, TrainingArguments

model = AutoModel.from_pretrained("feyninc/FeyNobg") processor = AutoProcessor.from_pretrained("feyninc/FeyNobg")

def collate(examples): batch = processor( images=[example["image"] for example in examples], segmentation_maps=[ example["mask"].convert("L") for example in examples ], return_tensors="pt", ) return { "pixel_values": batch["pixel_values"], "labels": batch["labels"], }

trainer = Trainer( model=model, args=TrainingArguments( output_dir="outputs", learning_rate=2e-5, ), train_dataset=dataset, data_collator=collate, ) trainer.train()

从 Hugging Face 下载 FeyNoBg，并使用 NoBg 运行该模型。在我们的 Hugging Face Space 中在线试用。

使用 pip install nobg 安装 NoBg。你也可以在 GitHub 上找到它。

FeyNoBg 和 NoBg 由 Feyn 构建。你可以在 X、GitHub 或 LinkedIn 上找到我们。

致谢

FeyNoBg 基于 BiRefNet 以及彭政、高德宏、范登平、刘丽、Jorma Laaksonen、欧阳万里和 Nicu Sebe 的工作。我们也感谢在此过程中发布模型、代码和数据集的团队。

参考文献

[1]

Zheng 等人。"Bilateral Reference for High-Resolution Dichotomous Image Segmentation."

CAAI 人工智能研究

3 (2024).

arXiv:2401.03407

.

[2]

Sargsyan 和 Navasardyan。"FlowDIS: Language-Guided Dichotomous Image Segmentation with Flow Matching."

CVPR

2026年。

arXiv:2605.05077

。

[3]

Kupyn、Kataoka 和 Rupprecht 合著论文《S3OD：基于合成数据实现可泛化的显著目标检测》。

arXiv:2510.21605

（2025年）。

引用此注释。

@note{feynobg2026, title = {FeyNoBg: Better Background Removal Without Forgetting}, author = {Hichri, Hafedh and Nigam, Shreyash and Feyn Research}, year = {2026}, venue = {Feyn Field Notes} }
