Реферат по теме выпускной работы
Содержание
- Введение
- 1. Анализ систем бесконтактного жестового управления
- 1.1 Актуальность исследования
- 1.2 Обзор систем бесконтактного жестового управления
- 1.3 Цель и задачи системы
- 2. Концепции решения задачи обнаружения и трекинга объектов
- 3. Алгоритмы основной программы и подпрограмм
- Выводы
- Список источников
Введение
Сенсорные интерфейсы практически захватили развитые рынки, что повлекло за собой изменения ожиданий пользователей и взглядов UX- специалистов на человеко-машинное взаимодействие (Human-Computer Interaction, HCI). Теперь вслед за сенсорными интерфейсами в индустрию понемногу начинают проникать технологии бесконтактных жестовых и естественно-языковых взаимодействий (Natural Language Interaction, NLI). Распространение этих технологий обещает перемены в отрасли UX, начиная с эвристик, которыми мы руководствуемся, и заканчивая паттернами проектирования и конечными результатами. Благодаря сенсорным интерфейсам взаимодействие пользователей с вычислительными устройствами стало более естественным и интуитивным. С повсеместным распространением сенсорных технологий стали появляться новые концепции взаимодействий. Усилиями корпораций Майкрософт и Apple соответственно бесконтактные жестовые и естественно-языковые (NLI) интерфейсы, дождавшись своего часа, теперь наконец начинают понемногу проникать в отрасль.
Технология бесконтактного жестового взаимодействия позволяет уменьшить количество элементов интерфейса в производительных приложениях, благодаря тому что с отображаемыми на экране объектами можно обращаться практически как с реальными физическими объектами. Также данная технология позволяет использовать компьютер в условиях, когда прикасаться к нему в силу каких-либо причин нежелательно, например на кухне или в операционной. Отсюда возникает задача разработки систем бесконтактного управления.
1. Анализ систем бесконтактного жестового управления
1.1 Актуальность исследования
Системы бесконтактного жестового управления техническими системами - это технология, которая позволяет управлять устройствами без использования классических интерфейсов (мышь, клавиатура, сенсорный дисплей и др.). Вместо этого, пользователь может использовать жесты, такие как: движения рук или пальцев, чтобы управлять техническими системами. Такие системы нужны для обеспечения более удобного и естественного способа взаимодействия между человеком и техническим устройством в отличии от традиционных средств. В частности, они могут быть полезны для людей с ограниченными физическими возможностями, которым сложно использовать традиционные способы управления.
Преимущества систем бесконтактного жестового управления включают:
- Более удобное управление: пользователь может использовать жесты, которые естественны для него, что делает взаимодействие более комфортным и удобным.
- Безопасность: системы бесконтактного жестового управления могут использоваться в технических устройствах, где традиционные кнопки и переключатели могут быть опасными для пользователя. Например, в медицинском оборудовании, которое используется во время операций.
- Увеличение производительности: системы бесконтактного жестового управления могут уменьшить количество времени, которое требуется для выполнения задачи, поскольку пользователь может быстро выполнять действия с помощью жестов.
Исследования в области бесконтактного жестового управления техническими системами актуальны и востребованы в настоящее время. Это связано с рядом причин:
- Возрастание популярности устройств, использующих бесконтактное жестовое управление. Это относится не только к смартфонам и планшетам, но и к автомобилям, телевизорам, игровым консолям, медицинским приборам и другим устройствам.
- Повышенный интерес к виртуальной и дополненной реальности. Бесконтактное жестовое управление является одним из наиболее естественных и интуитивных способов взаимодействия с виртуальными объектами, что делает его особенно важным для разработки виртуальных и дополненных реальностей.
- Необходимость улучшения пользовательского опыта. Бесконтактное жестовое управление может улучшить пользовательский опыт, делая его более естественным и простым.
- Развитие новых технологий, таких как искусственный интеллект и машинное обучение, которые позволяют более точно распознавать жесты и повышать точность управления.
В связи с этим, исследования в области бесконтактного жестового управления техническими системами не только актуальны, но и будут продолжать развиваться в ближайшие годы. Это позволит улучшить пользовательский опыт, создать более удобные и интуитивные интерфейсы и расширить области применения бесконтактного жестового управления.
1.2 Обзор систем бесконтактного жестового управления
Системы бесконтактного жестового управления можно разделить на две основных категории: системы, основанные на анализе изображения и получающие информацию другим путем, например: различные перчатки, браслеты и биомедицинские датчики.
Системы основанные на анализе изображения используют камеры и алгоритмы компьютерного зрения для распознавания и интерпретации жестов. Камеры предназначены для захвата видеоизображения пользовательского пространства, а затем алгоритмы компьютерного зрения обрабатывают полученное изображение, выделяя жесты, идентифицируя их и преобразовывая в сигналы управления техническими системами. Такие системы в свою очередь различаются методами захвата изображения и методами их обработки, например для захвата изображения могут использоваться следующие разновидности камер:
- RGB–камеры–регистрируют интенсивность света, отраженного от объектов сцены в каждом из трех цветовых каналов (красный, зеленый и синий). Комбинируя эти значения, камера формирует цветное изображение. Наиболее распространенный метод захвата изображения благодаря широкой доступности и низкой стоимости относительно других методов.
- ИК–камеры (инфракрасные камеры)–регистрируют инфракрасное излучение, которое является электромагнитной радиацией с длиной волны больше, чем видимый свет. Основным преимуществом инфракрасных камер является возможность регистрировать тепловое излучение разного уровня, а следовательно результаты видеозахвата при помощи таких камер не зависят от освещенности сцены.
- RGB–D–камеры (камеры глубины или глубинные камеры)–в отличии от рассмотренных ранее камер, которые позволяют получить двумерное изображение сцены, дополнительно позволяет получить информацию о глубине сцены. Такие камеры в свою очередь используют различные методы: стереозрение, метод структурированного света и метод замера времени полета света до объекта сцены.
Стереозрение–использует две или более камеры (могут быть как RGB, так и ИК) размещенные на некотором расстоянии друг от друга. Анализируя параллакс кадров (различие между изображениями, вызванное разницей в их позициях) система может определить глубину каждой точки в сцене.
Метод использования структурированного света. Камера проецирует на сцену шаблонный образец, например, сетку или серию инфракрасных лучей, 8 и затем регистрирует искажения этого образца, вызванные геометрией объектов в сцене. Анализ полученных данных позволяет определить глубину каждой точки в сцене.
Метод называемый «время полета света» («time–of–flight» или ToF–камеры) использует измерение времени, которое затрачивается на прохождение пути от источника до объекта сцены и обратно к камере.
Глубинные камеры позволяют более точно определять расстояние и положение объектов в сцене. Однако такие камеры имеют такие ограничения: ограниченная дальность, интерференция между камерами (для систем использующих несколько камер), сложность обработки полученных данных и высокая стоимость.
Примеры применения систем бесконтактного жестового управления можно видеть в различных сферах:
Медицинские устройства: системы бесконтактного жестового управления могут использоваться в медицинском оборудовании, чтобы позволить медицинскому персоналу управлять устройством без риска заражения (малоинвазивные операции), а также другие медицинские задачи. Leap Motion Controller применяют как тренажер для восстановления после травм или операций, его возможности позволяют распознавать жесты рук и пальцев и использовать их для управления виртуальным объектами [5]. Для диагностики, мониторинга и лечения различных заболеваний (болезнь Паркинсона, нарушения сна и др.) применяют Intel RealSense, которая при помощи камер глубины собирает диагностические данные о движениях, пульсе и дыхании пациента.

Рисунок 1.1 – Внешний вид Intel RealSense
Автомобильная промышленность: системы бесконтактного жестового управления могут использоваться в автомобилях для управления навигационной системой, радио и другими функциями без отвлечения водителя от дороги. Примером реализации такой системы в данной сфере является система под названием Cadillac User Experience (CUE), которая позволяет водителям управлять различными функциями автомобиля, используя жесты рук [5]. Например, водитель может управлять навигационной системой, радио, кондиционером и другими функциями без необходимости нажимать на физические кнопки или переключатели. Система CUE использует камеру высокого разрешения, расположенную в верхней части салона автомобиля, чтобы отслеживать жесты водителя. Жесты, такие как движения рук и пальцев, распознаются и преобразуются в команды, которые управляют функциями автомобиля. Преимуществом такой системы является то, что она позволяет водителям управлять функциями автомобиля, не отвлекаясь от дороги и не уменьшая свою концентрацию на вождении.
Интерактивные развлечения: системы бесконтактного жестового управления могут использоваться для управления персонажами в компьютерных играх, что может сделать игру более интерактивной. В данной области, пожалуй, наилучшим примером будет являться Microsoft Kinect, так как непосредственно под такие задачи изначально устройство и было спроектировано, хоть и нашло применение в других сферах, в том числе и ранее перечисленных. Kinect распознает движения игрока и транслирует их в игру, позволяя управлять персонажами и объектами без контакта с контроллером. Это позволяет игрокам более естественным образом управлять игрой и создает более погруженную игровую среду [10]. Microsoft Kinect использует глубинную камеру (конкретно ToF–камеру) и RGB–камеру, дополняющую информацию глубинной камеры для более точного распознавания. Для распознавания движений пользователей Microsoft Kinect использует алгоритмы компьютерного зрения и машинного обучения. Алгоритмы компьютерного зрения позволяют распознавать различные формы тела и определять их положение в пространстве, а машинное обучение позволяет учитывать различные движения и жесты, которые могут сделать пользователи. Таким образом, Microsoft Kinect использует совокупность технологий, включая глубинную камеру, алгоритмы компьютерного зрения и машинное обучение, для распознавания движений пользователей и создания интерактивного пользовательского интерфейса. Intel RealSense использует комбинацию различных технологий для распознавания жестов, включая глубинную камеру, камеру RGB, инфракрасную камеру, микрофоны и программное обеспечение. Данные от всех камер объединяются и обрабатываются с помощью программного обеспечения, которое использует алгоритмы машинного обучения для распознавания жестов и движений. Машинное обучение позволяет анализировать данные о движении, форме и расположении объектов и определять соответствующие жесты.
1.3 Цель и задачи системы
Цель работы — исследование и разработка интеллектуальной системы бесконтактного жестового управления техническими системами.
Основная задача — разработать систему машинного зрения способную выполнять анализ видеоизображения в реальном времени, в котором осуществляется сегментация изображения с целью распознавания объектов (жестов рук) и выработки управляющего воздействия. Изображение, подвергающееся обработке и анализу, получено с использованием RGB- камеры (веб-камеры, видеокамеры).
2. Концепции решения задачи обнаружения и трекинга объектов
Обнаружение и трекинг человеческой руки с использованием видеокамеры может быть решено с использованием различных методов и технологий компьютерного зрения и машинного обучения. Рассмотрим некоторые из них.
Методы компьютерного зрения для решения данной задачи можно описать следующей последовательностью операций:
Цветовая сегментация. В данном методе используется информация о цвете кожи, так как цвет человеческой кожи обычно находится в определенном диапазоне значений RGB или HSV. Определяется цветовой диапазон, который соответствует цвету кожи. Этот диапазон может быть определен экспериментально или с использованием данных о цвете кожи в пространстве цветов (например, в HSV). Затем используется пороговая фильтрация, чтобы выделить пиксели, цвет которых находится в этом диапазоне. Применение морфологических операций, таких как эрозия и расширение, может помочь удалить шум и улучшить контуры обнаруженной руки [6].

Рисунок 2.1 – Семантическая сегментация изображения
Морфологические операции. После цветовой сегментации применяются морфологические операции для улучшения результатов. Эрозия позволяет уменьшить размер области, а расширение, наоборот, увеличивает размер. Эти операции полезны для удаления мелких деталей или заполнения пробелов в контурах [8].
Методы глубокого обучения используют размеченные наборы данных, в отличии от методов компьютерного зрения, рассмотрим некоторые популярные алгоритмы глубокого обучения для решения задачи обнаружения и детекции объектов [2].
Сверточные нейронные сети (CNN) - это класс нейронных сетей, разработанный специально для обработки и анализа изображений. Они успешно используются во многих задачах компьютерного зрения, включая обнаружение объектов, в том числе человеческих рук.
Основные компоненты CNN:
Сверточные слои: Основной характеристикой CNN являются сверточные слои. Эти слои выполняют операцию свертки, сканируя входное изображение с использованием сверточных фильтров. Сверточные фильтры позволяют извлекать локальные признаки, такие как грани, текстуры и формы, из разных частей изображения. Сверточные слои помогают нейронной сети автоматически выучивать характеристики объектов [1].
Пулинг слои: После сверточных слоев часто следуют слои пулинга (например, слои максимального пулинга). Они уменьшают размер признаковых карт, удаляя избыточные детали и усредняя информацию внутри локальных областей. Это уменьшает количество параметров в сети и улучшает инвариантность к масштабу и небольшим изменениям объектов.
Полносвязные слои: В конце CNN располагаются полносвязные слои, которые выполняют классификацию объектов. Они могут принимать признаки, извлеченные из предыдущих слоев, и предсказывать, является ли объект на изображении рукой или каким-либо другим объектом.
Обучение с размеченными данными: Для обучения CNN требуются размеченные наборы данных, содержащие изображения с руками и метками, указывающими на их положение. В процессе обучения CNN настраиваются веса сверточных и полносвязных слоев так, чтобы минимизировать ошибку на обучающем наборе данных.
Аугментация данных: Чтобы сделать модель более устойчивой и обобщающей, можно использовать аугментацию данных. Это включает в себя случайные трансформации изображений, такие как повороты, изменение освещения и масштабирование.
CNN представляют собой мощный инструмент для обнаружения и классификации объектов на изображениях, включая руки. Они способны извлекать высокоуровневые признаки из изображений и обучаться на больших и разнообразных наборах данных. Их успешное применение требует оптимизации гиперпараметров и требует вычислительных ресурсов для обучения и инференса.

Рисунок 2.2 – Обобщенное представление сверточной нейронной сети (CNN)
Гибридные методы для обнаружения и детекции человеческой руки объединяют преимущества методов компьютерного зрения и методов глубокого обучения, чтобы обеспечить более точное и устойчивое решение. Они могут использоваться в сложных сценариях, где один метод может быть недостаточно эффективным.
Принцип действия гибридных методов может включать в себя следующие шаги:
Сегментация и предварительная фильтрация: Сначала может быть применена цветовая сегментация для выделения областей, которые могут содержать руку. Это может быть полезно для быстрого и грубого обнаружения.
Использование глубокой нейронной сети: Затем, на сегментированных областях, можно применить предварительно обученную сверточную нейронную сеть (CNN), которая обучена на задаче обнаружения объектов. Эта нейронная сеть будет искать признаки, характерные для рук, и пытаться точно обнаружить их на изображении.
Фильтрация и постобработка: Результаты, полученные от глубокой нейронной сети, могут быть подвергнуты фильтрации и постобработке. Это может включать в себя удаление ложных срабатываний, объединение близких обнаруженных рук или другие методы фильтрации для улучшения точности.
3. Алгоритмы основной программы и подпрограмм
Система бесконтактного жестового управления использует гибридные методы для обнаружения руки и распознавания жестов на изображении полученном при помощи камеры в реальном времени. Инструментом для реализации гибридного метода выступает фреймворк Mediapipe, который включает множество различных методов и функций для обработки изображений. Помимо Mediapipe незаменим инструментом является модуль технического зрения cv2 библиотеки OpenCV.
В основной программе (рис. 3.1) выполняется подключение модуля cv2 для работы с изображением, а именно чтение кадров видеопотока, вывод обработанного изображения и отрисовка на нем обнаруженных точек объектов. Помимо cv2 подключается модуль HandDetectorModule, содержащий класс обнаружения рук и его методы. После инициализации камеры выполняется создание объекта класса HandDetector.

Рисунок 3.1 – Алгоритм работы основной программы
В основном цикле программы выполняются операции по изъятию кадра из видеопотока, полученный кадр обрабатывается методом findHands, для поиска рук на изображении, результаты сохраняются в переменные hands и img. Производится проверка на наличие данных в переменной hands и если они присутствуют (рука была обнаружена) извлеченные признаки обрабатываются методом fingersUp, который определяет положение пальцев руки. Вывод метода представляет собой двоичные значения: 0 — палец опущен, 1 — палец поднят.
Данные о состоянии пальцев руки отправляются в последовательный порт, для дальнейшей обработки контроллером.
Далее следует вывод кадра. Если рука была обнаружен в кадре, то выходное изображение будет маркировано 21 точкой, найденной детектором и 25 выделена рамкой с указанием типа руки (левая или правая).
Алгоритм поиска руки findHands (рис. 3.2) выполняет одну из самых главных задач — обнаружение руки на изображении. Первым действием является преобразование его цветовой схемы в RGB. Далее преобразованный кадр обрабатывается предобученной моделью библиотеки Mediapipe. Выходом Mediapipe являются координаты 21 маркера на руке (рис. 3.3). Производится вычисление границ объекта — вычисляются координаты BoundingBox и типа руки, производится отрисовка. В конце алгоритма в основную программу возвращаются списки и словари содержащие информацию о наличии маркера искомого объекта с координатами.

Рисунок 3.2 – Алгоритм метода findHands

Рисунок 3.3 – Принцип действия системы (анимация: 7 кадров, 107.38 КБ)
Алгоритм определения состояния пальцев на руке fingersUp (рис. 3.4) позволяет определить поднят или опущен палец тот или иной палец руки. Так как каждый найденный маркер имеет свой идентификационный номер и координату можно определить выше или ниже один маркер расположен относительно другого.

Рисунок 3.4 – Алгоритм идентификации состояния большого пальца
Выводы
Системы бесконтактного жестового управления уже представлены на рынке, используются экспериментально в различных сферах, однако так и не получили широкого распространения по причинам высокой стоимости, сложности интеграции из-за использования дорогостоящих глубинных камер.
Сформулирована цель и задача создания системы управления, а также выдвинуты основные требования разрабатываемой системы.
Главное преимущество гибридных методов заключается в их способности объединять сильные стороны методов компьютерного зрения (например, быстрое и грубое обнаружение) и методов глубокого обучения (высокая точность и способность обучения на больших данных). Это позволяет достичь высокой точности и надежности в различных сценариях, где один метод может не быть достаточно эффективным. Поэтому для решения поставленной задачи целесообразно использовать гибридные методы.
Разработаны алгоритмы программного обеспечения.
Список источников
Ришал Харбанс - Грокаем алгоритмы искусcтвенного интеллекта. — СПб.: Питер, 2023. — 368 с.: ил. — (Серия «Библиотека программиста»). ISBN 978-5-4461-2924-9
Траск Эндрю - Грокаем глубокое обучение. — СПб.: Питер, 2019. — 352 с.: ил. — (Серия «Библиотека программиста»). ISBN 978-5-4461-1334-7
Основы искусственного интеллекта в примерах на Python. Самоучитель. -СПб.: БХВ–Петербург, 2021. -448 с.: ил. -(Самоучитель)
Python: Искусственный интеллект, большие данные и облачные вычисления. — СПб.: Питер, 2020. — 864 с.
Обзор Leap Motion. Электронный ресурс: https://habr.com/ru/companies/rozetked/articles/190404/
Якупова, В. В. Подход к решению задачи распознавания жестов рук на основе интеллектуальных методов / В. В. Якупова, И. И. Кагиров // Мавлютовские чтения : материалы XV Всероссийской молодежной научной конференции: в 7 томах , Уфа, 26–28 октября 2021 года. Том 4. – Уфа: Уфимский государственный авиационный технический университет, 2021. – С. 193-197. – EDN DYGQFD.
Recognition of Russian and Indian sign languages used by the deaf people / R. Elakkiya, M. G. Grif, A. L. Prikhodko, M. A. Bakaev // Science Bulletin of the Novosibirsk State Technical University. – 2020. – No. 2-3(79). – P. 57-76. – DOI 10.17212/1814-1196-2020-2-3-57-76. – EDN BQFODJ.
Искусственный интеллект с примерами на Python. : Пер. с англ. - СПб. : ООО «Диалектика», 2019. - 448 с.