lunes, 21 de julio de 2014


Técnicas actuales en sistemas de realidad aumentada


Una arquitectura básica de sistema de Realidad Aumentada involucra los cuatro elementos descritos en el marco teórico de la realidad aumentada. Siempre necesitaremos un hardware que capture imágenes del mundo real y las transmita a un software de detección de imagen, para que procese las acciones asociadas a una imagen concreta y con ello realice un procesamiento y mezcla de la realidad con las imágenes, vídeos, modelos 3D u otros objetos propios de la arquitectura, sobre la que se asienta la aplicación de reconocimiento (android, ios,...), con las imágenes capturadas del mundo real. Esta mezcla del mundo real y virtual debe ser proyectado sobre una pantalla para que el usuario pueda percibir los nuevos objetos y contenidos sobre el mundo real.


Figura: Arquitectura básica de un sistema de Realidad Aumentada

Actualmente podemos distinguir básicamente dos tipos de Realidad Aumentada, la que emplea reconocimiento de marcadores o imágenes y la Realidad Aumentada basada en la posición del usuario de la aplicación.

Realidad Aumentada basada en reconocimiento de marcadores o imágenes: Este tipo de Realidad Aumentada emplea marcadores o imágenes, en los que se superpone algún tipo de información (imágenes,objetos 3D, vídeo,…) cuando estos objetos son reconocidos por un software determinado. El software en ejecución debe ser capaz de realizar un seguimiento del marcador de tal manera que si el usuario lo mueve, el objeto 3D superpuesto también siga ese movimiento, si se gira el marcador se puede observar el objeto 3D desde diferentes ángulos y si se acerca o se aleja, el tamaño del objeto aumenta o se reduce respectivamente. También se puede mostrar información adicional de una forma atractiva para el usuario una vez ha sido detectada una imagen o un menú que permita una nueva iteración con el usuario en función del objeto reconocido. En la siguiente imagen podemos ver un ejemplo donde la aplicación detecta ciertas imágenes sobre un periódico y superpone otra de imagen aportando información extra.



Figura: Ejemplo de aplicación de realidad aumentada basada en el reconocimiento de imágenes

Entre las diferentes librerías que permiten la programación de este tipo de aplicaciones cabe destacar ARToolKit, es una librería que permite la creación de aplicaciones de realidad aumentada, en las que se sobrepone imágenes virtuales al mundo real. Para ello, utiliza las capacidades de seguimiento de vídeo, con el fin de calcular, en tiempo real, la posición de la cámara y la orientación relativa a la posición de los marcadores físicos. Una vez que la posición de la cámara real es conocida, la cámara virtual puede colocar el nuevo contenido en el mismo punto, superponiendo los modelos 3D exactamente sobre el marcador real. Así ARToolKit resuelve dos de los principales problemas en la realidad aumentada, el seguimiento del punto de vista y la interacción con el nuevo objeto virtual. Es una librería multiplataforma escrita en C y C++ con licencia GNU General Public Licence. Fue creada inicialmente por Hirokazu Kato en 1999.
Durante la última década ha comenzado un fuerte desarrollo de librerías que permiten abstraer lo máximo posible al programador de aplicaciones móviles del motor de reconocimiento de imágenes y marcadores. Entre ellas destaca del SDK de Vuforia, desarrollado por Qualcomm debido a que sienta las bases de muchos otros SDKs como son Wikitude, Layar, etc. El SDK de vuforia permite desarrollos en múltiples plataformas móviles como Android o iOS, lo cual posibilita al desarrollador llegar a un amplio conjunto de usuarios. Por este motivo y por su versatilidad, adaptabilidad y amplia documentación parece la elección más adecuada a tener en cuenta.
El siguiente diagrama proporciona una visión general del proceso de desarrollo de aplicaciones con el SDK de Vuforia. La plataforma consiste en el motor de reconocimiento de Vuforia (Vuforia Engine), el sistema de gestión de marcadores e imágenes (Target Management System) y opcionalmente es posible el uso de una base de datos en la nube bajo ciertas restricciones y pagos de cuotas.

Figura: Arquitectura de Vuforia

En el siguiente diagrama podemos observar de forma más detallada cómo interactúan los diferentes elementos del SDK. La cámara del dispositivo móvil realizará la captura y el envío de imágenes de forma eficiente al Módulo Conversor que transforma el formato de imagen obtenido con la cámara a una representación adecuada soportada por OpenGL ES, a su vez la imagen es comprimida a una menor resolución para su posterior manejo. Una vez la imagen es procesada y transformada por el Módulo Conversor, ésta es transmitida al Módulo Tracker que contiene los diferentes algoritmos de reconocimiento de imagen que se encargan de rastrear y detectar los objetos del mundo real que hemos indicado anteriormente de nuestro interés. Este módulo devuelve la información de qué marcador o imagen estamos visualizando y  transmite esta información al módulo que decide qué contenido adicional se mostrará sobre ese marcador o imagen, siendo renderizado sobre la cámara para que el usuario final pueda disfrutar del mundo virtual sobre el mundo real.

Figura: Diagrama de flujo de una aplicación con el SDK de Vuforia


Una característica muy destacable de las últimas versiones del SDK de Vuforia es la capacidad de reconocimiento de texto que abre una nueva investigación para el desarrollo de aplicaciones que permiten leer el mundo real y tomar decisiones entorno a estas lecturas.

Otro tipo de técnica utilizada en este tipo de aplicaciones es la Realidad Aumentada basada en la posición del usuario o aplicaciones de geolocalización: En los últimos años se han desarrollado aplicaciones para dispositivos móviles llamadas navegadores de Realidad Aumentada. Estas aplicaciones utilizan el hardware de los dispositivos móviles (gps, brújula o acelerómetro) para localizar y superponer una capa de información sobre los llamados puntos de interés o POIs de nuestro entorno. Cuando el usuario mueve el dispositivo móvil captando la imagen de su entorno, el navegador, a partir de un mapa de datos, muestra los POIs cercanos.

Gracias al uso del GPS, la brújula y los acelerómetros de los dispositivos, se muestra la información disponible que rodea al usuario. En función de la aplicación que se use, se puede acceder a distintas capas, con localización de hoteles, restaurantes, museos, gasolineras, parkings y un sinfín de posibilidades. Se muestran los puntos más cercanos al usuario y éstos pueden contener información adicional, desplegar menús, mostrar imágenes, etc. En la siguiente figura vemos un ejemplo de una aplicación que utiliza esta técnica de realidad aumentada.

Figura: Ejemplo de aplicación de realidad aumentada de geolocalización.


Actualmente existen diferentes navegadores de Realidad Aumentada como son Layar [1], Junaio [2] o Wikitude [3], empresas que ofrecen SDKs basados en Vuforia para el desarrollo de aplicaciones de reconocimiento de imágenes o patrones para la realidad aumentada bajo altísimas cuotas de desarrollo. Por ello para este trabajo en la propuesta de arquitectura tendremos en cuenta el motor de reconocimiento de Vuforia entrelazado con este tipo de técnicas de realidad aumentada para obtener una mayor versatilidad.

[1] Layar. https://www.layar.com/

[2] Junaio. http://www.junaio.com/

[3] Wikitude. http://www.wikitude.com/

No hay comentarios:

Publicar un comentario