Quantcast
Channel: Найцікавіше на DOU
Viewing all articles
Browse latest Browse all 8115

DOU Labs: как в Sigma Software создают AR-приложения и исследуют возможности Vuforia SDK

$
0
0

В рубрике DOU Labsмы приглашаем IT-компании делиться опытом собственных интересных разработок и внутренних технологических инициатив. Вопросы и заявки на участие присылайте на editors@dou.ua.

Уже больше четырех лет я занимаюсь разработкой приложений под Android и искренне верю, что новым технологиям самое место именно в мобильной разработке. Поэтому и приняла участие в экспериментальном проекте на базе Vuforia SDK.

Дополненная реальность (от англ. augmented reality — AR) становится все более популярной в мире мобильных технологий. Каждый день появляется множество AR-приложений. Причина этого вполне очевидна, ведь большую часть информации (около 90%) мы получаем с помощью зрения. Дополняя реальный мир цифровой информацией, мы обогащаем зрительное восприятие пользователя, а значит, мы даем ему возможность взаимодействовать с информацией, наложенной на картину реального мира. Этот новый подход меняет то, как пользователи воспринимают и используют мобильные приложения. Основные области потенциального применения AR-приложений: реклама, индустрия развлечений и игр, образование, дизайн интерьера и т. д.

Существуют различные типы AR, каждый из которых имеет свою сферу применения. Самые известные сейчас библиотеки по работе с AR: Wikitude, Vuforia, OpenCV, ARCore. В этой статье я расскажу об AR, основанной на распознавании 3D объектов, и нашем опыте работы с Vuforia SDK.

Коротко о Vuforia

Vuforia — это программная платформа для создания приложений дополненной реальности. Она имеет широкий ряд функций и способна распознавать предметы, изображения, цилиндрические формы, текст и многое другое. Изначально она была запущена в 2011 году и продолжает активно развиваться. Поскольку Vuforia не является бесплатной программой с открытым исходным кодом, для ее использования нужен лицензионный ключ. При этом платформа предоставляет возможность использовать лицензионный ключ разработчика, чтобы опробовать работу библиотеки, и уже позднее подобрать тариф согласно нужд вашего проекта.

Распознавание объектов

Распознавание объектов позволяет определять и отслеживать 3D объекты на изображении или видео. Вкратце, механизм распознавания выглядит следующим образом: изображение анализируется инструментами распознавания SDK на наличие необходимого количества функциональных точек. Это происходит путем сопоставления текущего изображения с подготовленными заранее изображениями реального объекта. Если функциональных точек достаточно, распознавание проходит успешно. В итоге SDK предоставляет информацию о расположении и ориентации объекта, что позволяет приступить к дополнению реальности.

Создание Object Targets базы данных

Зарегистрировавшись на портале Vuforia Developer Portal, вы получаете доступ к предоставляемым платформой ресурсам: Vuforia SDK, Vuforia Object Scanner, примерам работы с SDK и т. д.

Object Targets — это цифровое представление характеристик и геометрии физического объекта. Object Target создается путем сканирования физического объекта с помощью приложения-сканера Vuforia Object Scanner. Благодаря этому приложению, объект можно отсканировать со всех сторон, заполнив таким образом набор функциональных точек, которые важны для использования вашего приложения. Также оно позволяет протестировать результаты сканирования или же продолжить незавершенное ранее. После сканирования будет сгенерирован файл Object Data (*.OD), который включает в себя исходные данные об объекте, которые позже понадобятся для создания Object Target. Ниже — скриншоты нашего процесса сканирования:

Vuforia имеет несколько ограничений, не позволяющих физическим объектам быть целевыми объектами распознавания. Вот некоторые из них: объект должен быть непрозрачным, жестким, с четкими и контрастными формами; также он не должен содержать движущихся элементов. Важно отметить, что распознавание объектов с помощью Vuforia SDK оптимизировано для работы с объектами небольшого размера (не превышает размер стола).

После сканирования полученный файл с данными объекта (Object Data file) необходимо загрузить в Vuforia Target Manager на портале Vuforia Developer Portal, создав таким образом вышеупомянутый Object Target. На основе этого генерируем Device Database. Вуаля! Теперь база данных с отсканированным объектом в вашем распоряжении и готова к использованию в приложении.

Экспериментальное AR-приложение

Чтобы попробовать, как это работает, мы решили создать приложение для Android — интерактивное пособие по использованию дистанционного пульта управления (ДУ) для кондиционера. Основная цель приложения — инструктаж пользователя, как включить режим охлаждения воздуха. Эта довольно простая идея, которая появилась у нас одним жарким летним днем, идеально демонстрирует возможное применение AR в повседневной жизни.

Приложение было создано с помощью следующих инструментов: Android Studio, Vuforia SDK, OpenGL 2.0. Object Target в данном случае — это пульт ДУ. При наведении камеры устройства на него пользователь видит интерактивные инструкции, которые нужно последовательно выполнять.

С технической точки зрения, когда SDK распознает пульт ДУ, он выдает нам матрицы проекции и модели, на основе которых мы можем создать слой дополненной реальности поверх изображения пульта на камера превью. Начало системы координат для пульта находится в верхнем левом углу. Мы его определили сами, расположив наш пульт таким образом на этапе сканирования. Шкала измерения — в миллиметрах. В результате, зная размеры элементов физического объекта в миллиметрах, мы можем проделать нужные OpenGL преобразования для создания дополненного слоя в текущем шаге интерактивного пособия.

Дополненная реальность в нашем приложении сделана исключительно посредством библиотеки OpenGL. Однако для отображения более сложных трехмерных сцен нужно рассматривать интеграцию с 3D библиотеками. Вот несколько скриншотов нашего приложения:

Зачем мы это делали

Sigma Software активно развивает AR/VR компетенцию. Большой интерес вызывают новые библиотеки в этой области для мобильных устройств и возможности, которые они открывают для разработчиков. Помимо исследований мобильного направления, в нашей R&D Lab есть топовые AR/VR-устройства, такие как: HTC Vive, Oculus Rift Virtual Reality Headset, Microsoft HoloLens, The Meta 2 AR Headset, Sony SmartEyeglass, Epson Moverio BT-200. В каждом из них есть свои достоинства и недостатки, исследуя которые, мы получаем новые навыки и наполняем наш «демо-пакет» небольшими AR/VR-приложениями, которые можно показать клиенту (ведь зачастую результаты коммерческих проектов находятся под NDA, что значительно уменьшает возможное количество наглядных примеров).

В ходе этого эксперимента мы убедились, что Vuforia SDK — это еще одна ступенька к выходу AR-технологий на масс-маркет. Распознавание 3D объектов позволяет избавиться от привычных уже визуальных маркеров и QR кодов и открывает интересные возможности для внедрения AR-технологий в бизнес. Обладая широким спектром возможностей и совсем небольшим количеством конкурентов, Vuforia SDK может быть применен при создании тренингов для обучения нового персонала, маркетинговых кампаний, подбора аксессуаров и многого другого.


Небольшое видео, где можно посмотреть, как работает наше приложение:

Заключение

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


Viewing all articles
Browse latest Browse all 8115

Trending Articles