发丝级 AI 抠图模型开源:8 项基准测试拿下 4 个第一

抠图大概是最常用却最容易被低估的 AI 能力之一——做聊天表情包、电商产品图、海报设计都离不开它。但看似简单的「把主体从背景里抠出来」,实际上是个相当棘手的技术难题:发丝、迷彩、运动模糊、自行车辐条这类细节,常常让模型「翻车」。7 月 21 日,初创公司 Feyn Labs 发布了自动抠图模型 FeyNoBg,并同步开源了配套训练库 NoBg。在八项主流基准测试中,该模型在四项上刷新了已发表的最好成绩,其余四项与榜首的差距也都在 2% 以内。

抠图为什么难:两种能力,一个都不能少

按照 Feyn Labs 研究团队(作者为 Hafedh Hichri 和 Shreyash Nigam)的说法,抠图算法的目标是为图像中的每个像素预测一个不透明度:背景像素变透明,前景像素保持不透明,边缘像素则呈半透明过渡。

这需要模型同时具备两种能力。第一是「找得到」:在低对比度、画面拥挤或主体与背景近似伪装的场景里,模型必须依靠形状、纹理和上下文来判断哪些像素属于主体。第二是「描得准」:头发、绒毛、细电线和运动模糊会让前景与背景彼此交融,模型需要精确估算每个边缘像素有多少属于主体,这一步在业内被称为图像抠像(image matting)。

麻烦在于,这两种能力通常要用不同类型的数据分别训练,配比不当就会顾此失彼——要么主体缺一块,要么边缘毛毛糙糙。

站在开源模型肩膀上「加层」

FeyNoBg 没有从零造轮子,而是选择了知名开源模型 BiRefNet 作为基座。研究团队判断,特征提取器的第三阶段承担着最重的任务——既要看懂整个主体,又要保留足够的空间细节——于是把该阶段的网络块从 18 个扩展到 24 个,参数量从 2.22 亿小幅增至 2.63 亿。扩容时保留了所有兼容的预训练权重,只有 6 个新增块从头训练,让模型在不遗忘既有能力的前提下获得新的学习空间。

数据侧的功夫同样关键。团队最初只用合成数据集 MaskFactory 训练,结果不出所料:CAMO 基准的成绩上去了,DIS5K 却退步了。随后他们改用多元配方——从 10 个数据集中汇集 2.61 万张图像,覆盖拥挤场景、伪装目标、高分辨率主体、人像和动漫等类型,每个数据源最多取 4000 张以防「一家独大」,统一标注格式后混合训练 7000 步。

这套组合拳的效果立竿见影:此前退步的 DIS5K 反而变成了领先项目。在超高分辨率基准 UHRSD-TE 上,FeyNoBg 的 S-measure(结构度量,取值 0 到 1,越高越好)达到 0.981,明显超过 BiRefNet 的 0.957;HRSOD-TE 上以 0.983 对 0.961 领先;DIS5K 和视频基准 DAVIS-S 也拿下头名。在其余四项(DUTS-TE、COD10K-TE、DUT-OMRON、CAMO-TE)上,它与最佳成绩的差距均不到 2%。

模型和训练库全部开源

除了模型本身,Feyn Labs 还开源了训练框架 NoBg。团队指出,抠像模型通常以孤立代码仓库的形式发布,研究者想对比或微调不同模型,得先写一堆适配代码。NoBg 提供了统一的 Python 接口,既能直接运行 FeyNoBg,也能用来训练自定义的抠图模型,且性能与原始实现相当。

目前,FeyNoBg 模型已上架 Hugging Face(提供在线试用 Demo),NoBg 库托管在 GitHub,均可免费获取。对于经常和抠图打交道的设计师、开发者来说,这可能是近期最值得上手一试的开源工具之一。

来源:编译自 Feyn Labs 官方博客《FeyNoBg: A SOTA Model For Background Removal》及 Hacker News 发布帖。