Как работает удаление фона нейросетью: сегментация и альфа-маски
Простым языком о том, как работает удаление фона нейросетью: нейронные сети, сегментация изображений, альфа-маски, почему волосы сложнее всего и как улучшить результат.
5 мин чтения

Удаление фона нейросетью работает так: фото пропускается через нейронную сеть, которая на множестве примеров научилась определять, какие пиксели относятся к главному объекту, а какие - к фону. Модель выдаёт маску - карту в оттенках серого, показывающую, насколько каждый пиксель принадлежит объекту, - и эта маска становится прозрачностью итогового PNG. Весь процесс идёт автоматически, без обводки хотя бы одного края вручную.
От ручной обводки к автоматическим маскам
До появления ИИ-инструментов удалить фон значило выделить объект вручную. Дизайнеры рисовали контуры пером, выделяли области похожего цвета «волшебной палочкой» и прорисовывали маски кистью. Инструменты на основе цвета хорошо работают на ровном студийном фоне, но не справляются с обычными фото, где фон пёстрый или близок по цвету к объекту.
Машинное обучение всё изменило. Вместо того чтобы опираться только на цвет, нейросеть изучает формы и контекст объектов: как обычно выглядят человек, ботинок, собака или автомобиль и где, скорее всего, проходит их контур.
Шаг 1: подготовка изображения
Когда вы загружаете фото, оно обычно масштабируется до разрешения, которое ожидает модель, а значения пикселей нормализуются. Модели работают с фиксированным или ограниченным размером входа, поэтому затем система масштабирует результат обратно до размеров исходного изображения.
Шаг 2: нейросеть анализирует изображение
Большинство моделей удаления фона - это свёрточные нейронные сети или сети на основе трансформеров, созданные для сегментации, то есть разметки каждого пикселя. Обычно они состоят из двух частей:
- Энкодер постепенно сжимает изображение в признаки - от простых границ и текстур до высокоуровневых понятий вроде «лицо» или «товар».
- Декодер разворачивает эти признаки обратно до полного разрешения и выдаёт предсказание для каждого пикселя.
Связи между частями передают мелкие детали из ранних слоёв на выход, что важно для точных краёв. Многие модели удаления фона обучены для выделения значимого объекта (salient object detection) или дихотомической сегментации изображений - поиска самого заметного объекта в кадре и точного отделения его от всего остального.
Шаг 3: создаётся маска
На выходе нейросети получается маска той же формы, что и изображение. Вместо жёсткого «да/нет» для каждого пикселя хорошие модели выдают значения от 0 до 1:
- 1 - точно объект.
- 0 - точно фон.
- Промежуточные значения - краевые пиксели, которые частично относятся к объекту и частично к фону, например пряди волос или размытый контур.
Такая мягкая маска называется альфа-маской (alpha matte). Точная оценка этих промежуточных значений называется маттингом - именно он отличает естественную вырезку от вырезки с резкими рваными краями.
Шаг 4: маска превращается в прозрачность
Наконец, маска масштабируется до исходного размера изображения и записывается в альфа-канал. Результат сохраняется в PNG, который умеет хранить непрозрачность каждого пикселя. Подробнее об альфа-каналах - в статье что такое прозрачный PNG.
Как обучаются модели
Модель сегментации обучают на больших наборах изображений с точными масками, созданными людьми или аккуратным композитингом. Во время обучения модель делает предсказания, сравнивает их с правильными масками и подстраивает миллионы внутренних параметров, чтобы уменьшить ошибку. После многих циклов она начинает обобщать и строит маски для фото, которых никогда не видела.
Разнообразие обучающих данных имеет значение. Модель, обученная в основном на портретах, хорошо справится с людьми, но может ошибаться на товарах, и наоборот. Универсальные сервисы удаления фона обучают на широком наборе объектов - люди, животные, товары, транспорт и предметы.
Почему одни фото сложнее других
Даже у сильных моделей есть предсказуемые слабые места:
- Тонкие волосы и шерсть. Тонкие пряди смешивают объект и фон в одном пикселе. Советы - в статье как вырезать волосы на фото.
- Низкий контраст. Белый товар на белом столе почти не даёт модели подсказок, где проходит край.
- Прозрачные и отражающие объекты. Сквозь стекло и воду или на блестящем металле виден фон.
- Неоднозначные объекты. На групповом фото или в загромождённой сцене не всегда понятно, что считать «объектом».
- Низкое разрешение или размытость. Из-за нехватки деталей края становятся неопределёнными. Помогает предварительное увеличение маленького исходника с помощью ИИ-увеличителя.
Сегментация - это не то же самое, что обнаружение объектов
Полезно разделять два близких понятия. Обнаружение объектов рисует прямоугольник вокруг предметов на изображении и подписывает их, например «собака» или «машина». Это удобно для подсчёта или тегов, но прямоугольник слишком грубый для вырезки. Сегментация работает на уровне пикселей и даёт точный контур. Удалению фона нужны сегментация и маттинг: контур сообщает системе, какая область - объект, а альфа-маска - насколько мягким должен быть каждый краевой пиксель. Поэтому сервисы удаления фона повторяют изгиб плеча или просвет между пальцами, а не оставляют прямоугольный кусок фона.
Скорость против качества
Разработчики моделей балансируют между точностью, скоростью и памятью. Более крупные модели и более высокое входное разрешение обычно лучше передают тонкие края, но работают дольше. Маленькие модели быстрее, но могут терять мелкие детали. Некоторые сервисы, включая Remove Photo Bg, запускают модели на собственных серверах, а не отправляют изображения сторонним ИИ-сервисам, - это стоит учитывать при работе с личными фото или ещё не вышедшими товарами.
Как получить лучший результат при удалении фона нейросетью
- Сделайте объект очевидным. Лучше всего работает один главный объект, полностью попадающий в кадр.
- Используйте контраст. Снимайте на фоне, который отличается от объекта по цвету и яркости.
- Следите за резкостью. Хорошая фокусировка и свет дают модели чёткие края.
- Загружайте изображение достаточного размера. Избегайте крошечных миниатюр и сильно сжатых скриншотов.
- Проверяйте края. Увеличьте волосы, пальцы и углы товара, прежде чем использовать результат.
В статье о том, как снимать фото, которые легко вырезать, советы по съёмке разобраны подробнее.
Родственные ИИ-технологии
Удаление фона - одна из нескольких задач обработки изображений с ИИ, построенных на похожих идеях. Инпейнтинг заполняет замаскированную область правдоподобным содержимым - так инструмент удаления объектов стирает лишнее. Сверхразрешение предсказывает недостающие детали для увеличения изображений - так работает ИИ-апскейлинг. Подробнее - в статье что такое ИИ-инпейнтинг.
Посмотрите, как это работает
Удаление фона нейросетью сочетает сегментацию и маттинг, чтобы за один шаг превратить обычное фото в чистую вырезку. Лучший способ понять это - попробовать: загрузите фото в Remove Photo Bg и посмотрите, как модель справляется с краями вашего объекта.