FeyNobg

Модель для удаления фона от Feyn Inc., которая углубляет архитектуру BiRefNet и переобучает её. В LibreYOLO есть инференс и валидация для задачи matte из FeyNobg.

Задачи
matte
Размеры
l at 1024 px
Установка
pip install libreyolo
Уровень поддержки
Только инференс, начиная с v. Только предсказание, валидация и экспорт. Функции обучения неприменимы.
Исходный проект
FeyNobg от Feyn Inc., Apache-2.0. Статья, исходный код
Лицензии
Код: MIT, веса: Apache-2.0. Коммерческое использование

Установка

FeyNobg не требует установки дополнительных extra-пакетов. Всё, что он импортирует, входит в базовую установку.

bash
pip install libreyolo

Предсказание

Чекпойнт скачивается из организации LibreYOLO на Hugging Face при первом запуске и кэшируется локально, как и в любом другом семействе, хотя в таблице чекпойнтов на этой странице он пока не указан.

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 плюс альфа-маска как альфа-канал.rgba = result.cutout()result.save("subject.png")

В результате задачи matte нет рамок; result.matte — плотный массив (H, W) типа float32 со значениями в [0, 1], где 1 — полностью передний план, а 0 — полностью фон. В отличие от бинарной маски, мягкая альфа-маска сохраняет сглаженные детали на краях: например, волосы и шерсть. result.cutout() собирает исходное изображение с этим альфа-каналом в RGBA-массив, а result.save(path) (или save=True в вызове предсказания) сразу записывает его в PNG с прозрачным фоном. Модель работает на фиксированном родном холсте 1024x1024; другое разрешение не поддерживается, потому что к нему привязаны таблицы относительных позиций бэкбона Swin, и при несовпадении они интерполируются некорректно, а не вызывают ошибку. Об источниках, стриминге и обработке результатов — в разделе предсказание.

Варианты

Опубликован один размер, l, — бэкбон уровня Swin-L. FeyNobg берёт архитектуру BiRefNet и углубляет её третью стадию Swin с 18 до 24 блоков, а затем переобучает, поэтому порт в LibreYOLO переиспользует прямой проход, предобработку и контракт вывода с одним логитом из BiRefNet; предсказание, валидация и работа с чекпойнтами устроены так же, как в семействе birefnet.

Валидация

val() считает две метрики по папке с парами изображение/альфа-маска; обе лежат в [0, 1] и не зависят от разрешения: MAE — средняя абсолютная ошибка относительно эталонной альфа-маски (ground truth), чем меньше, тем лучше, и S-measure (Fan et al., ICCV 2017) — структурное сходство, которое учитывает сохранение формы объекта и отверстий в нём, чего попиксельный MAE сам по себе не замечает (чем больше, тем лучше). Валидация идёт через собственный predict модели, поэтому использует ровно ту предобработку, что принята в семействе.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreFeyNobgl-matte.pt") # Вместо YAML датасета подойдёт и каталог с images/ и автоматически# найденным каталогом альфа-масок (mattes/, matte/, gt/, masks/,# mask/ или alpha/).metrics = model.val(data="my-matte-dataset/") print(metrics["metrics/MAE"])print(metrics["metrics/Smeasure"])

Валидация работает только на инференсе. В исходной библиотеке nobg есть код обучения под Apache-2.0; дообучение (fine-tuning) сегодня означает обучение там и конвертацию результата собственным скриптом конвертации LibreYOLO, а не вызов train() в этом семействе — он вызывает ошибку, а не запускает частично готовый trainer.

Лицензирование

Проверяйте лицензию в репозитории конкретных весов на Hugging Face. Она указана для каждого чекпойнта в организации LibreYOLO и может различаться даже внутри одного семейства. Этот репозиторий считается авторитетным источником, а сводка ниже описывает условия на момент последней проверки страницы.

Это описание соответствующих лицензий, а не юридическая консультация. Если ответ важен для коммерческого использования, прочитайте лицензии самостоятельно и проконсультируйтесь с юристом.

Оригинальная работа
FeyNobg, Feyn Inc.
Лицензия исходного проекта
Apache-2.0
Исходный код проекта
github.com/feyninc/nobg
Код 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. Таблицы поддержки, чекпойнты и результаты бенчмарков на этой странице сгенерированы из выпущенной библиотеки и опубликованных весов, а не написаны вручную.