
Почему это не отправляется на сервер
Большинство похожих сервисов присылают фото на свой сервер, вырезают фон там и отдают результат обратно. Им так проще и быстрее, но ваше фото на время оказывается на чужом сервере. Здесь распознавание объекта считает модель ИИ, загруженная прямо в браузер. Она работает через WebAssembly на вашем устройстве, а фото никуда не отправляется. Проверить это можно во вкладке Network браузерных инструментов разработчика: после загрузки модели там не будет ни одного запроса с самим изображением.
Плата за приватность — вес модели
У обработки в браузере есть цена. Чтобы ничего не отправлять на сервер, нужно сначала загрузить саму модель распознавания, а это около 40 МБ при первом запуске на устройстве. Дальше браузер держит её в кэше, и повторных загрузок не будет, пока кэш не очистят вручную. Обработка каждого следующего фото после этого занимает пару секунд. PNG с прозрачным фоном обычно весит больше исходника, если файл нужен полегче, прогоните его через сжатие изображений.
Что модель отделяет хорошо, а где придётся дорабатывать руками:
| Сюжет | Результат |
|---|---|
| Человек на однородном фоне | отделяется чисто, включая контур причёски |
| Предмет на столе | надёжно, если предмет контрастнее фона |
| Волосы и шерсть на пёстром фоне | на просвет остаются артефакты |
| Прозрачное и полупрозрачное: стекло, вуаль | модель считает это фоном и вырезает |
| Несколько людей на общем плане | мелкие фигуры по краям могут пропасть |
Результат сохраняется в PNG: у JPEG нет прозрачности, и вместо вырезанного фона там оказался бы белый прямоугольник.