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

BodyPix: сегментация людей в реальном времени с TensorFlow.js Человек, Люди, Разделение, Тело, Tensorflow, Нейронные сети, Машинное обучение, Гифка, Длиннопост, Neurohive

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 из-за более высокой скорости работы в бразуере.

BodyPix: сегментация людей в реальном времени с TensorFlow.js Человек, Люди, Разделение, Тело, Tensorflow, Нейронные сети, Машинное обучение, Гифка, Длиннопост, Neurohive

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


Преимущество использования TensorFlow.js и вычислений в браузере состоит в упрощенном пользовательском опыте. Модель можно внедрить в веб-приложение, чтобы пользователи получали предсказания модели в реальном времени.
BodyPix: сегментация людей в реальном времени с TensorFlow.js Человек, Люди, Разделение, Тело, Tensorflow, Нейронные сети, Машинное обучение, Гифка, Длиннопост, Neurohive

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


Источник (на русском)

Более полный источник (на английском)

Проверить действие демо-версии нейросети (потребуется включение камеры)

Github

Правила сообщества

Здесь вы можете свободно создавать посты по теме Искусственного интеллекта. Добро пожаловать :)


Разрешено:


- Делиться вопросами, мыслями, гипотезами, юмором на эту тему.

- Делиться статьями, понятными большинству аудитории Пикабу.

- Делиться опытом создания моделей машинного обучения.

- Рассказывать, как работает та или иная фиговина в анализе данных.

- Век жить, век учиться.


Запрещено:


I) Невостребованный контент

  I.1) Создавать контент, сложный для понимания. Такие посты уйдут в минуса лишь потому, что большинству неинтересно пробрасывать градиенты в каждом тензоре реккурентной сетки с AdaGrad оптимизатором.

  I.2) Создавать контент на "олбанском языке" / нарочно игнорируя правила РЯ даже в шутку. Это ведет к нечитаемости контента.

  I.3) Добавлять посты, которые содержат лишь генеративный контент или нейросетевой Арт без какой-то дополнительной полезной или интересной информации по теме, без промтов или описания методик создания и т.д.


II) Нетематический контент

  II.1) Создавать контент, несвязанный с Data Science, математикой, программированием.

  II.2) Создавать контент, входящий в противоречие существующей базе теорем математики. Например, "Земля плоская" или "Любое действительное число представимо в виде дроби двух целых".

  II.3) Создавать контент, входящий в противоречие с правилами Пикабу.


III) Непотребный контент

  III.1) Эротика, порнография (даже с NSFW).

  III.2) Жесть.


За нарушение I - предупреждение

За нарушение II - предупреждение и перемещение поста в общую ленту

За нарушение III - бан