Научная статья на тему 'ПРИМЕНЕНИЕ АЛГОРИТМЫ РАСПОЗНАВАНИЯ ЖЕСТОВ ДЛЯ УПРАВЛЕНИЯ МОБИЛЬНОГО РОБОТА'

ПРИМЕНЕНИЕ АЛГОРИТМЫ РАСПОЗНАВАНИЯ ЖЕСТОВ ДЛЯ УПРАВЛЕНИЯ МОБИЛЬНОГО РОБОТА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
831
74
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПОЗНАВАНИЕ ЖЕСТОВ / ОЦЕНКА ТОЧНОСТИ / MEDIAPIPE HANDS / СИСТЕМА ROS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ван Вэньюэ, Сун Бисянь

В этой работе объединяются распознавание жестов и управление роботом. Распознавание жестов было выполнялся на основе MediaPipe Hands. Описываются основные структуры MediaPipe Hands. Были определены пять команд жестов для управления движением мобильного робота (Turtlebot3) с дифференциальным приводом. Точности распознавания жестов оценивался в работе. На конце эксперименты для управления робота с помощью командами жестов провелся на платформе ROS в системе Ubuntu 18.04.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ван Вэньюэ, Сун Бисянь

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING GESTURE RECOGNITION TO CONTROL A MOBILE ROBOT

This work combines gesture recognition and robot control. Gesture recognition has been performed based on MediaPipe Hands. The basic structures of MediaPipe Hands are described. Five gesture commands were defined to control the motion of a mobile robot (Turtlebot3) with a differential drive. Gesture recognition accuracies were evaluated in the paper. At the end, experiments to control the robot with gesture commands were conducted on the ROS platform on the Ubuntu 18.04 system.

Текст научной работы на тему «ПРИМЕНЕНИЕ АЛГОРИТМЫ РАСПОЗНАВАНИЯ ЖЕСТОВ ДЛЯ УПРАВЛЕНИЯ МОБИЛЬНОГО РОБОТА»

Научная статья Original article УДК 681.5

ПРИМЕНЕНИЕ АЛГОРИТМЫ РАСПОЗНАВАНИЯ ЖЕСТОВ ДЛЯ УПРАВЛЕНИЯ МОБИЛЬНОГО РОБОТА

USING GESTURE RECOGNITION TO CONTROL A MOBILE ROBOT

ЁЯ

Ван Вэньюэ, студент факультета специального машиностроения, Московский государственный технический университет имени Н. Э. Баумана, г. Москва. 18761875608@163.com

Сун Бисянь, студент факультета специального машиностроения, Московский государственный технический университет имени Н. Э. Баумана, г. Москва. 13390773394@163.com

Wang Wenyue, student of the Faculty of Special Engineering, Bauman Moscow State Technical University, Moscow. I876i875608@i63.com

Song Bixian, student of the Faculty of Special Engineering, Bauman Moscow State Technical University, Moscow. 13390773394@i63.com

Аннотация. В этой работе объединяются распознавание жестов и управление роботом. Распознавание жестов было выполнялся на основе MediaPipe Hands. Описываются основные структуры MediaPipe Hands. Были определены пять команд жестов для управления движением мобильного робота (Turtlebot3) с дифференциальным приводом. Точности распознавания жестов оценивался в работе. На конце эксперименты для управления робота с помощью командами жестов провелся на платформе ROS в системе Ubuntu 18.04.

4823

Abstract. This work combines gesture recognition and robot control. Gesture recognition has been performed based on MediaPipe Hands. The basic structures of MediaPipe Hands are described. Five gesture commands were defined to control the motion of a mobile robot (Turtlebot3) with a differential drive. Gesture recognition accuracies were evaluated in the paper. At the end, experiments to control the robot with gesture commands were conducted on the ROS platform on the Ubuntu 18.04 system.

Ключевые слова: распознавание жестов, оценка точности, MediaPipe Hands, система ROS

Keywords: gesture recognition, accuracy assessment, MediaPipe Hands, ROS system

Введение

За последние несколько десятилетий графический пользовательский интерфейс (GUI) быстро продвинулся в качестве интерфейса связи между человеком и компьютером, но использование графического интерфейса по -прежнему требует ручного управления, и в некоторых случаях это будет неудобно. Задача ручного управления робототехнической системой еще полностью не решена. Основной проблемой является отсутствие удобного и простого в обращение, особенно для неподготовленного оператора, пользовательского интерфейса. Даже для проведения простых манипуляций с физическими предметами может потребоваться несколько десятков комбинаций команд. Создание же интерфейса, понятного и эргономичного для человека, в таком ключе становиться почти невыполнимой задачей.

Одним из решений данной проблемы может стать управление устройством при помощи команда жестов, подаваемых человеком. Хотя каналы связи между людьми и роботами по-прежнему ограничены, распознавание жестов эффективно применяется в качестве интерфейса между людьми и компьютерами в течение длительного периода времени.

4824

Основной целью данной работы является использование MediaPipe, предоставляемого компанией Google, для простого распознавания жестов. Затем используйте свои собственные определенные жесты для управления движением робота Turtlebot3 в системе Ubuntu 18.04. 7. MediaPipe Hands

MediaPipe - это фреймворк для создания кросс-платформенных (Android, iOS, web, оконечные устройства) мультимодальных (видео, аудио, временные последовательности данных) конвейеров (pipelines) машинного обучения (Machine Learning), который состоит из алгоритмов машинного обучения, классического компьютерного зрения и обработки медиа информации (то есть декодирования видео). MediaPipe включает в себя пакеты, написанные на python и других языках программирования), для решения следующих задач [1]:

• обнаружение объектов;

• обнаружение лиц;

• отслеживание рук (как одной, так и нескольких);

• оценка положения тела;

• сегментации волос.

MediaPipe Hands - это высококачественное решение для отслеживания рук и пальцев. Он использует машинное обучение (ML) для определения 21 ориентира руки всего из одного кадра.

Здесь 3 модели используются для выполнения распознавания жестов в MediaPipe hand [2].

• Модель обнаружения ладони. Эта модель работает со всем изображением и возвращает ограничивающую рамку с направленной областей.

• Модель ориентиров руки, которая работает с обрезанной областью изображения, определенной детектором ладони, и возвращает высокоточные 3D ключевые точки руки.

4825

Распознаватель жестов, который классифицирует ранее вычисленную конфигурацию ключевых точек в дискретный набор жестов.

изображения

детектор ладони

рама №1

рама №2

рама №3

изображения

ориентиры руки распознаватель жестов

изображения

ориентиры руки распознаватель жестов

изображения 1

ориентиры руки распознаватель жестов

Рис.1 Схема распознавания жестов в MediaPipe hand

После обнаружения ладони на всем изображении наша последующая модель ориентиров руки выполняет точную локализацию ключевых точек 21 3D координат костяшек кисти внутри обнаруженных областей руки с помощью регрессии [3], полученные результаты показаны на рисунке ниже.

Рис.2 ориентиры руки

Здесь на рис.2 :

Точка 0 - ориентир на запястье; Точки 1,2,3,4 - ориентиры на большом пальце; Точки 5,6,7,8 - ориентиры на указательном пальце; Точки 9,10,11,12 - ориентиры на среднем пальце; Точки 13,14,15,16 - ориентиры на безымянном пальце; Точки 17,18,19,20 - ориентиры на мизинце.

4826

На основе ориентиров руки, мы используем простой алгоритм для определения жестов в блоке распознаватели жестов. С начало мы можем получить координаты этих 21 ориентира на изображении и отобразить

Рис.3 координаты ориентиров

После того, как мы получим координаты ориентира, мы сможем получить два двумерных вектора на наших пальцах. Определите, согнуты ли пальцы, рассчитав угол между векторами, чтобы можно было выполнить простое

распознавание жестов. Например, Мы можем использовать вектор 0 2 и вектор 3 4, чтобы определить, согнут ли большой палец. Векторы, которые мы используем для определения того, согнут ли каждый палец, показан в следующей таблице.

Таблица. 1

Пальцы Векторы

большой палец 0~2 и 3~4

указательный палец 0~б и 7~8

средний палец 0 1 0 и 1 1 1 2

4827

Безымянный палец

мизинец

0 1 4 и 1 5 1 6

0 1 8 и 1 9 2 0

На основе уравнения (1) можно вычислить угол 0 между двумя векторами.

Л *В

в = arccos

(1)

Сравните угол изгиба пальца с пороговым значением, чтобы определить, согнут ли палец. Пороговые значения, используемые здесь, основаны на опыте. Мы определили следующие пять жестов, как показано на рис.4.

вперед назад направо налево

Рис.4 команды жестов

стоп

Чтобы проверить точность распознавания жестов, мы выполнили распознавание жестов на статичных изображениях. Мы пригласили 5 студентов выполнять различные жесты. При записи жестов поместите одну ладонь в центр экрана, что составляет примерно 1/4-1/3 экрана, чтобы убедиться, что ладони одинаковы по размеру и узнаваемы. Основываясь на 5 разработанных жестах, каждый студент выполнил каждый жест 3 раза, чтобы получить 75 изображений жестов. Затем набор данных расширяется путем переворачивания, вращения, панорамирования, размытия или осветления, в результате чего получается 1432 изображений жестов.

4828

Рис.5 набор данных Как показано на рисунке 12, мы поочередно вводим каждое изображение жеста, выводим результаты распознавания жестов, наносим на изображение результаты и ключевые точки руки, и, наконец, подсчитываем матрицу ошибок, как показано в таблице 2.

Таблица.2

—-—Обнаруженные жесты Реальные жесты вперед назад направо налево стоп

вперед 300 1 0 0 1

назад 0 263 0 3 1

направо 0 5 279 0 0

налево 0 0 И 282 2

стоп 0 0 1 0 283

Показатели precisюn(точность), гесаП(полнота) и (среднее гармоническое precision и recall) используются для оценки производительности алгоритма распознавания жестов, и получается таблица 3.

ГР

precision = ——— (2)

F ГР + FP

TP

recall = ——— (3)

ГР + FN

4829

В уравнениях (2) и (3):

• ТР (истинно-положительные) — те категории, которые мы ожидали увидеть и получили на выходе.

• FP (ложно-положительные) — категории, которых быть на выходе не должно и анализатор их ошибочно вернул на выходе.

• FN (ложно-отрицательные) — категории, которые мы ожидали увидеть, но анализатор их не определил [4].

Таблица.3

точность полнота

вперед 94.94% 100.00% 97.40%

назад 93.93% 87.67% 90.69%

направо 92.38% 93.00% 92.69%

налево 90.38% 94.00% 92.16%

стоп 93.09% 94.33% 93.71%

Можно сделать вывод, что уровень точности результатов распознавания жестов очень высок, что может соответствовать нашим требованиям к использованию

8. Эксперименты

Эксперимент проводился в системе Ubuntu 18.04 и поставщик для ROS -Melodic. Содержание эксперимента состоит в том, чтобы использовать пять определенных нами жестов для управления движением робота Turtlebot3.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4830

Рис.6. Turtlebot3

Топики и узлы, которые мы создали для эксперимента в ROS, показаны на рис.7

Рис.7. Топики и узлы в ROS

Узел «recognition» - издатель. Он содержит Алгоритм распознавания жестов, основанный на MediaPipe. Здесь мы определяем пять жестов путем обнаружения изгибания пальцев и публикуем распознанные жесты в теме «gesture».

Узел «command» получает топик «gesture», опубликованную узлом «recognition». В этом узле содержит команды управления, соответствующие пяти жестам, а затем команды публикуются в топике «cmd_vel». Когда модель робота получает команду в топике «cmd_vel», она выполняет движение.

Например, мы использовали команду "вперед" для управления движением робота и наблюдали, точно ли распознаются жесты и точно ли

4831

передаются команды роботу. чтобы двигаться вперед. результат выполнения команд «вперед» и «направо» выглядит следующим образом.

1МГО ««м

[ 1*414191*2.429361. (1б4г4яиг.1г9»74,

6424*9192.931713, 64244919».»>2916, 442419193.132123. »424*9191.232*4«. 6424*9193.333164.

6424*9193.*34241" 6424*9193.6344*7,

(a)

(Ь)

4832

(c)

Рис.8 команды «вперед» и «направо» Как вы можете видеть, наш жест был точно распознан, и робот прекрасно выполнил команду, соответствующую жесту. 9. Заключение

В этой статье мы выполнили простое распознавание жестов на основе MediaPipe. Пять различных жестов были определены путем определения того, были ли пальцы согнуты, а затем жесты использовались в системе Ubuntu 18.04 для завершения управления роботом Turtlebot3. Результаты показывают, что метод управления, основанный на распознавании жестов, может точно передавать наши управляющие команды роботу.

Литература

1. Управляемый жестами видеоплеер на Raspberry Pi и MediaPipe [Электронный ресурс]. -URL: https://microkontroller.ru/raspberry-pi-

4833

projects/upravlyaemyj-zhestami-videopleer-na-raspberry-pi-i-mediapipe/? (Дата обращения 19.05.2022).

2. Fan Zhang, Valentin Bazarevsky, Andrey Vakunov, Andrei Tkachenka, George Sung, Chuo-Ling Chang, Matthias Grundmann. (2020) MediaPipe Hands: On-device Real-time Hand Tracking.

3. MediaPipe Hands [Электронный ресурс]. -URL: https ://google. github. io/mediapipe/solutions/hands#max_num_hands (Дата обращения 19.05.2022).

4. Оценка качества в задачах классификации и регрессии [Электронный ресурс]. -URL: https://neerc.ifшo.ru/wiki/index.php?title=Оценка_качества_в_задачах_кл ассификации_и_регрессии (Дата обращения 20.05.2022).

References

1. Gesture-controlled video player on the Raspberry Pi and MediaPipe [Electronic resource]. -URL: https://microkontroller.ru/raspberry-pi-projects/upravlyaemyj-zhestami-videopleer-na-raspberry-pi-i-mediapipe/? (Date of access 19.05.2022).

2. Fan Zhang, Valentin Bazarevsky, Andrey Vakunov, Andrei Tkachenka, George Sung, Chuo-Ling Chang, Matthias Grundmann. (2020) MediaPipe Hands: On-device Real-time Hand Tracking.

3. MediaPipe Hands [Electronic resource]. -URL: https ://google. github. io/mediapipe/solutions/hands#max_num_hands (Date of access 19.05.2022).

4. Quality assessment in classification and regression tasks [Electronic resource]. -URL:

https://neerc.ifmo.ru/wiki/index.php?title=Оценка_качества_в_задачах_кл ассификации_и_регрессии (Date of access 20.05.2022).

© Ван Вэньюэ, Сун Бисянь, 2022 Научно-образовательный журнал для студентов и преподавателей «StudNet» №5/2022.

Для цитирования: Ван Вэньюэ, Сун Бисянь ПРИМЕНЕНИЕ АЛОРИТМЫ РАСПОЗНАВАНИЯ ЖЕСТОВ ДЛЯ УПРАВЛЕНИЯ МОБИЛЬНОГО РОБОТА// Научно-образовательный журнал для студентов и преподавателей №5/2022.

4834

i Надоели баннеры? Вы всегда можете отключить рекламу.