Mostrando entradas con la etiqueta pantalla. Mostrar todas las entradas
Mostrando entradas con la etiqueta pantalla. Mostrar todas las entradas

lunes, 12 de mayo de 2014

Visualización 3D para Realidad Aumentada

En esta entrada, trataré de explicar conceptos básicos sobre visualización 3D que son necesarios para trabajar en el ámbito de la Realidad Aumentada. Hablaré de sistemas de coordenadas, parámetros de visualización y transformaciones


Inicialmente, necesitamos definir un sistema de coordenadas de visualización para los parámetros de visualización de la cámara (en negro en el detalle, es la matriz P; que si además tenemos en cuenta la distorsión también se incluye el rojo) que nos permita definir el plano de proyección o visualización (en verde en el detalle; es lo que ve la cámara), donde podamos proyectar cada objeto 3D traído desde sus coordenadas locales (en el detalle en azul) hasta las coordenadas de visualización.

relacion entre sist coord
Relación entre los diferentes sistemas de coordenadas definidos

Se suceden diferentes transformaciones de coordenadas para llevar cada objeto 3D desde la escena (coordenadas locales) hasta el sistema de coordenadas de visualización (coordenadas de la cámara) y de ahí proyectarlos en el plano de visualización (coordenadas de pantalla). Esta última transformación dependerá del modelo de proyección elegida que en computer vision pueden ser diversos; aunque los más utilizados son el de proyección paralela y el de proyección en perspectiva. Dedicaré otra entrada a explicarlos.

transformaciones RA
Transformaciones RA
El proceso de visualización 3D, en concreto, comienza por posicionar y orientar los objetos de la escena respecto del SRU, obteniendo las coordenadas universales del objeto (transformación de modelado). A continuación se hace lo mismo con la cámara, obteniendo las coordenadas de visualización (transformación de visualización) y el volumen de visualización.
En este momento cámara y objetos están posicionados a partir del origen del RSU y mirando en dirección negativa del eje Z. ARToolKit hace estos dos procesos en uno solo, al cargar la matriz T en el modelview de OpenGL.

A continuación, mediante la transformación de proyección (en perspectiva en nuestro caso) se transforma el volumen de visualización en un cubo unitario obteniendo las coordenadas normalizadas. Hemos pasado los objetos de 3D a 2D y las coordenadas Z de los puntos son almacenadas en un Buffer de profundidad (Z-Buffer). Los objetos que quedan fuera del volumen son eliminados o recortados para obtener las coordenadas recortadas (transformación de recorte).

Finalmente, se ajustan las coordenadas x e y del cubo a las coordenadas de la pantalla, pudiendo adaptarse a diferentes tamaños y resoluciones (transformación de pantalla). En una etapa final de rasterización, se toman las coordenadas de la pantalla y el Z-Buffer y se definen los colores de los pixels.

transformación de visualización
Transformación de visualización. Las zonas con sombra corresponden al volumen de visualización



lunes, 31 de marzo de 2014

AR Elementos

La Realidad Aumentada (RA) depende de los elementos que la hagan operativa. Estos, como mínimo, han de ser cuatro: un elemento que  captura las imágenes de la realidad, otro sobre el que proyectar la mezcla de las imágenes reales con las imágenes sintetizadas, un tercero de procesamiento y, por último, un elemento “activador de realidad aumentada”.


elementosRA

Elemento que  captura las imágenes de la realidad: basta para ello una sencilla cámara de las que están presentes en los ordenadores o teléfonos móviles. Este dispositivo se encarga de tomar la información del mundo real y transmitirla al software de realidad aumentada.

Elemento sobre el que proyectar la mezcla de las imágenes reales con las imágenes sintetizadas: para ello, se puede utilizar la pantalla de un ordenador, de un smartphone o de una consola de videojuegos.

Elemento de procesamiento: su cometido es el de interpretar la información del mundo real que recibe el usuario, generar la información virtual que cada servicio concreto necesite y mezclarla de forma adecuada. Nuevamente encontramos en los PCs, móviles inteligentes o consolas estos elementos.

Elemento activador de realidad aumentada: se trata de elementos de localización como los GPS, las brújulas o los acelerómetros, que permiten identificar la posición y orientación de dichos dispositivos, así como las etiquetas o marcadores del tipo RFID o códigos bidimensionales, o en general cualquier otro elemento que sea capaz de suministrar una información equivalente a la que proporcionaría lo que ve el usuario, como por ejemplo sensores.

La siguiente imagen muestra una comparativa entre los elementos RA de uso en smartphones o en ordenadores personales:

elementosRA
Elementos en RA