Existen básicamente 3 entornos de realidad Aumentada: HDM (Head Mounted Display) que se trata de un dispositivo hardware especial diseñado que en esencia lleva información digital directamente a la visión del usuario; un proyecto q está bastante avanzado en esta tecnología serian las gafas AR de google.(AQUI) que sería un gadget mas para el mercado q todavía se encuentra en etapas de prueba.
Las Aplicaciones para web y de escritorio que son las q mas se han desarrollado y a las que se abre una posibilidad muy grande en el mercado ya que son accesibles de cierta manera por la cantidad y variedad de hardware de escritorio que existe; no solo en PC´s sino también expandiéndose a televisores, reproductores de video como el DVD, Blu-Ray, consolas de video juegos, etc. Los cuales ya están incorporando esta tecnología.
Algunos ejemplos de AR en la web serian:
http://www.iamironman2.com/uk/
http://www.t-immersion.com/
http://disneylatino.com/tron/realidadaumentada/index_es.html
y un extenso etc…
En entornos Móviles la tecnología avanza muy rápidamente por lo que ya se han desarrollado proyectos bastante interesantes sobre realidad aumentada; las aplicaciones móviles tienen ventaja significativa al integrar comunicación personal con una visión bastante amplia del uso de esta tecnología.
Aplicaciones para móviles como Layar, Junaio, AndAR, etc.… son solo algunas q se puede citar que están desarrollando y ampliando el uso de la tecnología de realidad aumentada.
Existen además otros proyectos que utilizan la realidad aumentada no solo como navegador móvil, sino como aplicaciones es el caso de google goggles que usa una foto para rastrear en la web, buscando patrones de marca en logos, textos, libros, pinturas, etc. O el caso de SoundHound que busca patrones de sonido y utiliza el dispositivo como un oído ampliado que puede reconocer esos patrones; por ejemplo puede reconocer canciones y buscarlas en línea por lo que la RA no solo se basaría en reconocimiento de patrones en marcadores sino que se amplía a mucho mas.
Herramientas para desarrollo de RA
Existen muchos paquetes que se pueden descargar para desarrollar realidad aumentada básicamente todos vienen de una variante del:
ARToolKit que está escrito en C por el Profesor Hirokazu Kato, que luego fueron adaptadas a la librería NyARToolKit escrita en java por Ryo Lizuka, después se desarrollo la librería FLARToolKit escrita en AS3 por Saqoosha; la cual voy a usar; claro q como esta tecnología está en constante evolución se están desarrollando muchas herramientas de RA como es el caso de JSARToolKit que usa el API getUserMedia de WEBRTC y WEBGL que ofrece mejoras en rendimiento de visualización independientes de un plugin y por supuesto, q esta librería escrita en JS (java script) es un puerto directo a FLARToolKit para flash y sigue la misma estructura de librerías que la original escrita en C.
FLARToolKit
Voy a tratar de explicar de manera fácil como trabaja esta librería AR:
- El proceso comienza con la captación de imágenes, utilizando como dispositivo de entrada la Cámara Web.
- FLARToolKit se encarga del proceso de tratamiento de imágenes por medio de un algoritmo de tratamiento de imágenes fotograma a fotograma; (el concepto de fotograma seria la secuencia de imágenes q se capta cuadro a cuadro en una filmación), este procesamiento de imagen transforma la imagen a una escala de grises.
- Para limpiar la imagen y ser interpretada se procesa la imagen en blanco y negro para luego invertirla.
- En esta parte ya se puede diferenciar por medio del algoritmo antes mencionado un marcador que es lo que reconoce e interpreta como etiqueta encontrando un patrón de objeto.
- Se comprueba q la imagen es o no uno de los marcadores
- Se interpreta ese patrón por medio de una matriz.
- Luego de interpretarla y encontrar el patrón, calcula la posición de rotación y devuelve una matriz transformada en la cual se renderiza un objeto 3D en la posición q se le indica. Esta sería una pequeña explicación de lo que es el uso de marcadores y realidad aumentada para el proyecto q estoy desarrollando.