Русский   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 використовує камеру високої роздільної здатності, розташовану у верхній частині салону автомобіля, щоб відстежувати жести водія. Жести, такі як рухи рук і пальців, розпізнаються і перетворюються в команди, які керують функціями автомобіля. Перевагою такої системи є то, що вона дозволяє водiю керувати функціями автомобіля, не відволікаясь від дороги. Зображення, що піддається обробці та аналізу, отримано зменшуючи свою концентрацію на водінні.

Інтерактивні розваги: системи безконтактного жестового управління можуть використовуватися для управління персонажами в комп'ютерних іграх, що може зробити гру більш інтерактивною. У цій галузі, мабуть, найкращим прикладом буде бути 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 с.