Назад в библиотеку

Расширенная реальность на основе маркеров с использованием Android OS.

Автор: Raviraj S. Patkar, S. Pratap Singh, Swati V. Birje

Автор перевода: Грищенко С.В.
Источник: International Journal of Advanced Research in Computer Science and Software Engineering, www.ijarcsse.com ...

Аннотация: Расширенная Реальность или РР – это развивающаяся технология, в которой восприятие окружающего мира в реальном времени дополнено наложенной компьютерно-сгенерированной информацией, такой как изображения, текст или аудио. Предложенное приложение – это приложение для операционной системы Android, которое совместимо со всеми его версиями. Идея состоит в том, чтобы предоставить пользователю возможность визуализации виртуальных объектов поверх реального изображения используя РР, основанную на маркерах. Пользователь предоставляет изображения желаемого объекта со всех его шести сторон. Они помещаются на трехмерный куб. Расширенная реальность будет создана путем объединения реального мира и сгенерированного объекта и будет вести себя так, как будто реальный мир и виртуальный объект сосуществуют в одном окружении. Преимущество данного приложения в том, что оно позволит пользователям вращать объект виртуально. Это не дорого, так как пользователю не нужно приобретать объект, для того чтобы увидеть, как он будет сосуществовать с окружением, вместо этого он может попробовать перед приобретением.

Вступление

Расширенная реальность – это живое, прямое или непрямое, отображение физического, существующего в реальном мире окружения, элементы которого дополнены сгенерированными компьютером данными, такими как звуки, видео, графика или навигационные данные [1]. Расширенная реальность – это такой вид реальности, который направлен на дублирование окружения реального мира на компьютере. Виртуальная реальность – это пространство, в котором игроки погружают себя в пространство, расширяющее возможности физической реальности [2]. Это добавляет информацию или новый смысл объектам реального мира. Расширенная реальность характеризуется взаимодействием виртуальных элементов и реального мира, который воспроизводится камерой в реальном времени. Наиболее часто встречаемая РР включает в себя проецирование, распознавание, позиционирование и очерчивание.

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

Распознавание: это тип виртуальной реальности, в котором используется распознавание форм, лиц или других объектов реального мира для предоставления дополнительной виртуальной информации пользователю в реальном времени. Портативные устройства, такие как смартфоны с соответствующим программным обеспечением могут использовать распознавание для чтения бар-кодов и предоставления релевантной информации, такой как обзоры и цены или для распознавания лиц с последующим предоставлением ссылки на личность в социальной сети.

Позиционирование: позиционирование использует технологии GPS для мгновенного предоставления релевантной информации о направлении. Например, кто-то может использовать смартфон для определения своего местоположения а затем получать стрелки на экране, наложенные поверх реального изображения, находящегося перед пользователем и указывать ему направление, куда ему необходимо двигаться. Эта технология также может быть использована для определения местоположения ближайшей остановки общественного транспорта.

Очерчивание: это такой тип РР, который совмещает линии человеческого тела или части тела с виртуальными материалами, позволяя пользователю выбирать и манипулировать объектами, которых не существует в реальном мире. Пример этого можно найти в некоторых музеях и научных центрах в форме виртуального волейбола. Несмотря на то, что игрок может стоять и двигаться на реальном корте, мяч проецируется на стену позади него и он может контролировать его при помощи собственного очертания, которое также спроецировано на стену.

Используя идею РР данный проект сфокусирован на создании полезного мобильного приложения. Идея состоит в том, что пользователь сможет просматривать виртуальные объекты в реальном мире. Пользователь может предоставить изображения объекта спереди, сзади, сверху, снизу, справа и слева. Они будут спроецированы на трехмерный куб, который будет представлять собой полноценный объект. Расширенная реальность бует создана путем совмещения изображения реального мира и сгенерированного объекта и он будет выглядеть так, как будто реальный мир и виртуальный объект сосуществуют в одном пространстве. Для использования приложения первоначально необходимо воспроизвести маркер. Маркер – это лист бумаги с черными и белыми пометками. Он используется для отображения виртуального объекта на экране мобильного устройства. РР основанная на маркерах использует камеру и виртуальный маркер, который определяет центр, ориентацию и расстояние его сферической координатной системы. Как только маркер попадает в поле видимости камеры – можно видеть виртуальный объект. Взаимодействие с объектом – это еще одна возможность системы, позволяющая пользователю поворачивать или изменять ориентацию объекта по собственным нуждам.

Дизайн маркеров, методы их нахождения и распознавания

Маркеры квадратны и состоят из черных толстых границ и блока графики внутри его белого внутреннего пространства. Преимущество использования черного и белого цветов в том, что это позволит легче отделить маркер от заднего фона. Внутренняя область маркера обозначает его идентификатор. В терминах проекционной геометрии квадрат маркера в реально мире может не быть квадратом после его проецирования на плоскость изображения, другим словами, внутренняя графика маркера часто отображается с искажениями. Когда они распознаются необходима развертка изображения. [4] Процедура развертки изображения показана на рисунке 4.

Рисунок 1 - Развертка изображения

Рисунок 1 - Развертка изображения.

Вычисление развертки маркера могут быть описаны следующим образом: (xi,yi), i=1,2,3,4, так как имеется четыре угла маркера после определения его рамки. Омография матрицы H может быть получена как показано на рисунке 2. При помощи H точек во внутреннем регионе маркера он может разложен формально. [4]

Рисунок 2 - Вычисление развертки

Рисунок 2 - Вычисление развертки.

После этого, развернутое изображение используется для проверки на совпадение с шаблоном в методе сопоставления или декодирования в методе декодирования соответственно.

Постановка задачи

Предложенная система должна предоставлять возможность пользователю размещать двумерные и трехмерные объекты в реальный мир при помощи маркеров РР. Предложенная система позволяет пользователю решать, где именно будет расположен объект, он будет позиционирован точно по предоставленной перспективе оригинальной сцены, что является особенно трудоемким в случае с трехмерным объектом. Данная система решает проблему позиционирования внутри окна отображения и взаимодействия с виртуальным объектом. Главная особенность системы состоит в том, что система не ориентирована на какой либо продукт, предоставляя пользователю возможность проецирования любых объектов по собственному желанию.

Почему ОС Android

На сегодняшний день Android лидирует на рынке мобильных операционных систем благодаря открытости собственного кода и того факта, что он разрабатывается более чем 86 лидирующих M.N.C, названных Open Handset Allowance. Android также наиболее развивающая операционная система на сегодняшний день. Все больше приложений было разработано и модифицировано сторонними разработчиками. Более того, Android является дружественной операционной системой. Он имеет отличную производительность и вычислительную мощность.

Архитектура системы

Рисунок 3 - Архитектура системы

Рисунок 3 - Архитектура системы.

Предложенная система основана на маркерах и ее архитектура представлена, как показано на рисунке, состоит из 6 модулей:

Модуль захвата изображений:

Видеоизображение реального мира является входными данными, полученными с камеры мобильного устройства на базе Android, поступающими в модуль Камеры. Отображение этих входных данных является реальностью данной РР. Данный видеопоток передается как входные данные для модуля захвата изображений.

Камера:

Этот модуль анализирует видеоизображение камеры, путем анализа каждого кадра по отдельности. Этот модуль генерирует бинаризированные изображения, т.е. изображения, имеющие только два возможных варианта значения для каждого пикселя. Как правило два используемых цвета - это черный и белый. Эти бинаризированные изображения предоставляются Модулю обработки изображений как входные данные.

Модуль обработки изображений:

Полученные бинаризированные изображения обрабатываются для обнаружения маркеров РР. Обнаружение маркеров РР необходимо для определения положения, в котором необходимо разместить виртуальный объект. Как только маркер обнаружен – его местоположение передается в качестве входных данных Модулю определения маркера.

Модуль определения маркера:

Это "сердце" системы РР; здесь вычисляется относительное положение камеры в реальном времени. В данном случае под положением подразумевается положение шести степеней свободы, т.е. трехмерное расположение и трехмерная ориентация объекта. Вычисленная позиция передается в Модуль визуализации.

Модуль визуализации:

В качестве входных данных используется, в первую очередь, позиция, полученная из модуля определения маркера, а также Виртуальный Объект. Модуль визуализации совмещает оригинальное изображение и виртуальную компоненту используя полученную позицию и визуализируется расширенное изображение на экране мобильного устройства.

Ограничения проекта

Расширенная реальность имеет некоторые проблемы, которые необходимо решить. Системы РР предполагают использование в реальном времени, что позволит пользователю свободно перемещаться внутри сцены и получать корректно визуализированный результат. Приложение разрабатывается для мобильных устройств, которые обычно небольшие размеры экрана и низкое разрешение изображения. Это добавляет проблему, т.к. требует высоких затрат на расширение.

Области применения

Изображения стоят тысячи слов. Картинки ниже полностью описывают сами себя, демонстрируя виртуальные объекты внутри реальной действительности.

Hohner Marine Band Suzuki Promaster

Рисунок 4 - Демонстрация возможностей расширенной реальности.

Использованная литература

[1] http://mobile.tutsplus.com/tutorials/augmented-reality
[2] http://mashable.com/follow/topics/augmented-reality/
[3] http://www.se.rit.edu/~jrv/research/ar/
[4] Rencheng Sun , YiSui , RanLi , Fengjing Shao, The Design of a New Marker in Augmented Reality, 2011 International Conference on Economics and Finance Research , IPEDR vol.4 (2011) © (2011)IACSIT Press, Singapore/
[5] Ronald T. Azuma, A Survey of Augmented Reality, In Presence: Teleoperators and Virtual Environments 6, 4 (August 1997), 355-385
[6] Si Jung Jun Kim, A User Study Trends in Augmented Reality and Virtual Reality Research, 2012 International Symposium on Ubiquitous Virtual Reality
[7] http://www.pcworld.com/article/253530/top_15_augmented_reality_apps_for_iphone_and_ipad.html
[8] http://en.wikipedia.org/wiki/OpenGL
[9] https://code.google.com/p/andar/
[10] https://code.google.com/p/andar/wiki/HowToBuildApplicationsBasedOnAndAR
[11] http://technoccult.net/archives/2010/01/11/augmented-reality-medical-app/
[12] http://www.studio4d.lt/en/augmented-reality
[13] http://www.iphoneness.com/iphone-apps/best-augmented-reality-iphone-applications/
[14] http://blog.t-immersion.com/2010/09/08/germaine-et-les-martiens-first-augmented-reality-apps-on-iphone-for-pos-advertising-and-augmented-packaging/