Магістр ДонНТУ Потопахін Олексій Олександрович
Потопахін Олексій ОлександровичФакультет комп'ютерних наук та технологійКафедра штучного інтелекту і системного аналізуСпеціальність Технології програмного забезпечення інтелектуальних системДослідження і розробка методу управління тривимірною сценою за допомогою динамічних жестівНауковий керівник: доц. Ручкин Костянтин Анатолійович

Реферат за темою випускної роботи

Увага! Даний реферат відноситься до ще не завершеної роботи. Орієнтовна дата завершення: Червень 2018 р. Звертайтеся до автора після зазначеної дати для отримання остаточного варіанту.

Зміст
Вступ1. Актуальність теми2. Мета і завдання дослідження, плановані результати3. Сучасний стан проблеми3.1 Аналіз і порівняння існуючих методів розпізнавання динамічних жестів3.2 Аналіз і порівняння реалізованих програмних засобів розпізнавання динамічних жестів4. Розробка мови жестів управління тривимірною сценою5. Аналіз і опис методу руху рою частинок для розпізнавання динамічних жестівВисновкиСписок джерел
Вступ

В даний час існуючі методи розпізнавання динамічних жестів людини грунтуються на сучасних математичних, еволюційних алгоритмах (метод руху рою частинок, метод мурашиної колонії і т.д.) і статистичних методах (Приховані Марковські Моделі, метод Монте-Карло і т.д.). Ці методи можуть бути використані для створення програмних продуктів для безконтактної взаємодії користувача з комп'ютером.

1. Актуальність теми

Якість розроблених алгоритмів розпізнавання жестів рук і пальців, як динамічних, так і статичних, з використанням кольорових відеокамер і тривимірних сенсорів все ще залишається недостатнім для побудови практичних систем людино-машинної взаємодії. Головними недоліками існуючих методів є чутливість до змін освітлення, потреба навчання системи для кожного оператора, невисока якість розпізнавання жестів і невелика швидкість розпізнавання.

Актуальність теми обгрунтована необхідністю створення простої та ефективної системи людино-машинної взаємодії, як нового способу взаємодії людини і призначеного для користувача інтерфейсу комп'ютера, здатної працювати в режимі реального часу без необхідності використання спеціалізованого обладнання.

2. Мета і завдання дослідження, плановані результати

Метою магістерської дисертації є дослідження і розробка методу управління тривимірними сценами за допомогою динамічних жестів.

Для досягнення поставленої мети, необхідно виконати наступні завдання:

3. Сучасний стан проблеми

Особливістю методів, заснованих на аналізі зовнішніх ознак жесту, є аналіз тільки зовнішнього вигляду (форми, позиції і т.д.) цільового об'єкта. Для розпізнавання не зберігається ніякої інформації про фізичні властивості даного об'єкту.

Для захоплення жестів людини можуть використовуватися різні пристрої, наприклад, ультразвукові локатори, кінематичні датчики, системи структурованого підсвічування і т.д. Але найбільш поширеним для отримання даних про жести користувача є відеокамера і пристрої подібні тривимірному сенсору Kinect від Microsoft, який крім кольорової відеокамери, також складається з двох сенсорів глибини. Застосування двох і більше відео-датчиків дозволяє відобразити додаткову інформацію про тривимірний об'єкт (отвори, невидимі з іншої камери, форма бічних проекцій, і ін.) [1]. Розглянемо відомі роботи і методи, присвячені розпізнаванню жестів руки людини на основі аналізу зовнішніх ознак жесту.

3.1 Аналіз і порівняння існуючих методів розпізнавання динамічних жестів

Найбільш поширеним є підхід з використанням Прихованих Марковських Моделей (ПММ). Методи розпізнавання жестів на основі ПММ представляють кожен жест набором станів, які пов'язані з трьома можливостями (початкова, перехідний, спостереження) обчислювані з заздалегідь підготовленими еталонами. ПММ вибирають модель з найкращого ймовірністю і класифікують жест до відповідної категорії. Хоча системи розпізнавання на основі ПММ вибирають модель з найкращого ймовірністю, але не гарантується, що шаблон дійсно схожий на опорний жест. Для того, щоб отримати хороші результати, ПММ повинна бути добре навчена і налаштована. Основними недоліками цього підходу є те, що для калібрування моделей потрібна велика кількість зразків і тривалий час навчання.

Розпізнавання жестів в режимі реального часу залишається складним завданням через невизначеність в методах визначення меж жестів. Підхід, заснований на русі рою частинок (Particle Swarm Movement) вирішує цю проблему, спрощуючи сегментацію жестів [2]. У запропонованому підході уникається передчасна ідентифікація жесту, тим самим збільшуючи точність результату розпізнавання. Даний розпізнаватель вимагає менше обчислювальних і часових ресурсів у порівнянні з ПММ і є хорошим кандидатом для реалізації в додатках, що виконують розпізнавання в режимі реального часу.

Алгоритм CAMShift комбінує алгоритм відстеження об'єкта Mean Shift, який заснований на мапі ймовірності кольору шкіри, з адаптивним кроком зміни розміру області відстеження. Так як алгоритм CAMShift здатний відстежувати обличчя на основі ймовірності кольору шкіри, то він може застосовуватися для відстеження руки.

Перевагами даного алгоритму є: низькі вимоги до обчислювальних ресурсів, гнучкі налаштування точності позиціювання, можливість роботи в різних умовах освітленості. Також додатковою перевагою алгоритму є можливість роботи в умовах часткового перекриття відслідковуємого об'єкту. Зазначені вище властивості алгоритму обумовлені використанням моделі об'єкту, побудованого на основі гістограми яскравості і кольору, а також використанням процедури Mean Shift для точного позиціонування положення об'єкту [3].

3.2 Аналіз і порівняння реалізованих програмних засобів розпізнавання динамічних жестів

Розглянемо найбільш популярні прикладні програмні засоби для розпізнавання.

Gesture Recognition Toolkit (GRT) являє собою кросплатформенну бібліотеку, яка реалізована на C++ з відкритим вихідним кодом, розроблену для того, щоб виконувати розпізнавання жестів. Акцент зроблений на простоту використання, в той же час підтримується гнучкість і зручні налаштування. Інструментарій володіє широким спектром алгоритмів класифікацій і регресії, має велику підтримку для побудови систем реального часу. Бібліотека включає в себе алгоритми обробки сигналів, вилучення ознак і автоматичне розпізнавання жестів [4].

XKin – платформа з відкритим вихідним кодом для Kinect, що забезпечує більш природну і інтуїтивно зрозумілу комунікацію між людиною і комп'ютером. Програмний пакет складається з корисних інструментів для навчання системи для роботи з жестами. Проект XKin повністю реалізований на C з відкритим вихідним кодом і дозволяє виконувати розпізнавання в режимі реального часу як статичні позиції рук, так і динамічні жести [5].

HandVu – це програмний комплекс для розпізнавання жестів і управління графічним користувальницьким інтерфейсом на основі комп'ютерного зору. При використанні практично будь-якої кольорової камери і достатньою обчислювальною потужністю це програмне забезпечення може надати можливість управляти комп'ютерним інтерфейсом. HandVu виявляє руку, а потім відстежує її і розпізнає ключові позиції – все в реальному часі і без необхідності калібрування камери. Результати розпізнавання жестів доступні за технологією клієнт-сервер в розширеному форматі та у вигляді пакетів OSC [6].

Порівняння наведених і найбільш популярних програмних засобів представлено на мал. 3.1. Таблиця показує основні реалізовані алгоритми, які використовують бібліотеки, а також зовнішні залежності і пристрої введення.

Малюнок 3.1 – Порівняння програмних засобів

Бібліотеки, реалізовані на C і C++ менш затратні по обчислювальній складності, ніж бібліотеки на Java (Java-ML) або Python, однак є складними для налаштування і вимагають додаткове калібрування пристроїв введення. Проте головною перевагою є робота в режимі реального часу і прості, недорогі технічні засоби.

4. Розробка мови жестів управління тривимірною сценою

Жести – це різні рухи тіла, які є невербальним способом передачі інформації. Рух пальців, рук, голови, плечей, міміка обличчя: всі перераховані є жестами. За допомогою жестів людина може передати самостійну інформаційну одиницю, доповнити словесний ряд, передати почуття та ін. Звичайно жести поділяються на статичні (сприймаються одномоментно) і динамічні (що сприймаються в певний період часу) жести, які мають певну інтерпретацію в ручних абетках і безконтактних людино-машинних інтерфейсах [7].

На сьогоднішній день, для роботи з тривимірними моделями зазвичай використовують комп'ютерну мишу, яка не дуже зручна для цього завдання. Маючи тривимірні координати руки і кінчиків пальців руки, можна створити систему, яка дозволить керувати моделями в усіх напрямках тривимірного простору.

Розглянемо деякі типи жестів для управління тривимірною сценою. Розроблювальна система захоплює кисть руки в розігнутому стані і відстежує переміщення руки в просторі (мал. 4.1): вліво (1), вправо (2), вгору (3), вниз (4). Жест визначається положенням долоні щодо відео пристрою.

Малюнок 4.1 – Мова жестів для управління тривимірною сценою

При розробці системи необхідно враховувати позицію руки для захоплення і початку відстеження руху в просторі, а також тривалість часу руху руки для визначення жесту. Також необхідно пропускати довільні рухи рук людини, які не належать до заданих жестах.

У таблиці 4.1 наведені тривимірні перетворення над об'єктом на сцені в залежності від жесту. Перетворення вказані в правій системі координат.

Таблиця 4.1 – Управління об'єктом на тривимірній сцені
ЖестСцена
ВлівоПоворот об'єкта навколо осі OY на негативний градус
ВправоПоворот об'єкта навколо осі OY на позитивний градус
ВгоруПоворот об'єкта навколо осі OX на негативний градус
ВнизПоворот об'єкта навколо осі OX на позитивний градус

Рух руки вліво, вправо – поворот сцени навколо координатної осі OY, а вгору, вниз – навколо осі OX. Як приклад наводиться поворот Земної кулі, (мал. 4.2) яка розташована на тривимірній сцені навколо осі OY на негативний кут повороту жестом вліво.

Малюнок 4.2 – Приклад управління жестом тривимірною сценою
Розмір: 90.3Кб; Кадрів: 5; Повторів: не обмежується; Затримка: 1 сек.

Також при розробці необхідно враховувати апаратні можливості відеопристрою і швидкодія обчислювальної системи. Складність алгоритмів не завжди дозволяє виконати дію за частки секунди і вимагають певного часу, який залежить від розширення зображення, від якості зйомки та інших параметрів [8].

5. Аналіз і опис методу руху рою частинок для розпізнавання динамічних жестів

Метод рою часток – метод чисельної оптимізації, для використання якого не потрібно знати точного градієнта оптимізуємої функції. Метод може використовуватися для вирішення багатьох завдань, включаючи навчання нейромереж, завдання пошуку мінімуму функції, а також завдань, типових для генетичних алгоритмів. Як і всі алгоритми, що належать до сімейства еволюційних алгоритмів, є стохастичним, не вимагає обчислення градієнта, що дозволяє використовувати алгоритм у випадках, де обчислення градієнта неможливо, або має високу обчислювальну складність.

Першим необхідним кроком для функціонування методу рою частинок є уявлення жесту у вигляді набору послідовностей відстаней від початку до кінця траєкторії руху жесту, а також сегменти орієнтації руху.

Відстань від початку до кінця траєкторії жесту розраховується за допомогою Евклідової відстані за формулою:

де P0 – точка початкової позиції руки, а Pn – точка з траєкторії жесту. Кожна точка представлена набором координат у двомірному просторі P(t) = [x(t), y(t)].

Потім траєкторія жесту перетворюється в сегменти орієнтації руху:

де θ(t) = atan2(∆y(t), ∆x(t)). В результаті жест представлений в наступному вигляді: [θ, Ep].

Розпізнавання жестів з використанням методу руху рою частинок виконується в такий спосіб:

  1. Ініціалізація частинок в просторі пошуку (шаблони):

    де Xij представляє j-у позицію i-ої частки (L – кількість частинок) в i-му шаблоні, а Pbest – це найкраща позиція серед i-их частинок.

  2. Оцінка фітнес-функції частинок. Для кожного сегмента орієнтації руху θt розраховується збігаюча оцінка, а значення фітнес-функції обчислюється наступним чином:

    де γ = -1 коли θij ≠ θt та Pbest ≠ 0, γ = 1 коли θij = θt.

  3. Краща позиція оновлюється тільки тоді, коли поточне значення фітнес-функції більше, ніж попереднє:

    Кожна частинка переміщується локально в сторону більш ймовірного положення у просторі пошуку:

  4. Обчислення підмножини можливого рішення:

    де βi – порогове значення для i-ої категорії жесту.

  5. Категорія i0 розпізнаваємого жесту визначена наступним чином:

Постійно пропонуються нові варіанти алгоритму рою частинок для поліпшення продуктивності методу. Існує кілька тенденцій в цих дослідженнях, одна з яких пропонує створити гібридний оптимізаційний метод, який використовує метод рою частинок в комбінації з іншими алгоритмами, а також оптимізації, наприклад, PSO у [2].

Висновки

В роботі розглянуті і проаналізовані існуючі методи і програмні засоби для розпізнавання жестів людини. Також виділені переваги та недоліки методів.

Головними недоліками існуючих методів є чутливість до змін освітлення, потреба навчання системи для кожного оператора, невисока якість розпізнавання жестів і невелика швидкість розпізнавання.

Для розпізнавання складних жестів рук необхідно використовувати спеціалізовані пристрої введення, а також проводити налаштування і навчання програмних засобів. Але для динамічних жестів, де важливо тільки знати траєкторію руху руки (вліво, вправо, вгору, вниз) досить використовувати не складні математичні алгоритми. Актуальною є задача створення нових моделей, методів і алгоритмів розпізнавання жестів руки, які можуть бути використані для створення систем безконтактної людино-машинної взаємодії.

Також в проведеній роботі виконана розробка мови жестів для управління тривимірною сценою. Проведений аналіз вимог до жестів і системи розпізнавання.

Таким чином, метод руху рою частинок може з правильно підібраною і налаштованою модифікацією застосовуватися для задачі розпізнавання динамічних жестів, де необхідна максимальна точність і ефективність розпізнавання.