Это введение в BlazePose, модель машинного обучения, которую можно использовать с ailia SDK. Вы можете легко использовать эту модель для создания AI-приложений с помощью ailia SDK, а также многих других готовых ailia MODELS.

Обзор

BlazePose (Full Body) - это разработанная Google модель определения позы, которая может вычислять координаты (x, y, z) 33 ключевых точек скелета. Его можно использовать, например, в фитнес-приложениях.





Ввод и вывод BlazePose

BlazePose состоит из двух моделей машинного обучения: Детектор и Оценщик. Детектор вырезает человеческую область из входного изображения, в то время как Оценщик берет изображение обнаруженного человека с разрешением 256x256 в качестве входных данных и выводит ключевые точки.

BlazePose выводит 33 ключевые точки в соответствии со следующим соглашением об упорядочивании. Это больше точек, чем обычно используемых 17 ключевых точек набора данных COCO.

Архитектура

Детектор - это архитектура, основанная на однократном детекторе (SSD). Учитывая входное изображение (1,224,224,3), он выводит ограничивающую рамку (1,2254,12) и показатель достоверности (1,2254,1). 12 элементов ограничивающего прямоугольника имеют вид (x, y, w, h, kp1x, kp1y,…, kp4x, kp4y), где от kp1x до kp4y - дополнительные ключевые точки. Каждый из элементов 2254 имеет свой собственный якорь, масштаб привязки и смещение необходимо применить.

Есть два способа использовать Детектор. В блочном режиме ограничивающий прямоугольник определяется его положением (x, y) и размером (w, h). В режиме выравнивания масштаб и угол определяются из (kp1x, kp1y) и (kp2x, kp2y), и можно предсказать ограничивающую рамку, включая поворот.

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

Первый результат Оценщика - (1195) ориентиров, второй - (1,1) флагов. Ориентиры состоят из 165 элементов (x, y, z, видимость, присутствие) для каждых 33 ключевых точек.

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

видимость и присутствие хранятся в диапазоне [min_float, max_float] и преобразуются в вероятность путем применения сигмоидной функции. видимость возвращает вероятность ключевых точек, которые существуют в кадре и не перекрываются другими объектами. присутствие возвращает вероятность ключевых точек, существующих в кадре.



использование

Используйте следующую команду для запуска BlazePose (Full Body) с ailia SDK.

$ python3 blazepose-fullbody.py -v 0


Вот результат на примере видео. Размер кружков в ключевых точках указывает z-значение.

BlazePose (Upper Body) также можно использовать для оценки только верхней части тела. Первоначально MediaPipe выпускала только модель верхней части тела, а затем и модель всего тела. Технические характеристики моделей полного тела и верхней части тела различаются, например, разрешение детектора составляет 128x128 для модели верхней части тела.

$ python3 blazepose.py -v 0


похожие темы







Axe Inc. разработал ailia SDK, который обеспечивает кроссплатформенный быстрый вывод на основе графического процессора.

Axe Inc. предоставляет широкий спектр услуг от консультирования и создания моделей до разработки приложений и SDK на основе искусственного интеллекта. По любым вопросам обращайтесь к нам.