Google представила MediaPipe - модульный фреймворк машинного обучения для браузера
Google представила MediaPipe - модульный фреймворк машинного обучения для браузера
Google создала браузерную версию фреймворка MediaPipe, позволяющего создавать и выполнять модульные алгоритмы машинного обучения, сообщается в блоге Google Developers
https://developers.googleblog.com/2020/01/mediapipe-on-web.html
Разработчики MediaPipe создали сайт https://viz.mediapipe.dev/, на котором можно опробовать несколько базовых алгоритмов компьютерного зрения. Фреймворк MediaPipe простым образом объединяет базовые алгоритмы компьютерного зрения в конвейер, который развертывается на все основные платформы, без необходимости в адаптации под каждую из них в отдельности. В GitHub фреймворка есть примеры для: модели руки в реальном времени, сегментации волос; обнаружения и отслеживания объектов; обнаружения лиц и некоторые другие.
За последнее десятилетие исследователи в области машинного обучения достигли огромного прогресса в этой области и их алгоритмы стали все чаще применяться на практике. Однако до сих пор распространение алгоритмов машинного обучение во многом сдерживается техническими проблемами, связанными с их применением. Одна из ключевых проблем заключается в том, что многие алгоритмы, в том числе алгоритмы компьютерного зрения, требуют слишком больших ресурсов для работы в реальном времени на смартфонах и обычных компьютерах. Кроме того, как в других областях программирования, перед разработчиками встает вопрос переносимости их программ, повторного использования открытого кода и быстрого развертывания.
Разработчики из Google создали фреймворк MediaPipe, который во многом решает эти проблемы. В нем разработчик может брать уже написанные другими программистами базовые алгоритмы компьютерного зрения и простым образом объединять их в нужный ему конвейер. Кроме того, фреймворк изначально создавался с расчетом на то, что программы должны без проблем развертываться на все основные платформы, без необходимости в адаптации под каждую из них в отдельности.
Авторы постарались оптимизировать код для работы на обычных пользовательских устройствах. В качестве примера они ранее показали демо-версию приложения для смартфонов, которое в реальном времени создает модель руки, что может пригодиться для качественного распознавания жестов пальцами с помощью камеры.
Теперь разработчики MediaPipe создали браузерную версию фреймворка, позволяющую запускать почти на любой платформе без необходимости в установке приложения. Эта версия основана на WebAssembly, который позволяет компилировать исходный код на C++ в низкоуровневый код, выполняемый в виртуальной машине в браузере. Это позволяет сделать код платформонезависимым, а также выполнять его намного быстрее, чем JavaScript.
Разработчики также создали веб-визуализатор, который позволяет в реальном времени править код и выполнять его прямо в браузере. В качестве примера в нем содержится несколько готовых алгоритмов, которые достаточно быстро работают на смартфоне и компьютере средней мощности. Например, там содержатся алгоритмы для сегментации волос, отслеживания лиц и другие. Поскольку после загрузки моделей все вычисления происходят локально, данные камеры не покидают устройство.
Помимо подобных «сырых» алгоритмов, существуют и вполне практичные алгоритмы, которые можно использовать на смартфонах в реальной жизни. Например, недавно Samsung представила алгоритм, позволяющий печатать на плоской поверхности перед смартфоном, который с помощью камеры распознает эти касания и превращает в текст. Кроме того, резкий прогресс в качестве фотографий на смартфон во многом связан именно с алгоритмами машинного обучения