El lenguaje de marcado de realidad aumentada ( ARML ) [ 1 ] es un estándar de datos para describir e interactuar con escenas de realidad aumentada (RA). Ha sido desarrollado dentro del Open Geospatial Consortium (OGC) por un grupo de trabajo dedicado a los estándares ARML 2.0. [ 2 ] ARML consta de una gramática XML para describir la ubicación y apariencia de los objetos virtuales en la escena, así como enlaces ECMAScript para permitir el acceso dinámico a las propiedades de los objetos virtuales, además del manejo de eventos, y actualmente se publica en la versión 2.0. ARML se centra en la realidad aumentada visual (es decir, la cámara de un dispositivo con capacidad de RA sirve como salida principal para escenarios de realidad aumentada).
Modelo de datos
ARML se basa en un modelo de objetos genérico que permite la serialización en varios lenguajes. Actualmente, ARML define una serialización XML, así como una serialización JSON para las interfaces ECMAScript. El modelo de objetos ARML consta de tres conceptos principales:
- Las características representan el objeto físico que debe ser aumentado.
- Los VisualAssets describen la apariencia del objeto virtual en la escena aumentada.
- Los anclajes describen la relación espacial entre el objeto físico y el objeto virtual.
Característica
La definición de una característica se reutiliza del lenguaje de marcado geográfico (GML) y describe el objeto físico que debe ampliarse. El objeto físico se describe mediante un conjunto de metadatos, que incluye un identificador, un nombre y una descripción. Una característica tiene uno o más anclajes.
Ancla
Un ancla describe la ubicación del objeto físico en el mundo real. En ARML se definen cuatro tipos diferentes de anclas:
- Geometrías
- Rastreadores
- Relativo a
- ScreenAnchor
Geometrías
Las geometrías describen la ubicación de un objeto mediante un conjunto de coordenadas fijas. Se utiliza WGS84 (latitud, longitud, altitud) como sistema de referencia de coordenadas predeterminado; se pueden proporcionar otros sistemas de referencia de coordenadas arbitrarios si es necesario. ARML permite geometrías de 0 (punto), 1 (línea) y 2 dimensiones (polígono). Los anclajes de geometría reutilizan la sintaxis definida en GML3. Como ejemplo, el siguiente fragmento define la ubicación de la Wiener Riesenrad .
<gml:Point gml:id= "ferrisWheelViennaPoint" > <gml:pos> 48.216622 16.395901 </gml:pos> </gml:Point>Rastreadores
Los elementos rastreables son patrones que se buscan, reconocen y rastrean en la pantalla de video proveniente de la cámara del dispositivo. Existe una amplia variedad de tecnologías de rastreo, incluyendo códigos QR , características naturales , 3D y rastreo facial. Dado que todos estos tipos de rastreo utilizan diferentes algoritmos y tecnologías, la definición de un elemento rastreable se abstrae y se divide en dos partes: un rastreador y sus elementos rastreables asociados . Un rastreador describe la tecnología (o algoritmo) con la que se deben rastrear sus elementos rastreables asociados, utilizando URI que identifican el algoritmo. El elemento rastreable en sí describe el patrón que el algoritmo debe buscar en el flujo de video.
Ejemplo: Un rastreador de características naturales y un rastreable asociado.
<Tracker id= "defaultImageTracker" > <uri xlink:href= "http://opengeospatial.org/arml/tracker/genericImageTracker" /> </Tracker> <Trackable> <config> <tracker xlink:href= "#defaultImageTracker" /> <src> http://www.example.com/myMarker.jpg </src> </config> <size> 0.20 </size> </Trackable>Relativo a
Los anclajes RelativeTo permiten definir una ubicación en relación con otros anclajes o con la posición del usuario. El primer caso permite configurar una escena y ubicar todos los objetos virtuales incluidos en función de un único anclaje, como un objeto rastreable colocado sobre una mesa. El segundo caso permite situaciones en las que la ubicación real del usuario es irrelevante. Los objetos virtuales simplemente se colocan alrededor del usuario, independientemente de su ubicación física.
ScreenAnchor
A diferencia de los tres tipos de anclajes anteriores, los ScreenAnchors no describen una ubicación en la escena virtual tridimensional. En cambio, definen un área en la pantalla del dispositivo, lo que permite mostrar barras de estado y elementos similares.
VisualAsset
Los VisualAssets describen la apariencia de los objetos virtuales en la escena aumentada. ARML permite describir diversos tipos de VisualAssets, incluyendo texto plano, imágenes, contenido HTML y modelos 3D. Los VisualAssets pueden orientarse (ya sea para que siempre miren automáticamente hacia el usuario o para mantener una orientación estática específica) y escalarse. Además, se pueden aplicar condiciones de visibilidad (es decir, el Asset solo es visible en la pantalla si la distancia al usuario se encuentra dentro de ciertos límites).
Historia
A finales de 2009, Wikitude (antes Mobilizy), creadores del navegador Wikitude World Browser, iniciaron una iniciativa para crear un formato al que pudieran adherirse todos los navegadores de realidad aumentada de la época, denominado Lenguaje de Marcado de Realidad Aumentada (ARML). [ 3 ] Este formato se conoce ahora como ARML 1.0 y sirve como formato de entrada para el navegador Wikitude World Browser.
A finales de 2011, Martin Lechner, CTO de Wikitude y principal impulsor de la iniciativa ARML, creó el Grupo de Trabajo de Estándares del Lenguaje de Marcado de Realidad Aumentada 2.0 (ARML 2.0 SWG) dentro de la OGC. [ 4 ] Su objetivo era crear un estándar internacionalmente aceptado para la Realidad Aumentada, basado en las ideas de ARML 1.0 y formatos similares. Durante ISMAR en Atlanta en noviembre de 2012, se publicó oficialmente la primera especificación de ARML 2.0, [ 5 ] convirtiendo a ARML 2.0 en un Estándar Candidato oficial de la OGC.
Normas relacionadas
ARML 2.0 reutiliza ideas, estructura, sintaxis y semántica de los siguientes estándares existentes y ampliamente utilizados: [ 6 ]
- Lenguaje de marcado de hipertexto , ECMAScript ( JavaScript ) y hojas de estilo en cascada
- Lenguaje de marcado geográfico
- Lenguaje de marcado de ojo de cerradura
- COLLADA
- XPath 2.0
Además, las siguientes iniciativas, independientes de ARML, también se ocupan de la creación de estándares para entornos de realidad aumentada:
- Formato de aplicación de realidad aumentada (ARAF) [ 7 ] desarrollado dentro de ISO / MPEG
- KARML [ 8 ] desarrollado por el Instituto Tecnológico de Georgia
- MobAR [ 9 ] se desarrolló dentro de la Open Mobile Alliance (OMA)
Ejemplos
El siguiente ejemplo describe un modelo 3D (suponiendo que haya uno disponible en http://www.example.com/myModel.dae ) en un elemento rastreable, como un marcador fiducial, ubicado en http://www.example.com/myMarker.jpg :
<arml> <ARElements><!-- Registrar el rastreador para rastrear una imagen genérica --> <Tracker id= "defaultImageTracker" > <uri xlink:href= "http://opengeospatial.org/arml/tracker/genericImageTracker" /> </Tracker><!-- define el marcador artificial sobre el que se colocará el modelo --> <Trackable> <assets> <!-- define el modelo 3D que debe ser visible sobre el marcador --> <Model> <href xlink:href= "http://www.example.com/myModel.dae" /> </Model> </assets> <config> <tracker xlink:href= "#defaultImageTracker" /> <src> http://www.example.com/myMarker.jpg </src> </config> <size> 0.20 </size> </Trackable> </ARElements> </arml>Referencias
- ↑ "OGC® Lenguaje de marcado de realidad aumentada 2.0 (ARML 2.0) - OGC" . Opengeospatial.org .
- ↑ "ARML 2.0 SWG | OGC" . 24/08/2017. Archivado del original el 24/08/2017 . Consultado el 09/10/2022 .
- ↑ "ARML - Un estándar de realidad aumentada" (PDF) . Perey.com . Consultado el 27 de diciembre de 2018 .
- ↑ "El OGC solicita comentarios sobre el estándar candidato de lenguaje de marcado de realidad aumentada (ARML 2.0) - OGC" . Opengeospatial.org .
- ↑ "OGC crea el Grupo de Trabajo Internacional sobre Estándares de Realidad Aumentada - OGC" . Opengeospatial.org .
- ↑ Martin Lechner, El lenguaje de marcado de realidad aumentada 2.0, tesis doctoral
- ↑ "Formato de aplicación de realidad aumentada - MPEG" . Mpeg.chiariglione.org .
- ↑ «Inicio - KHARMA» . Kharma.gatech.edu .
- ↑ "Lanzamientos - Habilitador de Realidad Aumentada Móvil v1.0" . Archivado del original el 6 de enero de 2014. Consultado el 22 de julio de 2013 .
- Estándares
- Lenguajes de marcado
- Realidad aumentada