Информационная технология распознавания жестов для человеко-машинного взаимодействия на базе сверточных нейронных сетей
|
Введение 8
1 Аналитический раздел 12
1.1 Анализ и формализация объекта исследования 12
1.2 Обзор и анализ существующих решений для распознавания жестов при человеко-машинном взаимодействии 16
1.2.1 Высокоточная система жестового управления 17
1.2.2 Volkswagen Golf R Touch Gesture Control 18
1.2.3 DICE - система жестового управления автомобилем от Mercedes-Benz 18
1.2.4 Патент US8634980B1: Driving pattern recognition and safety control 19
1.2.5 Патент US20060136846A1: User interface apparatus using hand gesture recognition
and method thereof. 20
1.2.6 Патент US20140254864A1: System and method for gesture detection through local
product map 21
1.3 Выводы 23
2 Конструкторско-технологический раздел 24
2.1 Обзор и анализ существующих решений для детектирования и распознавания объектов на изображении 24
2.1.1 Методы выделения сюжетной части в системах распознавания изображений. .24
2.1.2 Применение искусственных нейронных сетей в задачах распознавания
изображений 28
2.1.3 Обучение искусственных нейронных сетей 33
2.1.4 Применение методов глубокого обучения в задачах распознавания
изображений 37
2.1.5 Подходы к обучению сверточных нейронных сетей 39
2.1.6 Краткий обзор фреймворков для задач глубокого обучения 41
2.1.7 Особенности подготовки набора данных для обучения нейронной сети 45
2.1.8 Методы оценки качества работы классификатора 46
2.2. Выбор технологии для программной реализации алгоритма классификации жестовых команд 48
2.2.1 Разработка технического задания 48
2.2.2 Выбор фреймворка для разработки модели нейронной сети 50
2.3 Выводы 50
3 Специальный раздел 52
3.1 Программная реализация алгоритма распознавания жестовых команд 52
3.1.1 Предварительная обработка изображений и детектирование кисти руки 53
3.1.2 Подготовка набора данных для классификатора 54
3.1.3 Архитектура классификатора на основе сверточной нейронной сети для
распознавания статических жестовых команд 57
3.1.4 Ресурсные требования к программной и аппаратной реализации 60
3.2 Экспериментальные исследования 61
3.2.1 Сравнительный анализ работы классификаторов жестовых команд 61
3.3 Выводы 62
Заключение 63
Список литературы 67
Приложениея 71
1 Аналитический раздел 12
1.1 Анализ и формализация объекта исследования 12
1.2 Обзор и анализ существующих решений для распознавания жестов при человеко-машинном взаимодействии 16
1.2.1 Высокоточная система жестового управления 17
1.2.2 Volkswagen Golf R Touch Gesture Control 18
1.2.3 DICE - система жестового управления автомобилем от Mercedes-Benz 18
1.2.4 Патент US8634980B1: Driving pattern recognition and safety control 19
1.2.5 Патент US20060136846A1: User interface apparatus using hand gesture recognition
and method thereof. 20
1.2.6 Патент US20140254864A1: System and method for gesture detection through local
product map 21
1.3 Выводы 23
2 Конструкторско-технологический раздел 24
2.1 Обзор и анализ существующих решений для детектирования и распознавания объектов на изображении 24
2.1.1 Методы выделения сюжетной части в системах распознавания изображений. .24
2.1.2 Применение искусственных нейронных сетей в задачах распознавания
изображений 28
2.1.3 Обучение искусственных нейронных сетей 33
2.1.4 Применение методов глубокого обучения в задачах распознавания
изображений 37
2.1.5 Подходы к обучению сверточных нейронных сетей 39
2.1.6 Краткий обзор фреймворков для задач глубокого обучения 41
2.1.7 Особенности подготовки набора данных для обучения нейронной сети 45
2.1.8 Методы оценки качества работы классификатора 46
2.2. Выбор технологии для программной реализации алгоритма классификации жестовых команд 48
2.2.1 Разработка технического задания 48
2.2.2 Выбор фреймворка для разработки модели нейронной сети 50
2.3 Выводы 50
3 Специальный раздел 52
3.1 Программная реализация алгоритма распознавания жестовых команд 52
3.1.1 Предварительная обработка изображений и детектирование кисти руки 53
3.1.2 Подготовка набора данных для классификатора 54
3.1.3 Архитектура классификатора на основе сверточной нейронной сети для
распознавания статических жестовых команд 57
3.1.4 Ресурсные требования к программной и аппаратной реализации 60
3.2 Экспериментальные исследования 61
3.2.1 Сравнительный анализ работы классификаторов жестовых команд 61
3.3 Выводы 62
Заключение 63
Список литературы 67
Приложениея 71
Роботизированные системы стали ключевыми компонентами в различных отраслях промышленности. В последнее время концепция Human-Robot Collaboration (далее HRC) привлекла внимание исследователей. Литературные примеры предполагают, что человек обладает несравненными навыками решения проблем в значительной степени благодаря продвинутым сенсорно-двигательным способностям, но имеет ограниченную силу и точность [1]. Однако роботизированные системы имеют стойкость к усталости, высокую скорость, точность и производительность, но серьезные ограничения в гибкости. HRC может освободить человека от тяжелых задач посредством интуитивного и надежного интерфейса взаимодействия для повышения общей эффективности. В представленном исследовании разработан прототип такого интерфейса, где в основе лежат жестовые команды.
Жесты являются одним из способов обмена информацией, общения. Информация, лежащая в основе мимики, жестов рук и позы тела лежит в основе эффективного канала связи при взаимодействии людей [2][3].
Распознавание жестов относится к математической интерпретации человеческих движений вычислительным устройством. Чтобы взаимодействовать с человеком, роботизированные системы должны правильно понимать человеческие жесты и выполнять соответствующие команды в достаточной степени точности.
В настоящее время такие отраслевые гиганты как Google, Apple, Kuka Robotics, BMW, Facebook, Netflix и другие активно развивают направление перспективных интерфейсов человеко-машинного взаимодействия, где жестовое взаимодействие одно из наиболее востребованных, а задача качественного и уверенного распознавания жестовых команд является одной из основных. В дополнение, создание эффективных каналов взаимодействия, в том числе на базе жестовых команд, может освободить людей от тяжелых и потенциально опасных задач.
Актуальность проведенных исследований заключается в разработке прототипа системы распознавания жестовых команд для его последующего усовершенствования и коммерциализации.
В рамках диссертации реализованы следующие модули системы:
— уникальный набор данных (изображения статических жестов) для обучения и тестирования алгоритмов машинного обучения;
— программное обеспечение для предварительной подготовки данных и обучения классификатора на базе сверточной нейронной сети;
— программное обеспечение для классификации статических жестов и
визуализации результата.
Основными задачами исследования являются:
— анализ методов классификации изображений, основанных на использовании искусственных нейронных сетей;
— выбор оптимального метода выделения информативной части на изображениях;
— выбор оптимальной архитектуры нейронной сети для распознавания статических жестов в видеопотоке;
— оптимизация параметров используемой нейронной сети;
— выбор методов и параметров аугментации (расширения) набора данных для обучения классификатора;
— реализация и исследование работоспособности и эффективности алгоритма распознавания статических жестов, основанного на использовании искусственной нейронной сети.
В диссертационной работе при решении поставленных задач использованы методы теории искусственных нейронных сетей, математического моделирования, теории вероятностей и математической статистики. Для разработки программных компонентов были использованы алгоритмы компьютерного зрения, а именно:
— морфологические преобразования изображения;
— поиск объекта (ROI — Region of Interest) по цвету и контуру;
— изменение размеров (Resize) и выделение фрагментов изображений.
В качестве одного из ключевых компонентов программного модуля были использованы алгоритмы машинного обучения, а именно сверточные нейронные сети. Также были разработаны вспомогательные программные компоненты для предварительной обработки данных, обучения нейронной сети и проверки точности классификатора. Проверка точности заключается в вычислении погрешности, точности и полноты.
Научная новизна заключается в способах оптимизации методов обучения нейронной сети, повышении качества и увеличении объема набора данных, увеличения точности классификации.
В качестве способов оптимизации применяются:
— оптимизация набора данных для обучения;
— аугментация набора данных для обучения;
— подбор параметров классификатора.
10 Уникальный набор данных, разработанная архитектура сверточной нейронной сети, алгоритмы предварительной обработки данных и обучения классификатора являются основой для создания программной системы распознавания жестовых команд.
Диссертация состоит из трех основных разделов:
— аналитический раздел, где осуществляется анализ предметной области и приводятся примеры уже разработанных систем и алгоритмов распознавания жестов и жестовых команд, патентов, связанных с распознаванием жестовых команд, производится анализ и сравнение актуальных разработок, представленных в статьях российских и зарубежных авторов;
— конструкторско-технологический раздел, где приводится описание и анализ современных методов и алгоритмов распознавания объектов на изображении, производится обзор и сравнение популярных библиотек машинного обучения содержащих рассматриваемые методы и соответствующий набор инструментов, а также осуществляется выбор метода и библиотеки для разработки программного обеспечения для детектирования, трекинга и классификации жестов;
— специальный раздел, где приведены алгоритмы и подходы к задаче обработки набора графических данных, продемонстрирована программная реализация алгоритма распознавания жестовых команд, разобраны различные архитектуры нейронных сетей, их достоинства и недостатки, а также представлены качественные результаты работы классификатора жестовых команд.
Целью разрабатываемого программного комплекса является внедрение в мультимедийные системы транспортных средств (Infotainment Systems), а также обеспечение возможности отдельным разработчикам и исследователям использовать разрабатываемые алгоритмы и набор данных в целях доработки и использования в собственных исследованиях.
Практическая значимость заключается в разработке системы распознавания жестовых команд, которую можно использовать в качестве интерфейса для человеко-машинного взаимодействия, а также в обеспечении возможности тестирования алгоритмов классификации и применении пользовательских наборов данных и параметров нейронной сети (метод обучения, топология нейронной сети и др.) для решения смежных задач.
Тема и материалы диссертации были представлены в трех научных работах, опубликованных в «CEUR-WS series»:
— статья «Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language» для конференции AIST-2018;
— постер с графическими материалами для статьи «Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language» для конкурса постеров на конференции AIST-2018;
— статья «Hand gestures detection, tracking and classification using Convolutional Neural Network» для конференции AIST-2019;
Жесты являются одним из способов обмена информацией, общения. Информация, лежащая в основе мимики, жестов рук и позы тела лежит в основе эффективного канала связи при взаимодействии людей [2][3].
Распознавание жестов относится к математической интерпретации человеческих движений вычислительным устройством. Чтобы взаимодействовать с человеком, роботизированные системы должны правильно понимать человеческие жесты и выполнять соответствующие команды в достаточной степени точности.
В настоящее время такие отраслевые гиганты как Google, Apple, Kuka Robotics, BMW, Facebook, Netflix и другие активно развивают направление перспективных интерфейсов человеко-машинного взаимодействия, где жестовое взаимодействие одно из наиболее востребованных, а задача качественного и уверенного распознавания жестовых команд является одной из основных. В дополнение, создание эффективных каналов взаимодействия, в том числе на базе жестовых команд, может освободить людей от тяжелых и потенциально опасных задач.
Актуальность проведенных исследований заключается в разработке прототипа системы распознавания жестовых команд для его последующего усовершенствования и коммерциализации.
В рамках диссертации реализованы следующие модули системы:
— уникальный набор данных (изображения статических жестов) для обучения и тестирования алгоритмов машинного обучения;
— программное обеспечение для предварительной подготовки данных и обучения классификатора на базе сверточной нейронной сети;
— программное обеспечение для классификации статических жестов и
визуализации результата.
Основными задачами исследования являются:
— анализ методов классификации изображений, основанных на использовании искусственных нейронных сетей;
— выбор оптимального метода выделения информативной части на изображениях;
— выбор оптимальной архитектуры нейронной сети для распознавания статических жестов в видеопотоке;
— оптимизация параметров используемой нейронной сети;
— выбор методов и параметров аугментации (расширения) набора данных для обучения классификатора;
— реализация и исследование работоспособности и эффективности алгоритма распознавания статических жестов, основанного на использовании искусственной нейронной сети.
В диссертационной работе при решении поставленных задач использованы методы теории искусственных нейронных сетей, математического моделирования, теории вероятностей и математической статистики. Для разработки программных компонентов были использованы алгоритмы компьютерного зрения, а именно:
— морфологические преобразования изображения;
— поиск объекта (ROI — Region of Interest) по цвету и контуру;
— изменение размеров (Resize) и выделение фрагментов изображений.
В качестве одного из ключевых компонентов программного модуля были использованы алгоритмы машинного обучения, а именно сверточные нейронные сети. Также были разработаны вспомогательные программные компоненты для предварительной обработки данных, обучения нейронной сети и проверки точности классификатора. Проверка точности заключается в вычислении погрешности, точности и полноты.
Научная новизна заключается в способах оптимизации методов обучения нейронной сети, повышении качества и увеличении объема набора данных, увеличения точности классификации.
В качестве способов оптимизации применяются:
— оптимизация набора данных для обучения;
— аугментация набора данных для обучения;
— подбор параметров классификатора.
10 Уникальный набор данных, разработанная архитектура сверточной нейронной сети, алгоритмы предварительной обработки данных и обучения классификатора являются основой для создания программной системы распознавания жестовых команд.
Диссертация состоит из трех основных разделов:
— аналитический раздел, где осуществляется анализ предметной области и приводятся примеры уже разработанных систем и алгоритмов распознавания жестов и жестовых команд, патентов, связанных с распознаванием жестовых команд, производится анализ и сравнение актуальных разработок, представленных в статьях российских и зарубежных авторов;
— конструкторско-технологический раздел, где приводится описание и анализ современных методов и алгоритмов распознавания объектов на изображении, производится обзор и сравнение популярных библиотек машинного обучения содержащих рассматриваемые методы и соответствующий набор инструментов, а также осуществляется выбор метода и библиотеки для разработки программного обеспечения для детектирования, трекинга и классификации жестов;
— специальный раздел, где приведены алгоритмы и подходы к задаче обработки набора графических данных, продемонстрирована программная реализация алгоритма распознавания жестовых команд, разобраны различные архитектуры нейронных сетей, их достоинства и недостатки, а также представлены качественные результаты работы классификатора жестовых команд.
Целью разрабатываемого программного комплекса является внедрение в мультимедийные системы транспортных средств (Infotainment Systems), а также обеспечение возможности отдельным разработчикам и исследователям использовать разрабатываемые алгоритмы и набор данных в целях доработки и использования в собственных исследованиях.
Практическая значимость заключается в разработке системы распознавания жестовых команд, которую можно использовать в качестве интерфейса для человеко-машинного взаимодействия, а также в обеспечении возможности тестирования алгоритмов классификации и применении пользовательских наборов данных и параметров нейронной сети (метод обучения, топология нейронной сети и др.) для решения смежных задач.
Тема и материалы диссертации были представлены в трех научных работах, опубликованных в «CEUR-WS series»:
— статья «Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language» для конференции AIST-2018;
— постер с графическими материалами для статьи «Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language» для конкурса постеров на конференции AIST-2018;
— статья «Hand gestures detection, tracking and classification using Convolutional Neural Network» для конференции AIST-2019;
Актуальность проведенных исследований обусловлена проблемой взаимодействия между людьми и машинами (роботами), над решением которой работают такие известные компании как Boston Dynamics, Kuka Robotics, Google и другие. Основная идея в том, что создание эффективных каналов взаимодействия, в том числе на базе жестовых команд, может освободить людей от тяжелых и потенциально опасных задач.
В рамках диссертации реализованы следующие компоненты системы:
— программное обеспечение для предварительной подготовки данных и обучения классификатора на базе сверточной нейронной сети;
— программное обеспечение для поиска региона ддя классификации (ROI) на изображении;
— программное обеспечение для классификации статических жестов и визуализации результата;
— программная документация.
Основными задачами исследования являлись:
— анализ методов классификации изображений, основанных на использовании искусственных нейронных сетей;
— выбор оптимального метода выделения информативной части на изображениях;
— выбор оптимальной архитектуры нейронной сети для распознавания статических жестов в видеопотоке;
— оптимизация параметров используемой нейронной сети;
— выбор методов и параметров аугментации (расширения) набора данных для обучения классификатора;
— реализация и исследование работоспособности и эффективности алгоритма распознавания статических жестов, основанного на использовании искусственной нейронной сети.
В диссертационной работе при решении поставленных задач использованы методы теории искусственных нейронных сетей, математического моделирования, теории вероятностей и математической статистики. Для разработки программных компонентов были использованы алгоритмы компьютерного зрения, а именно:
— морфологические преобразования изображения;
— поиск объекта (ROI — Region of interest) по цвету и контуру;
— изменение размеров (Resize) и выделение фрагментов изображений.
В качестве одного из ключевых компонентов программного модуля были
64 использованы алгоритмы машинного обучения, а именно сверточные нейронные сети. Также были разработаны вспомогательные программные компоненты для предварительной обработки данных, обучения нейронной сети и проверки точности классификатора (параметры — loss, accuracy).
В результате исследования был разработан и опубликован уникальный набор данных из 10 классов и более 2000 уникальных изображений, а также программный комплекс для обнаружения, отслеживания и классификации статических жестов русского языка жестов в видеопотоке с использованием методов компьютерного зрения и глубокого обучения (рисунок 35).
Решение включает в себя модуль обнаружения рук, который использует цветовую маску, модуль отслеживания жестов, модуль классификации статических жестов в обнаруженной области изображения на основе сверточной нейронной сети, а также вспомогательный модуль предварительной обработки изображений и модуль расширения набора данных. Для разработки архитектуры нейронной сети была использована среда PyTorch.
Представленная версия усовершенствованного классификатора демонстрирует точность классификации в 93,6% по тестовому набору данных, которая превосходит результаты предыдущей версии — 91,38% и классификатор LeNet-5 — 87,08%.
Результаты точности являются достаточной основой для разработки промышленного прототипа интерфейса управления при помощи жестовых команд и дальнейших исследований в этом направлении, что являлось одной из основных целей проекта.
Другой важной целью является обеспечение возможности отдельным разработчикам и исследователям использовать разрабатываемые алгоритмы и набор данных в целях доработки и использования в собственных исследованиях. Для этого весь исходный код проекта, набор данных и обученные классификаторы были опубликованы на GitHub и уже являются основой для исследований научного и IT-сообществ (рисунок 36). Тексты научных статей опубликованы в открытом доступе на ресурсе ResearchGate.
Тема и материалы диссертации были представлена в трех научных публикациях, опубликованных в «CEUR-WS series»:
— статья «Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language» для конференции AIST-2018;
— постер с графическими материалами для статьи «Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language» для конкурса постеров на конференции AIST-2018;
— статья «Hand gestures detection, tracking and classification using Convolutional
66 Neural Network» для конференции AIST-2019;
В следующем поколении проекта будет применен подход семантической сегментации для задачи классификации с полносвязной сверточной сетью (Fully Convolutional Networks [74]). Предполагается иной способ маркировки набора данных и требуется больше данных. Для решения этой проблемы будут создаваться новые изображения с использованием синтетических данных (случайное преобразование перспективы, случайный шум, генерирующие состязательные сети — Generative Adversarial Nets [75] и другие).
В рамках диссертации реализованы следующие компоненты системы:
— программное обеспечение для предварительной подготовки данных и обучения классификатора на базе сверточной нейронной сети;
— программное обеспечение для поиска региона ддя классификации (ROI) на изображении;
— программное обеспечение для классификации статических жестов и визуализации результата;
— программная документация.
Основными задачами исследования являлись:
— анализ методов классификации изображений, основанных на использовании искусственных нейронных сетей;
— выбор оптимального метода выделения информативной части на изображениях;
— выбор оптимальной архитектуры нейронной сети для распознавания статических жестов в видеопотоке;
— оптимизация параметров используемой нейронной сети;
— выбор методов и параметров аугментации (расширения) набора данных для обучения классификатора;
— реализация и исследование работоспособности и эффективности алгоритма распознавания статических жестов, основанного на использовании искусственной нейронной сети.
В диссертационной работе при решении поставленных задач использованы методы теории искусственных нейронных сетей, математического моделирования, теории вероятностей и математической статистики. Для разработки программных компонентов были использованы алгоритмы компьютерного зрения, а именно:
— морфологические преобразования изображения;
— поиск объекта (ROI — Region of interest) по цвету и контуру;
— изменение размеров (Resize) и выделение фрагментов изображений.
В качестве одного из ключевых компонентов программного модуля были
64 использованы алгоритмы машинного обучения, а именно сверточные нейронные сети. Также были разработаны вспомогательные программные компоненты для предварительной обработки данных, обучения нейронной сети и проверки точности классификатора (параметры — loss, accuracy).
В результате исследования был разработан и опубликован уникальный набор данных из 10 классов и более 2000 уникальных изображений, а также программный комплекс для обнаружения, отслеживания и классификации статических жестов русского языка жестов в видеопотоке с использованием методов компьютерного зрения и глубокого обучения (рисунок 35).
Решение включает в себя модуль обнаружения рук, который использует цветовую маску, модуль отслеживания жестов, модуль классификации статических жестов в обнаруженной области изображения на основе сверточной нейронной сети, а также вспомогательный модуль предварительной обработки изображений и модуль расширения набора данных. Для разработки архитектуры нейронной сети была использована среда PyTorch.
Представленная версия усовершенствованного классификатора демонстрирует точность классификации в 93,6% по тестовому набору данных, которая превосходит результаты предыдущей версии — 91,38% и классификатор LeNet-5 — 87,08%.
Результаты точности являются достаточной основой для разработки промышленного прототипа интерфейса управления при помощи жестовых команд и дальнейших исследований в этом направлении, что являлось одной из основных целей проекта.
Другой важной целью является обеспечение возможности отдельным разработчикам и исследователям использовать разрабатываемые алгоритмы и набор данных в целях доработки и использования в собственных исследованиях. Для этого весь исходный код проекта, набор данных и обученные классификаторы были опубликованы на GitHub и уже являются основой для исследований научного и IT-сообществ (рисунок 36). Тексты научных статей опубликованы в открытом доступе на ресурсе ResearchGate.
Тема и материалы диссертации были представлена в трех научных публикациях, опубликованных в «CEUR-WS series»:
— статья «Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language» для конференции AIST-2018;
— постер с графическими материалами для статьи «Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language» для конкурса постеров на конференции AIST-2018;
— статья «Hand gestures detection, tracking and classification using Convolutional
66 Neural Network» для конференции AIST-2019;
В следующем поколении проекта будет применен подход семантической сегментации для задачи классификации с полносвязной сверточной сетью (Fully Convolutional Networks [74]). Предполагается иной способ маркировки набора данных и требуется больше данных. Для решения этой проблемы будут создаваться новые изображения с использованием синтетических данных (случайное преобразование перспективы, случайный шум, генерирующие состязательные сети — Generative Adversarial Nets [75] и другие).



