fbpx
  • BodyPix: сегментация людей в реальном времени с TensorFlow.js

    BodyPix — это нейросеть для сегментации людей и частей тела в реальном времени в браузере. С дефолтными настройками модель сегментирует людей и части тел с кадровой частотой 25 на 2018 15-inch MacBook Pro и 21 кадр в секунду на IPhone X. Проверить работу демо-версии в браузере можно по ссылке. Исходный код модели доступен в GitHub репозитории.

    В последнем обновлении библиотеки BodyPix 2. стали доступны сегментация нескольких людей сразу, новое API, квантизация весов и поддержка изображений разного размера. Помимо этого, точность модели стала выше в сравнении с ResNet50. 

    Сегментация человека в BodyPix

    В компьютерном зрении задача сегментации изображения относится к группировке пикселей изображения в семантические участки объектов. BodyPix модель обучили не только сегментировать людей, но и распознавать 24 части тела. Другими словами, нейросеть классифицирует пиксели изображения на две категории:

    1. Пиксели, на которых изображен человек;
    2. Пиксели, на которых изображен фон

    Для задачи сегментации человека модель выдает для каждого пикселя вероятность того, что это пиксель человека. Аналогичный процесс происходит для сегментации 24 частей тела. Для каждого пикселя модель выдает номер класса части тела. Пиксели, которые не являются частью тела, отмечаются отдельным классом.

    Что внутри модели

    Сама модель BodyPix в демо-версии — это MobileNet. Исследователи дополнительно обучили ResNet50 и получили качество лучше, но остановились на MobileNet из-за более высокой скорости работы в бразуере.

    Архитектура обученной MobileNet

    Преимущество использования TensorFlow.js и вычислений в браузере состоит в упрощенном пользовательском опыте. Модель можно внедрить в веб-приложение, чтобы пользователи получали предсказания модели в реальном времени.

    Демонстрация работы модели