feynobg
- title
- feynobg
- type
- toolbox
- summary
- Модель удаления фона от Feyn на базе BiRefNet, а также NoBg - библиотека для её обучения и запуска
- tags
- python, computer-vision, image-processing, machine-learning, watchlist
- language
- Python
- license
- Apache-2.0
- created
- 2026-07-29
- updated
- 2026-07-29
- lang
- ru
- translation_of
- feynobg
- source_updated
- 2026-07-29
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
FeyNoBg - модель для удаления фона от Feyn, выпущенная вместе с NoBg, библиотекой на Python, в которой её обучали. Модель выложена на Hugging Face как feyninc/FeyNobg; NoBg ставится через pip install nobg и даёт единый интерфейс для запуска и обучения моделей удаления фона, избавляя от необходимости писать адаптеры под каждый отдельный репозиторий. Оба проекта с открытым исходным кодом.
Главное заявление Feyn из их анонса: на восьми бенчмарках FeyNoBg показывает лучшую опубликованную S-measure на четырёх и отстаёт не более чем на 2% от лидера на оставшихся четырёх. Среди названных бенчмарков - UHRSD-TE, HRSOD-TE, DIS5K, DAVIS-S, DUTS-TE, COD10K-TE, DUT-OMRON и CAMO-TE, которые охватывают камуфляж, низкий контраст, мелкие структуры, высокое разрешение и видео. Единственное сравнение, детально приведённое в посте, касается UHRSD-TE: там для FeyNoBg заявлено 0.981 против 0.957 у BiRefNet. Это пост в блоге разработчиков, а не рецензируемое исследование, а базой для сравнения служит "лучший опубликованный результат", собранный самими Feyn - к этим позициям в рейтинге стоит относиться именно как к заявлениям авторов.
Как устроена модель
Удаление фона требует двух разных навыков. Сначала модель должна отделить передний план от фона, что тривиально на однородном фоне и сложно на перегруженных, низкоконтрастных или камуфлированных сценах, где единственным ориентиром служат форма и контекст. Затем она должна обвести границу, где волосы, шерсть, тонкие провода и смаз в движении сливают одно с другим, и каждому краевому пикселю требуется частичная прозрачность. Второй навык - это image matting. Обучающие данные для этих двух задач обычно различаются, и, по заявлению Feyn, несбалансированная смесь даёт модель, которая хорошо справляется с чем-то одним и хуже с другим - в результате на выходе либо теряются части объекта, либо остаются грязные края.
За основу взяли BiRefNet, чья архитектура уже разделяет эти зоны ответственности: модуль локализации находит передний план, а модуль реконструкции обрисовывает контур, причём оба получают карты признаков из четырёхэтапного feature extractor'а. Третий этап даёт обоим модулям почти всё необходимое: он видит достаточно изображения, чтобы делать выводы обо всём объекте, сохраняя при этом пространственные детали, описывающие его форму. Поэтому Feyn сделали этот этап глубже, увеличив число блоков с 18 до 24:
BiRefNet 222M params depths=[2, 2, 18, 2]
FeyNoBg 263M params depths=[2, 2, 24, 2]
Все совместимые предобученные веса сохранились при расширении, необученными остались только шесть новых блоков. Суть в том, чтобы получить дополнительную ёмкость, не теряя того, что базовая модель уже умела.
История с данными интересна отрицательным результатом. Первый прогон обучали только на MaskFactory - синтетическом наборе, созданном для точной сегментации переднего плана, - и он повёл себя ровно так, как предсказывала гипотеза о специализации: результаты на CAMO выросли, на DIS5K упали. Финальная смесь включила 26.1K изображений из 10 датасетов, охватывающих перегруженные сцены, камуфляж, объекты в высоком разрешении, портреты и аниме; обучение шло 7000 шагов. Перед финальным прогоном состав пересмотрели: добавили 4000 изображений из S3OD, сократили аниме до 500 и убрали ThinObject-5K, HIM-2K и COIFT. Сделать смесь пригодной помогли две нормализации: размер каждого источника ограничили 4000 изображений, чтобы самые крупные не доминировали и не возвращали ту же специализацию, а разметку унифицировали - датасеты сегментации содержат маски переднего плана, датасеты matting'а дают alpha matte, и всё было преобразовано в бинарные маски переднего плана. Последнее решение означает, что датасеты matting'а дали точные контуры объектов, а не обучение полупрозрачности (soft opacity). По утверждению Feyn, более широкая выборка превратила просадку на DIS5K в лучший результат на бенчмарке.
Оценки даны по шкале S-measure (от 0 до 1), которая сопоставляет предсказанный передний план с эталонной маской и учитывает как полноту охвата объекта, так и точность сохранения его формы.
Библиотека
NoBg появилась потому, что сравнение или дообучение (fine-tuning) моделей matting'а обычно требует написания нескольких адаптеров ещё до начала экспериментов. Она повторяет структуру классов AutoModel/AutoProcessor из Hugging Face, берёт на себя масштабирование и нормализацию, преобразует выход модели обратно в alpha matte с исходным разрешением и сохраняет результат в прозрачный 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")
Обучение работает через стандартный transformers.Trainer с collator'ом, который прогоняет изображения и маски через processor, поэтому сохранение чекпоинтов и оценка идут из коробки. Feyn также заявляют, что их реализация BiRefNet превосходит оригинал по пропускной способности, задержке и пиковому потреблению памяти GPU при batch size 1, 2 и 4, не приводя при этом конкретных цифр.
FeyNoBg опирается на BiRefNet (авторы Peng Zheng и др., arXiv:2401.03407), а обучающая выборка использует материалы S3OD (arXiv:2510.21605).
В списке watchlist, пока заявленные позиции в рейтинге нельзя проверить: опубликованы данные только по одной паре бенчмарков из восьми заявленных, показатели пропускной способности не раскрыты, а всё сравнение составлено самими авторами.
github.com/feyninc/nobg - 87 звёзд, Apache-2.0. Веса модели на huggingface.co/feyninc/FeyNobg, с демо-версией в hosted Space.