Натискаєте кнопку — і за секунду фон вашого фото зникає, замінений чистою шахівницею прозорості. Це схоже на магію, але магії немає, і на IMG.DIY немає сервера, який робить цю роботу. Ось що насправді відбувається між натисканням і вирізаним об'єктом.

Справжнє завдання: вирішити, які пікселі є «об'єктом»

Як насправді працює видалення фону за допомогою ШІ? — visual 1
Справжнє завдання: вирішити, які пікселі є «об'єктом»

Видалення фону — це насправді задача маркування. Для кожного окремого пікселя зображення програма має відповісти на одне питання: це частина об'єкта чи частина фону? Зробіть це для всіх — і ви отримаєте маску, чорно-білу карту, де біле означає «зберегти», а чорне — «видалити». Накладіть маску на оригінал, викиньте чорні ділянки — і отримаєте вирізаний об'єкт.

У комп'ютерному зорі це завдання має назву: сегментація зображення. Точніше, видалення фону використовує сегментацію значущого об'єкта, тобто модель намагається знайти те єдине, про що, на думку людини, це фото, і відокремити його від усього іншого.

Як модель навчилася бачити об'єкт

Як насправді працює видалення фону за допомогою ШІ? — visual 2
Як модель навчилася бачити об'єкт

Модель не слідує написаним вручну правилам на кшталт «схопи те, що має форму людини». Це нейронна мережа, натренована на десятках тисяч зображень, де людина вже намалювала ідеальну маску вручну. Під час тренування мережа робила припущення, порівнювалася з відповіддю людини і трохи підлаштовувалася, щоб помилятися менше. Повторіть це мільйони разів — і мережа вивчає візуальні патерни, що відділяють об'єкт переднього плану від оточення: краї, зміни текстури, фокус, контраст, те, як об'єкт зазвичай сидить ближче до центру.

Видалення фону на IMG.DIY використовує моделі родини U²-Net — відому архітектуру саме для цього. Доступні дві версії:

  • u2netp — маленька, швидка модель 4MB. Чудова для чітких об'єктів і швидкої роботи.
  • silueta — більша модель 43MB, що дає чистіші краї, краща для деталізованих вирізів.

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

Чому воно працює у браузері, а не на сервері

Більшість засобів видалення фону завантажують ваше фото в дата-центр, запускають модель на своєму обладнанні й надсилають результат назад. Це працює, але означає, що ваше зображення, хай і на мить, лежить на чужому комп'ютері.

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

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

Файл моделі завантажується один раз, потім усі обчислення відбуваються на вашому власному CPU (або GPU). Ваше фото зчитується з диска, перетворюється на сітку чисел, проганяється через мережу і збирається назад як вирізаний об'єкт — і жоден байт не залишає вашу машину.

Що обробка в браузері означає для вас

З цього дизайну випливають три практичні наслідки.

Приватність структурна, а не обіцянка. Багато сайтів кажуть «ми не зберігаємо ваші зображення». Тут зображення взагалі нікуди не надсилається, тож зберігати нема чого. Це найважливіше для фото на документи, самих документів, прототипів продуктів чи будь-чого, що ви не хотіли б віддавати серверу незнайомця.

Воно працює офлайн. Оскільки IMG.DIY — це PWA із сервіс-воркером, інструменти продовжують працювати без з'єднання. У видалення фону є одна зірочка: модель має завантажитися першого разу (файл 4MB чи 43MB, згаданий вище). Після цього ви можете вирізати фон у літаку, потязі чи на нестабільному готельному з'єднанні.

Немає черги й немає очікування на завантаження. Ви не змагаєтеся з іншими користувачами за спільний сервер і ніколи не чекаєте, поки велике фото завантажиться. Швидкість обробки залежить від вашого пристрою, тож сучасний ноутбук впорається з більшістю зображень за кілька секунд.

Де моделі все ще мають труднощі

Розуміння механізму також підказує, де воно ламається. Тонка, ниткоподібна деталізація на кшталт розкиданого волосся чи хутра справді складна, бо окрема волосина тонша за впевненість моделі, і вона може вгадати «фон» уздовж краю. Низькоконтрастні сцени (сірий кіт на сірому дивані) дають мережі мало чого для розділення. А насичений фон, схожий на об'єкт кольором і текстурою, може заплутати маркування.

Для чистих об'єктів на виразному фоні результати чудові. Для складних випадків швидка ручна правка країв завершує роботу. У будь-якому разі весь процес відбувається на вашому пристрої, у вкладці браузера, за секунди, а всю важку роботу виконує хороший засіб видалення фону.