Antonio Arista Jalife.
Victor Armando Ramos Viterbo
Arista.antonio@gmail.com
Introducción.
La realidad aumentada es una superposición de objetos virtuales en un entorno real, dichos objetos son colocados dentro de la imagen capturada en tiempo real con lo que se
logra la combinación de elementos virtuales y reales.
Hoy en día, las aplicaciones de realidad aumentada tienen un prometedor panorama: Pueden ser utilizadas desde áreas como la educación, el turismo, el comercio, etc. Una
prueba de ello es la compañía Google, que en el año 2012 lanzó el diseño de unos lentes que permiten la realidad aumentada comercializada, el proyecto actualmente es
conocido como Google Glass.
Para aprovechar las características de ésta tecnología, se requieren algoritmos y motores de realidad aumentada que aprovechen el hardware de forma creativa. Actualmente una
plataforma donde pueden desarrollarse aplicaciones interesantes son en teléfonos móviles, por su distribución en masa y sus capacidades de captura de video y procesamiento,
mismas que se incrementan junto con la ley de Moore.
Este trabajo presenta un motor de realidad aumentada compuesto por algoritmos de visión computacional sencillos que pueden ser implementados en cualquier dispositivo. Por
su sencillez, puede ser migrado a otras plataformas como son Android, Blackberry o iOS.
Metodología propuesta.
A. Extracción de la imagen de la cámara con OpenCV: En un
ambiente con la librería de visión computacional OpenCV
preconfigurada, se configuró una webcam para captar
imágenes de 640 x 480 pixeles, y se obtienen 24 cuadros por
segundo (24 FPS).
B. Transformación a escala de grises: Cada pixel en canal
RGB se transforma con la siguiente expresión.
C. Binarización por umbralado: Cada pixel recibe un valor
negro (0) o blanco(255) dependiendo de un umbral:
D. Erosión: Si se sobrepone una máscara M sobre una imagen
K, y la máscara M coincide con el subconjunto de pixeles en
K, el pixel en el origen de la mascara valdrá 255. Sino valdrá
0. Matemáticamente hablando:
E. Negativo de la imagen: Volvemos la imagen negativa con la
expresión:
F. Componentes conexas: Utilizamos el algoritmo para
etiquetar regiones que se encuentran unidas entre si. El
proceso es parecido a un “bucket fill” de Paint por cada
región de la imagen. Cada región usa una etiqueta.
G. Forma de la componente conexa: Determinamos si la
componente conexa tiene una forma cuadrada o cercana a
ser cuadrada. Si la condición de cuadratura se cumple, se
coloca el punto de contacto en el centro de la componente.
Resultados obtenidos:
Caso estable, poca inclinación, iluminación considerable:
Cambio de iluminación rotación moderada, cambio de fondo:
Rotación completa, cambio de escala, fondo disruptivo:
Cambio de escala, rotación, fondo disruptivo y ruido por falta de enfoque
de imagen en movimiento:
Conclusiones:
Este trabajo ha demostrado la manera de crear un motor de realidad
aumentada con procesos sencillos y transformaciones bien conocidas a las
imágenes obtenidas desde una cámara web. El capturador de imágenes
fue OpenCV, sin embargo otras plataformas (con el API adecuado) pueden
implementar este algoritmo para la extracción y reconocimiento del patrón
de punto de contacto. Esta característica abre nuevas posibilidades de
implementación como pueden ser su uso en plataformas móviles tales
como Android e iOS. El motor presentado ha sido resistente a cambios de
iluminación, traslación, rotación, movimiento y una ligera inclinación.
Referencias:
[1] Caudell, T.P., “Augmented reality: an application of heads-up display technology to manual manufacturing processes,” Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences, vol. 2, pp. 659–669, 1992.
[2] Azuma, R., Baillot, Y., Behringer, R., and Feiner, S., “Recent advances in augmented reality,” Computer Graphics and Applications, vol. 21,pp. 34–47, 2001.
[3] Gonzalo Pajares and Jesus M. de la Cruz, “Visión por computador:Imágenes digitales y aplicaciones.” Alfaomega RaMa, vol. 1, 2002.
[4] Lifeng Hea, Yuyan Chaob, Kenji Suzukic, and Kesheng Wud, “Fast connected-component labeling,” Pattern Recognition, vol. 42, pp. 1977–1987, 2009.
miércoles, 8 de julio de 2015
Suscribirse a:
Enviar comentarios
(
Atom
)
0 comentarios :
Publicar un comentario