BC/NW 2018 № 1 (32):10.2

РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ ДЛЯ РАСШИРЕНИЯ ФУНКЦИОНАЛА БУКЛЕТА НИУ МЭИ

Бабак Н.Г. , Крюков А.Ф.

Введение

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

Национальный исследовательский университет «МЭИ» (НИУ «МЭИ»), как и все университеты России, несколько раз в году проводит для абитуриентов и их родителей дни открытых дверей. Готовятся стенды, брошюры и буклеты о факультетах. В такие дни в университетах можно получить много интересной и полезной информации. Абитуриентам предоставляется возможность получения консультаций у представителей руководства университета и кафедр. Перед каждым ВУЗом стоит задача привлечь будущих студентов.

Для «оживления» и увеличения привлекательности рекламных материалов необходимо активно использовать новые технологии. Внедрение современных технологий в данную область позволит продуктивнее проводить работу по профориентации абитуриентов.

Для решения этой задачи была использована технология дополненной реальности. Задача состояла в разработке мобильного программного приложения к рекламному буклету НИУ «МЭИ», которое сделает взаимодействие с буклетом более интересным и привлечёт внимание абитуриентов. В качестве среды разработки и инструментария выбрана связка из операционной системы Android, межплатформенной среды разработки Unity [1] и инструмента разработки программного обеспечения дополненной реальности Vuforia (SDK AR Vuforia).

1.     Анализ платформ дополненной реальности

Проведён сравнительный анализ наиболее известных библиотек дополненной реальности: ARCore, ARToolKit, EasyAR, Kudan, Maxst, Vuforia, Xzimg, Wikitude, ThingWorx Studio. Из этого списка можно исключить ARCore, т.к. эта платформа подходит для ограниченного количества смартфонов.

Все представленные инструменты должны иметь совместимость с межплатформенной средой разработки Unity. Unity позволяет создавать проекты как в 2D, так и в 3D, поддерживает два скриптовых языка: C#, JavaScript. Эта среда разработки содержит в себе редактор сцен, редактор объектов и редактор скриптов. Для создания реалистичного поведения объектов в Unity встроен физический движок, обеспечивающий компонентами для симуляции физического поведения объектов. При разработке используется компонентно-ориентированный подход к программированию. Необходимость использования Unity обусловлена тем, что данная среда позволяет компилировать проекты под операционные системы Android и iOS, упрощает работу с 3D моделями. Кратко рассмотрим каждую платформу.

ARToolKit [2] представляет собой набор программных библиотек, которые могут использоваться в AR (augmented reality) приложениях. Главное достоинство библиотеки – открытый исходный код. Отсутствует WaterMark. WaterMark или водяной знак – это полупрозрачное изображение, накладываемое поверх изображения с камеры. Чаще всего водяной знак представлен логотипом компании и присутствует в бесплатных лицензиях библиотек дополненной реальности. Имеется возможность распознавать 2D объекты. Несмотря на бесплатный доступ, документация для разработчиков весьма ограничена. Отсутствует возможность распознавания объёмных объектов и метки из облака.

EasyAR [3] – бесплатная и простая в использовании библиотека. Имеет возможность распознавания только 2D объектов. Отсутствует WaterMark. Является хорошей альтернативой Vuforia по качеству распознавания меток. Поддерживается до 1000 меток для распознавания. Отсутствуют хорошие учебные пособия, изучение возможно только по документации, что не удобно и не продуктивно.

Kudan [4]. К положительным возможностям можно отнести отсутствие ограничений на количество распознаваемых изображений и маленький объём памяти, требуемый для хранения файлов на устройстве. Существует возможности распознавания 3D объектов, безмаркерное отслеживание объектов. Разработчики могут воспользоваться базовой документацией при обращении к библиотеке. Однако руководство по использованию не очень подробное и требует поиска дополнительной информации. Отображение дополнений реализуется через отдельный компонент-обертку над OpenGL. Имеется WaterMark. Но бесплатная версия предназначена только для тестирования приложений. Для публикации приложения требуется покупка лицензии.

Maxst [5] оптимизирован именно для мобильных платформ. Распознаёт и отслеживает изображение, но одновременно максимально только 3 цели. Имеется возможность отследить плоскую поверхность и разместить на ней требуемый объект. Бесплатная версия позволяет вести разработку только для ОС Android и iOS. Имеется поддержка одновременного создания и сохранения трёхмерной карты пространства. Maxst работает только с 32-разрядной версией редактора Unity. Maxst обладает не очень хорошим качеством распознавания меток.

Xzimg [6] представляет собой три продукта для работы с приложениями на основе дополненной реальности: Augmented Face, Augmented Vision и Magic Face. Xzimg Augmented Face распознает и отслеживает лица. Xzimg Augmented Vision распознает и отслеживает плоские изображения. Xzimg Magic Face предназначен для замены черт лица и нанесения макияжа. Имеется возможность разработки проекта под HTML5. Наличие WaterMark. Бесплатная пробная версия доступна только для демонстрации (инвертирует цвет и меняет изображение).

Wikitude [7] имеет функцию Extended Tracking для сохранения положения метки на мобильном устройстве, даже если она за пределами обзора камеры. Поддерживается распознавание как 2D, так и 3D форматов. Существует возможность сканирования реального объекта для последующего распознавания. Имеется хорошая документация, но при этом малое количество обучающего материала. Но бесплатная версия предоставляется только для тестирования. Для дальнейшей разработки и публикации необходимо приобретение лицензии.

ThingWorx Studio [8] – универсальный инструмент для создания и публикации продуктов дополненной реальности. Позволяет разрабатывать приложения для промышленный предприятий, использую понятный графический редактор. В ThingWorx Studio используется технология компьютерного зрения Vuforia. Метки для распознавания и 3D объекты хранятся и используются через облачную базу данных. ThingWorx Studio единственная из представленных сред разработки позволяет напрямую использовать САПР модели. Но данный инструментарий имеет только пробную бесплатную версию, для дальнейшей разработки и публикации необходимо приобретение лицензии.

Vuforia [9] – одна из самых популярных в мире платформ дополненной реальности. Существует большое количество обучающего материала как в текстовом, так и в видео формате. Программное обеспечение реализует следующие функции: распознавание различных типов визуальных объектов (куб, цилиндр, плоскость), распознавание текста и окружающей среды, VuMark (комбинация изображения и QR-кода). Процесс распознавания меток может быть реализован с использованием локальной или облачной базы данных. Ограничения бесплатной версии относятся только к числу VuMark, количеству взаимодействий с облачной базой данных и наличию WaterMark. Vuforia поддерживает Extended Tracking. Имеются возможности распознавания 3D объектов и поддержки Virtual Button [10].

Исходя из приведённого анализа, сделан выбор инструмента разработки программного обеспечения дополненной реальности Vuforia. Данная платформа наиболее популярна, а значит более доступна для изучения. В настоящий момент владельцем Vuforia является компания PTC, занимающаяся внедрением в работу предприятий дополненной реальности, интернета вещей, 3D-печати, цифровых двойников, что даёт надежду на дальнейшую активную поддержку и развитие AR SDK Vuforia.

2.     Рекламный буклет НИУ «МЭИ»

Изображения, являющиеся метками для распознавания, должны соответствовать определённым требованиям. Согласно рекомендациям, распознаваемое изображение должно быть выполнено на плотной бумаге и быть достаточно контрастным по сравнению с фоном [11]. В связи с этим существующий буклет был доработан.

На буклете для всех институтов, входящих в НИУ «МЭИ», добавлены эмблемы и контрастное название. Увеличена общая контрастность всего буклета, добавлены QR-код и ссылка на скачивание приложения с Google Play. Итоговая версия буклета представлена на рис. 2.1 и рис. 2.2.

На рис. 2.3 представлены отличительные признаки в некоторых изображениях, выделенные Vuforia SDK. Жёлтые кресты – это контрольные точки, по совокупности которых фреймворк Vuforia отличает одни метки от других.

Рис. 2.1.  Лицевая сторона буклета НИУ «МЭИ»

Рис. 2.2.  Оборотная сторона буклета НИУ «МЭИ»

Рис. 2.3.  Характерные точки в метках, выделенные Vuforia

3.     Разработка приложения

Разработка проводилась в межплатформенной среде разработки Unity под операционную систему Android с использованием Vuforia SDK. Был реализован следующий функционал.

При запуске приложения появляется приветственное окно с кратким руководством к действию, где сказано, что для получение более подробной информации о институте необходимо наводить смартфон с запущенным приложением на рекламный буклет. При наведении камеры смартфона на логотип и название института появляется объёмный логотип этого же института (см. рис. 3.1). Для этого в графическом редакторе Blender были разработаны объёмные логотипы институтов. При нажатии на логотип, являющийся кнопкой, пользователь попадает на страницу, где может подробнее узнать о институте, а также перейти на его сайт (см. рис.3.3). Наведение камеры смартфона на вывески институтов, расположенные в коридорах корпусов НИУ «МЭИ», также приводит к аналогичным действиям (см. рис. 3.2).

Рис. 3.1.  Считывание метки из буклета

Рис. 3.2. Считывание метки, представленной объектом реального мира

Рис. 3.3.  Информация о институте

Заключение

Доработанный буклет удовлетворяет условиям хорошего качества распознавания меток. Мобильное приложение расширяет функционал буклета и делает взаимодействие с ним более информативным и интересным. Приложение опубликовано в Google Play и доступно для скачивания по ссылке или QR-коду из буклета. Планируется добавить функционал взаимодействия с картой в дополненной реальности.

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

Разработанное мобильное приложение можно использовать на дне открытых дверей не только в пределах одного университета. Возможность добавления большого количества отслеживаемых меток позволяет делать одно мобильное приложение на несколько университетов.

Список используемых источников

1.     Unity 3D. [Электронный ресурс]. – Режим доступа: https://unity3d.com/ru/.

2.     Open Source Augmented Reality SDK | ARToolKit. [Электронный ресурс]. – Режим доступа: http://artoolkit.org/.

3.     EasyAR-Best engine for developing Augmented Reality. [Электронный ресурс]. – Режим доступа: https://www.easyar.com/.

4.     Home | Kudan. [Электронный ресурс]. – Режим доступа: https://www.kudan.eu/.

5.     Maxst. [Электронный ресурс]. – Режим доступа: http://maxst.com/.

6.     Xzimg. [Электронный ресурс]. – Режим доступа: https://www.xzimg.com/.

7.     Wikitude Augmented Reality. [Электронный ресурс]. – Режим доступа: https://www.wikitude.com/.

8.     Developer Portal: ThingWorx. [Электронный ресурс]. – Режим доступа: https://developer.thingworx.com/.

9.     Vuforia Augment Reality. [Электронный ресурс]. – Режим доступа: https://vuforia.com/.

10.           Eight best augmented reality SDK for AR development for iOS and Android in 2017. [Электронный ресурс]. – Режим доступа: https://thinkmobiles.com/blog/best-ar-sdk-review/.

11.           Optimizing Target Detection and Tracking Stability. [Электронный ресурс]. – Режим доступа: https://library.vuforia.com/articles/Solution/Optimizing-Target-Detection-and-Tracking-Stability.