Оценка позы — это задача использования модели ML для оценки позы человека по изображению или видео путем оценки пространственного расположения ключевых суставов тела (ключевых точек).
Начать
Если вы новичок в TensorFlow Lite и работаете с 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 здесь.
Также ознакомьтесь с этими вариантами использования оценки позы.