Высокоточный одноэтапный алгоритм оценки позы человека в режиме реального времени RTMO официально открыт с открытым исходным кодом! RTMO сочетает в себе стратегию координатной регрессии и систему обнаружения YOLOX, чтобы преодолеть трудности достижения точности и скорости в существующей одноэтапной модели оценки позы человека. RTMO имеет два выдающихся преимущества:
Домашняя страница проекта:
https://github.com/open-mmlab/mmpose/tree/main/projects/rtmo
(Нажмите в конце статьи, чтобы прочитать исходный текст и перейти непосредственно)
Бумажная ссылка:
https://arxiv.org/abs/2312.07526
Отображение эффектов
Давайте сначала посмотрим на эффект обнаружения RTMO в многопользовательской сцене (задержка — результат теста NVIDIA 3090 TensorRT-FP16)
Рис. 1. Диаграмма эффекта вывода 1.
Рисунок 2 Эффект вывода Рисунок 2
Сравнение производительности моделей оценки позы в реальном времени
Существующие модели оценки позы в реальном времени в основном включают облегченные модели с двухэтапной нисходящей архитектурой (например, RTMPose) и одноэтапные модели, основанные на архитектуре YOLO (например, YOLO-Pose, YOLOv8-Pose). Мы сравнили их скорость и точность на процессоре и графическом процессоре соответственно.
Рисунок 3. Сравнительная таблица скорости и точности модели оценки ориентации в реальном времени на ЦП.
Рисунок 4. Сравнительная таблица скорости и точности модели оценки ориентации в реальном времени на графическом процессоре.
По сравнению с другими одноступенчатыми моделями реального времени RTMO лидирует по производительности и обеспечивает почти такую же точность, как двухступенчатая модель RTMPose. По сравнению с двухэтапной моделью RTMO имеет преимущество в скорости, когда на экране много людей. При тех же требованиях к точности, когда количество людей на экране превышает 4 (ЦП)/2 (ГП), скорость вывода RTMO превосходит RTMPose.
Высочайшая производительность в многопользовательских сценариях
Многолюдные сцены с участием нескольких людей всегда были сложной проблемой в области оценки поз. RTMO использует улучшение данных MixUp во время процесса обучения для моделирования многолюдных сцен; точность оценки отношения учитывается в процессе распределения положительных и отрицательных образцов, уменьшая ошибки, вызванные несовпадением ключевых точек в сочетании с обучением с использованием нескольких наборов данных MMPose; Таким образом, RTMO по-прежнему имеет высокую точность в сценах с большим количеством людей. RTMO достигла на данный момент высочайшей точности в наборах данных CrowdPose и OCHuman для этого типа сценария.
Рис. 5. Точность модели SOTA на тестовом наборе CrowdPose
На CrowdPose RTMO-l достиг 83,8 AP, что на 5,3 AP лучше, чем у предыдущей лучшей модели. Кто бы мог подумать, что это будет легкая модель, способная работать со скоростью более 100 кадров в секунду?
Рисунок 6. Точность модели SOTA набора данных OCHuman.
На OCHuman RTMO также достиг самой высокой точности на данный момент (без использования аннотированных блоков обнаружения).
Удобный интерфейс рассуждений
Воспользуйтесь MMPose рамка Удобный интерфейс рассуждений, всего одной строкой кода мы можем настроить использование RTMO модель для вывода.
Рис. 7. Одна строка кода использует RTMO для оценки позы нескольких человек.
На платформе приложений OpenXLab приложения RTMPose также интегрировали RTMO. Вы можете использовать RTMO для обработки изображений и видео онлайн в своем браузере без локальной установки.
Ссылка на приложение RTMPose:
https://openxlab.org.cn/apps/detail/mmpose/RTMPose
Рисунок 8. Онлайн-пробная версия RTMO
Поддержка многоплатформенного развертывания
Для небольших партнеров, которым необходимо развернуть модели на стороне бизнеса, RTMO также приносит хорошие новости.
В отличие от двухэтапной модели оценки позы, RTMO не требует использования детектора человека для предварительного получения кадров обнаружения человека, поэтому его развертывание проще, чем RTMPose. На домашней странице проекта RTMO рассказывается, как использовать MMDeploy для развертывания моделей RTMO, независимо от того, используется ли серверная часть ONNX или TensorRT, это можно сделать одним щелчком мыши.
Рисунок 9. Учебное пособие по развертыванию RTMO.
Кроме того, мы также предоставляем облегченную библиотеку вывода rtmlib (https://github.com/Tau-J/rtmlib), которую можно использовать «из коробки»:
Пример кода:
import cv2
from rtmlib import Body, draw_skeleton
device = 'cpu' # cpu, cuda
backend = 'onnxruntime' # opencv, onnxruntime, openvino
img = cv2.imread('./demo.jpg')
openpose_skeleton = False # True for openpose-style, False for mmpose-style
body = Body(
pose='rtmo',
to_openpose=openpose_skeleton,
mode='balanced', # balanced, performance, lightweight
backend=backend,
device=device)
keypoints, scores = body(img)
# visualize
# if you want to use black background instead of original image,
# img_show = np.zeros(img_show.shape, dtype=np.uint8)
img_show = draw_skeleton(img_show, keypoints, scores, kpt_thr=0.5)
cv2.imshow('img', img_show)
cv2.waitKey()
One More Thing
Модель оценки позы всего тела RTMW семейства RTMPose также была полностью обновлена и улучшена на основе схемы дистилляции DWPose (также интегрированной в MMPose). По сравнению с RTMW-x в альфа-версии она достигла точности 70,2 м А. Дистиллированный RTMW-1 достиг 70,1 м АР при 60% вычислительных затратах.
Рис. 10. Анимация сравнения эффектов DWPose (вверху) и RTMW (внизу).
Рис. 11. Неподвижное изображение, сравнивающее эффекты DWPose (вверху) и RTMW (внизу).
Подвести итог
RTMO — это одноэтапная модель оценки позы человека в реальном времени, основанная на MMPose. Она сочетает в себе координатную регрессию и систему обнаружения YOLOX для достижения максимальной скорости и точности в сценариях с участием нескольких человек. RTMO впервые достигла 80+ AP в наборе данных CrowdPose и на данный момент является лучшей моделью реального времени для многолюдных сцен с участием нескольких человек. В качестве одноэтапной модели развертывание вывода RTMO является простым и удобным. Мы также предоставляем интерфейсы вывода Python и решения для многоплатформенного развертывания, чтобы разработчики могли быстро приступить к работе. Мы искренне приветствуем друзей, которые интересуются оценкой позы человеческого тела, попробовать RTMO и высказать ценное мнение!
Домашняя страница проекта:
https://github.com/open-mmlab/mmpose/tree/main/projects/rtmo