ArticlePDF Available

Распознавание поз нескольких объектов на изображении с использованием real-time моделей

Authors:

Abstract

Данная работа посвящена исследованию эффективности применения глубоких нейронных сетей для решения задачи определения поз нескольких объектов (людей, животных) на изображении. В рамках работы были проанализированы основные подходы и методики к решению задачи. В частности были обучены и проанализированы real-time модели RMTPose и HRNet. В работе представлено сравнение эффективности моделей на различных изображениях. В качестве данных использовались датасеты COCO tiny, COCO + ubody с изображениями людей, а также датасет AP-10K с изображениями животных.
ГРНТИ: 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)
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
The article analyzes the works devoted to outdoor navigation of unmanned aerial vehicles (UAVs) in GNSS-denied environments using computer vision systems (optical range cameras). The algorithms addressed are based on matching of UAV-generated images with the available georeferenced terrain images. Images are matched either pixel by pixel, by their key points, or using neural networks. The stages of each algorithm, as well as the accuracy achieved by the authors and the field data used for testing are considered. The paper concludes with a discussion of the capabilities and limitations of the proposed approaches
Article
Full-text available
The mapping and characterisation of building footprints is a challenging task due to inaccessibility and incompleteness of the required data, thus hindering the estimation of loss caused by natural and anthropogenic hazards. Major advancements have been made in the collaborative mapping of buildings with platforms like OpenStreetMap, however, many parts of the world still lack this information or the information is outdated. We created a semi-automated workflow for the development of elements-at-risk (EaR) databases of buildings by detecting building footprints using deep learning and characterising the footprints with building occupancy information using building morphological metrics and open-source auxiliary data. The deep learning model was used to detect building EaR footprints in a city in Kerala (India) with an F1 score of over 76%. The footprints were classified into 13 building occupancy types along with information such as average number of floors, total floor space area, building density, and percentage of built-up area. We analysed the transferability of the approach to a different city in Kerala and obtained an almost similar F1 score of 74%. We also examined the exposure of the buildings and the associated occupancies to floods using the 2018 flood susceptibility map of the respective cities. We notice certain shortcomings in our research particularly, the need for a local expert and good quality auxiliary data to obtain reasonable building occupancy information, however, our research contributes to developing a rapid method for generating a building EaR database in data-scarce regions with attributes of occupancy types, thus supporting regional risk assessment, disaster risk mitigation, risk reduction initiatives, and policy developments.
Article
Full-text available
Distributed ledger technologies can support a rapid transition to smart cities and provide a high level of urban quality. Despite the large number of approaches to the problem of synthesizing smart city management systems, there is still no universal solution. One of the most promising areas is the construction of neural network control systems. The optimization module for a neurosimulator is developed that can operate in real time. The study of the neurosimulator on various data of anthropogenic load showed the possibility of obtaining high control accuracy.
Conference Paper
Full-text available
In this paper we propose a solution to the problem of predicting the behavior of vehicles on the road scene based on image analysis. A 3D detection deep neural network is used to detect objects and estimate their position. The kinematic bicycle model is considered as a behavior model, with each vehicle being processed separately, i.e. without taking into account the influence of other road agents. This paper provides detailed information about the detection network in use with our training approach, as well as the obtained metrics reflecting the accuracy of output navigation parameters. In conclusion, the article presents the accuracy characteristics that determine the time of the "reliability" of the model forecast, obtained on an open Agroverse dataset.
Article
Full-text available
Object pose estimation is a prerequisite for many robotic applications. Preparing dataset for network training is a challenging part of the pose estimation approaches, and in most of them, the network can detect just the trained objects. Synthetic data are used to train deep neural networks in robotic manipulation as a promising method for obtaining a huge amount of prelabeled training data, which are generated safely. We are to investigate the reality gap in the pose estimation of intra-category objects from a single RGB-D image using keypoints. The proposed approach in this paper provides a fast and simple procedure for training a deep neural network to identify the object and its keypoints based on synthetic dataset and autolabeling program. To our knowledge, this is the first deep network trained only on synthetic data that can find keypoints of intra-category objects for pose estimation purposes. The speed of training and the simplicity of this method make it very easy to add a new class of objects to the system which is the main advantage of this approach. Using this approach, we demonstrate a near-real-time system estimating object poses with sufficient accuracy for real-world semantic grasping and manipulating of intra-category objects in clutter by a real robot.
Article
High-resolution representations are essential for position-sensitive vision problems, such as human pose estimation, semantic segmentation, and object detection. Existing state-of-the-art frameworks first encode the input image as a low-resolution representation through a subnetwork that is formed by connecting high-to-low resolution convolutions in series (e.g., ResNet, VGGNet), and then recover the high-resolution representation from the encoded low-resolution representation. Instead, our proposed network, named as High-Resolution Network (HRNet), maintains high-resolution representations through the whole process. There are two key characteristics: (i) Connect the high-to-low resolution convolution streams in parallel and (ii) repeatedly exchange the information across resolutions. The benefit is that the resulting representation is semantically richer and spatially more precise. We show the superiority of the proposed HRNet in a wide range of applications, including human pose estimation, semantic segmentation, and object detection, suggesting that the HRNet is a stronger backbone for computer vision problems. All the codes are available at https://github.com/HRNet .
Article
Existing deep convolutional neural networks (CNNs) require a fixed-size (e.g. 224×224) input image. This requirement is “artificial” and may hurt the recognition accuracy for the images or sub-images of an arbitrary size/scale. In this work, we equip the networks with a more principled pooling strategy, “spatial pyramid pooling”, to eliminate the above requirement. The new network structure, called SPP-net, can generate a fixed-length representation regardless of image size/scale. By removing the fixed-size limitation, we can improve all CNN-based image classification methods in general. Our SPP-net achieves state-of-the-art accuracy on the datasets of ImageNet 2012, Pascal VOC 2007, and Caltech101. The power of SPP-net is more significant in object detection. Using SPP-net, we compute the feature maps from the entire image only once, and then pool features in arbitrary regions (sub-images) to generate fixed-length representations for training the detectors. This method avoids repeatedly computing the convolutional features. In processing test images, our method computes convolutional features 30-170× faster than the recent leading method R-CNN (and 24-64× faster overall), while achieving better or comparable accuracy on Pascal VOC 2007.