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

AR Door

AR Door — российский разработчик контента для Layar, Junaio, Nokia Point&Find. Креативное агентство, специализируется исключительно на дополненной реальности, основанной на запатентованной технологии D’Fusion, и осуществляет свою деятельность по нескольким направлениям.[8]

    Основные направления:
  • Решения для мобильных устройств, основанные на дополненной реальности — разработка и внедрение мобильных приложений на платформах iOS, Android,Symbian, Bada;
  • Интерактивные решения для BTL-направления, основанные на дополненной реальности — интерактивные киоски для взаимодействия брендов с целевой аудиторией;
  • Интерактивные решения для Events-направления, основанные на дополненной реальности — интерактивные стены и полы для мероприятий, интерактивные навигационные решения и прочее;

RedMadRobot

Одна из первых компаний, начавших проводить исследования в сфере дополненной реальности. Работы ведутся как на базе собственных разработок технологий компьютерного зрения, так и на основе лицензированного программного обеспечения [9].

Примеры других проектов и систем дополненной реальности 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.