lunes, 23 de enero de 2012

REALIDAD AUMENTADA

* ¿Qué es la Realidad Aumentada (RA)?
y sus diferencias con la realidad virtual.

La realidad aumentada es un sistema de interacción que toma como entrada la información que proviene del mundo real y genera información de salida (tal como objetos, imágenes, texto, etc.) que se superpone en tiempo real sobre la percepción que el usuario tiene del mundo real, consiguiendo así un aumento en el conocimiento que el usuario tiene sobre los objetos de su entorno.

Supone una inmersión, por parte del usuario, en un mundo que resulta de la “unión” entre el mundo real y el mundo virtual, ya que el usuario de este tipo de aplicaciónes, podrá ver (a través de una cámara, o de dispositivos
especiales de visión) objetos generados por ordenador que se integran en el mundo real.

Hay dos definiciones comúnmente aceptadas de la Realidad Aumentada en la actualidad.

Uno de ellas fue dada por Ronald Azuma en 1997. La definición de Azuma dice que la realidad aumentada:

Combina elementos reales y virtuales.
Está registrada en 3D.

Además definen la realidad de Milgram-Virtuality Continuum en 1994. Que describen como un continuo que abarca desde el entorno real a un entorno virtual puro. Entre medio hay Realidad Aumentada (más cerca del entorno real) y Virtualidad Aumentada (está más cerca del entorno virtual).

Realidad Aumentada vs Realidad Virtual

La realidad virtual pretende la inmersión del usuario en un mundo totalmente virtual, donde todo aquello que percibe ha sido generado por ordenador. El usuario se encuentra en un mundo distinto, aislado del mundo real, rodeado de objetos virtuales que no existen en la realidad, pero puede interactuar con ellos como si de verdad existieran.

En cambio, la realidad aumentada no pretende aislar al usuario del mundo real, sino complementar éste mediante objetos virtuales e imágenes generadas por ordenador. El usuario se encuentra inmerso en un mundo que tiene a la vez elementos virtuales y elementos reales con los que puede interactuar.



* ¿Como funciona la realidad aumentada?

Hardware

Los dispositivos de Realidad aumentada normalmente constan de un "headset" y un sistema de display para mostrar al usuario la información virtual que se añade a la real. El "headset" lleva incorporado sistemas de GPS, necesarios para poder localizar con precisión la situación del usuario.

Los dos principales sistemas de "displays" empleados son la pantalla óptica transparente (Optical See-through Display) y la pantalla de mezcla de imágenes (Video-mixed Display). Tanto uno como el otro usan imágenes virtuales que se muestran al usuario mezcladas con la realidad o bien proyectadas directamente en la pantalla.

Los Sistemas de realidad aumentada modernos utilizan una o más de las siguientes tecnologías: cámaras digitales, sensores ópticos, acelerómetros, GPS, giroscopios, brújulas de estado sólido, RFID, etc. El Hardware de procesamiento de sonido podría ser incluido en los sistemas de realidad aumentada. Los Sistemas de cámaras basadas en Realidad Aumentada requieren de una unidad CPU potente y gran cantidad de memoria RAM para procesar imágenes de dichas cámaras. La combinación de todos estos elementos se da a menudo en los smartphones modernos, que los convierten en un posible plataforma de realidad aumentada.

Software

Para fusiones coherentes de imágenes del mundo real, obtenidas con cámara, e imágenes virtuales en 3D, las imágenes virtuales deben atribuirse a lugares del mundo real. Ese mundo real debe ser situado, a partir de imágenes de la cámara, en un sistema de coordenadas. Dicho proceso se denomina registro de imágenes. Este proceso usa diferentes métodos de visión por ordenador, en su mayoría relacionados con el seguimiento de vídeo. Muchos métodos de visión por ordenador de realidad aumentada se heredan de forma similar de los métodos de odometría visual.

Por lo general los métodos constan de dos partes. En la primera etapa se puede utilizar la detección de esquinas, la detección de Blob, la detección de bordes, de umbral y los métodos de procesado de imágenes. En la segunda etapa el sistema de coordenadas del mundo real es restaurado a partir de los datos obtenidos en la primera etapa. Algunos métodos asumen los objetos conocidos con la geometría 3D (o marcadores fiduciarios) presentes en la escena y hacen uso de esos datos. En algunos de esos casos, toda la estructura de la escena 3D debe ser calculada de antemano. Si no hay ningún supuesto acerca de la geometría 3D se estructura a partir de los métodos de movimiento. Los métodos utilizados en la segunda etapa incluyen geometría proyectiva (epipolar), paquete de ajuste, la representación de la rotación con el mapa exponencial, filtro de Kalman y filtros de partículas.



* ARTool Kit

¿Qué es?

ARToolKit es un software libre para Realidad Aumentada y es un conjunto de librerías para C/C++ que sirven para la creación de aplicaciones de realidad aumentada. Para ello proporciona una serie de funciones para la captura de vídeo y para la búsqueda de ciertos patrones, en las imágenes capturadas, mediante técnicas de visión por computador. También proporciona una serie de ejemplos y utilidades de gran ayuda al programador que quiera realizar este tipo de aplicaciones.




¿Cómo funciona?

Algo muy importante en las aplicaciones de realidad aumentada, es la necesidad de calcular el punto de vista de la cámara, para así poder realizar las operaciones necesarias sobre los objetos virtuales, para que estos se integren correctamente en el mundo real. Es decir, si queremos mostrar objetos virtuales, de modo que el usuario realmente se crea que existen en el mundo real, tendremos que realizar transformaciones sobre esos objetos de modo que el usuario los vea (a través de la cámara o dispositivo de captura utilizado) en la posición, tamaño, orientación e iluminación, en que esos objetos serían percibidos por el usuario en el mundo real en caso de que
realmente estuvieran allí. Para ello se utilizan unas plantillas de forma cuadrada, que se componen de un cuadrado negro con un cuadrado blanco cuatro veces más pequeño en su centro, y un dibujo sencillo en el interior del
cuadrado blanco. La aplicación, utilizando las funciones y utilidades proporcionadas por ARToolKit, será capaz de detectar una de estas plantillas en las imágenes de vídeo capturadas.

Una vez detectada una plantilla en una imagen, estudiando la orientación, posición y tamaño de la plantilla, la aplicación es capaz de calcular la posición y orientación relativa de la cámara respecto a la plantilla, y usando esta información podrá pasar a dibujar el objeto correspondiente sobre la imagen capturada mediante librerías externas a ARToolKit (por ejemplo GLUT y OpenGL), de modo que el objeto aparezca sobre la plantilla en la posición, orientación y tamaño correspondiente al punto de vista de la cámara, siempre que el programador de la aplicación así lo haya decidido, pues las posibilidades son muchas y pudiera ser que una vez obtenida esta información el programador decidiese utilizarla de otra forma, hacer otras operaciones distintas, etc.