Статья опубликована в рамках: Научного журнала «Студенческий» № 19(231)
Рубрика журнала: Технические науки
Секция: Технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10, скачать журнал часть 11
ИССЛЕДОВАНИЕ РАСПОЗНАВАНИЯ ЖЕСТОВ КОЛЛАБОРАТИВНЫХ РОБОТОВ
RESEARCH ON GESTURE RECOGNITION OF COLLABORATIVE ROBOTS
Wang Yuwei
Student, Department of Robotic Systems and Mechatronics, Bauman Moscow State Technical University,
Russia, Moscow
Vitaly Solntsev
Scientific supervisor, candidate of Technical Sciences, associate professor, Bauman Moscow State Technical University,
Russia, Moscow
АННОТАЦИЯ
Жесты, как естественный язык, могут выражать богатые смыслы. Распознавание жестов имеет широкий спектр сценариев применения в современном обществе. Чтобы поддерживать стерильную среду для хирургических операций и избежать заражения медицинского персонала при сортировке хирургического оборудования, выбирается распознавание жестов для завершения взаимодействия между медицинским персоналом и роботами.
В данной статье исследуется система распознавания жестов, основанная на обнаружении 21 характерной точки руки. Система распознавания жестов используют нейронные сети для извлечения ключевых моментов и реализации распознавания жестов. В статье была проведена экспериментальная проверка, и средний показатель точности распознавания для 8 различных жестов достиг 95,7%.
ABSTRACT
Gestures, like natural language, can express rich meanings. Gesture recognition has a wide range of application scenarios in today's society. In order to maintain a sterile environment for surgical operations and avoid contamination of medical personnel when sorting surgical equipment, gesture recognition is chosen to complete the interaction between medical personnel and robots.
This article explores a gesture recognition system based on the detection of 21 characteristic points of the hand. The gesture recognition system uses neural networks to extract key points and implement gesture recognition. The article was experimentally tested, and the average recognition accuracy for 8 different gestures reached 95.7%.
Ключевые слова: Распознавание жестов, Взаимодействие человека с компьютером; Характерные точки рук; Нейронная сеть; Глубокое обучение.
Keywords: Gesture recognition, Human-computer interaction, Hand feature points, Neural network, Deep learning.
Появление медицинских коллаборативных роботов снижает трудоемкость медицинского персонала и имеет важные перспективы применения [1, с. 8], позволяя медицинскому персоналу не выполнять большое количество повторяющихся задач каждый день [2, с. 37]. По сравнению с традиционными сенсорными кнопками возможности заражения можно избежать с помощью взаимодействия с помощью жестов [3, с.327]. Это имеет практическое значение в контексте нынешней пандемии Covid-19.
Этот дизайн направлен на достижение цели взаимодействия человека с компьютером с использованием метода распознавания жестов на основе зрения. Жесты распознаются программой распознавания жестов. Результат распознавания отправляется роботу в качестве инструкции для реализации управления роботом.
Разработана систему распознавания жестов на основе сверточной нейронной сети для управления РТК (РТК: роботизированный технологический комплекс). Распознавание жестов на основе машинного обучения может эффективно решать нелинейные задачи с высокой отказоустойчивостью, надежностью, высоким уровнем параллелизма, адаптивностью, защитой от помех и возможностями мобильного обучения.
Основанный на взаимодействии жестов зрения робота, метод распознавания жестов используется для реализации взаимодействия между людьми и роботами. С точки зрения процесса взаимодействия он примерно разделен на 5 частей. Как показано на рисунке 1: 1) Сбор данных: сбор изображений рук человека с помощью камеры; 2) Обнаружение рук и сегментация: определение наличия руки на входном изображении, если есть рука, определение конкретного положения руки и сегмента; 3) Распознавание жестов: извлеките особенности области руки и определите их типы в соответствии с определенным методом; 4) Используйте результаты распознавания для управления движением робота: отправьте результаты распознавания в систему управления роботом для управления робот для выполнения определенных движений; 5) Пользователь делает определенные жесты: люди гибко формулируют стратегии управления в соответствии с фактическим движением робота и своими потребностями и делают определенные жесты перед камерой.
Рисунок 1 Блок-схема жестового взаимодействия человека и робота
Вмешательство человека может лучше направлять роботов для выполнения сложных задач, и для роботов также полезно помогать людям в выполнении более сложных задач. Среди них распознавание жестов является ядром всего процесса взаимодействия жестов, а обнаружение рук— основой распознавания жестов [4, с. 22].
Метод обнаружения рук. Распознавание жестов является ключевой технологией жестового взаимодействия, которая напрямую влияет на эффект жестового взаимодействия и играет важную роль во всем процессе взаимодействия человека с компьютером.
Метод, основанный на модели характерных точек heatmap. Оценка позы рук является ключевой технологией для задач распознавания жестов. С точки зрения категории визуальных задач она относится к задаче регрессии. Положение ключевых точек руки [5, с. 106] показано на рисунке ниже.
Рисунок 2 жест скелет
Метод Heatmap фактически выполняет сопоставление признаков в пространственном измерении, а ядро свертки «скользит» по плоскости карты признаков, уделяя больше внимания и используя локальную информацию, а позиционирование фактически является «побочным продуктом» сопоставления признаков, которое Получаем его нахождением индекса максимальной точки отклика (Argmax), расчет каждой ключевой точки, условно говоря, независим.
Сверточная нейронная сеть. Машинное обучение использует статистические методы для решения проблемы неопределенности, а машинное обучение посвящено изучению алгоритмов для компьютеров для создания моделей из данных, то есть «алгоритмов обучения». С помощью алгоритма обучения модель может быть создана на основе данных, и при столкновении с новой ситуацией модель может быть использована для вынесения соответствующих суждений. С быстрым развитием машинного обучения на данном этапе это горячая точка исследований в области компьютерных приложений. Во многих случаях распознавания статических жестов на основе внешнего вида используются методы машинного обучения.
Искусственная нейронная сеть родилась в начале 1940-х годов [6, с. 104]. Это широко параллельная взаимосвязанная сеть, состоящая из адаптивных простых блоков. Он может имитировать интерактивную реакцию биологической нервной системы на реальный мир. Надежность, высокий параллелизм, адаптивность, защита от помех возможность мобильного обучения и т. д. С появлением бума глубокого обучения нейронные сети снова привлекли внимание и широко используются для распознавания речи и классификации изображений. Существует много видов нейронных сетей, и скорость распознавания жестов обычно ограничивается плюсами и минусами модели обнаружения рук и количеством обучающих выборок.
Рисунок 3 Блок-схема структуры CNN
(CNN: convolutional neural network, Сверточная нейронная сеть)
Нейронная сеть — это сетевая модель, созданная с использованием принципа бионики для имитации процесса обработки информации синапсов мозга. CNN — это локально активируемая нейронная сеть с прямой связью с тремя основными функциями: локальное рецептивное поле, распределение веса и субдискретизация [7, с. 513]. Типичная CNN в основном состоит из входного слоя, выходного слоя, сверточного слоя, слоя пула и полностью связанного слоя, и его типичные сетевые результаты показаны на рисунке 3.
Из рисунка видно, что когда обрабатываемое изображение передается во входной слой, ему необходимо пройти через несколько слоев свертки и слоев пула, а окончательный выходной результат получается через несколько полносвязных слоев. В слое свертки операция свертки выполняется над изображением через маску фильтра, которая может реализовать извлечение локальных особенностей изображения, и отражаются особенности локального рецептивного поля CNN. При этом параметры маски в одном и том же сверточном слое сохраняются согласованными, что отражает особенность разделения веса CNN. После обработки слоя свертки функции, извлеченные из изображения, поступают в слой объединения для субдискретизации, чтобы уменьшить объем последующей обработки данных. Максимальное объединение является наиболее часто используемым методом объединения. Благодаря описанной выше обработке извлеченные признаки изображения растягиваются в векторы признаков, и после нескольких полностью связанных слоев можно добиться лучшей классификации и распознавания признаков изображения. CNN в основном включает параметры маски каждого сверточного слоя, веса передачи между слоями и т. д. Эти параметры должны быть оптимизированы и скорректированы с использованием большого количества обучающих данных. Как правило, метод обратного распространения ошибки используется для передачи ошибки в обратном направлении и послойной настройки параметров модели в соответствии с ошибкой, и, наконец, добиться лучшей классификации и распознавания. Сложные сетевые результаты CNN и крупномасштабные настраиваемые параметры обеспечивают высокую отказоустойчивость и надежность. С одной стороны, извлечение признаков изображения имеет инвариантность к перемещению, вращению и масштабу, так что обученная модель CNN может лучше адаптироваться к проблеме распознавания различных сцен. С другой стороны, процесс настройки параметров модели CNN во время обучения занимает много времени, после завершения обучения процесс распознавания происходит очень быстро, что значительно повышает практическую ценность CNN.
Структура нейронной сети. До появления ResNet общая идея глубины сети глубокого обучения заключалась в том, чтобы углубить глубину сети[14]. Однако по мере взросления и углубления нейронной сети будет проявляться явление исчезновения градиента, и эффект будет не очень хорошим. Это показывает, что простое наложение большего количества слоев приведет к ухудшению сетевой модели. Предложение остаточной сети ResNet решает проблему деградации сетевой модели.
Модули сети ResNet показаны на рис. 4. x — входные данные, F(x) — процесс обучения, включающий вычисления свертки и функции активации, а F(x)+x — выходные данные. Когда обучающий слой насыщен, F(x)= 0, вход в это время равен x, образуя прямое отображение, где вход равен выходу. Это базовая структура остаточного обучения, которая не будет ухудшать работу сети по мере увеличения глубины и не вводит дополнительных параметров.
Рисунок 4. сети ResNet
Остаточная сеть состоит из базового блока или блока узкого места. Базовый блок показан на рис. 4. Размерность канала входных данных x равна 64. После прохождения двух слоев свертки с размером ядра свертки 3x3 F(x) с размерностью канала 64 получается через функцию активации. Наконец, добавить x, чтобы получить H(x) с размерностью канала 64. В этом процессе, если размер шага сверточного слоя равен 1, то размеры ширины и высоты входных данных x равны размерам ширины и высоты F(x), и их можно добавить, чтобы получить H(x). Но если размер шага в сверточном слое не равен 1, например равен 2, то размеры ширины и высоты F(x) составляют половину размеров ширины и высоты x, а F(x) и x не могут быть добавлено в это время. Для решения этой проблемы вводится метод размерного спуска. Каждый раз, когда F(x) оценивается перед добавлением x, если размеры ширины и высоты различны, то пусть x проходит через сверточный слой с уменьшенными размерами, так что размерность x равна размерности F(x), а затем добавьте, чтобы получить H(x).
Рисунок 5. базовый блок
Блок узкого места показан на рис. 5. Ситуация немного усложняется, в основном для экономии вычислительных затрат, и базовый блок оптимизируется, а два сверточных слоя с размером ядра свертки 3x3 в базовом блоке заменяются на сверточные слои с размерами ядра свертки 1x1, 3x3 и 1x1. Размерность канала входных данных x блока узкого места равна 256, и сначала он проходит через слой свертки с размером ядра свертки 1x1 для уменьшения размерности, а размерность номера выходного канала равна 64. Затем через функцию активации войти в слой свертки с размером ядра свертки 3x3, сохраните размер номера канала без изменений и, наконец, на рис. 6, войти в слой свертки с размером ядра свертки 1x1 через функцию активации и выведите количество каналов, то есть F(x), а количество каналов восстановления равно 256. Такая конструкция не только сохраняет точность, но и уменьшает объем вычислений. Как и в базовом блоке, если размерность ширины и высоты F(x) отличается от размерности x, то пусть x проходит через сверточный слой с уменьшенными размерностями, так что размерность x равна размерности F(x) и, наконец, сложите, чтобы получить H(x).
Рисунок 6. Блок узкого места
Пользовательский набор данных жестов. Набор данных HD (Handpose Dataset) с открытым исходным кодом, область руки содержит координаты 21 ключевой характерной точки, 41258 образцов в обучающем наборе и 2728 образцов изображений в проверочном наборе. Набор данных имеет разный фон, разные точки зрения, разные положения рук и точную аннотацию.
Рисунок 7. Некоторые фотографии набора данных HD
Набор данных о жестах с открытым исходным кодом Shoushi_x был классифицирован по категориям жестов. Набор данных имеет разнообразный фон, случайные жесты и богатые образцы. Набор образцов включает 6400. Доли обучающих данных и тестовых данных составляют 80% и 20% соответственно.
Рисунок 8. Некоторые фотографии набора данных Shoushi_x
кроме того, использовала камеру и сфотографировала различные жесты, и создала набор данных. На рис. 8 показана часть набора данных, например руки разных форм, размеров и геометрии. В пользовательский набор данных загружено около 7500 образцов с 10 различными классами, где каждый класс имеет в среднем 750 изображений. Доли обучающих данных и тестовых данных составляют 80% и 20% соответственно.
Обучение нейронной сети. Экспериментальный процесс обучения модели нейронной сети распознаванию жестов показан на рисунке 9. Сначала необходимо инициализировать модель нейронной сети. После ввода набора данных функции жестов извлекаются. На четвертом этапе по тестовому набору оценивается, меньше ли ошибка модели сверточной нейронной сети ожидаемого значения, если нет, то обновляется вес в соответствии с ошибкой и продолжается обучение. Получив обученную модель нейронной сети, введите изображение для распознавания жестов и проведите эксперименты, если точность не соответствует требованиям, то вернитесь для продолжения обучения нейронной сети.
Рисунок 9. Экспериментальный процесс обучения CNN
Необходимо сначала обучить распознаванию характерных точек суставов рук. Идентификация характерных точек — это, по сути, регрессия координат характерных точек рук. Поэтому порог ошибки между предсказанными координатами и реальными координатами используется в качестве критерия для измерения производительности сетевой модели.
Для итеративного обучения используется стандартная функция потерь Softmax, количество итераций равно 80, скорость обучения установлена на 0,01, а скорость затухания составляет 0,0005 каждые 10 раундов. В алгоритме прогнозирования характерных точек, основанном на сверточной нейронной сети ResNet, p относится к вероятности правильного обнаружения характерных точек при различных пороговых значениях. Лучшее в Наборе данных HD с итерациями 80.
Используя эту уже обученную модель обнаружения характерных точек руки, обучите ее набору данных, классифицированному по различным жестам. Из-за относительно большого объема данных в эксперименте используется метод итерации обучающих выборок небольшими партиями с целью повышения скорости и точности. Наконец, он имеет тенденцию быть стабильным в epoch = 9. Точность составляет 95,7%.
Рисунок 10. Точность модели второй распознавания жестов
Рисунок 11. Результаты распознавания жестов
Результаты. Тест скорости распознавания: контролируя количество жестов на изображении, измерьте время до и после распознавания и используйте встроенную функцию python time.time() для расчета.
Таблица 1.
Результаты теста: время распознавания
|
время распознавания |
основанный на модели характерных точек heatmap |
263 мс |
Таблица 2.
Тест на точность распознавания жестов, основанный на модели характерных точек heatmap
Тип жеста |
количество тестов |
количество ошибок |
Правильная ставка |
Жест 0 |
50 |
0 |
100% |
Жест 1 |
50 |
2 |
96% |
Жест 2 |
50 |
2 |
96% |
Жест 3 |
50 |
2 |
96% |
Жест 4 |
50 |
3 |
94% |
Жест 5 |
50 |
2 |
96% |
Жест 6 |
50 |
3 |
94% |
Жест 7 |
50 |
3 |
94% |
общий |
400 |
17 |
95.7% |
Заключение. В данной работе исследуются методы управления распознаванием жестов на основе зрения. Распознавание жестов разделено на следующие части: получение жестов камерой и предварительная обработка изображения, обнаружение рук и сегментация изображения, извлечение признаков классификации жестов и преобразование результатов распознавания в команды управления. Чтобы обеспечить точность и интеллектуальность распознавания жестов, в этой статье используются два алгоритма глубокого обучения на основе сверточной нейронной сети, а также получаются экспериментальные результаты и сравниваются их.
Описывается аппаратная и программная среда для разработки этой системы, а затем объясняются функции системы. В статье исследуется распознавание жестов на основе характерных точек соответственно. Показаны результаты тестирования системы управления распознаванием жестов. Перчатки не могут повлиять на распознавание жестов на основе характерных точек. С точки зрения точности оба метода составляют около 95.7%, что точно.
Список литературы:
- Джин Юнчун. Разговор о разработке интеллектуальных роботов показывает.: Robot Technology and Application, 2014, (18):32.
- Чжан Йи, Сунь Чуньсин, Функциональный дизайн и реализация роботов для медицинских служб [J], Технология и применение роботов, 2011, (06): 36-39.
- Daschner F.Cost-effectiveness in hospital infection control lessons for the 1990s[J].J Hosp Infect,1989,13:325-336.
- Rautaray S, Agrawal A. Vision based hand gesture recognition for human computer interaction: A survey[J]. Artifificial Intelligence Review, 2015, 43(1): 1-54.
- Yi Jingguo, Cheng Jianghua, Kuxishu. A review of visual gesture recognition [J]. Computer Science, 2016, 43(S1): 103-108.
- Lecun Y, Boser B, Denker J, et al. Backpropagation Applied to Handwritten Zip Code Recognition[J]. Neural computation, 1989, 1(4):541-551.
- LIU W, WEN Y, YU Z, et al. Large-margin Softmax loss for convolutional neural networks[C]//33rd International Conference on Machine Learning, New York, USA, 2016: 507-516.
Оставить комментарий