Рассуждения в реальном времени + точность SOTA! RTMO выводит оценку позы MMPose на новую высоту
Рассуждения в реальном времени + точность SOTA! RTMO выводит оценку позы MMPose на новую высоту

Высокоточный одноэтапный алгоритм оценки позы человека в режиме реального времени RTMO официально открыт с открытым исходным кодом! RTMO сочетает в себе стратегию координатной регрессии и систему обнаружения YOLOX, чтобы преодолеть трудности достижения точности и скорости в существующей одноэтапной модели оценки позы человека. RTMO имеет два выдающихся преимущества:

  • интенсивно существуют на многопользовательской сцене,Лидирует как по скорости, так и по точности. По сравнению с традиционной двухэтапной моделью, такой как RTMPose,RTMO На скорость незначительно влияет количество людей на экране. В то же время он достиг высочайшей точности в сценах с участием нескольких человек, таких как «Существующее». CrowdPose данныеустановить наполучать83.8 AP, улучшенная по сравнению с предыдущей лучшей моделью 5.3 AP。
  • Модель Просто и легко развернуть. Комплексная сборка из одноступенчатой ​​модели 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), которую можно использовать «из коробки»:

  • Нет необходимости устанавливать ряд обучающих библиотек, таких как mmcv, mmengine, mmpose и т. д., вы можете сделать выводы с помощью opencv
  • Супер дружелюбный и лаконичный интерфейс вывода и визуализации
  • Автоматическая загрузка и кэширование onnx Модель
  • поддерживать RTMPose Полный спектр официальных и производных моделей: RTMPose, DWPose, RTMO, RTMW. etc.

Пример кода:

Язык кода:javascript
копировать
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

boy illustration
elasticsearch медленный запрос, устранение неполадок записи, запрос с подстановочными знаками
boy illustration
По какому стандарту взимается плата за обслуживание программного обеспечения?
boy illustration
IP-адрес Получить
boy illustration
【Java】Решено: org.springframework.web.HttpRequestMethodNotSupportedException
boy illustration
Native js отправляет запрос на публикацию_javascript отправляет запрос на публикацию
boy illustration
.net PDF в Word_pdf в Word
boy illustration
[Пул потоков] Как Springboot использует пул потоков
boy illustration
Подробное объяснение в одной статье: Как работают пулы потоков
boy illustration
Серия SpringCloud (6) | Поговорим о балансировке нагрузки
boy illustration
IDEA Maven может упаковать все импортное полностью красное решение — универсальное решение.
boy illustration
Последний выпуск 2023 года, самое полное руководство по обучению Spring Boot во всей сети (с интеллект-картой).
boy illustration
[Решено — Практическая работа] SaTokenException: запрос не может быть получен в контексте, отличном от Интернета. Решение проблем — Практическая работа.
boy illustration
HikariPool-1 - Connection is not available, request timed out after 30000ms
boy illustration
Power Query: автоматическое суммирование ежемесячных данных с обновлением одним щелчком мыши.
boy illustration
установка Ubuntu в среде npm
boy illustration
3 Бесплатные системы управления складом (WMS) .NET с открытым исходным кодом
boy illustration
Глубокое погружение в библиотеку Python Lassie: мощный инструмент для автоматизации извлечения метаданных
boy illustration
Объяснение прослушивателя серии Activiti7 последней версии 2023 года
boy illustration
API-интерфейс Jitu Express для электронных счетов-Express Bird [просто для понимания]
boy illustration
Каковы архитектуры микросервисов Java. Серверная часть плавающей области обслуживания
boy illustration
Описание трех режимов жизненного цикла службы внедрения зависимостей Asp.net Core.
boy illustration
Java реализует пользовательские аннотации для доступа к интерфейсу без проверки токена.
boy illustration
Серверная часть Unity добавляет поддержку .net 8. Я еще думал об этом два дня назад, и это сбылось.
boy illustration
Проект с открытым исходным кодом | Самый элегантный метод подписки на публичные аккаунты WeChat на данный момент
boy illustration
Разрешения роли пользователя Gitlab Гость, Репортер, Разработчик, Мастер, Владелец
boy illustration
Spring Security 6.x подробно объясняет механизм управления аутентификацией сеанса в этой статье.
boy illustration
[Основные знания ASP.NET] — Аутентификация и авторизация — Использование удостоверений для аутентификации.
boy illustration
Соединение JDBC с базой данных MySQL в jsp [легко понять]
boy illustration
[Уровень няни] Полный процесс развертывания проекта Python (веб-страницы Flask) в Docker.
boy illustration
6 способов чтения файлов свойств, рекомендуем собрать!