Что такое дополненная реальность

Что такое дополненная реальность и как она работает

Дополненная реальность (AR) - это наша реальность, дополненная цифровыми данными.

Цифровые данные могут быть в форме текста, изображений, видео, 3D-ресурсов или комбинации всего вышеперечисленного.

Система AR должна будет понять реальность и реконструировать ее, чтобы создать своего цифрового двойника.

Это также должно дать пользователю возможность взаимодействовать как с цифровым двойником, так и с цифровыми данными.

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

Это набор датчиков, которые сгорают, когда на него попадают световые лучи, проходящие через отверстие.

Придать камере чувство направления и понимание мира - сложный процесс. Область исследований, которая занимается анализом и пониманием пикселей, называется компьютерным зрением (CV).

Машинное обучение (ML) - это видеть мир, как мы, классифицировать объекты, как мы, и научиться адаптироваться к изменениям в мире, как мы.

Мы учимся и становимся немного умнее. Когда машина учится и дает результаты, которые немного лучше, чем раньше, это ее искусственный интеллект (ИИ).

ML, AI и CV, а также несколько аппаратных датчиков, которые образуют IMU (инерциальный измерительный блок), делают возможной AR.

Слои AR

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

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

Помимо физического уровня форм существует семантический уровень, который придает значение тому, что мы видим.

Семантический слой включает обучение нейронных сетей, чтобы машины могли понимать мир так же, как мы.

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

Эта статья о физическом уровне.

Физический слой

Основными компонентами физического уровня являются:

  1. ИДУ
  2. Взаимодействие с пользователем
  3. Облако точек и пространственное картирование / SLAM
  4. Соответствие шаблону
  5. Якоря, отслеживание и постоянство.

1. ИДУ

IMU (Inertial Measurement Unit) - это акселерометр, который измеряет линейное ускорение, гироскоп, который измеряет вращение, и магнитометр, который измеряет направление.

Традиционный одометр в вашем автомобиле определяет вращение колеса, чтобы измерить пройденное расстояние.

Визуальный одометр на телефоне измеряет пройденное расстояние и ориентацию на основе последовательности изображений.

Визуальная одометрия сочетается с компонентами IMU и образует систему визуальной инерциальной одометрии (VIO).

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

2. Пользователь

Нам не нужны умные очки, чтобы видеть мир так, как мы видим его без очков.

Полезность AR заключается в использовании информации о мире, а затем в добавлении к ней ценности.

Вымершее животное в музее может ожить, или если направить камеру на здания, можно получить больше информации. Если вы побываете в Лондоне, вы не сможете увидеть Биг-Бен прямо сейчас, так как Элизабет-Тауэр строится еще несколько лет. Но если вы загрузите приложение Big Ben AR и направите его на нагруженную конструкцию лесов, вы снова сможете увидеть и услышать Биг Бен.

3. Облако точек и пространственное картирование / SLAM

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

Возьмите увеличительное стекло и внимательно посмотрите на изображение, вы начнете видеть пиксели. Кроме того, если вы продолжите увеличивать изображение в Photoshop, вы начнете видеть пиксели. Таким образом, изображение представляет собой не что иное, как облако точек. В случае изображений эти точки называются пикселями.

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

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

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

Затем программа пытается найти в этой сетке знакомые узоры. Это подводит нас к нашей следующей теме - сопоставлению с образцом.

В справочном разделе ниже есть видео от Microsoft, показывающее, как пространственное отображение работает на Hololens.

4. Соответствие шаблону

Первый выпуск ARKit от Apple и ARCore от Google, двух встроенных платформ AR на мобильных устройствах, распознавал только горизонтальные плоскости. Этим двум каркасам потребовалось несколько месяцев, чтобы распознать вертикальные плоскости.

Горизонтальные плоскости дают нам землю и столешницы, где мы можем разместить цифровые объекты.

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

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

Распознавание изображений

С распознаванием изображений мы можем многое сделать - например, разместить персонажа с цифровой анимацией на экране телефона, когда вы наводите телефон на изображение этого персонажа на рекламном щите. Оживите картины в музее или предоставьте информацию о художнике и т. Д.

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

Мы также можем сканировать 3D-объект и генерировать шаблон для программы, чтобы затем распознавать 3D-объекты в реальном мире. Это называется распознаванием объекта.

Если вы расширяете распознавание объектов на несколько объектов в комнате, это становится распознаванием комнаты.

Расширьте его в большем масштабе на открытом воздухе, и он станет распознаванием сцены.

Wikitude поддерживает распознавание объектов, комнат и сцен. ARKit поддерживает распознавание объектов в своем последнем выпуске, и варианты использования несколько ограничены. Необходимый этап сканирования 3D-объекта для передачи его в систему требует времени, чтобы сделать это прямо на потребительском оборудовании.

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

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

Вещи в нашем мире все время меняются.

Время суток меняется, времена года меняются, свет меняется и все выглядит по-другому. Зимой в горах выпадает снег, и они выглядят иначе, чем летом. То же дерево сбросит листья. Со временем все тускнеет. Новые сносы. Новые конструкции, и мы можем потратить несколько лет на то, чтобы писать в этом абзаце обо всем, что меняется.

5. Привязка, отслеживание и постоянство

Многие люди используют слово «настойчивость», когда на самом деле имеют в виду отслеживание привязки. Затем они задают вопрос о переполнении стека и голосуют против ответа по неправильной причине.

Давайте уберем несколько определений.

Привязка - это размещение цифрового объекта в дополненном мире.

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

Но что это за отслеживание?

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

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

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

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

Термин «стойкость» в системе зрения человека связан со способностью мозга сохранять изображение в течение доли секунды после того, как изображение было удалено. Так работают фильмы. 24 кадра в секунду - хорошая частота кадров для нас, чтобы сохранить предыдущий кадр и объединить его со следующим кадром, чтобы получить ощущение плавного движения. Но это не постоянство в AR. Это отслеживание.

Ограничения сопоставления с образцом

Когда нам было 2 года, мы смотрели на узор и указывали на него. Голос мягко сказал нам, что это стол! Стол! Затем мы посмотрели на 100 других столов, и нам сказали, что это столы!

Немного разные формы, но общие черты могут быть помечены общей меткой. В какой-то момент мы стали уверены в таблицах.

AR на мобильных телефонах не может отсортировать все возможные варианты появления самолета в реальном мире.

Горизонтальная плоскость может иметь разную высоту и при разных условиях освещения выглядеть по-разному.

Вертикальную плоскость можно наклонять по-разному.

Может быть любое количество наклонных плоскостей, которые не являются ни горизонтальными, ни вертикальными.

Стены поднимаются из-под земли. Стены под 45 градусов. Если мы будем следовать по краям, то теперь мы будем следовать по многоугольнику, а не по прямоугольнику. И стены пересекаются друг с другом. Они всегда так делают.

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

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

Возможно, со временем программа сможет решить, что самолеты разделены. Но у нас нет больше времени. Мы хотим, чтобы программа выполняла все эти вычисления очень быстро. Чтобы дополненная реальность была полезной на мобильных телефонах, она должна работать в режиме реального времени.

Ограничения отслеживания

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

В реальном мире эта проблема может выглядеть так:

Я вижу музыкальный автомат и иду, чтобы занять место в баре. Теперь я знаю, что музыкальный автомат позади меня. Может быть, я закажу пиво и поставлю его в нескольких дюймах перед собой справа от меня. Если это был роман Филипа К. Дика, может быть, это когда мир меняется, когда я моргаю. Мир вращается вокруг своей оси, и, возможно, я забываю вращаться вместе с ней. Я тянусь за пивом, но это не совсем то место, где я его поставил секунду назад. Музыкальный автомат тоже не за моей спиной. Теперь он слева от меня!

Представьте себе, что все вокруг вас потенциально может двигаться вот так 30 раз в секунду! (По умолчанию камеры телефонов записывают видео со скоростью 30 кадров в секунду).

Нам нужно много энергии на этих чипах, чтобы иметь возможность обрабатывать мир в реальном времени и сохранять все вместе.

Заключение

Наш мозг - это наше оборудование, а наш интеллект, то есть наше программное обеспечение, развивался более миллиона лет. Камере чуть больше 100 лет, а машинное обучение новее.

Есть много проблем, чтобы сделать это правильно. Облачные вычисления - это реальность, и с предстоящими скоростями сети 5G мы должны иметь возможность использовать мощь облака и передавать результаты обратно на телефон в режиме реального времени.

AR обладает огромным потенциалом в сфере образования, путешествий, моды, розничной торговли, коммунальных услуг, развлечений, издательского дела, ТОиР, удаленного руководства, игр… список велик и продолжает расти.

В эту технологию вкладываются миллиарды долларов. Некоторые думают, что это следующая крупнейшая революция со времен Интернета.

Magic Leap, компания, производящая гарнитуры AR, стала самым финансируемым стартапом в истории технологий - согласно отчетам венчурных капиталовложений 2,3 миллиарда долларов, и это тоже без продукта. Когда он закрыл раунды финансирования, все, что у него было, были видеоролики, демонстрирующие потенциальный продукт. Теперь у них есть продукт. Это хорошо, но далеко не то, что было показано в этих видео. Позже они заявили, что видео были обработаны с помощью программного обеспечения Visual FX. Не знаю, как им это сошло с рук.

Но это безумие, которое существует сегодня в мире стартапов AR. Ни один инвестор не хочет упустить возможность.

Какими бы ни были финансовые прогнозы, в конце концов, я считаю, что это улучшит наши отношения.

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

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

Технология сканирования пикселей, разумно разработанная глубоко внутри лаборатории (CSAIL), может получить свое значение, помогая людям общаться по-новому и находить новые значения в вещах, которые связывают их с миром.

Для меня это замыкает цепь, и это то, чего я с нетерпением жду.

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

Извлечение функций из изображений:



Пространственное сопоставление Microsoft Hololens: