ru | en 
ДонНТУ  Портал магістрів
Магістр ДонНТУ Соболев Євген Георгійович

Соболев Євген Георгійович

Факультет комп'ютерних наук та технологій

Кафедра прикладної математики та інформатики

Спеціальність Інженерія програмного забезпечення

Засоби інтерактивної взаємодії реального та віртуального просторів на основі тривимірного сканування об’єктів з використанням платформи Microsoft Kinect 

Науковий керівник: к.т.н., доцент Бабков Віктор Светозарович

 

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

Зміст

Вступ

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

Доповнена реальність (augmented reality) - це технології, що дозволяють доповнювати зображення реальних об'єктів різними об'єктами комп'ютерної графіки, а також поєднувати зображення, отримані від різних джерел. Доповнена реальність, на відміну від віртуальної, лише вносить окремі штучні елементи в сприйняття світу реального. Доповнена реальність - додає до відчуттів з реального світу уявні об'єкти, зазвичай допоміжно-інформативного характеру. Згідно Рональду Азуму (Ronald Azuma), розширена реальність повинна володіти таким рядом ознак: комбінування реального та віртуального світу; інтерактивність; тривимірне представлення об'єктів[2].

Існує досить широкий спектр галузей науки і техніки, в яких може застосовуватися доповнена реальність. Однак, в першу чергу, можна виділити наступні з них:

  1. Тренажерні системи
  2. Проектування та дизайн
  3. Картографія і туристична галузь
  4. QR коди

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

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

У картографії та туристичній галузі доповнена реальність стала затребувана в зв'язку з широким розповсюдженням мобільних пристроїв. Так, подібні системи можуть ідентифікувати навколишні об'єкти, дозволяючи людині з легкістю орієнтуватися в навколишньому просторі. Як приклад можна привести проект Google Goggles [ 3 ], який дозволяє отримати додаткову інформацію про об'єкт, шляхом наведення на нього камери телефону.

Ще однією областю застосування доповненої реальності є QR-код (quick respone) - матричний код, розроблений і представлений японською компанією Denso-Wave в 1994 році. Основною перевагою коду є його легке розпізнавання скануючим обладнанням (в тому числі і фотокамерою мобільного телефону), що дає можливість використання в торгівлі, виробництві, логістиці. QR-код може нести в собі додаткову текстову інформацію, а також посилання на інтернет сторінки.

На стику доповненої і віртуальної реальностей актуальним стає завдання тривимірного сканування реальних об'єктів.

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

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

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

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

Таким чином, магістерська робота присвячена актуальній науковій задачі розробки методу поєднання віртуальної і доповненої реальностей на основі методу тривимірного сканування, орієнтованого на реалізацію на паралельних комп'ютерних системах. У якості тривимірного сканера використовуються контролер Microsoft Kinect, а інструментальними засобами дослідження виступають MS Visual Studio 2010, MS Kinect for Windows SDK, платформа. NET і мова програмування C #.

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

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

Основні завдання дослідження:

  1. Проаналізувати підходи до створення систем віртуальної і доповненої реальностей на основі методу тривимірного сканування.
  2. Запропонувати метод поєднання віртуальної і доповненої реальностей, заснований на технології тривимірного сканування, і орієнтований на реалізацію на паралельних комп'ютерних системах.
  3. Відобразити запропонований метод на архітектури паралельних комп'ютерних систем і архітектуру платформи Microsoft Kinect.
  4. Розробити підсистему інтерактивної взаємодії в складі тренажерного комплексу, із застосуванням запропонованого методу.

Об'єкт дослідження: процес злиття віртуальної і доповненої реальностей.

Предмет дослідження: методи, алгоритми та архітектури для здійснення злиття віртуальної і доповненої реальностей, на основі тривимірного сканування.

У рамках магістерської роботи планується отримання актуальних наукових результатів за наступними напрямками:

  1. Розробка методу злиття віртуальної і доповненої реальностей на основі методу тривимірного сканування.
  2. Відображення запропонованого методу на архітектури паралельних комп'ютерних систем і архітектуру платформи Microsoft Kinect.
  3. Реалізація запропонованого методу в складі інтерактивною, безконтактної тренажерної системи.

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

3. Системи доповненої реальності

3.1 Огляд проектів та систем доповненої реальності

Проект Layar

Сервіс Layar дозволяє за допомогою смартфонів на базі Android, iOS або OVI отримувати в реальному часі доступ до інформації про навколишній світ через його камеру. Це може бути інформація про кафе, ресторани, готелі та інші соціальні місця.[4]

Проект ARTag

Проект ARTag присвячений вставці цифрових моделей в відео потік з камери. Спеціальна програма аналізує картинку з камери, виділяє і декодує штрих-коди, вставляє в кадр моделі, що відповідають цим кодам, і видає картинку користувачу.[5]

Проект AlterGeo

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

Google Goggles

Ідея проекту полягає в наступному: щоб знайти інформацію про об'єкт перед вами, досить просто його сфотографувати. Goggles розпізнає товари, відомі пам'ятки, фасади магазинів, твори мистецтва і популярні зображення з Інтернету. Більш того, Goggles уміє переводити на російську мову тексти з англійської, французької, італійської, німецької, іспанської та португальської.[3]

Google’s "Project Glass" Augmented Reality Glasses

Розробка Google, яка знаходиться в стадії тестування. Окуляри дозволяють отримувати користувачеві додаткову інформацію за допомогою мови. [7]


Google Project Glass

Рисунок 1 - Доповнена реальність на прикладі Google Project Glass

Приклади інших проектів і систем доповненої реальності http://www.t-immersion.com/projects

3.2 Класифікація систем доповненої реальності

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

  1. Геопозиційна. Такі системи орієнтуються в першу чергу на сигнали систем позиціонування GPS. На додаток до приймачів таких сигналів геопозиційним системи можуть бути обладнані компасом і акселерометром для визначення кута повороту щодо вертикалі і азимута.
  2. Оптичні. Дані системи працюють з зображенням, отриманим з однієї або декількох камер. Камери можуть пересуватись разом із системою або незалежно від неї.

Системи можуть відрізнятися за ступенем взаємодії з користувачем. У ряді систем користувач грає пасивну роль, він спостерігає за реакцією системи на зміну навколишнього середовища. Але існують і системи, що вимагають активного втручання користувача - він може управляти як роботою самої системи з метою досягнення результатів, так і змінювати віртуальні об'єкти [ 10 ]. За ступенем взаємодії з користувачем виділяють наступні системи:

  1. Автономні. Такі системи не вимагають втручання користувача для своєї роботи. Завдання таких систем зводиться до надання інформації про об'єкти. Наприклад, подібні системи можуть аналізувати об'єкти, що знаходяться в поле зору людини і видавати про них довідкову інформацію. Також системи такого типу використовуються в медицині.
  2. Інтерактивні. Робота даних систем ґрунтується на взаємодії з користувачем. На різні дії користувача такі системи дають різну відповідь. Подібні системи мають потребу в пристрої введення інформації. В якості такого пристрою може виступати сенсорний екран мобільного пристрою, планшет, спеціальний маніпулятор або, наприклад, одна з недавніх розробок - Microsoft Kinect.

За ступенем мобільності виділяють стаціонарні та мобільні системи доповненої реальності.

4. Методи тривимірного сканування

Існує велика кількість методів отримання проекційних даних для побудови моделей тривимірних об'єктів. Загальна риса цих методів - видача результатів пошуку у вигляді "хмари" крапок, що описують поверхню об'єкта або системи взаємопов'язаних об'єктів. Хмара крапок - це набір вершин у тривимірній системі координат. Ці вершини, як правило, визначаються координатами X, Y і Z і, як правило, призначені для подання зовнішньої поверхні об'єкта. Приклад подання об'єкта у вигляді "хмари" крапок наведено на рис. 2.

Облако точек

Рисунок 2 - Представлення машини у вигляді хмари крапок

Хмари крапок найчастіше конвертуються в полігональну сітку, моделі з NURBS-поверхнями або CAD-моделі за допомогою процесу, відомого як реконструкція поверхні . Існує безліч підходів для перетворення хмари крапок в тривимірні поверхні. Деякі підходи, такі як тріангуляція Делоне, альфа-форми і поворотні кулі, будують сітку трикутників поверх існуючих вершин хмари крапок. Інші підходи конвертують хмари крапок у поле об'ємних відстаней і реконструюють неявні поверхні, а потім визначають їх через алгоритм Marching cubes[11].

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

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

Функціональне уявлення багатовимірних геометричних об'єктів - це подання у вигляді безлічі крапок в багатовимірному просторі. Задача побудови ізоповерхневої моделі являє собою задачу інтерполяції в тривимірному просторі. Для вирішення цього завдання використовуються методи поліноміальної інтерполяції з використанням сплайнів [ 12 ], методи засновані на тріангуляції, метод-поверхонь та ін. Найбільш поширеним сучасним підходом до вирішення даного завдання є використання методу RBF (radial basis function)[13].

5. Застосування контролера Microsoft Kinect

На сьогоднішній день основною проблемою при побудові систем віртуальної реальності є створення інтерфейсу інтерактивної взаємодії людини і віртуального середовища. До появи платформи Microsoft Kinect [ 14 ] дана проблема вирішувалася шляхом облачення користувача у всілякі сенсори (спеціальні костюми, окуляри, рукавички тощо), що не завжди є зручним. Саме позбавлення від даної необхідності і стало головною особливістю Kinect (рис. 3)

Microsoft Kinect

Рисунок 3 - Контролер Microsoft Kinect

Microsoft Kinect - ігровий контролер без контролера спочатку був представлений для консолі Xbox 360 у листопаді 2010 року. Пристрій виявився дуже вдалим (протягом перших трьох місяців після запуску Kinect став самим продаваним споживчим пристроєм - було продано більше 10 мільйонів систем Kinect для Xbox 360 [15])

Kinect дозволяє користувачеві взаємодіяти з віртуальним середовищем без допомоги ігрового контролера через усні команди та пози тіла.[18]

    Можливості контролера з використанням програмних бібліотек Microsoft Kinect for Windows SDK [16] [17]:
  • Розпізнавання і відстеження одного або двох людей, що знаходяться в полі зору сенсора, використовуючи відстеження частин скелета (рис. 4);
  • Визначення відстані від сенсора до об'єкта використовуючи XYZ-глибину камери, яка отримує доступ до потоку кольорів та потоку глибини;
  • Захоплення аудіо з шумо та ехопоглинанням;
  • Знаходження місця розташування джерела аудіо використовуючи промінь пошуку;
  • Розпізнавання мовлення.

Распознавание скелета человека с помощью Kinect

Рисунок 4 - Розпізнавання скелета людини за допомогою Kinect

6. Проміжні результати

На даному етапі розроблен прототип підсистеми інтерактивної взаємодії користувача з віртуальною і доповненої реальностями. Головним завданням було забезпечення нативних, інтуїтивно зрозумілих і зручних рухів для управління аватаром у віртуальному просторі. Основною проблемою при розробці підсистеми було перетворення даних одержуваних з Kinect в високорівневі команди для управління аватаром у віртуальному просторі. Структура роботи підсистеми наведена на рисунку 5.

Структура роботи підсистеми

Рисунок 5 - Структура роботи підсистеми
Анімація. Розмір - 40 КБ, тривалість - 8 секунд, кількість кадрів - 8

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

При запуску програми створюється слухач, який обробляє згенеровані події: в залежності від типу події в систему надсилаються відповідні команди (натискання клавіш клавіатури, переміщення миші) за допомогою методу SendInput(). Даний підхід є дуже гнучким і універсальним, так як дозволяє передавати команди у будь активну програму. Іншими словами розроблену підсистему інтерактивного взаємодії можна використовувати для управління будь-яким додатком всього лише змінюючи положення частин тіла користувача.[18]

Висновки

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

  1. Проаналізовано підходи до створення систем віртуальної і доповненої реальностей на основі методу тривимірного сканування.
  2. На підставі аналізу літературних джерел виділено основні алгоритми, які можуть бути використані в запропонованому підході до поєднання віртуальної і доповненої реальностей.
  3. Розглянуто можливості інтерактивних систем з використанням платформи Microsoft Kinect. Оцінені вимоги до програмного забезпечення, виконан пошук функціонально подібних програмних продуктів тривимірного сканування.
  4. Вивчена бібліотека Microsft Kinect for Windows SDK для програмування під Kinect.
  5. Проведено ряд експериментів з використання контролера Microsoft Kinect в якості 3D сканера, проаналізовано отримані результати.
  6. Розроблено прототип підсистеми інтерактивної взаємодії користувача з віртуальною і доповненої реальностями.

Подальші дослідження спрямовані на наступні аспекти:

  1. Якісне вдосконалення запропонованого методу, його доповнення і розширення.
  2. Відображення запропонованого методу на архітектури паралельних комп'ютерних систем.
  3. Аналіз характеристик, продуктивності та якості запропонованого методу.
  4. Застосування запропонованого методу в складі тренажерною навчальної системи.

Важливе зауваження

На момент написання даного реферату магістерська робота ще не скінчена. Передбачувана дата завершення: грудень 2012. Повний текст роботи, а також матеріали за темою можуть бути отримані у автора або його керівника після зазначеної дати.

Перелік посилань

  1. Wikipedia - виртуальная реальность [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://ru.wikipedia.org/wiki/Виртуальная_реальность
  2. Ronald T. Azuma A Survey of Augmented Reality // In Presence: Teleoperators and Virtual Environments. – 1997. – № 4. – P. 355–385.
  3. Google Goggles [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://www.google.com/mobile/goggles
  4. Layar [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://www.layar.com/
  5. ArTag [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://www.artag.net/
  6. AlterGeo [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://altergeo.ru/
  7. Google Project Glass [Electronic resourse] / Интернет-ресурс. - Режим доступа: https://plus.google.com/111626127367496192147/posts
  8. AR-Door [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://ar-door.com/
  9. Redmadrobot [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://redmadrobot.com/projects/
  10. Дополненная реальность: состояние, проблемы и пути решения - Бойченко И.В., Лежанкин А.В. [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://www.tusur.ru/filearchive/reports-magazine/2010-1-2/161-165.pdf
  11. Marching cubes [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://ru.wikipedia.org/wiki/Marching_cubes
  12. Интерполяция сплайнами [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://alglib.sources.ru/interpolation/polynomial.php
  13. RBF (Radial basis function) [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://en.wikipedia.org/wiki/Radial_basis_function
  14. Kinect for Windows [Electronic resourse] / Интернет-ресурс. - Режим доступа:http://www.microsoft.com/en-us/kinectforwindows/
  15. Ten Million Kinects [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://www.xbox.com/en-US/Press/archive/2011/0308-Ten-Million-Kinects
  16. Kinect for Windows SDK [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx
  17. Kinect for Windows Programming Guide [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://msdn.microsoft.com/en-us/library/hh855348.aspx
  18. Бабков В.С., Соболев Е.Г., Разработка подсистемы интерактивного взаимодействия в составе тренажерной системы с использованием платформы Microsoft Kinect, ИУС и КМ 2012 Материалы III Всеукраинской научно-технической конференции студентов, аспирантов и молодых ученых — Донецк, ДонНТУ — 2012, с. 685-689.