Пасынков Даниил Александрович | (Национальный исследовательский технологический университет "МИСиС") |
В данной работе раскрывается понятие технологии дополненной реальности и рассматривается классификация приложений дополненной реальности. Приведены средства для разработки приложений дополненной реальности. Автором уделяется внимание процессу разработке приложения при помощи платформы Unity c использованием библиотеки ARToolKit.
Дополненная реальность (Augmented reality, AR) – это технология, которая позволяет в режиме реального времени накладывать различные виды информации (текст, 2D и 3D графика, аудио) на объекты реального мира.
Пол Милгром и Фумио Кисино в 1994 году описали термин континуум «виртуальность - реальность» - это пространство между реальностью и виртуальностью, в промежутке между которыми находятся дополненная реальность и дополненная виртуальность (Рисунок 1). Дополненная реальность находиться ближе к реальности, а дополненная виртуальность наоборот к виртуальной реальности [1].
В 1997 году Рональд Азума в своей работе «Исследование дополненной реальности» сформировал основные принципы, которые характерны для системы, использующей дополненную реальность:
Можно сказать, что дополненная реальность – это технология интеграции виртуальных объектов в реальный мир [2].
Рассматривая взаимодействие пользователя с приложением дополненной реальности можно выделить две группы приложений: автономные и интерактивные. Автономные приложения не рассчитаны на взаимодействие с пользователем. Как правило, такие приложения предоставляют дополнительные данные об объекте реального мира.
В свою очередь, интерактивные приложения предполагают взаимодействие с пользователем. Они предоставляют пользователю возможность выбирать тип данных для визуализации, изменять параметры и свойства виртуальных объектов. Такие системы требуют наличия устройств ввода, например, сенсорный экран мобильных устройств или компьютерная мышь.
По степени мобильности системы дополненной реальности можно разделить на два вида: стационарные и мобильные. Стационарные системы предназначены для работы в одном месте и не предполагают какое-либо перемещение. Мобильные системы предусматривают их перемещение в пространстве, они рассчитаны на работу в динамичном режиме и с разными объектами реального мира.
Для получения информации о реальном мире приложения дополненной реальности используют различные сенсоры устройства. Можно выделить два типа приложений: геопозиционные (используют информацию с датчиков GPS, компаса и акселерометра) и оптические (получают информацию с видеокамеры устройства).
Все выше перечисленные типы приложений дополненной реальности можно применять в следующих сферах: электронная торговля, продажа одежды, мебели, предметов интерьера, дизайн помещений, сфера красоты, услуги пластической медицины, образование и т.д. [3]
В основе любого приложения дополненной реальности, использующего анализ поступающей с камеры картинки, лежит система компьютерного зрения. Одной из наиболее известных библиотек, реализующих подобный функционал, является OpenCV. Она предоставляет достаточное количество низкоуровневых возможностей и очень хороша для извлечения максимума информации из изображения. Но для приложений дополненной реальности требуется быстро и качественно найти в кадре ограниченный набор заранее известных объектов и отобразить поверх изображения виртуальный объект [4]. Именно этой задачей занимаются различные библиотеки дополненной реальности.
Для разработки приложения дополненной реальности необходима программная библиотека, которая способна распознавать 2D маркеры и накладывать поверх реального изображения дополнительный контент. Также важным пунктом является поддержка широкого спектра устройств, что поможет обеспечить большую доступность приложения. Всем этим условиях удовлетворяет библиотека дополненной реальности ARToolKit [5].
ARToolKit представляет собой набор программных библиотек, которые могут использоваться в приложениях дополненной реальности. Большое достоинство библиотеки – открытый исходный код. То есть библиотека распространяется абсолютно бесплатно. Библиотека ARToolKit позволяет разработать приложение дополненной реальности для самых популярных платформ: Android, iOS, Windows, Linux. Обычно для разработки приложения под каждую операционную систему необходима своя среда разработки, но ARToolKit поддерживает самую популярную в мире платформу разработки для создания кроссплатформенных игр и интерактивного контента – Unity [6].
Основные особенности ARToolKit:
Библиотека дополненной реальности ARToolKit работает следующим образом:
Для разработки приложения дополненной реальности с использованием библиотеки ARToolKit в Unity необходимо соблюсти следующие требования:
Следующим шагом создается сцена (экран приложения), которая будет отображаться на дисплее устройства. На созданную сцену необходимо добавить основные компоненты библиотеки ARToolKit:
После импорта модели ее следует добавить на созданную ранее сцену, при чем модель должна являться дочерним объектом ARTrackedObject. На рисунке 3 представлен созданный проект Unity.
Созданная сцена имеет корневой объект «Scene root», на который добавлен компонент AROrigin. Объект «ARToolKit» содержит в себе два компонента ARController и ARMarker. Компонент ARMarker настроен на использование стандартного квадратного маркера «Hiro». На объект «Camera» добавлен компонент ARCamera. Объект «Directional light» представляет собой направленный свет. Объект «Marker scene» оснащен компонентом ARTrackedObject и содержит в себе дочерний элемент – трехмерную модель автомобиля, который будет визуализироваться.
Для сборки и запуска приложения необходимо настроить соответствующие параметры в окне «Build Settings». Чтобы открыть это окно необходимо перейти по следующим пунктам в меню File -> Build Settings. В появившемся окне в качестве целевой платформы выберем Windows и запустим приложение нажатием кнопки «Build And Run». Результат работы приложения дополненной реальности представлен на рисунке 4.
В представленной работе был рассмотрен вопрос создания приложения дополненной реальности. Приложения дополненной реальности можно применять в различных областях: электронная торговля, продажа одежды, мебели, предметов интерьера, дизайн помещений, сфера красоты, услуги пластической медицины, образование и т.д.
Для разработки приложения дополненной реальности были использованы следующие программные средства:
Разработанное приложение может работать на стационарных и мобильных устройствах на следующих операционных системах: Windows, Linux, Android, iOS.
1. P. Milgram, F. Kishino, Taxonomy of Mixed Reality Visual Displays // IEICE Trans. Information Systems. – 1994. – No 12. – P. 1321–1329.
2. R. Azuma, A Survey of Augmented Reality // In Presence: Teleoperators and Virtual Environments. – 1997. – No 4. – P. 355–385.
3. Б.С. Яковлев, С.И. Пусто, Классификация и перспективные направления использования технологии дополненной реальности // Известия ТулГУ. Технические науки. – 2013. – № 3. – С. 484-492
4. Прокачай свою реальность [Электронный ресурс] // Режим доступа: https://xakep.ru/2011/08/24/56240/. – Загл. с экрана. – (Дата обращения : 05.12.2016).
5. Обзор AR-библиотек для создания приложений c дополненной реальностью [Электронный ресурс] // Режим доступа: http://www.azoft.ru – Загл. с экрана. – (Дата обращения : 20.01.2017).
6. ARToolKit Documentation [Электронный ресурс] // Режим доступа: https://artoolkit.org/documentation/ – Загл. с экрана. – (Дата обращения : 20.01.2017).
7. How does ARToolKit work? [Электронный ресурс] // Режим доступа: https://www.hitl.washington.edu/artoolkit/documentation/userarwork.htm – Загл. с экрана. – (Дата обращения : 29.01.2017).
Континуум «Реальность-Виртуальность»
Квадратный маркер, в качестве шаблона используется надпись Hiro
Проект приложения дополненной реальности в Unity
Результат работы приложения дополненной реальности
Кокарева Яна Андреевна (24 марта 2017 г. 23:07) |
Перспективы использования очень подкупают. Красиво, наглядно. И до сих пор ощущение, что это что-то из будущего. Ан нет, вот оно. Будущее уже сегодня. Желаю успехов! С уважением, Кокарева Я.А. |