Українська   English
ДонНТУ   Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

Сенсорные интерфейсы практически захватили развитые рынки, что повлекло за собой изменения ожиданий пользователей и взглядов UX- специалистов на человеко-машинное взаимодействие (Human-Computer Interaction, HCI). Теперь вслед за сенсорными интерфейсами в индустрию понемногу начинают проникать технологии бесконтактных жестовых и естественно-языковых взаимодействий (Natural Language Interaction, NLI). Распространение этих технологий обещает перемены в отрасли UX, начиная с эвристик, которыми мы руководствуемся, и заканчивая паттернами проектирования и конечными результатами. Благодаря сенсорным интерфейсам взаимодействие пользователей с вычислительными устройствами стало более естественным и интуитивным. С повсеместным распространением сенсорных технологий стали появляться новые концепции взаимодействий. Усилиями корпораций Майкрософт и Apple соответственно бесконтактные жестовые и естественно-языковые (NLI) интерфейсы, дождавшись своего часа, теперь наконец начинают понемногу проникать в отрасль.

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

1. Анализ систем бесконтактного жестового управления

1.1 Актуальность исследования

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

Преимущества систем бесконтактного жестового управления включают:

  1. Более удобное управление: пользователь может использовать жесты, которые естественны для него, что делает взаимодействие более комфортным и удобным.
  2. Безопасность: системы бесконтактного жестового управления могут использоваться в технических устройствах, где традиционные кнопки и переключатели могут быть опасными для пользователя. Например, в медицинском оборудовании, которое используется во время операций.
  3. Увеличение производительности: системы бесконтактного жестового управления могут уменьшить количество времени, которое требуется для выполнения задачи, поскольку пользователь может быстро выполнять действия с помощью жестов.

Исследования в области бесконтактного жестового управления техническими системами актуальны и востребованы в настоящее время. Это связано с рядом причин:

  1. Возрастание популярности устройств, использующих бесконтактное жестовое управление. Это относится не только к смартфонам и планшетам, но и к автомобилям, телевизорам, игровым консолям, медицинским приборам и другим устройствам.
  2. Повышенный интерес к виртуальной и дополненной реальности. Бесконтактное жестовое управление является одним из наиболее естественных и интуитивных способов взаимодействия с виртуальными объектами, что делает его особенно важным для разработки виртуальных и дополненных реальностей.
  3. Необходимость улучшения пользовательского опыта. Бесконтактное жестовое управление может улучшить пользовательский опыт, делая его более естественным и простым.
  4. Развитие новых технологий, таких как искусственный интеллект и машинное обучение, которые позволяют более точно распознавать жесты и повышать точность управления.

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

1.2 Обзор систем бесконтактного жестового управления

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

Системы основанные на анализе изображения используют камеры и алгоритмы компьютерного зрения для распознавания и интерпретации жестов. Камеры предназначены для захвата видеоизображения пользовательского пространства, а затем алгоритмы компьютерного зрения обрабатывают полученное изображение, выделяя жесты, идентифицируя их и преобразовывая в сигналы управления техническими системами. Такие системы в свою очередь различаются методами захвата изображения и методами их обработки, например для захвата изображения могут использоваться следующие разновидности камер:

Стереозрение–использует две или более камеры (могут быть как RGB, так и ИК) размещенные на некотором расстоянии друг от друга. Анализируя параллакс кадров (различие между изображениями, вызванное разницей в их позициях) система может определить глубину каждой точки в сцене.

Метод использования структурированного света. Камера проецирует на сцену шаблонный образец, например, сетку или серию инфракрасных лучей, 8 и затем регистрирует искажения этого образца, вызванные геометрией объектов в сцене. Анализ полученных данных позволяет определить глубину каждой точки в сцене.

Метод называемый «время полета света» («time–of–flight» или ToF–камеры) использует измерение времени, которое затрачивается на прохождение пути от источника до объекта сцены и обратно к камере.

Глубинные камеры позволяют более точно определять расстояние и положение объектов в сцене. Однако такие камеры имеют такие ограничения: ограниченная дальность, интерференция между камерами (для систем использующих несколько камер), сложность обработки полученных данных и высокая стоимость.

Примеры применения систем бесконтактного жестового управления можно видеть в различных сферах:

Медицинские устройства: системы бесконтактного жестового управления могут использоваться в медицинском оборудовании, чтобы позволить медицинскому персоналу управлять устройством без риска заражения (малоинвазивные операции), а также другие медицинские задачи. Leap Motion Controller применяют как тренажер для восстановления после травм или операций, его возможности позволяют распознавать жесты рук и пальцев и использовать их для управления виртуальным объектами [5]. Для диагностики, мониторинга и лечения различных заболеваний (болезнь Паркинсона, нарушения сна и др.) применяют Intel RealSense, которая при помощи камер глубины собирает диагностические данные о движениях, пульсе и дыхании пациента.

Внешний вид 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 представляют собой мощный инструмент для обнаружения и классификации объектов на изображениях, включая руки. Они способны извлекать высокоуровневые признаки из изображений и обучаться на больших и разнообразных наборах данных. Их успешное применение требует оптимизации гиперпараметров и требует вычислительных ресурсов для обучения и инференса.

Обобщенное представление сверточной нейронной сети (CNN)

Рисунок 2.2 – Обобщенное представление сверточной нейронной сети (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 и типа руки, производится отрисовка. В конце алгоритма в основную программу возвращаются списки и словари содержащие информацию о наличии маркера искомого объекта с координатами.

Алгоритм метода findHands

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

Принцип действия системы

Рисунок 3.3 – Принцип действия системы (анимация: 7 кадров, 107.38 КБ)

Алгоритм определения состояния пальцев на руке fingersUp (рис. 3.4) позволяет определить поднят или опущен палец тот или иной палец руки. Так как каждый найденный маркер имеет свой идентификационный номер и координату можно определить выше или ниже один маркер расположен относительно другого.

Алгоритм идентификации состояния большого пальца

Рисунок 3.4 – Алгоритм идентификации состояния большого пальца

Выводы

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

Сформулирована цель и задача создания системы управления, а также выдвинуты основные требования разрабатываемой системы.

Главное преимущество гибридных методов заключается в их способности объединять сильные стороны методов компьютерного зрения (например, быстрое и грубое обнаружение) и методов глубокого обучения (высокая точность и способность обучения на больших данных). Это позволяет достичь высокой точности и надежности в различных сценариях, где один метод может не быть достаточно эффективным. Поэтому для решения поставленной задачи целесообразно использовать гибридные методы.

Разработаны алгоритмы программного обеспечения.

Список источников

  1. Ришал Харбанс - Грокаем алгоритмы искусcтвенного интеллекта. — СПб.: Питер, 2023. — 368 с.: ил. — (Серия «Библиотека программиста»). ISBN 978-5-4461-2924-9

  2. Траск Эндрю - Грокаем глубокое обучение. — СПб.: Питер, 2019. — 352 с.: ил. — (Серия «Библиотека программиста»). ISBN 978-5-4461-1334-7

  3. Основы искусственного интеллекта в примерах на Python. Самоучитель. -СПб.: БХВ–Петербург, 2021. -448 с.: ил. -(Самоучитель)

  4. Python: Искусственный интеллект, большие данные и облачные вычисления. — СПб.: Питер, 2020. — 864 с.

  5. Обзор Leap Motion. Электронный ресурс: https://habr.com/ru/companies/rozetked/articles/190404/

  6. Якупова, В. В. Подход к решению задачи распознавания жестов рук на основе интеллектуальных методов / В. В. Якупова, И. И. Кагиров // Мавлютовские чтения : материалы XV Всероссийской молодежной научной конференции: в 7 томах , Уфа, 26–28 октября 2021 года. Том 4. – Уфа: Уфимский государственный авиационный технический университет, 2021. – С. 193-197. – EDN DYGQFD.

  7. 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.

  8. Искусственный интеллект с примерами на Python. : Пер. с англ. - СПб. : ООО «Диалектика», 2019. - 448 с.