Язык разметки дополненной реальности - Википедия - Augmented Reality Markup Language

В Язык разметки дополненной реальности (ARML)[1] стандарт данных для описания и взаимодействия с дополненная реальность (AR) сцены. Он был разработан в рамках Открытый геопространственный консорциум (OGC) специальной рабочей группой по стандартам ARML 2.0.[2] ARML состоит из XML грамматика для описания расположения и внешнего вида виртуальных объектов в сцене, а также ECMAScript привязки для обеспечения динамического доступа к свойствам виртуальных объектов, а также обработки событий, и в настоящее время опубликовано в версии 2.0. ARML ориентирован на визуальную дополненную реальность (то есть камера устройства с поддержкой AR служит основным выходом для сценариев дополненной реальности).

Модель данных

ARML построен на общей объектной модели, которая допускает сериализацию на нескольких языках. В настоящее время ARML определяет сериализацию XML, а также JSON сериализация для привязок ECMAScript. Объектная модель ARML состоит из трех основных концепций:

  • Функции представляют собой физический объект, который следует дополнить.
  • VisualAssets описать внешний вид виртуального объекта в дополненной сцене.
  • Якоря описывают пространственные отношения между физическим и виртуальным объектом.

Особенность

Определение Особенность повторно используется из Язык разметки географии (GML) и описывает физический объект, который следует дополнить. Физический объект описывается набором метаданных, включая идентификатор, имя и описание. У функции есть одна или несколько привязок.

Якорь

Якорь описывает расположение физического объекта в реальном мире. В ARML определены четыре разных типа привязок:

  1. Геометрии
  2. Треки
  3. Относительно
  4. ScreenAnchor

Геометрии

Геометрия описывает местоположение объекта с помощью набора фиксированных координат. WGS84 (широта, долгота, высота) используется в качестве системы координат по умолчанию, при необходимости могут быть предоставлены другие произвольные системы координат. ARML допускает 0- (Point), 1- (LineString) и 2-мерную (Polygon) геометрию. Якоря геометрии повторно используют синтаксис, определенный в GML3. В качестве примера следующий фрагмент определяет расположение Винер Ризенрад.

  gml: id ="FerrisWheelViennaPoint">  <gml:pos>    48.216622 16.395901  </gml:pos> </gml:Point>

Треки

Trackables - это шаблоны, которые ищутся, распознаются и отслеживаются на видеоэкране, поступающем с камеры устройства. Существует множество различных технологий отслеживания, в том числе QR коды, Врожденные функции, 3D и отслеживание лиц. Поскольку все эти типы отслеживания используют разные алгоритмы и технологии, определение отслеживаемого объекта абстрагируется и разбивается на две части: Трекер и связанные с ним Треки. Tracker описывает технологию (или алгоритм), с помощью которой должны отслеживаться связанные с ним Trackables, используя URI, идентифицирующие алгоритм. Сам Trackable описывает шаблон, который алгоритм должен искать в видеопотоке.

Пример: естественный трекер функций и связанный с ним трекер.

 <Трекер id ="defaultImageTracker">  <ури xlink: href ="http://opengeospatial.org/arml/tracker/genericImageTracker" /> </Tracker>     <Trackable>  <config>   <трекер xlink: href ="#defaultImageTracker" />   <src>http://www.example.com/myMarker.jpg</src>  </config>  <size>0.20</size> </Trackable>

Относительно

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

ScreenAnchor

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

VisualAsset

VisualAssets описывают внешний вид виртуальных объектов в расширенной сцене. ARML позволяет описывать различные виды VisualAsset, включая простой текст, изображения, HTML-контент и 3D-модели. VisualAssets могут быть ориентированы (либо всегда автоматически смотреть на пользователя, либо сохранять определенную статическую ориентацию) и масштабироваться. Кроме того, могут применяться условия видимости (т. Е. Актив виден на экране только в том случае, если расстояние до пользователя находится в определенных границах).

История

В конце 2009 г. Wikitude (ранее Mobilizy), создатели Wikitude World Browser, начали раннюю инициативу по созданию формата, которого могли придерживаться все браузеры AR в то время, под названием Язык разметки дополненной реальности (ARML).[3] Этот формат теперь называется ARML 1.0 и служит входным форматом для Wikitude World Browser.

В конце 2011 года Мартин Лехнер, технический директор Wikitude и главный движитель инициативы ARML, учредил Рабочую группу по стандартам языка разметки дополненной реальности 2.0 (ARML 2.0 SWG) в рамках OGC.[4] Его целью было создание международно признанного стандарта дополненной реальности, основанного на идеях ARML 1.0 и подобных форматов. В течение ISMAR в Атланта в ноябре 2012 года была официально опубликована первая спецификация ARML 2.0,[5] сделать ARML 2.0 официальным стандартом OGC Candidate Standard.

Связанные стандарты

ARML 2.0 повторно использует идеи, структуру, синтаксис и семантику следующих существующих и широко используемых стандартов:[6]

Кроме того, следующие инициативы, не зависящие от ARML, также связаны с созданием стандартов для сред дополненной реальности:

Примеры

В следующем примере описывается 3D-модель (предполагается, что она доступна на http://www.example.com/myModel.dae ) на Trackable, как реперный маркер, расположенный в http://www.example.com/myMarker.jpg:

<arml> <ARElements>  <!-- register the Tracker to track a generic image -->  <Трекер id ="defaultImageTracker">   <ури xlink: href ="http://opengeospatial.org/arml/tracker/genericImageTracker" />  </Tracker>  <!-- define the artificial marker the Model will be placed on top of -->  <Trackable>   <assets>    <!-- define the 3D Model that should be visible on top of the marker -->    <Model>      xlink: href ="http://www.example.com/myModel.dae" />    </Model>   </assets>   <config>    <трекер xlink: href ="#defaultImageTracker" />    <src>http://www.example.com/myMarker.jpg</src>   </config>   <size>0.20</size>  </Trackable> </ARElements></arml>

Рекомендации

  1. ^ «OGC® Augmented Reality Markup Language 2.0 (ARML 2.0) - OGC». Opengeospatial.org.
  2. ^ «ARML 2.0 SWG - OGC». Opengeospatial.org.
  3. ^ «ARML - стандарт дополненной реальности» (PDF). Perey.com. Получено 27 декабря 2018.
  4. ^ «OGC ищет комментарии к кандидату в стандарт языка разметки дополненной реальности (ARML 2.0) - OGC». Opengeospatial.org.
  5. ^ «OGC формирует международную рабочую группу по стандартам дополненной реальности - OGC». Opengeospatial.org.
  6. ^ Мартин Лехнер, Язык разметки дополненной реальности 2.0, Диссертация
  7. ^ «Формат приложения дополненной реальности - MPEG». Mpeg.chiariglione.org.
  8. ^ «Дом - ХАРМА». Kharma.gatech.edu.
  9. ^ «Архивная копия». Архивировано из оригинал на 2014-01-06. Получено 2013-07-22.CS1 maint: заархивированная копия как заголовок (связь)