Алгоритм расчета углов между опорными точками для распознавания поз
Автор: Назина С.Л.
Журнал: Теория и практика современной науки @modern-j
Рубрика: Математика, информатика и инженерия
Статья в выпуске: 1 (103), 2024 года.
Бесплатный доступ
Статья описывает алгоритм расчета углов между опорными точками для распознавания поз на видеопотоке с камеры. Описывается процесс расстановки ключевых ориентиров на изображении, их расположение и расчет углов между ними. Реализовано распознавание четырех поз с использованием данной методики.
Распознавание движений, ориентиры позы, расчет углов на плоскости
Короткий адрес: https://sciup.org/140304101
IDR: 140304101
Текст научной статьи Алгоритм расчета углов между опорными точками для распознавания поз
Распознавание движений - это процесс анализа и интерпретации движений, зафиксированных на изображениях или видео. Эта технология позволяет компьютерам определять и классифицировать различные движения, такие как жесты рук, походку, мимику лица и другие формы движений человека.
Распознавание движений имеет широкий спектр применений, включая следующие области:
-
1. Взаимодействие с устройствами: управление устройствами без использования рук, например, с помощью жестов или движений головы.
-
2. Медицинские приложения: мониторинг физического состояния пациентов, реабилитация и диагностика двигательных нарушений.
-
3. Системы безопасности: обнаружение подозрительных движений или поведения для обеспечения безопасности в общественных местах или в рамках видеонаблюдения.
-
4. Виртуальная и дополненная реальность: создание интерактивных сценариев или игр, в которых пользователь может взаимодействовать с виртуальным окружением с помощью своих движений [1].
После этого необходимо передать изображение в конвейер машинного обучения для определения позы с помощью функции mp.solutions.pose.Pose().process(). Но так как конвейер ожидает входные изображения в RGB цветном формате, то сначала нужно преобразовать образец изображения из BGR в RGB формат с помощью функции cv2.cvtColor(), поскольку OpenCV считывает изображения в BGR формате (вместо RGB).
После выполнения определения позы на выход поступает список из тридцати трех ориентиров, представляющих места расположения суставов тела видного человека на изображении. Каждый ориентир обладает следующими параметрами: x: расположение по координате x, по ширине изображения; y: расположение по координате y, по высоте изображения; z расположение по z-координате, нормализованный примерно к тому же масштабу, что и x, он представляет глубину ориентира, в качестве исходной точки используется средняя точка бедер, чем меньше z, тем ближе ориентир к камере; visibility: значение, представляющее видимость ориентира [2-3].
После получения списка ориентиров их необходимо отобразить на изображении с помощью функции mp.solutions.drawing_utils.draw_landmarks() и отобразить результирующее изображение с помощью matplotlib библиотеки.
Для того, чтобы классифицировать позы по полученным ориентирам необходимо рассчитать угол между тремя определенными ориентирами. Так, чтобы рассчитать угол сгиба левой руки в локте необходимо найти угол между левым запястьем, левым локтем и левым плечом. По сути, для этого происходит расчет угла между двумя векторами, где первая опорная точка считается начальной точкой первого вектора, вторая - конечной точкой первого вектора, а также начальной точкой второго вектора, а третья - конечной точкой второго вектора.
При реализации окно видеосигнала с вебкамеры обновляется каждые десять секунд для ввода нового символа (позы пароля). Распознавание позы «Обе руки наверху» представлено на рисунке 1.

Рисунок 1 – Распознавание позы «Обе руки наверху»
Распознавание позы «Правая рука наверху» представлено на рисунке 2.

Рисунок 2 – Распознавание позы «Правая рука наверху»
Распознавание позы «Левая рука наверху» представлено на рисунке 3.

Рисунок 3 – Распознавание позы «Левая рука наверху»
Распознавание позы «Т-поза» представлено на рисунке 4.

Рисунок 4 – Распознавание позы «T-поза»
Таким образом, распознавание движений играет важную роль в современных технологиях, обеспечивая более естественное и удобное взаимодействие человека с компьютерами и различными устройствами, а также находя применение в медицине, безопасности и развлекательной индустрии.
Список литературы Алгоритм расчета углов между опорными точками для распознавания поз
- Колегаев, Б.Я. Методика построения человеко-машинного интерфейса для управления компьютером на основе библиотеки mediapipe / Б.Я. Колегаев // Молодой исследователь Дона. - 2023. - № 1(40) - С. 5-10. EDN: DEZUDK
- Залуская, Е.Е. Определение положения тела человека: сравнение mediapipe и openpos / Е.Е. Залуская, А.А. Тур // Наукосфера. - 2023. - № 8-2 - С. 53-57. EDN: XDLZXC
- Ткаченко, С.В. Система компьютерного зрения в мобильных устройствах / С.В. Ткаченко, Т.В. Смирнова // Журнал Белорусского государственного университета. - 2022. - № 4 - С. 4-14.