Нажимаете кнопку — и через секунду фон вашего фото исчез, сменившись чистой шахматной клеткой прозрачности. Похоже на волшебство, но никакого волшебства нет, а на IMG.DIY нет и сервера, который делает работу. Вот что на самом деле происходит между кликом и вырезкой.

Настоящая задача: решить, какие пиксели — «объект»

Как на самом деле работает удаление фона с помощью ИИ? — visual 1
Настоящая задача: решить, какие пиксели — «объект»

Удаление фона — это по сути задача разметки. Для каждого отдельного пикселя изображения программа должна ответить на один вопрос: это часть объекта или часть фона? Сделайте так для всех — и вы получите маску, чёрно-белую карту, где белое значит «оставить», а чёрное — «удалить». Наложите маску на оригинал, выбросьте чёрные области — и вот ваша вырезка.

У этой задачи в компьютерном зрении есть название: сегментация изображения. Точнее, удаление фона использует сегментацию значимого объекта, то есть модель пытается найти ту единственную вещь, о которой, как сказал бы человек, «это фото», и отделить её от всего остального.

Как модель научилась видеть объект

Как на самом деле работает удаление фона с помощью ИИ? — visual 2
Как модель научилась видеть объект

Модель не следует написанным вручную правилам вроде «хватай штуку в форме человека». Это нейросеть, обученная на десятках тысяч изображений, где человек уже нарисовал идеальную маску от руки. Во время обучения сеть делала догадку, её сравнивали с ответом человека, и она чуть-чуть подстраивалась, чтобы ошибаться меньше. Повторите это миллионы раз — и сеть выучивает визуальные закономерности, отделяющие объект переднего плана от окружения: края, изменения текстуры, фокус, контраст, то, как объект обычно оказывается ближе к центру.

Удаление фона на IMG.DIY использует модели из семейства U²-Net — известной архитектуры именно для этого. Доступны две версии:

  • u2netp — маленькая быстрая модель на 4МБ. Отлично для чётких объектов и быстрой работы.
  • silueta — модель побольше на 43МБ, дающая более чистые края, лучше для детальных вырезок.

Обе принимают ваше изображение, прогоняют его через множество слоёв обученных фильтров и выдают ту самую маску «оставить или удалить».

Почему это работает в браузере, а не на сервере

Большинство сервисов удаления фона загружают ваше фото в дата-центр, запускают модель на своём железе и присылают результат обратно. Это работает, но значит, что ваше изображение хоть и ненадолго, но оказывается на чужом компьютере.

IMG.DIY делает иначе. Такая же нейросеть работает внутри вашего браузера с помощью двух веб-технологий:

  • WebAssembly (WASM) позволяет браузеру выполнять скомпилированный код почти с нативной скоростью — а именно это нужно для математики модели.
  • ONNX Runtime — движок, который фактически исполняет обученную модель в этой среде.

Файл модели скачивается один раз, затем все вычисления идут на вашем собственном процессоре (или видеокарте). Ваше фото читается с диска, превращается в сетку чисел, проталкивается через сеть и собирается обратно как вырезка — и всё это без единого байта, покидающего вашу машину.

Что обработка в браузере значит для вас

Из этого устройства вытекают три практических следствия.

Приватность структурна, а не обещание. Множество сайтов говорят «мы не храним ваши изображения». Здесь изображение никуда не отправляется, поэтому и хранить нечего. Это важнее всего для фото на документы, самих документов, прототипов продукта или всего, что вы предпочли бы не отдавать чужому серверу.

Оно работает офлайн. Поскольку IMG.DIY — это PWA с сервис-воркером, инструменты продолжают работать без соединения. У удаления фона есть одна оговорка: модель нужно скачать в первый раз (тот самый файл 4МБ или 43МБ). После этого можно вырезать фон в самолёте, поезде или при шатком гостиничном соединении.

Нет очереди и ожидания загрузки. Вы не соперничаете с другими пользователями за общий сервер и никогда не ждёте, пока большое фото загрузится. Скорость обработки зависит от вашего устройства, так что современный ноутбук справляется с большинством изображений за пару секунд.

Где модели всё ещё пасуют

Понимание механизма подсказывает и то, где он ломается. Тонкая, лёгкая деталь вроде выбившихся волос или шерсти по-настоящему сложна, потому что отдельный волосок тоньше уверенности модели, и она может угадать «фон» вдоль края. Низкоконтрастные сцены (серый кот на сером диване) дают сети слишком мало для разделения. А пёстрый фон, похожий на объект по цвету и текстуре, может сбить разметку с толку.

Для чистых объектов на отчётливом фоне результаты отличные. Для сложных случаев быстрая ручная доработка краёв доводит дело до конца. В любом случае весь процесс идёт на вашем устройстве, во вкладке браузера, за секунды, а хорошее удаление фона берёт на себя тяжёлую работу.