FeyNoBg 和 NoBg:SOTA 背景移除模型与训练库

FeyNoBg 和 NoBg:SOTA 背景移除模型与训练库

FeyNoBg 在八个背景移除基准测试中实现 SOTA 性能

FeyNoBg 是一种用于自动背景移除的最先进模型,在八个主要基准测试中的四个上领先,并在剩余的四个基准测试中与领先者的差距控制在 2% 以内。它专门设计用于处理低对比度、拥挤场景、伪装以及高分辨率图像(包括 4K 和 8K 场景)等复杂场景。

性能指标

性能通过 S-measure 来衡量,它评估预测前景掩码与正确掩码的准确性,同时奖励完整的主体和忠实的形状。FeyNoBg 在 UHRSD-TE 基准测试上表现出色,得分达到 0.981,而 BiRefNet 的得分为 0.957。

架构改进:扩展 BiRefNet

FeyNoBg 建立在 BiRefNet 架构之上,该架构利用定位模块来查找前景,并利用重建模块来追踪主体的边界。开发者认为特征提取器的第三阶段是在平衡整体主体推理与空间细节方面最关键的。

为了在不丢失现有知识的情况下提升模型保留信息的能力,团队将第三阶段从 18 个块扩展到 24 个块。这使得总参数量从 222M 增加到 263M。通过保留兼容的预训练权重并且仅将六个新块初始化为未训练状态,模型能够学习新技能而不忘记基础模型的能力。

训练策略与数据多样性

有效的背景移除需要前景识别(将主体与背景分离)和图像抠像(追踪如头发或毛发等精确边界)的结合。

克服专业化

仅使用 MaskFactory 数据集进行的初始训练导致模型在 CAMO 基准测试上有所提升,但在 DIS5K 基准测试上出现回退。为了防止模型在某一领域过度专业化,Feyn 采取了以下策略:

  • 多样化数据集构建:团队从 10 个不同的数据集中收集了 26.1K 张图像,涵盖肖像、动漫、伪装和拥挤场景。
  • 限制数据源规模:为了防止任何单一大型数据集主导训练过程,每个数据源的图像数量被限制为 4,000 张。
  • 标准化注释:将分割掩码和 alpha 通道掩码都转换为二值前景掩码,以确保在所有数据源上具有统一的训练目标。

这种多样化的方法成功地扭转了 DIS5K 的回退,使其成为领先的基准测试结果。

NoBg 库:统一的抠像框架

为了解决图像抠像仓库的碎片化问题,Feyn 发布了 NoBg,这是一个开源的 Python 库,提供了一致的界面来运行和训练背景移除模型。

性能与集成

NoBg 旨在实现高吞吐量和低延迟。与原始 BiRefNet 实现相比,NoBg 在批量大小为 1、2 和 4 的情况下表现出更低的峰值 GPU 内存占用和更高的吞吐量。

该库与 Hugging Face 的 Trainer 集成,以实现流畅的训练循环、检查点和评估。它在推理前处理必要的图像调整和归一化,并将模型输出转换为原始图像尺寸的 alpha 通道掩码,以生成透明的 PNG 输出。

社区见解与注意事项

Hacker News 上的社区讨论凸显了背景移除作为核心系统任务的实用性,其重要性可与语音转文本相媲美。然而,一些用户就许可证和实际应用提出了疑问:

为什么要扩展一个采用 MIT 许可证的模型(BiRefNet)的权重,并在 cc-by-nc-4.0 许可证下发布?

其他用户指出了“主体”定义的实际挑战——例如,坐在沙发上的人应该被提取为仅仅是人,还是人和沙发一起——并质疑该模型与专有工具如 Adobe 的 “Select Subject” 和 “Select Person” 功能相比如何。

可用性

  • 模型:可在 Hugging Face 上获取(feyninc/FeyNobg)。
  • :可通过 pip install nobg 获取,或在 GitHub 上获取(feyninc/nobg)。
  • 演示:可作为 Hugging Face Space 获取。

Sources