/ Модель

Характеристики

Лицензия
MIT
Библиотека
refiners
Опубликована
29 авг 2024

finegrain-box-segmenter

Генерация масокИзображение → mask3 профессии

Модель Finegrain на основе MVANet создаёт маски высокого разрешения для выделения объектов на изображениях по ограничивающей рамке и удаления фона.

14 377скачиваний за 30 дней130лайковвеса обновлены11 сен 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Finegrain Box Segmenter — модель компании Finegrain для выделения объектов на изображениях и создания масок высокого разрешения. Она основана на MVANet и обучена для сегментации с подсказкой в виде ограничивающей рамки. Модель формирует маски размером до 1024×1024 и альфа-маски, пригодные для вырезания объекта без дополнительной постобработки или trimap. Также её можно использовать как средство удаления фона без рамки.

Модель предназначена прежде всего для сценариев электронной коммерции и редактирования изображений: можно выделить товар или другой объект, чтобы удалить или заменить фон, перекрасить объект либо подготовить его к дальнейшей обработке. Обучение включало синтетические изображения предметов интерьера и естественные студийные и пользовательские фотографии распространённых объектов. По описанной авторами оценке на тестовом наборе Finegrain Product Masks Lite модель показала более высокие значения MAE, S-measure, E-measure и Dice, чем приведённые в README сравниваемые решения.

Finegrain Box Segmenter не принимает текстовую подсказку напрямую: для выбора объекта обычно требуется рамка. Модель испытывает трудности, когда объект касается края изображения, а также на случаях с сильными тенями, отражениями и объектами в руках; маттинг прозрачных и несалиентных объектов не поддерживается. Авторы также сообщают, что не проводили полного аудита смещений и справедливости. Репозиторий распространяется по лицензии MIT.

Сценарии применения

  • вырезание товара из фотографии по ограничивающей рамке
  • удаление фона вокруг выбранного объекта
  • подготовка маски для замены или изменения фона изображения
  • создание маски объекта для перекрашивания или редактирования
  • выделение предметов интерьера и распространённых товаров на фотографиях

Ограничения

Текстовые подсказки не поддерживаются напрямую; модель может ошибаться, если объект касается края изображения, имеет сильные тени или отражения либо находится в руках. Не поддерживается маттинг прозрачных и несалиентных объектов; полный аудит смещений и справедливости не проводился.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Release note for Finegrain Box Segmenter v0.1

Demo

If you want to give the Finegrain Box Segmenter a try, the best way to is take a look at the Finegrain Object Cutter Space we shipped on Hugging Face: it's a fun "prompt to cut out" experience that will enable you to create pixel quality and high resolution cutouts for any object in a photo, by just naming the object.

Motivation

While building Finegrain, we needed a way to create pixel perfect and high resolution cutouts for objects in images. We looked at off-the-shelf solutions, but they simply didn't work for us:

  • On the one hand, traditional background removal models are great at producing HD cutouts, but unfortunately, different people will have different definitions for background and foreground in a given image - a way to prompt these models is missing.
  • On the other hand, new promptable approaches like SAM or SAM2 don't meet the quality bar for the use cases we are pursuing: they are generating internally a 256x256 low resolution mask - with built-in upscaling mechanisms that create artefacts and struggle with complex masks (a la Eiffel Tower).

The Finegrain Box Segmenter avoids these pitfalls by training MVANet to be a box-promptable High Definition (1024x1024) object-cutout model, making no assumption on what is background and what is foreground: users are fully in control.

License

The Finegrain Box Segmenter is published under the MIT license. Have fun using it in your projects! If you want an optimized version (speed and accuracy wise), we offer an API - just ping us!

Features

The Finegrain Box Segmenter:

  • produces HD and pixel quality masks,
  • gives control to users via box prompting,
  • outputs alpha masks: you can use it as an end-to-end Matting Segmenter without any post-processing or trimap.

Use cases

You should think of the Finegrain Box Segmenter as a way to select an object in a image, with pixel level accuracy, and in high resolution.

It's a prerequisite for a number of object manipulation tasks like:

  • Remove the background around an object
  • Change the background around an object
  • Erase an object from an image
  • Recolor an object in an image
  • Replace an object in an image
  • ...

Out-of-the box, the Finegrain Box Segmenter requires a bounding box as an input, but you can easily augment it to enable "prompt to select object" scenarios - see the Finegrain Object Cutter Hugging Face space for an example implementation.

Training

Our focus at Finegrain is e-commerce. We therefore trained our model with product datasets coming from 2 sources:

  • Nfinite:
  • Finegrain:
    • 1184 images sourced via hard negative mining
    • Natural data (both studio and UGC photos)
    • 1479 pixel quality masks
    • Common objects
    • Closed source

We moved away from the usual random crop approach. Instead, we designed our custom cropping strategy to make sure the model understands what object to select in a given bounding box. We used batch sizes of 5 to improve the training stability.

Evaluation

Given our focus on e-commerce, we crafted a specific test set, and in order to ease benchmarking with other models and solutions, we decided to open source part of it as the Finegrain Product Masks Lite, containing 120 pixel quality masks of common objects (both UGC and studio photos).

We're using the usual metrics, namely MAE, Smeasure, Emeasure and Dice, computed with PySODMetrics. We'll add more later to account for matting aspects (transparent objects) - still a work-in-progress on our end.

ModelMAE ↓Smeasure ↑Emeasure ↑Dice ↑
briaai/RMBG-1.4 (x)0.022690.7%94.3%88.5%
ZhengPeng7/BiRefNet (xx)0.019493.1%95.1%91.5%
finegrain/finegrain-box-segmenter0.007897.4%98.5%96.7%

(x) Using Cropping with 5% margin

(xx) Using "Segmentation With Box Guidance" from BiRefNet

Limitations

The Finegrain Box Segmenter v0.1 has a number of limitations that will be tackled in future versions:

  • prompting is not baked in yet,
  • it struggles when the object is touching the side of the image,
  • it doesn't support yet matting of STM (Salient Transparent/Meticulous Objects) or NS (non-salient) masks (see Deep Automatic Natural Image Matting for definition of SO/STM/NS),
  • it doesn't fully nail yet hard cases like hard shadows, strong reflections or hand-held configurations:

Bias and Fairness

Given our focus on e-commerce, we haven't yet conducted a thorough bias and fairness review. It will be tackled in future releases.

Usage

With refiners (https://github.com/finegrain-ai/refiners)

from PIL import Image
from refiners.solutions import BoxSegmenter

input_image = Image.open("input.png") 

# Downloads the weights from finegrain/finegrain-box-segmenter
segmenter = BoxSegmenter()
# box_prompt is (x_min, y_min, x_max, y_max)
mask = segmenter(input_image, box_prompt=(24, 133, 588, 531))
# Or without box_prompt as a background remover
# mask = segmenter(input_image.convert("RGB"))
mask.save("output.png")

With ComfyUI (https://registry.comfy.org/publishers/finegrain/nodes/comfyui-refiners)

Install the comfyui-refiners custom nodes:

comfy node registry-install comfyui-refiners

Example workflow Workflow

Via our HuggingFace Space (https://huggingface.co/spaces/finegrain/finegrain-object-cutter)

You can directly try it for free on our space, you may get rate-limited by ZeroGPU though. You will have better performances running the model yourself, and even more from our API (just ping us!)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · refiners · mask-generation

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
9884de4

0 моделей