О дополненной реальности много говорили в 2016, когда вышла игра Pokemon Go, и в 2017, когда появились первые маски Instagram. Последние обзоры дополненной реальности, которые появляются на первых страницах поисковиков, выкладывались в 2017-2018 годах. И хотя технологии значительно выросли за последние пару лет, представление об AR осталось на уровне тех лет. Мы расскажем о том, какие появились возможности, а также что работает стабильно, что – не очень.
Что такое дополненная реальность
Используя дополненную реальность (AR), мы смотрим на мир не напрямую, а через какой-то «фильтр», который встраивает в настоящий мир виртуальные объекты так, будто они действительно там находятся. В отличие от виртуальной реальности, настоящий мир не уходит из поля зрения, а «дополняется», что и отражается в термине.
Чаще всего в качестве «фильтра» для AR используется смартфон или планшет.
Реже встречающийся способ – AR на больших экранах: в торговых центрах, на остановках в рамках рекламных кампаний и т.п. Экран становится либо «окном», в котором помимо обратной стороны показываются дополнительные объекты, либо «телевизором», показывающим зрителей и виртуальные объекты рядом.
Еще более редкий, но известный благодаря футуристичности способ – очки дополненной реальности. Используются в основном на производствах, в обычной жизни вы их скорее всего не встретите. По крайней мере не сегодня.
AR на телефоне – подробное описание возможностей
Дополненная реальность на телефонах и планшетах основана на том, что телефон обрабатывает информацию из разных источников, таким образом определяет своё положение в пространстве и располагает в соответствии с ним виртуальный объект на экране. Pokemon Go использует GPS, компас и гироскоп. Распознавание QR-кода появилось еще в 2000-х, а инструменты по созданию AR на основе картинок-меток - в начале 2010-х. Instagram научился видеть лицо.
Современные системы не просто узнают какие-то элементы на изображении, но научились большему: они могут распознавать плоские поверхности, запоминать их взаимное расположение и на основе этого строить виртуальную модель окружающего пространства. Чтобы быть точным, подобные инструменты появились 3 года назад, но теперь, во-первых, они стали работать намного лучше и точнее, во-вторых, появилось намного больше телефонов и планшетов, поддерживающих такие инструменты.
Благодаря этому теперь возможна точная навигация внутри помещений. Вы можете оставить виртуальный предмет в комнате, выйти, вернуться – и телефон узнает комнату и поставит виртуальный предмет на место.
В теории, мы можем научить распознавать камеру любые объекты – библиотеки машинного зрения OpenCV находятся в открытом доступе. На практике есть инструмент, позволяющий распознавать руки (хотя и он требует доработки напильником под конкретную задачу), что используется ювелирными брендами, хуже для тех же целей распознаются уши.
Также постепенно появляются системы трекинга объемных предметов, сейчас они работают только с самыми простыми объектами (цилиндр, куб, и т.п.). Чтобы научить «видеть» сложные предметы, нужно натаскивать ИИ именно на этот предмет.
Особенно стоит сказать о такой возможности, как отслеживание уровня освещенности. Функция доступна на устройствах с поддержкой ARCore и ARKit – это введенные Google и Apple инструменты разработчиков и стандарты для устройств на базе Android (iOS) для создания эффектов дополненной реальности. Телефоны с поддержкой этих стандартов не только встраивают предметы в окружение, но и накладывают тени в соответствии с освещением. Особенно это заметно на «блестящих» виртуальных предметах. Таким образом виртуальные объекты выглядят более естественно, меньше выделяются среди настоящих объектов.
Что важно при ориентировании по плоской метке
Самым простым и доступным для большинства смартфонов вариантом остается дополненная реальность с ориентацией на метку. Но и здесь есть моменты, которые могут помешать стабильной работе.
В самой метке важны четкие границы линий и контрастность изображения. Негативно может повлиять качество печати, если после печати картинка выглядит не так, как в электронном формате. Также важно качество камеры телефона и как она реагирует на изменение освещенности: например, при офисном свете всё может работать отлично, но стоит вынести метку под уличное освещение ночью – и телефон уже «не узнает» картинку. Такие же проблемы могут возникать в затемненных помещениях и при переключении освещения.
Что важно при ориентировании в пространстве
На устройствах ARCore и ARKit заявлен трекинг любых поверхностей. На практике хорошо отслеживается пол и горизонтальные поверхности снизу относительно телефона (например, поверхность стола). Стены более-менее отслеживаются только устройствами от 2018 года. Отследить потолок на некоторых устройствах вообще не представляется возможным. Поэтому для предметов, которые нужно разместить на стенах и потолке, рекомендуем использовать по-прежнему метки. А вот с расстановкой предметов на полу или на столе уже можно работать.
При этом работа «на улице» зависит от условий: на ровных дорожных покрытиях или на подстриженном газоне отслеживание работает не хуже, чем в помещении. Если же поверхность земли не ровная, то проводятся тесты конкретного места на конкретном устройстве.
Пример работы – приложение Enter the room, позволяющее «войти» в виртуальную детскую комнату в любом месте.
Что важно при ориентировании по GPS
Важно понимать, что точность GPS-трекинга в лучшем случае плюс-минус 5 метров. Соответственно, если мы говорим только об ориентировании по GPS, о расстановке виртуальных предметов в реальности речи нет. То, что мы можем с GPS – это давать доступ к определенному контенту при приближении к ключевой точке (например, при приближении к магазину давать пуш-уведомление или запускать поиск метки на экране телефона, и по ней уже запускать AR-эффект). Именно так работает с GPS игра Pokemon Go: при приближении к определенному месту появляется возможность поймать покемона.
AR без специальных приложений
Обычно AR ассоциируется со специальным приложением, которое нужно скачать и дать доступ ко всем датчикам на телефоне. Убедить человека скачать и установить приложение, о котором он раньше не слышал – отдельная и непростая задача для маркетинга. Но с развитием стандартов WebVR и WebXR появилась возможность показать дополненную реальность напрямую в браузере. Функционал при этом меньше, чем у отдельных приложений, но для продаж и ритейла такое решение часто предпочтительнее.
Еще существует компромиссное решение – приложение, которое уже установлено у пользователя, или с которым он по крайней мере знаком. Речь идет об AR-функционале Instagram, Facebook, Snapchat и Вконтакте. В таком случае мы ограничены в функциях, размерах модели и не можем изменить интерфейс, но при этом экономится время на создание архитектуры приложения и его публикацию в магазинах. Для коротких PR-кампаний – самое то.
AR и фотореалистичность
Увы, AR в качестве рисуемой картинки ограничен вычислительными мощностями «железа», на котором запущен. Ролики в интернете, которые подписываются как дополненная реальность, часто являются видеомонтажом. Также качество эффекта может сильно отличаться при запуске на разных устройствах: то что на флагмане выглядит идеально, на телефонах бюджетного сегмента работает со сбоями (объект «скачет», «съезжает» и т.п.) или вообще не работает.
Тем не менее, в среднем телефоны продолжают «умнеть», графика давно переросла Pokemon Go и с каждым годом становится лучше. Также стоит помнить, что насколько хорошо будет работать то или иное приложение на телефоне или планшете, зависит не только от поддержки технологии, но и от приложения – насколько оно оптимизировано. Поэтому в разработке AR-приложений огромное внимание уделяется тестированию – тестирование и доработки часто занимают больше времени, чем создание первой версии.
AR на большом экране
Дополненная реальность на стационарном экране намного проще и имеет много ограничений. В целом есть два варианта.
1) Экран находится близко к зрителю, а за экраном много свободного пространства. Тогда за экраном ставится камера, и экран становится «окном», через которое смотрит зритель. К обычному виду добавляются виртуальные события и предметы. Эффект становится сильнее, если мы знаем заранее где будет стоять зритель – тогда мы настраиваем камеру так, чтобы изображение было максимально приближено к виду из настоящего окна. Поэтому чаще всего такие экраны устанавливают на остановках общественного транспорта: головы сидящих на скамейках людей примерно на одном уровне, под них и настраивается экран. При этом если посмотреть на экран из транспорта, ощущение «окна» не возникнет.
2) Экран далеко от зрителя, перед экраном достаточно большое пространство. В этом случае камера направляется на зрителя, экран становится «телевизором» и уже со зрителем происходят разные активности. Кроме самого по себе эффекта «мама, я в телевизоре», мы можем создать активность с конкретным человеком. Для этого мы либо обозначаем на полу определенную зону, куда нужно встать, чтобы стать частью виртуально происходящего события (старый вариант), либо подключаем распознавание лиц и «цепляем» людей из толпы программно (современный вариант).
Таким же образом работают AR-примерочные и AR-зеркала: мы видим себя в экране напротив, а поверх накладывается виртуальный контент.
Очки дополненной реальности
На данный момент существует большой выбор AR-очков с ценами от 50 тысяч рублей до десятков тысяч долларов. Обзор очков может занять отдельную статью, но основная причина, по которой они обычно лежат на складах – большой разрыв между ожиданиями и реальностью. В очках дополненной реальности возникает ощущение, что перед глазами просто монитор компьютера. Это удобно в том плане, что компьютер перед глазами, а руки свободны, но до «встраивания» виртуальных объектов в реальный мир и манипуляции с ними пока далеко. Прорыв в очках виртуальной реальности случился четыре года назад, у очков дополненной реальности такой прорыв еще впереди.
Если вам нужна помощь в создании собственного приложения для дополненной реальности, то просто позвоните нам или напишите нам на почту [email protected]. Мы с радостью поможем вам!
Вокабулярий
ARCore – инструмент разработчиков и стандарт для производителей устройств на базе Android. Телефон анализирует поверхности помещения, которые видит, и запоминает их. Строит виртуальную модель вашей комнаты, поэтому даже если отвернуться от объекта, он останется там. Если выйти из комнаты и вернуться, объект останется на месте, т.к. телефон «вспомнит» эту комнату. Также отслеживается перемещение телефона в пространстве, чтобы смартфон понимал, где он находится, и отслеживает освещенность. Эту систему поддерживают телефоны на базе Android 7.0 и выше.
ARKit – инструмент разработчиков для iOS, функционал аналогичен ARCore, на уровне пользователя разница незначительна.
ARFoundation – надстройка, которая объединяет ARKit и ARCore и позволяет программистам создавать одно приложение под две платформы.
Open CV – библиотека компьютерного зрения. Здесь же распознавание лиц, здесь же и машинное обучение для распознавания чего-то другого.
Vuforia – инструмент разработчиков для создания AR на базе картинок-меток.
MediaPipe Hand Tracking – инструмент разработчиков, позволяющий отслеживать движения кисти и пальцев в реальном времени.
Список устройств с поддержкой ARCore:
содержит более 200 моделей, полный список здесь:
http://developers.google.com/ar/discover/supported-devices
Список устройств с поддержкой ARKit:
iPhone SE; iPhone 6s и iPhone 6s Plus; iPhone 7 и 7 Plus; iPad Pro 9,7 и iPad Pro 12,9 (2016); iPad 9,7 (2017); iPad Pro 10,5 и iPad Pro 12,9 (2017) и все более поздние модели.