Content uploaded by Daniil Ramzaicev
Author content
All content in this area was uploaded by Daniil Ramzaicev on Jun 03, 2024
Content may be subject to copyright.
ГРНТИ: 28.23.15
ASJC: 1707
OECD: 01.02.EP
Распознавание поз нескольких объектов на
изображении с использованием real-time
моделей
Д. А. Личко
кафедра инженерной кибернетики
НИТУ МИСИС
Москва, Россия
m1902984@edu.misis.ru
Д. А. Рамзайцев
кафедра инженерной кибернетики
НИТУ МИСИС
Москва, Россия
m1904484@edu.misis.ru
Аннотация — Данная работа посвящена исследованию
эффективности применения глубоких нейронных сетей
для решения задачи определения поз нескольких объектов
(людей, животных) на изображении. В рамках работы
были проанализированы основные подходы и методики к
решению задачи. В частности были обучены и
проанализированы real-time модели RMTPose и HRNet. В
работе представлено сравнение эффективности моделей на
различных изображениях. В качестве данных
использовались датасеты COCO tiny, COCO + ubody с
изображениями людей, а также датасет AP-10K с
изображениями животных.
Ключевые слова — компьютерное зрение, CV,
распознавание позы, сверточные нейронные сети, глубокое
обучение, CNN
I. ВВЕДЕНИЕ
В настоящее время нейронные сети становятся все
более востребованным инструментом в различных
областях человеческой деятельности. Искусственный
интеллект, способный обучаться на данных и принимать
решения на основе опыта, проникает в самые
разнообразные сферы нашей жизни.
Искусственные нейронные сети широко
распространены в разных отраслях: в обнаружение
машин и предсказании их передвижения [1], в оценке
поз в робототехнике [2], управлении умным городом [3],
навигации [4] и распознавании текста [5].
Одним из ярких примеров успешного применения
нейронных сетей является область компьютерного
зрения.
Одна из задач, которая эффективно решается с
помощью моделей машинного обучения - это задача
определения позы человека на изображении (human pose
estimation). Это задача подразумевает нахождение
координат и ориентации ключевых точек на
человеческом теле в двумерном пространстве.
Ключевые точки могут описывать такие элементы как
шея, плечи, локти, запястья, таз, колени, голени и др.
Определение точного положения этих ключевых точек
позволяет компьютеру понимать позу человека на
изображении, его движения и жесты.
Оценка позы человека имеет широкий спектр
применений, начиная от автоматического анализа
движений в спорте, например, для анализа техники
упражнений, заканчивая медициной, виртуальной
реальностью и системами наблюдения в общественных
местах.
В данной статье будет рассмотрено применение
нейронных сетей для задачи оценки позы нескольких
объектов на изображении, их особенности,
преимущества и недостатки. В частности будут обучены
и оценены SOTA модели HRNet и RTMPose.
II. АНАЛИЗ ИСТОЧНИКОВ
Задача определения позы объекта - это способ
определения координат ключевых точек, например,
руки, головы и т.д., а также связей между ними (пары).
Таким образом задача определения позы сводится к
построению скелетоподобного описания тела человека.
Пример определения позы представлен на рисунке 1.
Рис. 1. Пример определения позы человека на изображении
Существует 3 методики моделирования позы объекта
(их визуализация представлена на рисунке 2):
1. Модель на основе скелета;
2. Модель на основе контура;
3. Модель на основе объёма.
Рис 2. Методики моделирования позы
В данной работе будут рассмотрены методы,
позволяющие создавать модели на основе скелета.
Основные методы решения данной задачи можно
разделить на 3 основные группы:
1. Решения с использованием маркеров. На
объекте определения позы устанавливаются
контрастные метки, например, белые шарики.
Далее на изображении/видео эти маркеры
соединяются по особым правилам, чтобы
получился скелет. Этот метод не требует
сложных технических решений, а также
довольно точен. Однако он требует подготовки
и установки маркеров. Данный метод широко
используется при производстве графики в
фильмах и играх.
2. Методы, задействующие алгоритмы машинного
обучения оптимизации движения. Например,
метод Pictorial structure framework, основанный
на модели Случайного леса [6]. Минусом
данных моделей является то, что они требуют
присутствия четко видимых частей тела.
3. Решения на основе моделей глубокого
обучения. Начиная с 2014 года [7],
исследователи успешно применяют различные
архитектуры глубоких нейронных сетей,
например, сверточных, для решения задачи
определения позы. В данной работе
рассматриваются именно такие методы.
Одним из факторов, которые усложняют
поставленную задачу является то, что на изображении
может быть представлено несколько объектов
(людей/животных). Существует 2 подхода решения этой
проблемы:
1. Сверху вниз (top-down) - сначала происходит
обнаружение объекта целиком, а затем система
разбивает объект на более мелкие компоненты -
ключевые точки позы. Этот подход эффективен
при обработке изображений с большим
количеством объектов, однако плохо работает
при перекрытиях и сложных позах.
2. Снизу вверх (bottom-up) - сначала происходит
обнаружение отдельных частей объекта -
ключевых точек позы человека, а затем система
объединяет эти части для определения общей
позы объекта. Этот подход решает проблему
сложных поз и позволяет более точно
определять позу. Однако требует больше
вычислительных ресурсов, чем предыдущий и
может быть менее эффективным, когда
объектов много.
В статье [8] был предложен метод DeepCut на основе
методики “снизу вверх”. Он использует набор
сверточных нейронных сетей для распознавания всех
частей тела, их разметки и разделения на каждого
человека.
В статье [9] была представлена OpenPose - первая
система реального времени с открытым исходным кодом
для определения двумерных поз нескольких человек на
изображении. Предложенная модель использовала метод
“снизу вверх”. OpenPose состоит из VGG-19 для
извлечения из изображения и двух ветвей сверточных
нейронных сетей (рисунок 3).
Рис 3. Архитектура OpenPose
Работа [10] описывает нейронную сеть HRNet,
которая может использоваться в широком спектре задач
визуального распознавания, в том числе в задаче
распознавания позы человека по методу “снизу вверх”.
Основное нововведение статьи заключается в том, что
нейронная сеть не кодирует входное изображение как
представление с низким разрешением, например, с
помощью ResNet, VGG. Вместо этого нейронная сеть
поддерживает представления с высоким разрешением на
протяжении всего процесса (рисунок 4).
Рис 4. Ахитектура сети HRNet
В 2023 году была разработана система RTMPose [11],
которая предложила решение (метод “снизу вверх”),
которое не только показывает хорошую точность
определения позы, но и уменьшает задержку, позволяя
использовать его в real-time приложениях. Архитектура
модели показана на рисунке 5.
Рис 5. Архитектура RTMPose
Системы HRNet и RTMPose внутри обе используют
сеть Faster RCNN для точной детекции объектов в
реальном времени. Эта сеть, описанная в статье [12],
объединяет сети Fast RCNN [13] и SPP-net [14].
III. ДАННЫЕ
A. Описание данных
Наиболее распространенным форматом данных
являются датасеты с изображениями и размеченными на
них ключевыми точками. Ключевые точки могут
обозначать не только позу тела человека, но и позу
животных, точки на лице, кисти рук и т.п. (рисунок 6).
Рис. 6. Пример разметки ключевых точек объектов
Существует большое количество датасетов,
предназначенные для разных задач. Среди них COCO,
uBody, Face2d, Hand2d AP-10k. Также существуют
объединенные датасеты, например, Face6, Cocktail14,
Hand5, Body8.
Также существуют и датасеты для оценки позы в
трехмерном пространстве: 3DPW, Waymo. RICH и
другие (рисунок 7).
Рис. 7. Пример датасета с трехмерным представлением позы
Также при создании датасетов нередко используются
и синтетические данные. В частности, в датасете
InfiniteRep используют сгенерированные сцены людей,
выполняющих упражнения в разных обстановках и
освещении (рисунок 8).
Рис. 8. Пример синтетических данных для оценки поз
IV. ПРОВЕДЕННЫЕ ИССЛЕДОВАНИЯ И РЕЗУЛЬТАТЫ
A. Предобработка датасета
В качестве датасета для обучения нейросетей
использовалась подвыборка из датасета COCO размером
97 изображений.
Датасет был разделен на обучающую и тестовую
выборки в соотношении 80%-20% с перемешиванием.
B. Выбор метрик
При обучении происходила минимизация целевой
функции KLDiscretLoss при помощи оптимизатора
Adam. 𝐾𝐿𝐷𝑖𝑠𝑐𝑟𝑒𝑡𝐿𝑜𝑠𝑠= 𝑖
∑𝑃(𝑖)𝑙𝑛(𝑃(𝑖)
𝑄(𝑖))
где - вероятность истинного распределения
𝑃(𝑖) 𝑖
позиции тепловой карты, - вероятность
𝑄(𝑖)
предсказанного распределения.
В качестве метрики для оценки качества
распознавания поз использовались PCKAccuracy.
𝑃𝐶𝐾𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦= 1
𝑁𝑖=1
𝑁
∑1(||𝑥𝑖𝑝𝑟𝑒𝑑−𝑥𝑖𝑡𝑟𝑢𝑒|| ≤α𝐿)
где - евклидово расстояние между
||𝑥𝑖𝑝𝑟𝑒𝑑−𝑥𝑖𝑡𝑟𝑢𝑒||
предсказанной и истинной позицией ключевой точки ,
𝑖
- порог, определяемый как доля от эталонного размера
α, - индикаторная функция, которая равна 1, если
𝐿 1( )
условие верно, и 0 в противном случае.
C. Использованные модели машинного обучения
RTMPose - Real-Time Multi-Person Pose Estimation -
это сеть, оптимизированная для быстрой и точной
детекции поз нескольких людей. Она использует
легковесные архитектуры, такие как MobileNet или
EfficientNet, для базовых фичей и специализированные
модули для обработки позы, включая улучшенные
тепловые карты и адаптивные методы нелинейной
регрессии, что позволяет достигать высокой
производительности и точности даже на устройствах с
ограниченными вычислительными ресурсами.
HRNet - High-Resolution Network (HRNet) для
детекции поз использует идею поддержания высокого
разрешения на всех уровнях обработки изображения,
что позволяет сохранить детализированную
информацию о позе и улучшить точность локализации
ключевых точек.
Faster RCNN - сеть для детекции рамок. Поскольку
обе сети используются в архитектуре сверху вниз,
отдельно найти рамки, в которых находится человек, а
после в каждой рамке произвести детекцию позы
Все представленные архитектуры нейронных сетей
были реализованы с помощью библиотек mmpose [15] и
mmdet [16].
D. Результаты обучения и инференса
Ввиду ограниченности вычислительных ресурсов,
были использованы модификации нейросетей
небольших размеров (rtmpose - medium, hrnet - w48), а
их обучение происходило на 40 эпохах. В результате
были получены следующие значения метрики PCKAcc,
показанные в Таблице 1. Также рассчитаны метрики для
датасетов COCO+ubody (350 тыс. изображений) и
AP-10k (10 тыс. изображений).
ТАБЛИЦА I. РЕЗУЛЬТАТЫ ОБУЧЕНИЯ
На рисунке 9 изображение примеры распознавания
на тестовой выборке.
Рис. 9. Результаты распознавания поз на тестовой части датасета при
помощи RTMPose
На рисунке 10 представлены примеры
распознавания поз на собственных изображениях не из
обучающей и тестовой выборки.
Рис. 10. Результаты распознавания поз на пользовательских
изображениях при помощи RTMPose
V. ЗАКЛЮЧЕНИЕ
В рамках данной работы был проведен анализ
литературы, посвященной определению поз людей на
изображении. Для исследования были взяты 2
нейронные сети: HRNet и RTMPose. Они были
протестированы на датасетах с изображениями людей:
COCO + ubody и COCO tiny, а также на датасете AP-10K
с изображениями животных.
По результатам тестирования видно, что модель
RTMPose имеет лучшую точность на датасетах с
изображениями людей, однако немного проигрывает в
Модель
AP-10k
AP
COCO +
ubody
AP
COCO
tiny
PCKAcc
HRNet
0.728
0.594
0.457155
RTMPose
0.722
0.606
0.650190
точности при определении позы животных. RTMPose
показала на маленькой обучающей выборке заметно
лучший результат, по сравнению с HRNet (0.65 против
0.457), однако на больших датасетах разницы почти нет.
Это говорит о том, что RTMPose быстрее обучается и
обладает лучшей обобщающей способностью.
Подводя итог, можно с уверенностью говорить об
успешном приложении нейронных сетей к задаче
определения позы человека или нескольких людей на
изображении. Методы, исследованные в данной работе
обеспечивают хорошее качество распознавания, а также,
что не менее важно, позволяют использовать их в
приложениях в реальном времени.
СПИСОК ЛИТЕРАТУРЫ
[1] Bhuyan, K.; Van Westen, C.; Wang, J.; Meena, S.R. “Mapping and
characterising buildings for flood exposure analysis using
open-source data and artificial intelligence”, Nat. Hazards, vol 119.
pp 1-31.
[2] N. S. Guzhva, V. E. Prun, V. V. Postnikov, M. G. Lobanov, R. N.
Sadekov and D. L. Sholomov, "Using 3D Object Detection DNN in
an Autonomous Tram to Predict the Behaviour of Vehicles in the
Road Scene," 2022 29th Saint Petersburg International Conference on
Integrated Navigation Systems (ICINS), Saint Petersburg, Russian
Federation, 2022, pp. 1-6, doi: 10.23919/ICINS51784.2022.9815388.
[3] S. H. Zabihifar, A. N. Semochkin, E. V. Seliverstova, and A. R.
Efimov, “Unreal mask: one-shot multi-object class-based pose
estimation for robotic manipulation using keypoints with a synthetic
dataset,” Neural Computing and Applications, vol 33, Oct 2021, pp.
12283–12300, doi: 10.1007/s00521-020-05644-6.
[4] Y. S. Chernyshova, B. I. Savelyev, S. V. Solodov, S. V. Pronichkin,
“Applying distributed ledger technologies in megacities to face
anthropogenic burden challenges,” in IOP Conference Series: Earth
and Environmental Science, 2022, vol. 1069, no. 1.
doi:10.1088/1755- 1315/1069/1/012028.
[5] B. Ali, R. N. Sadekov, V. V. Tsodokova, “A Review of Navigation
Algorithms for Unmanned Aerial Vehicles Based on Computer Vision
Systems,” Gyroscopy and Navigation, vol. 30, pp. 87–105,
10.17285/0869-7035.00105.
[6] «Shrinkage Optimized Directed Information using Pictorial Structures
for Action Recognition» Chen X., et al. // Arxiv. URL:
https://arxiv.org/abs/1404.3312 (доступ 10.05.2024)
[7] A. Toshev, C. Szegedy. DeepPose: Human Pose Estimation via Deep
Neural Networks // 2014 IEEE Conference on Computer Vision and
Pattern Recognition. – 2014. – P. 1653–1660.
[8] Rajchl M. et al. DeepCut: Object Segmentation From Bounding Box
Annotations Using Convolutional Neural Networks // IEEE
Transactions on Medical Imaging. – 2017. –V. 36. – N. 2. – P.
674–683.
[9] Cao Z., rt al. OpenPose: Realtime Multi-Person 2D Pose Estimation
Using Part Affinity Fields // IEEE Transactions on Pattern Analysis
and Machine Intelligence. – 2021. –V. 43. – N. 1. – P. 172–186.
[10] Wang J., et al. Deep High-Resolution Representation Learning for
Visual Recognition // IEEE Transactions on Pattern Analysis &
Machine Intelligence. – 2021. –V. 43. – N. 10. – P. 3349–3364.
[11] «RTMPose: Real-Time Multi-Person Pose Estimation based on
MMPose» Jiang T., et al. // Arxiv. URL:
https://arxiv.org/abs/2303.07399 (доступ 10.05.2024)
[12] Ren S., et al. Faster R-CNN: Towards Real-Time Object Detection
with Region Proposal Networks // IEEE Transactions on Pattern
Analysis & Machine Intelligence. – 2017. –V. 39. – N. 6. – P.
1137–1149.
[13] Girshick R. Fast R-CNN // 2015 IEEE International Conference on
Computer Vision (ICCV), Santiago, Chile. – 2015. – P. 1440–1448.
[14] He K.,et al. Spatial Pyramid Pooling in Deep Convolutional Networks
for Visual Recognition // Computer Vision – ECCV 2014. – 2014. –
V. 8691.
[15] MMPose python library // Github. URL:
https://github.com/open-mmlab/mmpose (доступ 10.05.2024)
[16] MMDetection python library // Github. URL:
https://github.com/open-mmlab/mmdetection (доступ 10.05.2024)