Google I/O — это обертка! Наверстать упущенное в сеансах TensorFlow Просмотреть сеансы

Оценка позы

Оценка позы — это задача использования модели машинного обучения для оценки позы человека по изображению или видео путем оценки пространственного расположения ключевых суставов тела (ключевых точек).

Начать

Если вы новичок в TensorFlow Lite и работаете с Android или iOS, изучите следующие примеры приложений, которые помогут вам начать работу.

Пример для Android Пример для iOS

Если вы знакомы с API-интерфейсами TensorFlow Lite , загрузите начальную модель оценки позы MoveNet и вспомогательные файлы.

Скачать стартовую модель

Если вы хотите попробовать оценить позу в веб-браузере, ознакомьтесь с демонстрацией TensorFlow JS .

Описание модели

Как это работает

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

Модели оценки позы принимают обработанное изображение с камеры в качестве входных данных и выводят информацию о ключевых точках. Обнаруженные ключевые точки индексируются по идентификатору детали с показателем достоверности от 0,0 до 1,0. Оценка достоверности указывает на вероятность того, что ключевая точка существует в этой позиции.

Мы предоставляем эталонную реализацию двух моделей оценки позы TensorFlow Lite:

  • MoveNet: современная модель оценки позы, доступная в двух вариантах: Lighting и Thunder. См. сравнение между этими двумя в разделе ниже.
  • PoseNet: модель оценки позы предыдущего поколения, выпущенная в 2017 году.

Различные суставы тела, обнаруженные моделью оценки позы, представлены в таблице ниже:

Идентификатор Часть
0 нос
1 левый глаз
2 правый глаз
3 левое ухо
4 Правое ухо
5 левое плечо
6 правоплечо
7 левыйлокоть
8 правыйлокоть
9 левое запястье
10 правозапястье
11 левое бедро
12 правое бедро
13 левое колено
14 правыйколено
15 леваялодыжка
16 правая лодыжка

Пример вывода показан ниже:

Анимация, показывающая оценку позы

Тесты производительности

MoveNet доступен в двух вариантах:

  • MoveNet.Lightning меньше, быстрее, но менее точен, чем версия Thunder. Он может работать в режиме реального времени на современных смартфонах.
  • MoveNet.Thunder является более точной версией, но также крупнее и медленнее, чем Lightning. Это полезно для случаев использования, которые требуют более высокой точности.

MoveNet превосходит PoseNet на различных наборах данных, особенно на изображениях с изображениями фитнеса. Поэтому мы рекомендуем использовать MoveNet поверх PoseNet.

Цифры эталонных показателей производительности генерируются с помощью описанного здесь инструмента. Показатели точности (mAP) измеряются в подмножестве набора данных COCO , в котором мы фильтруем и обрезаем каждое изображение, чтобы оно содержало только одного человека.

Модель Размер (МБ) карта Задержка (мс)
Pixel 5 – 4 потока ЦП Пиксель 5 — графический процессор Raspberry Pi 4 — ЦП 4 потока
MoveNet.Thunder (квантованный FP16) 12,6 МБ 72,0 155 мс 45 мс 594 мс
MoveNet.Thunder (квантованный INT8) 7,1 МБ 68,9 100 мс 52 мс 251 мс
MoveNet.Lightning (квантованный FP16) 4,8 МБ 63,0 60 мс 25 мс 186 мс
MoveNet.Lightning (квантованный INT8) 2,9 МБ 57,4 52 мс 28 мс 95 мс
PoseNet (магистраль MobileNetV1, FP32) 13,3 МБ 45,6 80 мс 40 мс 338 мс

Дополнительная литература и ресурсы

  • Прочтите этот пост в блоге , чтобы узнать больше об оценке позы с помощью MoveNet и TensorFlow Lite.
  • Прочтите этот пост в блоге , чтобы узнать больше об оценке позы в Интернете.
  • Ознакомьтесь с этим руководством , чтобы узнать о запуске MoveNet на Python с использованием модели из TensorFlow Hub.
  • Coral/EdgeTPU может значительно ускорить оценку позы на периферийных устройствах. Дополнительные сведения см. в разделе Модели, оптимизированные для EdgeTPU .
  • Прочтите документ PoseNet здесь

Кроме того, ознакомьтесь с этими примерами использования оценки позы.