Google перенесла модульний фреймворк машинного навчання в браузер

Компанія Google створила браузерну версію фреймворку MediaPipe, що дозволяє створювати і виконувати модульні алгоритми машинного навчання, повідомляється в блозі Google Developers. Розробники створили сайт, на якому можна випробувати кілька базових алгоритмів комп'ютерного зору.


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


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

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

Тепер розробники MediaPipe створили браузерну версію фреймворку, що дозволяє запускати майже на будь-якій платформі без необхідності в установці програми. Ця версія заснована на WebAssembly, який дозволяє компілювати вихідний код на C++ в низькорівневий код, що виконується у віртуальній машині в браузері. Це дозволяє зробити код платформонезалежним, а також виконувати його набагато швидше, ніж JavaScript.

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

Крім подібних «сирих» алгоритмів, існують і цілком практичні алгоритми, які можна використовувати на смартфонах в реальному житті. Наприклад, нещодавно Samsung представила алгоритм, що дозволяє друкувати на плоскій поверхні перед смартфоном, який за допомогою камери розпізнає ці дотики і перетворює на текст. Крім того, різкий прогрес в якості фотографій на смартфон багато в чому пов'язаний саме з алгоритмами машинного навчання. Детальніше, про роботу камер сучасних смартфонах можна дізнатися з нашого матеріалу «Зряча математика».

COM_SPPAGEBUILDER_NO_ITEMS_FOUND