• No se han encontrado resultados

Manejo de oclusión en realidad aumentada basada en video usando información de profundidad

N/A
N/A
Protected

Academic year: 2020

Share "Manejo de oclusión en realidad aumentada basada en video usando información de profundidad"

Copied!
149
0
0

Texto completo

(1)

Manejo de oclusi´

on en

realidad aumentada basada en

video usando informaci´

on de

profundidad

Por

Jes´

us Adri´

an Leal Mel´

endrez

Tesis sometida como requisito parcial para obtener el grado de

Maestro en Ciencias en la Especialidad de

Ciencias Computacionales

en el

Instituto Nacional de Astrof´ısica, ´

Optica y

Electr´

onica

Octubre 2012 Tonantzintla, Puebla

Supervisada por:

Dr. Leopoldo Altamirano Robles

INAOE

c

INAOE 2012

Derechos reservados

El autor otorga al INAOE el permiso para reproducir y distribuir copias parciales o totales de esta tesis

(2)
(3)

A quienes me dieron

la vida y su confianza

(4)
(5)

Agradecimientos

Cuando llega el momento de agradecer a todos los que hicieron posible subir un escalon m´as en el camino, surge un dilema ¿a qui´en le agradeces primero? o ¿a qui´en le debes m´as?. Pregunta dif´ıcil de responder, pero para eso estudiamos tanto, para aprender a tomar decisiones; entonces, para qu´e preocuparse si existe la funci´onrandom().

Amigos de generaci´on, no escribo nombres pero s´e muy bien que son 16 sin incluirme, a todos les agradezco el apoyo brindado, el saludo entregado en los pasillos, elHola!!, elBuenos d´ıas!!, el¿C´omo te va?, los prestamos, las platicas, asesor´ıas, comidas y gratos momentos. Gracias por tolerarme.

Helen, gracias por creer en mi, por tus buenos deseos y bendiciones, tu apoyo incondicional y sobre todo por seguir creyendo en mi, como dices t´u Gracias Mil!!!.

A ustedes a quienes considero mis m´as cercanos amigos y con quienes no s´olo compart´ı comidas y risas sino tambi´en momentos tristes, Aar´on, Marisol y Pastor (en estricto orden alfab´etico) muchas gracias por brindarme su amistad. En los mejores recuerdos de la maestr´ıa ustedes est´an presentes y ojal´a que no queden etiquetados como de la maestr´ıa. Les reitero mi m´as sincera amistad.

Victor, Tere y Chary, gracias por su apoyo, confianza e inversi´on nunca los defraudar´e.

A mis padres por aguantarme tanto y no perderme la f´e, por los valores inculcados que sin duda me permitieron llegar hasta aqu´ı y por todo su amor incondicional el cual aprecio y valoro much´ısimo.

(6)

A dios por darme fuerzas en esos momentos donde nadie m´as puede ayudar. Dr. Leopoldo Altamirano, por su confianza, disposici´on, asesor´ıas y todo el apoyo brindado muchas gracias. Drs. Miguel Arias, Armando Cumplido y Enrique Sucar, gracias por su tiempo, disposici´on y sobre todo por su retroali-mentaci´on.

Agradezco a INAOE por abrirme las puertas y facilitar mi estad´ıa durante los estudios, a todos los investigadores de la Coordinaci´on de Ciencias Com-putacionales por la formaci´on acad´emica y a CONACyT por otorgarme una beca para ralizar mis estudios.

(7)

Resumen

La Realidad Aumentada (AR por Augmented Reality) consiste en agregar, en tiempo real, objetos virtuales (VOs porVirtual Objects) 3D a una escena real, con el objetivo de mejorar la percepci´on que el usuario tiene del mundo real. Esta investigaci´on se centra en un tipo especial de AR, conocido como AR basada en Video (VAR por Video-based Augmented Reality), que consiste en agregar VOs a una secuencia de video del mundo real y desplegar la imagen aumentada en un monitor. Las aplicaciones de la VAR se extienden a cam-pos tan diversos como son educaci´on, entretenimieto, medicina, arquitectura y desarrollo urbano, entre otros.

Para que una imagen aumentada d´e la ilusi´on de que objetos reales y vir-tuales interactuan en un espacio tridimensional, es necesario un manejo apro-piado de la oclusi´on de VOs. Esto se refiere a la capacidad de agregar un VO entre dos objetos reales, de tal forma que parte o la totalidad del VO sea oclu´ıda por alg´un objeto real. La forma tradicional de hacer VAR consiste en sobreponer modelos virtuales en una imagen del mundo real; esto ocasiona que los VOs siempre queden encima de la escena real, la cual es tratada como fondo, y en consecuencia se rompe la ilusi´on de que losVOs son parte de un am-biente 3D. Un manejo de oclusi´on nulo o inapropiado ocasiona una percepci´on espacial mala, que se traduce en errores de manipulaci´on de VOs; adem´as, puede ocasionar problemas relacionados con la fatiga ocular y el mareo por movimiento.

(8)

del problema de oclusi´on de VOs en VAR utilizando informaci´on de profun-didad (distancias) del mundo real. La estrategia propuesta tiene como ob-jetivo agregar modelos virtuales a la escena real considerando un espacio en tres dimensiones. Para lograr lo anterior, se utiliza un enfoque basado en el seguimiento de marcadores visuales para calcular la posici´on y orientaci´on con respecto a la c´amara. Una vez agregado el modelo virtual en una posici´on ade-cuada, el manejo de oclusi´on se basa en la evaluaci´on de profundidades entre los objetos reales y los modelos virtuales; con base en ello se calculan y eliminan las partes del modelo virtual que son ocluidas por alg´un objeto real (remoci´on de superficies ocultas). El m´etodo propuesto no requiere segmentaci´on de ob-jetos reales, por lo tanto no depende de la forma o color de los obob-jetos y, por consiguiente, puede trabajar con objetos deformables, en ambientes din´amicos y es apropiado para uso en tiempo real.

Los resultados experimentales muestran que la estrategia propuesta mejora sustancialmente el manejo de oclusi´on de VOs. Los experimentos fueron eva-luados cualitativamente por un grupo de usuarios que interactu´o con el sistema, recibiendo una aceptaci´on de 82% para la parte de credibilidad gr´afica.

Palabras clave: manejo de oclusi´on, realidad aumentada, remoci´on de superficies ocultas.

(9)

Abstract

Augmented Reality (AR) aims to add 3D virtual objects to a real scene in real time. Unlike Virtual Reality, where the goal is to replace the real world by a syntetic one, AR is concerned with the improvement of the user percep-tion of the real world. This work focusues on a special type of AR known as Video-based Augmented Reality (VAR), which consists in the addition of vir-tual content to a real-world video sequence and the displaying of the augmented image on a monitor. Application areas of VAR include education, entertain-ment, medicine, architecture and urban development among others. In those applications the aim is to improve the user perception of the real world and not to replace the real world by one completely synthetic (which is the case in Virtual Reality).

For an augmented image to give the illusion that real and virtual objects interact in a three-dimensional space, it is necessary a proper occlusion handling method of virtual objects, which refers to the ability to add virtual objects between two real objects, in such a way that part or all of the virtual object is occluded by a real one. The traditional VAR approach superimposes virtual models in a real-world image; as a consequence, the virtual objects are always above the real scene, which is treated just as the background, and the illusion that real and virtual objects are part of a 3D environment is broken. Null or inappropriate oclussion handling causes poor spatial perception, which results in errors of virtual objects manipulation; furthermore, it increases eyestrain and the probability of motion sickness.

(10)

In this work we develop a strategy that contributes to the solution of the problem of occlusion of virtual objects in VAR by using depth information (distances) of the real world. The proposed strategy aims to add virtual models to the real scene considering a three-dimensional space. To achieve this, we use an approach based on tracking visual markers (fiducial markers) to calculate the position and orientation relative to the camera. Once the virtual model is added in a suitable position, the evaluation of depths between real and virtual objects is used for the occlusion handling. Then, the virtual object parts that are occluded by some real object are calculated and eliminated (hidden surface removal). The proposed method does not require object segmentation, therefore it is not dependent on the shape or color of the objects; thus, this method can work with deformable objects, in dynamic environments and it is suitable for use in real time.

Experimental results show that the proposed strategy significantly improves occlusion handling of virtual objects. The experiments were qualitatively eva-luated by a group of users who interacted with the system. They evaeva-luated the scene’s realism with 82% of credibility.

(11)

´

Indice general

Agradecimientos iii

Resumen v

Abstract vii

´Indice general ix

Lista de figuras xiii

Lista de tablas xvii

Lista de algoritmos xix

1 Introducci´on 1

1.1 Descripci´on del problema . . . 2

1.1.1 Motivaci´on . . . 3

1.2 Objetivos . . . 4

1.2.1 Objetivo general . . . 5

Objetivos espec´ıficos . . . 5

1.3 Soluci´on propuesta . . . 5

1.4 Alcance de la tesis . . . 7

(12)

1.6 Organizaci´on de la tesis . . . 9

2 Fundamentos te´oricos 11 2.1 Realidad aumentada (AR) . . . 11

2.1.1 Antecedentes . . . 13

2.1.2 Realidad aumentada basada en video (VAR) . . . 14

2.2 Marcadores de referencia (fiducial markers) . . . 15

2.3 Librer´ıas utilizadas para el desarrollo . . . 17

2.4 Sensorkinect . . . 18

2.4.1 Limitaciones del kinect . . . 21

2.5 Detecci´on de marcadores de referencia y estimaci´on de pose . . . 22

2.5.1 Detecci´on de marcadores . . . 23

Reconocimiento de marcadores . . . 23

B´usqueda de rect´angulos . . . 24

An´alisis de marcadores . . . 25

2.5.2 Estimaci´on de pose . . . 25

Algoritmorobust planar pose . . . 27

2.6 Correcci´on de im´agenes . . . 29

2.7 Remoci´on de superficies ocultas (hidden surface removal, HSR) 30 2.7.1 Etapas de transformaci´on de v´ertices . . . 31

2.8 Evaluaci´on . . . 32

2.9 Resumen . . . 33

3 Trabajo relacionado 35 3.1 Aplicaciones . . . 35

3.1.1 Aplicaciones m´edicas y militares . . . 35

(13)

´INDICE GENERAL xi

3.1.3 Navegaci´on . . . 38

3.1.4 Anotaci´on y visualizaci´on . . . 39

3.1.5 Entretenimiento . . . 39

3.2 Estado del arte . . . 41

3.2.1 Manejo de oclusi´on en AR sin informaci´on de profundidad 42 3.2.2 Manejo de oclusi´on en AR basado en profundidad . . . . 47

3.3 Discusi´on . . . 54

4 M´etodo propuesto 59 4.1 Idea general del m´etodo propuesto . . . 61

4.2 Reconocimiento y estimaci´on de pose . . . 62

4.2.1 Reconocimiento del marcador . . . 62

Conversi´on de RGB a escala de grises . . . 63

Segmentaci´on por umbralizaci´on (thresholding) . . . 64

Etiquetado de regiones (labeling) . . . 66

Seguimiento de contornos . . . 68

Estimaci´on de v´ertices . . . 70

4.2.2 Estimaci´on de pose . . . 72

4.3 Manejo de oclusi´on . . . 73

4.3.1 Correcci´on del mapa de profundidad . . . 74

4.3.2 Eliminaci´on de superficies ocultas . . . 76

4.4 Resumen . . . 79

5 Experimentos y resultados 81 5.1 Correcci´on del mapa de profundidad . . . 83

5.2 Manejo de oclusi´on . . . 86

(14)

5.2.2 Experimento 2: M´ultiples objetos virtuales . . . 89

5.2.3 Experimento 3: Cambios de iluminaci´on . . . 91

5.2.4 Experimento 4: Modelos virtuales de referencia . . . 91

5.2.5 Experimento 5: Objetos oclusores refractantes . . . 96

5.3 Evaluaci´on . . . 98

5.4 Discusi´on . . . 100

6 Conclusiones y trabajo futuro 103 6.1 Contribuci´on . . . 103

6.2 Conclusiones y trabajo futuro . . . 104

Ap´endices 109 Ap´endice A Algoritmos 111 A.1 Cambio de espacio de color . . . 111

A.2 Segmentaci´on por umbralizaci´on . . . 112

A.3 Etiquetado de regiones . . . 112

A.4 Seguimiento de contornos (vecindario de Moore) . . . 114

Ap´endice B Librer´ıas de desarrollo 115 B.1 OpenNI . . . 115

B.2 ARToolKitPlus . . . 117

B.3 OpenCV . . . 118

B.4 OpenGL . . . 119

Ap´endice C Detalles t´ecnicos 121

(15)

Lista de figuras

1.1 Estructura de un sistemaVAR . . . 2

1.2 Manejo de oclusi´on en una escena de AR . . . 4

2.1 L´ınea de la realidad . . . 12

2.2 Escritorio real con l´ampara y sillas virtuales . . . 12

2.3 Marcador de referencia . . . 16

2.4 Marcador del tipoid-markers . . . 17

2.5 Dispositivo kinect . . . 19

2.6 Clasificaci´on de las t´ecnicas utilizadas para calcular profundidad 20 2.7 Patr´on de luz emitido por elkinect . . . 20

2.8 Mapa de profundidad coloreado . . . 21

2.9 Efecto sombra producido por la separaci´on entre el proyector y la c´amara IR . . . 22

2.10 Detecci´on de marcadores de referencia . . . 24

2.11 B´usqueda de rect´angulos . . . 25

2.12 Recuperaci´on del ´area interior del marcador . . . 25

2.13 Modelo simplificado de la idea general del algoritmo RPP . . . . 28

2.14 Aplicaci´on del algoritmoinpainting en fotograf´ıa digital . . . 29

2.15 Transformaci´on de proyecci´on perspectiva a ortogonal . . . 30

(16)

2.17 Trabajos de referencia para la etapa de evaluaci´on . . . 34

3.1 Aplicaciones m´edicas de la realidad aumentada . . . 36

3.2 Realidad aumentada en los procesos de manufactura y reparaci´on 38 3.3 Sistemas de navegaci´on con AR . . . 39

3.4 Plataformas de anotaci´on y visualizaci´on de informaci´on conAR 40 3.5 AR para entretenimiento . . . 41

3.6 Manejo de oclusi´on en AR basado en contornos . . . 44

3.7 Un m´etodo semiautom´atico para manejo de oclusi´on en AR . . 45

3.8 Manejo de oclusi´on utilizando modelos phantom . . . 46

3.9 Manejo de oclusi´on en AR basado en seguimiento de objetos . . 47

3.10 Manejo de oclusi´on en AR utilizando contour matching . . . 49

3.11 Resultados visuales del m´etodo propuesto por Fischer et al. 2007 50 3.12 Modelo de estimaci´on en l´ınea para detecci´on de oclusiones . . . 51

3.13 Resultados del m´etodo propuesto por Zhu et al. 2010 . . . 53

3.14 Validaci´on de experimentos en el exterior . . . 54

4.1 Diagrama general del m´etodo propuesto . . . 60

4.2 Flujo de procesamiento para la etapa de reconocimiento y esti-maci´on de pose . . . 63

4.3 Flujo de procesamiento para la detecci´on de marcadores . . . 64

4.4 Conectividad entre vecinos . . . 67

4.5 Resultados del proceso de etiquetado . . . 68

4.6 Regi´on recortada (clip region) entregada por el algoritmo de eti-quetado . . . 70

4.7 Punto m´as alejado al primer v´ertice . . . 71

4.8 Distancia de un punto a la l´ınea . . . 71

(17)

LISTA DE FIGURAS xv

4.10 Im´agenes entregadas por el sensor kinect . . . 75

4.11 Relaci´on de profundidad entre objetos en un espacio 3D . . . 78

5.1 Correcci´on del mapa de pronfundidad . . . 83

5.2 Desfase entre el mapa de profundidad y la imagen RGB . . . 84

5.3 Impacto del mapa de profundidad en el manejo de oclusi´on . . . 84

5.4 Manejo de oclusi´on sin considerar los puntos muertos . . . 86

5.5 Modelo virtual 3D “alcapone.obj” . . . 87

5.6 Oclusi´on de objetos con forma no geom´etrica . . . 88

5.7 Trabajo de referencia: oclusi´on de m´ultiples objetos virtuales . . 89

5.8 Oclusi´on de m´ultiples objetos virtuales . . . 90

5.9 Manejo de oclusi´on bajo cambios de iluminaci´on . . . 92

5.10 Resultados de trabajos relacionados . . . 93

5.11 Manejo de oclusi´on con el modelo excavador . . . 94

5.12 Manejo de oclusi´on con el modelo optimus prime . . . 95

5.13 Manejo de oclusi´on con objetos oclusores refractantes . . . 97

(18)
(19)

Lista de tablas

2.1 Operaciones aplicadas durante la transformaci´on de v´ertices . . 32

3.1 Resumen del estado del arte . . . 58

5.1 Evaluaci´on 1: Relaci´on espacial . . . 99

5.2 Evaluaci´on 2: Manejo de oclusi´on . . . 100

(20)
(21)

Lista de algoritmos

2.1 Z-buffer . . . 31

A.1 Conversi´on de RGB a escala de grises . . . 111

A.2 Umbralizaci´on de una imagen . . . 112

A.3 Etiquetado de regiones . . . 113

(22)
(23)

Cap´ıtulo 1

Introducci´

on

El objetivo de la Realidad Aumentada (AR porAugmented Reality) es agregar objetos virtuales (VOs por Virtual Objects) a una secuencia de video real, permitiendo sobreponer los gr´aficos generados por computadora sobre el video de forma tal que parezcan parte de la escena en 3D (Lepetit & Berger, 2000). Un sistema deARbasada en Video (VAR porVideo-based Augmented Reality), ver figura 1.1, funciona de la siguiente manera: el sistema captura el mundo real mediante el uso de videoc´amaras, procesa cada frame en la secuencia de video, mezcla las im´agenes reales con objetos virtuales y finalmente, despliega la escena aumentada en una pantalla. Este tipo de sistemas se caracteriza por su bajo costo en hardware. Un tipo especial de AR, utiliza marcadores de re-ferencia (fiducial markers1) para determinar el centro, orientaci´on y rango de

un sistema de coordenadas sobre el cual se agregar´a la informaci´on virtual. Una tarea importante para generar una escena sint´etica realista, es alinear objetos reales y virtuales en ambos sentidos: geom´etrica (precisi´on espacial) y sem´anticamente (credibilidad gr´afica) (Zhu & Pan, 2008; Kamat & Dong, 2011). Precisi´on espacial, requiere que el VO sea registrado apropiadamente con el mundo real; lo cual significa, que ´este siempre debe permanecer con una posici´on y orientaci´on correcta respecto al mundo. Credibilidad gr´afica 1Fiducial markers:marcadores visuales que sirven como referencia para realizar medi-ciones en un sistema de seguimiento por visi´on computacional.

(24)

por su parte, hace alusi´on al realismo de la escena; es decir, la ilusi´on de que ambos elementos, reales y virtuales, coexisten en un mismo espacio. Esta ´ultima parte se divide a su vez en dos ramas. La primera de ellas es el foto-realismo que trata con efectos de iluminaci´on como sombras, reflexiones, etc´etera. La otra es el manejo de oclusi´on, la cual requiere que los modelos virtuales sean correctamente ocluidos por elementos del mundo real. La oclusi´on ocurre cuando un objeto que est´a m´as cercano al observador, obscurece la vista de otro objeto que est´a m´as alejado sobre la misma l´ınea de visi´on (Breen et al., 1996).

Figura 1.1: Estructura de un sistemaVAR, adaptada de Krevelen and Poelman (2010).

1.1

Descripci´

on del problema

Como se menciono en la secci´on anterior, el manejo de oclusi´on es importante para el buen funcionamiento de los sistemas deARpuesto que agrega realismo a la escena y mejora la percepci´on espacial. Esto ´ultimo es fundamental para evitar errores en la navegaci´on y en la manipulaci´on deVOs. Un buen algoritmo para tratar la oclusi´on enARdeber´ıa ser capaz de mezclar de forma inteligente, en un espacio 3D, objetos reales y virtuales. Los enfoques cl´asicos para hacerAR no consideran relaciones de profundidad entre elementos; por tanto, se limitan a sobreponer modelos virtuales encima del mundo real, dando la impresi´on de que

(25)

1.1 Descripci´on del problema 3

estas entidades gr´aficas permanecen siempre flotando sobre la escena real. En un sentido com´un, resolver el problema de oclusi´on se puede traducir en comparar la profundidad de los VOs con la profundidad de los objetos reales y de este modo, decidir si los modelos virtuales son ocluidos o no por alg´un elemento real. No obstante, calcular con precisi´on el mapa de profundidad del mundo real es una tarea dif´ıcil (Wloka & Anderson, 1995); m´as todav´ıa, cuando se tiene que realizar en tiempo real (restricci´on de un sistema de AR). El problema de oclusi´on se vuelve m´as complicado cuando el ambiente cambia din´amicamente (el usuario navega libremente por el espacio o los objetos cambian su forma). En consecuencia, la profundidad relativa entre el VO y el mundo real cambia arbitrariamente con el tiempo (Kamat & Dong, 2011).

Por otro lado, sin manejo de oclusi´on enARo con uno deficiente, el usuario tiene la concepci´on err´onea de que los objetos reales siempre est´an m´as alejados que los objetos virtuales. Esto no s´olo ocasiona problemas de mala percepci´on espacial, que resultan en errores de manipulaci´on cuando el usuario trata de tomar alg´un objeto, sino que tambi´en incrementa la fatiga ocular y la probabili-dad de mareo por movimiento (Fuhrmann et al., 1999). La figura 1.2 (Behzadan & Kamat, 2009) presenta una operaci´on de construcci´on simulada donde dos objetos reales (´arbol y excavadora del lado derecho) est´an m´as cercanos al punto de visi´on que el modelo virtual (excavadora del lado izquierdo); el cual deber´ıa estar, consecuentemente, ocluido por los objetos reales.

1.1.1

Motivaci´

on

Hoy en d´ıa,AR es una herramienta efectiva para visualizaci´on y despliegue de informaci´on; y tiene el potencial para crear la siguiente generaci´on de inter-faces (interinter-faces basadas en realidad). AR mejora la percepci´on del usuario y su interacci´on con el mundo real. Los objetos virtuales incorporan informaci´on que el usuario no puede percibir directamente con sus sentidos. La informaci´on transmitida por los elementos virtuales ayuda al usuario a realizar tareas del

(26)

(a) Oclusi´on incorrecta (b) Oclusi´on correcta

Figura 1.2: Manejo de oclusi´on en una escena de AR, tomada de Behzadan and Kamat (2009): 1.2(a) ausencia de manejo de oclusi´on, el modelo virtual es sobrepuesto encima de la escena real; 1.2(b) manejo de oclusi´on apropiado, el brazo del modelo virtual es ocluido

correctamente por el ´arbol y por la excavadora real.

mundo real (R. T. Azuma, 1997). Resolver el problema de oclusi´on ayuda a mejorar en gran medida la inmersi´on del usuario en el sistema, permiti´endole interactuar y manipular objetos virtuales de forma natural; es decir, directa-mente con sus manos, sin necesidad de usar controles.

Adem´as, el campo de aplicaci´on deARes muy amplio y se extiende desde el entretenimiento hasta apliacciones m´edicas y militares; diversas ´areas se pueden beneficiar con la incorporaci´on deARen sus procesos cotidianos. Actualmente, la mayor´ıa de las aplicaciones basadas en AR no hacen ´enfasis en el manejo de oclusi´on de VOs y s´olo muestran contenido virtual sobrepuesto. Un buen manejo de oclusi´on claramente puede dotar de capacidades extra (realismo, precisi´on, inmersi´on, interacci´on, etc.) a los sistemas actuales.

En el cap´ıtulo 3 se dar´a una breve introducci´on a las m´ultiples aplicaciones que tiene la realidad aumentada.

1.2

Objetivos

Un manejo apropiado de oclusi´on en realidad aumentada abre las puertas para que AR pueda ser explotada a gran escala. Teniendo en mente lo anterior y considerando las restricciones impuestas por un sistema de AR, ver secci´on

(27)

1.3 Soluci´on propuesta 5

2.1, se define el siguiente objetivos general y los correspondientes objetivos espec´ıficos.

1.2.1

Objetivo general

El objetivo general de esta tesis es desarrollar e implementar una estrategia para el manejo de oclusi´on en entornos de realidad aumentada basada en video, que permita al usuario navegar libremente, combine elementos reales y virtuales en un mismo espacio aumentado, funcione en tiempo real y sea competitiva con los actuales trabajos en el ´area.

Objetivos espec´ıficos

1. Estudiar e implementar un algoritmo de reconocimiento y estimaci´on de pose de marcadores de referencia.

2. Estudiar e implementar un algoritmo para corregir el mapa de profundi-dad (estimar puntos muertos).

3. Proponer una estrategia basada en informaci´on de profundidad para el manejo de oclusi´on en VAR usando el sensor kinect.

1.3

Soluci´

on propuesta

Resolver el problema de oclusi´on en AR representa un reto debido a que la escena cambia din´amicamente conforme el usuario interact´ua con el ambiente. Enfoques tradicionales para atacar este problema se basan en el seguimiento y segmentaci´on de objetos extrayendo caracter´ısticas como bordes o contornos (Berger, 1997; Fuhrmann et al., 1999; Tian et al., 2010, e.g.,). No obstante, tales caracter´ısticas son inestables cuando la escena cambia con el tiempo o cuando hay variaciones en la iluminaci´on. Estos enfoques, al depender de la segmentaci´on de objetos, est´an limitados a trabajar sobre esccenarios est´aticos bajo condiciones ambientales fuertemente controladas (iluminaci´on, forma y

(28)

color de los objetos, etc.).

Recientemente, investigaciones en el ´area se concentran en utilizar informa-ci´on de profundidad acerca del mundo real utilizando c´amaras est´ereo o c´amaras TOF (Fischer et al., 2007; Zhu et al., 2010; Kamat & Dong, 2011, e.g.,). Con esto se deja de lado la segmentaci´on de objetos y el manejo de oclusi´on se centra en la evaluaci´on de profundidades entre objetos reales y virtuales. En t´erminos generales, el enfoque basado en informaci´on de profundidad ha da-do mejores resultada-dos y ha sida-do ampliamente utilizada-do en los ´ultimos a˜nos; sin embargo, los principales problemas que se presentan en este enfoque son el alto costo de los equipos, el bajo rendimiento en procesamiento durante el c´alculo del mapa de profundidad, la calibraci´on del dispositivo y la alineaci´on y sincronizaci´on de las im´agenes RGB y mapa de profundidad. Los sistemas de visi´on est´ereo, adem´as de generar mapas de profundidad muy imprecisos, son costosos en tiempo de procesamiento, lo que los hace inadecuados para uso en tiempo real. Por otro lado, los sistemas basados en tiempo de vuelo son costosos econ´omicamente, tienen una resoluci´on de imagen pobre y la informa-ci´on de profundidad entregada es ruidosa. Adem´as, requieren una fase extra de alineaci´on y sincronizaci´on de im´agenes y, en el peor caso, la agregaci´on de otro sensor independiente que capture la imagen RGB.

En esta tesis se propone una estrategia basada en informaci´on de profun-didad para solucionar el problema de oclusi´on de VOs en un sistema de VAR utilizando marcadores de referencia cuadrados. La estrategia propuesta se basa en la evaluaci´on de profundidades entre objetos reales y virtuales para resolver relaciones de oclusi´on. Al no depender de la segmentaci´on de objetos reales para manejar oclusiones de VOs, el m´etodo desarrollado puede trabajar en ambientes din´amicos y con objetos deformables y de cualquier color. La incor-poraci´on de marcadores de referencia agrega la capacidad de colocar VOs en una posici´on y orientaci´on adecuada dentro del ambiente dando mayor realismo a la escena aumentada.

(29)

1.4 Alcance de la tesis 7

sincronizaci´on de im´agenes, etc.) se opt´o por integrar una nueva tecnolog´ıa para el sensado del ambiente. El sensor kinect es empleado para capturar la imagen RGB y el mapa de profundidad del mundo real, este sensor se basa en la proyecci´on de patrones de luz para calcular el mapa de profundidad en tiempo real (una tasa de30 f/s). El sensor tambi´en es capaz de entregar ambas im´agenes, RGB y mapa de profundidad, de forma sincronizada y alineadas; adem´as, proporciona una resoluci´on de imagen y profundidad bastante acepta-ble y es accesiacepta-ble en costo, ver secci´on 2.4 para m´as detalles.

Una vez capturadas la imagen RGB y el mapa de profundidad se realizan las siguientes tareas generales,

• Correcci´on del mapa de profundidad para eliminar el ruido existente.

• Reconocimiento de marcadores para tener un punto de referencia en el ambiente.

• Estimaci´on de la pose del marcador para agregar contenido virtual en una posici´on adecuada.

• Manejo de oclusi´on de VOs utilizando remoci´on de superficies ocultas.

1.4

Alcance de la tesis

Este trabajo de investigaci´on contempla el manejo autom´atico de oclusi´on en AR en una configuraci´on interior (indoor), con una estrategia basada en pro-fundidad utilizando el sensor kinect. Configuraciones exteriores (outdoor) re-quieren de otros m´etodos para el c´alculo preciso y en tiempo real de mapas de profundidad. El sensor kinect tiene limitaciones bien conocidas: un rango de distancias pobre (0.8m - 1.2m con alta precisi´on y hasta4.0m con p´erdida de precisi´on), se ve afectado por cambios en la iluminaci´on y es muy sensible a superficies refractantes como cristales, pl´asticos transparentes, pantallas, etc. Estas limitaciones hacen al sensor inapropiado para uso en escenarios exterio-res donde no se tiene control total sobre el ambiente. Tambi´en se asume una

(30)

calibraci´on previa de la c´amara; es decir, el sistema requiere ser alimentado inicialmente con los par´ametros internos que definen el modelo matem´atico de la c´amara. Es preciso mencionar que este trabajo se limita a la posibilidad de que el usuario pueda moverse libremente sobre el escenario; por lo tanto, el usuario puede ser ocluido por el VO o en su defecto ´el ocluir al VO en cualquier momento. Por consiguiente, aspectos tales como registro correcto del VO, manipulaci´on delVO, movimiento de la c´amara, movimiento del marcador y oclusi´on del marcador, no son cubiertos.

1.5

Experimentos y resultados

En esta investigaci´on se desarroll´o una estrategia para resolver el problema de oclusi´on de objetos virtuales en ralidad aumentada. Los experimentos realiza-dos en este trabajo tienen como objetivo evaluar los siguientes aspectos:

• El impacto que tiene la calidad del mapa de profundidad en el manejo de oclusi´on.

• La robustez de la estrategia propuesta para resolver relaciones de oclusi´on entre objetos reales y virtuales bajo las siguientes condiciones.

– Oclusi´on de objetos virtuales con forma no geom´etrica y deformables.

– Oclusi´on de m´ultiples objetos virtuales por m´ultiples objetos reales.

– Manejo de oclusi´on bajo condiciones variantes de iluminaci´on y en un escenario din´amico.

– Manejo de oclusi´on con objetos oclusores refractantes.

Los resultados obtenidos demostraron que el m´etodo propuesto es capaz de resolver relaciones de oclusi´on de forma efectiva para la mayor´ıa de los escenarios descritos anteriormente (excepto con objetos oclusores refractantes). Se puede concluir que el m´etodo es comparable con trabajos existentes en la literatura.

(31)

1.6 Organizaci´on de la tesis 9

1.6

Organizaci´

on de la tesis

El resto de la tesis est´a organizada como sigue.

Cap´ıtulo 2 - Fundamentos te´oricos. En este cap´ıtulo se exponen los fundamentos te´oricos y matem´aticos que dan sustento a esta investigaci´on y se concluye con una descripci´on de la forma de evaluar los resultados obtenidos.

Cap´ıtulo 3 - Trabajo relacionado. En este cap´ıtulo se describen los principales trabajos relacionado con el manejo de oclusi´on en AR. Tambien se discuten las ventajas y limitaciones de los distintos enfoques utilizados para resolver el problema de oclusi´on de VOs.

Cap´ıtulo 4 - M´etodo propuesto. Este cap´ıtulo describe la estrategia propuesta para solucionar el problema de oclusi´on enVAR.

Cap´ıtulo 5 - Experimentos y resultados. Los experimentos y resultados obtenidos son expuestos en este cap´ıtulo. Se detalla la metodolog´ıa empleada para realizar experimentos y al final se concluye con una discusi´on sobre los resultados.

Cap´ıtulo 6 - Conclusiones y trabajo futuro. Este cap´ıtulo est´a dividido en tres secciones en las cuales se exponen respectivamente, la contribuci´on de esta investigaci´on, las conclusiones sobre los resultados obtenidos y finalmente, se plantea una futura l´ınea de investigaci´on.

Ap´endices.Como anexos de la investigaci´on se incluyen un conjunto de al-goritmos utilizados, una descripci´on de las librer´ıas de programaci´on utilizadas y los detalles t´ecnicos de la implementaci´on.

(32)
(33)

Cap´ıtulo 2

Fundamentos te´

oricos

En este cap´ıtulo se presentan las bases te´oricas utilizadas para desarrollar esta investigaci´on. En la primera parte del cap´ıtulo, la cual comprende de la secci´on 2.1 a la secci´on 2.4, se presenta informaci´on te´orica concerniente a sistemas de Realidad Aumentada (ARporAugmented Reality),ARbasada en Video (VAR porVideo-based Augmented Reality), marcadores de referencia,frameworks uti-lizados para realizar el trabajo y detalles t´ecnicos sobre el sensorkinect utilizado para capturar la escena. Despu´es, en las secciones 2.5, 2.6 y 2.7 se presenta un informe m´as detallado sobre los algoritmos utilizados y las bases matem´aticas que los sustentan. Finalmente, en la secci´on 2.8 se describe la forma de evaluar el trabajo realizado y en la secci´on 2.9 se presenta un resumen del cap´ıtulo.

2.1

Realidad aumentada (

AR

)

La AR es una variaci´on de la Realidad Virtual (VR por Virtual Reality) (R. T. Azuma, 1997). Tecnolog´ıas de VR sumergen por completo al usuario en un entorno sint´etico. Mientras est´a inmerso en el sistema de VR, el usuario no puede ver el mundo real alrededor de ´el. En contraste, la AR le permite al usuario ver el mundo real con objetos virtuales agregados. Por tanto, la AR complementa la realidad en lugar de remplazarla por completo. Milgram and

(34)

Kishino (1994) definen una l´ınea de continuidad que va de un entorno real a uno virtual, en la cualARes parte del ´area m´as general llamada realidad mixta (figura 2.1).

Figura 2.1: L´ınea de la realidad, adaptada de Milgram and Kishino (1994).

En una forma ideal, una escena de AR deber´ıa dar la impresi´on de que elementos reales y virtuales coexisten en un mismo espacio. La figura 2.2 da un ejemplo de como deber´ıa lucir una escena de AR. La figura muestra una habitaci´on real, dentro de la cual hay un escritorio con un tel´efono encima, ambos objetos son reales. Tambi´en hay una l´ampara y dos sillas virtuales. Obs´ervese que los objetos son combinados en un espacio 3D; as´ı, la l´ampara virtual cubre parte del escritorio real y ´este a su vez cubre parte de las dos sillas virtuales.

Figura 2.2: Escritorio real con l´ampara y sillas virtuales, tomada de R. T. Azuma (1997).

Seg´un lo expuesto en R. T. Azuma (1997) y en R. Azuma et al. (2001), un sistema de AR debe:

• Combinar objetos reales y virtuales en un entorno real.

• Ejecutarse en tiempo real.

(35)

2.1 Realidad aumentada (AR) 13

Es importante mencionar tres aspectos clave que se derivan de la definici´on anterior. Primeramente, AR no se restringe al uso de alguna tecnolog´ıa en espec´ıfico. Segundo, la definici´on no est´a limitada al sentido de la vista, AR puede y potencialmente incluir´a m´as sentidos, como el o´ıdo y el tacto (Krevelen & Poelman, 2010). Finalmente, remover objetos reales sobreponiendo objetos virtuales, enfoques conocidos como realidad mediada o disminuida, tambi´en se consideran AR.

2.1.1

Antecedentes

En 1968, Ivan Sutherland desarroll´o el primer casco con despliegue de im´agenes integrado (HMD por Head-Mounted Display (Sutherland, 1965, 1968), el cual sobrepone objetos virtuales sobre la vista del usuario. Debido a las limita-ciones de c´omputo, este dispositivo s´olo desplegaba la estructura del modelo (wireframe model). A´un as´ı, ´esta se puede considerar la primera aplicaci´on que cumpl´ıa las tres restricciones antes mencionadas de un sistema de AR.

Durante las d´ecadas de 1970s y 1980s, diversos grupos de investigadores en el Laboratorio Armstrong de la fuerza A´erea de Estados Unidos, el Centro de Investigaci´on Ames de la NASA, el Instituto Tecnol´ogico de Massachusetts y la Universidad del Norte de Carolina, continuaron las investigaciones sobre esta nueva ´area (Krevelen & Poelman, 2010). Las primeras aplicaciones de AR se concentraban solamente en cuestiones involucradas a la investigaci´on y en resolver problemas t´ecnicos. Estos primeros prototipos usaban hardware demasiado grande y excesivamente caro (Wagner, 2007).

Fue hasta los a˜nos 90s que el termino “Realidad Aumentada” fue acu˜nado por Caudell y Mizell (Caudell & Mizell, 1992). En esta misma d´ecada, las computadoras personales llegaron a ser lo suficientemente peque˜nas para ser usadas todo el tiempo y en todo lugar. Esto motiv´o el desarrollo de aplicaciones deAR para plataformas m´oviles. Sin embargo, fue hasta la aparici´on de dispo-sitivos para seguimiento, lo bastante poderosos y peque˜nos para ser usados en

(36)

configuraciones m´oviles, que AR se dio a conocer ampliamente. R´apidamente aparecieron sistemas deARm´ovil (MARS porMobile AR System). Feiner et al. (1997), crearon un sistema que combinaba los cl´asicos gr´aficos 3D sobrepuestos enAR con la libertad que ofrec´ıan los dispositivos m´oviles.

A finales de los a˜nos 90s, AR se convirti´o en un ´area de investigaci´on pro-piamente. Empezaron a surgir talleres y simposios sobreAR:the International Workshop and Symposium on Augmented Reality, the International Symposium

on Mixed Reality y the Designing Augmented Reality Environments workshop. Tambi´en surgieron organizaciones tales comothe Mixed Reality Systems Labo-ratory (MRLab) que posteriormente formar´ıa el International Symposium on Mixed and Augmented Reality (ISMAR). Adem´as, empezaron a liberarse herra-mientas desoftwarecomoARToolKitpor Kato and Billinghurst, que facilitaban la realizaci´on de aplicaciones con AR; gracias a esto, numerosas aplicaciones fueron construidas.

Por otra parte, existen numerosos enfoques para trabajar sobre AR; en Krevelen and Poelman (2010) se presenta un resumen de las distintas tec-nolog´ıas utilizadas para crear un ambiente aumentado. Este trabajo de investi-gaci´on se enfoca en un tipo de AR en particular,AR basada en video (VAR), el cual se aborda a continuaci´on.

2.1.2

Realidad aumentada basada en video (

VAR

)

Dentro de los diferentes tipos de AR, VAR es la m´as cercana a la VR. Este tipo de AR trabaja con secuencias de video del mundo real sobre las cuales sobrepone modelos virtuales en tres dimensiones. La figura 1.1 en la p´agina 2 muestra la estructura simplificada de un sistemaVAR.

VARes la forma deARm´as ampliamente utilizada hoy en d´ıa; adem´as, es el tipo deAR m´as barato y f´acil de implementar.VAR proporciona las siguientes ventajas:

(37)

2.2 Marcadores de referencia (fiducial markers) 15

por virtuales o simplemente agregar objetos virtuales a la escena.

• El seguimiento de caracter´ısticas se puede hacer sin mayores complica-ciones. Estas caracter´ısticas son usadas como referencia para agregar ob-jetos virtuales en una posici´on y orientaci´on adecuada.

• F´acilmente se puede calcular el brillo y contraste de los objetos virtuales para que correspondan con la escena real.

Com´unmente, en este tipo de sistemas se utilizan marcadores de referencia (fiducial markers) colocados en el ambiente. Se asume que el sistema conoce el patr´on (c´odigo) y localizaci´on del marcador. Mediante procesamiento de im´agenes se detecta el marcador, se calcula su posici´on y orientaci´on y esta informaci´on se usa para registrar un modelo virtual apropiadamente sobre la escena.

Por otro lado, hay algunas limitaciones impuestas por los sistemas VAR:

• Baja resoluci´on de la realidad.

• Reducido campo de visi´on.

• Desorientaci´on del usuario debido a la distancia entre la c´amara y su ojo.

Aunado a esto, debido a que las im´agenes digitalizadas con las que com´ un-mente se trabaja son en 2D, es dif´ıcil estimar la profundidad de los objetos reales; esto complica la tarea de agregar VOs en un espacio 3D. Es decir, se dificulta hacer un adecuado manejo de oclusi´on de objetos virtuales por objetos reales.

2.2

Marcadores de referencia (

fiducial

mar-kers

)

El registro correcto de elementos virtuales dentro de una escena real es funda-mental para dotar de realismo y credibilidad a un sistema deAR. El seguimiento

(38)

de marcadores visuales es un enfoque cl´asico en aplicaciones de realidad au-mentada. El objetivo de esta tarea es tener un punto de referencia del mundo real para agregar objetos virtuales en una posici´on y orientaci´on adecuada.

En este contexto, un marcador de referencia (marcador visual) se puede con-siderar como un objeto de inter´es el cual se pretende encontrar en una imagen dada. Para nuestro trabajo, se considera como un marcador a un rect´angulo negro rodeado de un fondo blanco (figura 2.3).

Figura 2.3: Marcador de referencia, tomada de http://www.hitl.washington.edu/ artoolkit.

El marcador presentado en la figura anterior es un tipo de marcador conoci-do comotemplate marker. La parte interna puede ser reemplazada por cualquier figura. Esta caracter´ıstica los hace ser muy utilizados dentro de aplicaciones de ARdonde se requiere desplegar cierto contenido virtual de acuerdo a la marca. El procedimiento para reconocer el tipo de marcador anterior es conocido como template matching. Este m´etodo consiste en buscar el marcador en una base de datos con la que es alimentado el sistema. El procedimiento es sumamente costoso ya que se requiere una busqueda lineal dentro de la base de datos.

Existen otro tipo de marcador de referencia que no necesita una compara-ci´on contra una base de datos para ser reconocido. Los id-marker (figura 2.4) son un tipo de marcadores binarios que codifican internamente el ID del mar-cador; por lo tanto, no se requiere ninguna comparaci´on con una base de im´agenes. Esta caracter´ıstica los hace ser m´as eficientes en terminos de veloci-dad de reconocimiento en comparaci´on con lostemplate marker; pero agrega la restricci´on de un n´umero finito de ID que pueden ser codificados en el espacio

(39)

2.3 Librer´ıas utilizadas para el desarrollo 17

interno del marcador.

La detecci´on de id-markers siempre es m´as r´apida que la de template-markers ya que no se requiere comparaci´on entre im´agenes. Utilizando estos marcadores, el usuario s´olo necesita alimentar al sistema con el ID del marcador de inter´es en lugar de pasarle una base de datos con im´agenes. Otra ventaja de utilizar estos marcadores es que el ID codificado es altamente redundante (el ID se puede guardar m´as de una vez) y en consecuencia, es robusto contra rotaciones de 90◦, lo cual es un problema natural con marcadores cuadrados (Wagner & Schmalstieg, 2007).

Figura 2.4: Marcador del tipoid-markers: estos marcadores codifican en su interior un ID que los diferencia de los dem´as.

2.3

Librer´ıas utilizadas para el desarrollo

Resolver el problema planteado en esta investigaci´on, manejo de oclusi´on de VOs en VAR, implica la integraci´on de diferentes componentes: calibraci´on de c´amaras, captura y procesamiento de im´agenes, graficaci´on y visualizaci´on, entre otras. Durante el desarrollo de la tesis se utilizaron diferentes librer´ıas (frameworks) de desarrollo para apoyar las tareas de programaci´on e integraci´on de los diferentes m´odulos que integran la estrategia propuesta. A continuaci´on, se listan las principales librer´ıas utilizadas.

(40)

• Augmented Reality Toolkit Plus (ARToolKitPlus)

• Open Computer Vision (OpenCV)

• Open Graphics Library (OpenGL)

Es importante remarcar que todas las librer´ıas utilizadas son de c´odigo abierto y se encuentran disponibles bajo alg´un tipo de licencia p´ublica. De hecho, desde los inicios de la tesis se tom´o la decisi´on de utilizar s´olo librer´ıas de libre distribuci´on para tener toda libertad de utilizar y adaptar el c´odigo disponible en ellas y posteriormente compartir el trabajo desarrollado en esta investigaci´on.

En el ap´endice B se dan detalles sobre cada una de las librer´ıas utilizadas.

2.4

Sensor

kinect

El kinect es un dispositivo de entrada para sensado de movimiento desarro-llado por Microsoft para uso con la consola de videojuegos Xbox 360 como dispositivo para juegos libre de controles. El kinect se est´a convirtiendo en un importante sensor 3D, en los ´ultimos meses ha recibido mucha atenci´on gracias al sistema r´apido y eficiente que tiene para reconocimiento y seguimiento de pose humana, el cual est´a basado en mediciones 3D (Smisek et al., 2011). El bajo costo, la confiabilidad y velocidad de las mediciones le da al kinect gran oportunidad para convertirse en el principal dispositivo para sensado 3D en ambientes interiores (indoor), espec´ıficamente para uso en rob´otica. Por las ventajas anteriormente expuestas, en esta investigaci´on se utiliza el sensor kinect para obtener mapas de pronfundidad del mundo real.

El dispositivo kinect est´a integrado por cinco componentes: Un projector de de patrones infra-rojos (IR), una c´amara IR (el proyector y la c´amara IR en conjunto actuan como una c´amara de profundidad), una c´amara de color (RGB), cuatro micr´ofonos y un motor para movimiento vertical. La figura 2.5 muestra los tres principales componentes, los cuales son utilizados en este

(41)

2.4 Sensor kinect 19

trabajo.

Figura 2.5: Dispositivokinect.

Actualmente existen un gran n´umero de aplicaciones que requieren sensado 3D donde elkinect puede ofrecer ventajas sobre otros dispositivos. A continua-ci´on se listan una serie de aplicaciones donde se puede emplear el kinect para computar las distancias de la escena real.

• Seguimiento de personas y objetos

• Reconstrucci´on 3D de una escena

• Interfaces de usuario basadas en gestos

• Videojuegos libres de controles

• Caracterizaci´on de personajes virtuales

La c´amaraRGB es igual que cualquier otra c´amara de color. El aspecto m´as relevante del sensor kinect es la t´ecnica empleada para calcular las distancias, la cual utiliza una nueva tecnolog´ıa basada en la proyecci´on de patrones de luz. Existen muchos tipos de dispositivos para realizar mediciones 3D del ambiente, la figura 2.6 muestra una clasificaci´on de los dispositivos basada en la t´ecnica utilizada.

El kinect se encuentra en la categor´ıa de dispositivos que calculan la pro-fundidad con base en la emisi´on de estructuras de luz (patrones). La figura 2.7 muestra los patrones de luz emitidos por el sensor.

Estos patrones son usados posteriormente para medir la distorci´on que sufre la luz y con esto calcular la profundidad.

(42)

Figura 2.6: Clasificaci´on de las t´ecnicas utilizadas para calcular profundidad.

(a) (b)

Figura 2.7: Patr´on de luz emitido por elkinect (speckle pattern) y utilizado para calcular la profundidad mediante triangulaci´on con un patr´on previamente conocido.

Algunas caracter´ısticas generales del sensor kinect son:

• RGB y mapa de profundidad alineados

• Resoluci´on del mapa de profundidad 640X480px • Resoluci´on de la imagen RGB 1600X1200px

• Tasa de procesamiento a 30f /s (frames por segundo)

• Rango de operaci´on [0.8m−4.0m]

• Resoluci´on espacial x/y 3mm a 2m de distancia

(43)

2.4 Sensor kinect 21

2.4.1

Limitaciones del

kinect

En el ap´endice C se describe la forma en la que el sensor kinect calcula la profundidad. A continuaci´on se listan una serie de limitaciones resultantes de la t´ecnica utilizada para la estimaci´on del mapa de profundidad.

• Debido a que el c´alculo de profundidades est´a basado en la emisi´on de patrones de luz y su posterior reconocimiento, superficies refractantes como cristales, pantallas, superficies lisas, etc., impiden la detecci´on de tales patrones e imposibilitan el c´alculo de la profundidad para esa zona.

• Aunado a lo anterior, condiciones de iluminaci´on extremas tambi´en ge-neran ruido en el mapa de profundidad.

• La separaci´on f´ısica que hay entre el emisor y el receptor de luz, ver figura 2.5, ocasiona un punto ciego donde no es posible computar la profundidad.

Para concluir esta secci´on, se analiza brevemente la figura 2.8.

Figura 2.8: Mapa de profundidad coloreado: imagen coloreada en un rango [rojo−azul] los p´ıxeles m´as rojos representan cercan´ıa y los m´as azules significan lejan´ıa.

En la imagen anterior se observa una especie de sombra negra que rodea la silueta de la persona y en general de todos los objetos. Como se mencion´o en el parrafo anterior, debido a la separaci´on entre el proyector y la c´amara IR, cada uno de los sensores observa un lugar diferente de la escena; es decir, hay partes de la escena que son cubiertas por el proyector pero no son vistas por

(44)

la c´amara y viceversa. De este modo la c´amara observa regiones donde no es proyectado ning´un patr´on de luz y por tal motivo no es posible computar la profundidad de esa zona. Esto produce el efecto “sombra” sobre la imagen, la figura 2.9 ejemplifica la situaci´on anterior.

Figura 2.9: Efecto sombra producido por la separaci´on entre el proyector y la c´amara IR: la separaci´on entre el proyector y la c´amara IR provoca que diferentes ´areas de la escena sean cubiertas por los diferentes sensores; es decir, el proyector recubre con el patr´on de luz parte de la escena que la c´amara no puede ver y esto produce puntos muertos en el mapa de

profundidad.

Para m´as detalles sobre el sensor kinect consultar la referencia Smisek et al. (2011).

2.5

Detecci´

on de marcadores de referencia y

estimaci´

on de pose

En esta secci´on se describen los procesos para detectar marcadores de referen-cia, ver figura 2.4, en una imagen capturada por la c´amara RGB del sensor kinect y calcular su posici´on con respecto a la c´amara. Los procesos antes mencionados son importantes dentro de esta investigaci´on ya que se pretende

(45)

2.5 Detecci´on de marcadores de referencia y estimaci´on de pose 23

agregar objetos virtuales sobre un punto en espec´ıfico, marcador de referencia, y con una orientaci´on adecuada respecto al marcador.

2.5.1

Detecci´

on de marcadores

Aplicaciones conAR requieren que se calcule la posici´on de la c´amara en tiem-po real y de forma precisa para tiem-poder agregar objetos virtuales en una tiem-posici´on adecuada dentro de la escena. El seguimiento de marcadores de referencia es una buena estrategia para estimar la pose de la c´amara, ya que es un m´ eto-do robusto y computacionalmente eficiente. Para poder estimar la pose de la c´amara, primero se debe de reconocer el marcador.

Reconocimiento de marcadores

En la secci´on 2.2 se dan detalles sobre marcadores de referencia, as´ı que se procede directamente a describir el proceso de reconocimiento de marcadores de referencia.

En una primera etapa, la imagen adquirida es pasada a una escala de gri-ses (figura 2.10(a)). Despu´es, se aplica una umbralizaci´on y los p´ıxeles que sobrepasan cierto nivel se consideran blancos, en caso contrario se consideran negros; de este modo la imagen es convertida a binaria (figura 2.10(b)). Al final, se recorre la imagen en busca de bordes; como la imagen est´a binarizada y el marcador negro esta rodeado de un fondo blanco, un simple m´etodo es aplicado; un p´ıxel negro a la derecha de un p´ıxel blanco se considera un borde de un marcador; cuando esta secuencia es encontrada se sigue el borde hasta que se cierra la cadena (forma un loop) o hasta que se alcanza el borde de la imagen. Aquellos bordes que formaron un ciclo son almacenados para ser analizados posteriormente (figura 2.10(c)), en caso contrario son descartados.

Es importante mencionar que regiones conectadas que no tienen un tama˜no suficientemente grande para ser un marcador (tama˜no dado por el usuario) son descartadas y as´ı se evita su an´alisis posterior.

(46)

(a) Escala de grises (b) Imagen binarizada (c) Pol´ıgonos encontrados

Figura 2.10: Detecci´on de marcadores de referencia, tomadas de Wagner (2007).

B´usqueda de rect´angulos

Para encontrar rect´angulos, se elige un punto X arbitrariamente sobre el con-torno, entonces se busca el punto m´as alejado a ´el y ese punto es considerado una primera esquinaC0 (ver figura 2.11(a)). Este m´etodo funciona para el caso

de rect´angulos, que son precisamente el tipo de marcadores que se utilizan en esta tesis. Despu´es, se calcula el centro de masa (centre) de todos los puntos que forman el contorno y se traza una l´ınea imaginaria que va de C0 a centre.

Con esto, se puede encontrar dos esquinas m´as (C1 y C2), una de cada lado

de la imagen, buscando en aquellos puntos que est´an m´as alejados de la l´ınea (figura 2.11(b)). El m´etodo se repite para cada nueva esquina encontrada (figu-ra 2.11(c)) y finaliza cuando no se pueden encont(figu-rar m´as esquinas o cuando ya se han encontrado m´as de cuatro esquinas. La longitud de la l´ınea que hay de C0 a centre es utilizada como un umbral para saber a que distancia deber´ıan

estar las otras esquinas (recordemos que se buscan rect´angulos). Si un punto cae por debajo del umbral, es considerado como parte de la l´ınea que define el contorno, en caso contrario se considera una esquina.

En esta etapa, son descartados aquellos contornos cerrados donde no se encontraron exactamente 4 esquinas. Aquellos contornos que pasaron la prueba son considerados rect´angulos. Entonces se calcula el ´area del rect´angulo y se descartan aquellos que son demasiado peque˜nos (el usuario define el tama˜no m´ınimo para el marcador).

(47)

2.5 Detecci´on de marcadores de referencia y estimaci´on de pose 25

(a) (b) (c)

Figura 2.11: B´usqueda de rect´angulos, tomadas de Wagner (2007).

An´alisis de marcadores

Una vez que se han detectado pol´ıgonos con 4 esquinas y un tama˜no apropia-do, es necesario comprobar si se trata de un marcador v´alido. La figura 2.12 muestra de manera general el proceso empleado para recuperar informaci´on del interior del marcador. El interior del rect´angulo es dividido en una cuadricula de tama˜no 6X6 y tomando como referencia un cierto umbral se decide si cada cuadro es blanco o negro. Al final se obtiene un conjunto de ceros y unos que representan un c´odigo. Para m´as detalles del proceso de decodificaci´on ver Wagner (2007).

(a) (b) (c)

Figura 2.12: Recuperaci´on del ´area interior del marcador, tomadas de Wagner (2007). (a) ´

area interior del marcador definida por los 4 v´ertices, (b) muestreo del ´area interior y (c) ´

area interior del marcador no proyectada (unprojected).

2.5.2

Estimaci´

on de pose

El problema de estimaci´on de pose es un tema de mucho inter´es enAR. Estimar con precisi´on el punto de vista del usuario es muy importante para generar una escena aumentada consistente. Hay muchos algoritmos para estimar la pose de

(48)

la c´amara, los cuales calculan los seis grados de libertad (6DOF1) de la c´amara

a partir de correspondencias con estructuras conocidas en la escena.

En teor´ıa, la pose de una c´amara previamente calibrada puede ser conocida a partir de 4 puntoscoplanares pero nocolineales (Schweighofer & Pinz, 2006). Partiendo de ese hecho, muchos algoritmos de estimaci´on de pose trabajan con marcadores de referencia cuadrados; identifican los cuatro cuatro v´ertices que definen el marcador y con base en ellos estiman la posici´on de la c´amara. Un enfoque para resolver este problema es el m´etodo iterativo en el cual se busca minimizar una funci´on de error entre lo observado y lo conocido. Resolver el problema de estimaci´on de pose de forma iterativa se puede resumir como sigue (Andersen, 2010):

• La idea b´asica es minimizar una funci´on de error (el error entre lo obser-vado y lo conocido)

• Aplicado en un espacio 2D o 3D

– 2D (en el plano de la imagen).

– C´alculo aproximado de una matriz de transformaci´on inicial.

– Los puntos 3D conocidos son proyectados sobre la imagen usando la matriz de transformaci´on inicial.

– La distancia entre lo medido y los puntos proyectados es usada como una funci´on de error.

– Se trata de minimizar este error.

• 3D

– Igual que en un espacio 2D, con la diferencia de que el error es la distancia entre la l´ınea trazada por el centro ´optico y el punto en el plano de la imagen.

1Seis grados de libertad (six degrees of freedom): se refiere al movimiento de un cuerpo en un espacio 3D; es decir, la capacidad de moverse adelante, atr´as, arriba, abajo, izquierda y derecha (traslaci´on en tres ejes perpendiculares) combinado con la rotaci´on en los mismos tres ejes (pitch, yaw, roll).

(49)

2.5 Detecci´on de marcadores de referencia y estimaci´on de pose 27

En Andersen (2010) se realizaron un conjunto de pruebas para comparar diferentes algoritmos de estimaci´on de pose disponibles en varias librer´ıas de c´odigo abierto. Los algoritmos evaluados fueron: Robust Pose Estimator from a Planar Target disponible en ARToolKitPlus, CamPoseCalib disponible en BIAS library, Kato et Al.’s algorithm from the original ARToolKit2 (Kato &

Billinghurst, 1999) disponible en ARToolKit y ARToolKitPlus y finalmente, Kato - continues una modificaci´on del anterior tambi´en disponible en ARTool-Kit. Algunos de los par´ametros evaluados fueron: tiempo de ejecuci´on, estabili-dad dependiendo de la distancia entre el marcador y la c´amara, estabilidad con movimiento de la c´amara y estabilidad dependiendo del n´umero de marcadores. Los resultados muestran que el algoritmo RPP es mejor, sobre todo cuando el n´umero de marcadores aumenta (un total de 6 marcadores).

En esta tesis se utiliza el algoritmo RPP, implementado en la librer´ıa AR-ToolKitPlus, para la estimaci´on de la pose. Este algoritmo es aplicable sola-mente a objetivos planos, este hecho permite tomar ventaja de los marcadores de referencia utilizados en la misma librer´ıa. A continuaci´on se describe el fun-cionamiento de tal algoritmo.

Algoritmo robust planar pose

Este algoritmo se puede considerar una extensi´on de los algoritmos de esti-maci´on ya conocidos en la literatura, ya que se puede aplicar con cualquier algoritmo iterativo. El algoritmo RPP, parte del hecho de que la funci´on de error podr´ıa tener m´as de un m´ınimo local (Schweighofer & Pinz, 2006). La figura 2.13 ilustra la idea general del algoritmo. Dada una rotaci´onβcon ´angulo α, ambos producen un m´ınimo local en la funci´on de error. En Schweighofer and Pinz (2006) la funci´on de error conocida como funci´on objeto-espacio est´a dada por la siguiente ecuaci´on.

(50)

Eos

ˆ

R,ˆt=X

I− ˆvivˆ

t i

ˆ vt

ivˆi

ˆ Rpi+ ˆt

2

Figura 2.13: Modelo simplificado de la idea general del algoritmo RPP, tomada de Schweighofer and Pinz (2006).

El algoritmo RPP trabaja de la siguiente manera:

1. Calcula una primer “suposici´on” de la pose ˆP1 con cualquier algoritmo

de estimaci´on. Entonces, ˆP1 es un m´ınimo local de Eos.

2. Transforma la funci´on de error a:

Eos γ, β,˜t = n X i=1

I− v˜i˜v

t i

˜ vt

i˜vi

Rz(γ)Ry(β)˜pi+ ˜t 2

• Resulta una funci´on de error que s´olo depende de la rotaci´on sobre dos ejes (z y y).

3. Extrae γ1 y β1 de la pose original ˆP1 y establece γ =γ1 en la nuevaEos.

4. Ahora, Eos s´olo depende de la rotaci´on sobre el eje y.

5. Resuelve Eos (un polinomio de grado 4) y guarda el m´ınimo local como

ˆ Pi.

6. Usa todas las ˆPi como “suposiciones” iniciales con el estimador de pose

inicial para encontrar la pose final.

7. Finalmente, selecciona la pose final y correcta, la cual tiene el menor error.

(51)

2.6 Correcci´on de im´agenes 29

En otras palabras, la funci´on puede ser reescrita para depender s´olo de la rotaci´on sobre un simple eje. Ver Schweighofer and Pinz (2006) para una descripci´on m´as detallada.

2.6

Correcci´

on de im´

agenes

Inpaintig (tambi´en conocido como interpolaci´on de una imagen) es un proceso de reconstrucci´on de partes da˜nadas o deterioradas de una imagen. Inpaintig, m´as que un algoritmo se refiere a la aplicaci´on de sofisticados algoritmos para restaurar partes da˜nadas de una imagen, generalmente partes peque˜nas.

Algunos m´etodos utilizados para inpainting son:

• Aplicaci´on de ecuaciones diferenciales tales como la ecuaci´on de Laplace.

• Seguimiento de is´otopos3.

• Procedimientos manuales como la herramienta clonar utilizados para copiar partes existentes de una imagen en partes da˜nadas (sobreponer texturas).

La figura 2.14 muestra una fotograf´ıa corregida utilizando la t´ecnica de in-painting. En Telea (2004) se presenta el algoritmoInpainting Teleapara realizar inpainting sobre una imagen, cosultar la referencia para m´as detalles.

(a) Imagen da˜nada (b) Imagen corregida

Figura 2.14: Aplicaci´on del algoritmoinpainting en fotograf´ıa digital.

(52)

2.7

Remoci´

on de superficies ocultas (

hidden

surface removal, HSR

)

En graficaci´on por computadora, HSR determina cuales pol´ıgonos est´an m´as cercanos al observador para un p´ıxel determinado. Este precedimiento tiene como objetivo acelerar el proceso de renderizado, evitando dibujar caras que no son visibles desde un ´angulo dado. El criterio a seguir para eliminar superficies ocultas es el siguiente. Un punto P ocluye a un punto Q (por lo tanto, Q est´a oculto) si P y Q est´an sobre la misma l´ınea de visi´on y P est´a entre la ubicaci´on de la c´amara (o el ojo) y Q. Calcular la l´ınea de visi´on es dif´ıcil con una proyecci´on perspectiva (frustum), pero normalizando esta proyecci´on a un cubo (esto se hace con una matriz de proyecci´on) se transforma la l´ınea oblicua a una l´ınea recta paralela al eje Z (figura 2.15).

Figura 2.15: Transformaci´on de proyecci´on perspectiva a ortogonal.

Por lo tanto, HRS es realizada despu´es de que la matriz de proyecci´on es aplicada, justo entre la transformaci´on de proyecci´on y la transformaci´on del viewport (ver figura 2.16). Para m´as detalles acerca de HSR ver el cap´ıtulo cinco de la referencia Shreiner (2009).

Una vez aplicada la transformaci´on de proyecci´on el algoritmo general para hacer HSR puede ser aplicado (algoritmo 2.1).

(53)

2.7 Remoci´on de superficies ocultas (hidden surface removal, HSR) 31

Algoritmo 2.1 Z-buffer

Entrada: b, P # b = background, color inicial para el buffer de color, P = conjunto de pol´ıgonos para ser dibujados

1. Inicializa el buffer de color, F B[x, y] =b 2. Inicializa el buffer de profundidad, Z[x, y] = 1

3. para todopoligono ∈P hacer

4. para todo pixel(x, y)∈poligono hacer

5. siz ≤Z[x, y]entonces

6. Z[x, y]←z

7. F B[x, y]←color del pixel[x, y]

8. fin si

9. fin para

10. fin para

2.7.1

Etapas de transformaci´

on de v´

ertices

Antes de que los datos (v´ertices) sean escritos en el buffer de profundidad tienen que pasar por una serie de transformaciones. La figura 2.16 describe las transformaciones aplicadas a los v´ertices antes de ser almacenados en el buffer y en la tabla 2.1 se muestran las ecuaciones aplicadas durante cada etapa (McReynolds & Blythe, 2005).

(54)

Tabla 2.1: Operaciones aplicadas durante la transformaci´on de v´ertices.

Nombre Significado Operaci´on Expresi´on Rango

Ze Distancia al

viewpoint Obtenida por elkinect [0,3500mm]

Zc

Clip coordenado despu´es de la transformaci´on de

proyecci´on

Mortho∗Mperspective∗

[Xe Y e Ze W e]T Zc=

Ze∗(f+n)

f−n −

2∗f∗n∗W e

f−n [−n, f]

Zndc normalized device

coordinate Zc/W c(W c=Ze) Zndc=

f+n f−n−

2∗f∗n

Ze∗(f−n) [−1,1]

Zd Valor enviado al

z-buffer (Zndc+ 1)/2 Zd=

f+n

2∗(f−n)−

f∗n

Ze∗(f−n)+ 0.5 [0,1]

donde:                                                       

Ze= distancia al punto de visi´on (viewpoint)

Zc= clip coordenado (clip coordinate) despu´es de la transformaci´on de proyecci´on

transf ormationZndc= (normalized device coordinate) Zd= valor almacenado en el buffer de profundidad

W e= componente homog´eneo en coordenadas ojo (eye coordinate), igual a 1 W c= componente homog´eneo en el clip coordenado (clip coordinate)

n= plano cercano de proyecci´on f = plano lejano de proyecci´on

2.8

Evaluaci´

on

Dentro de la literatura reportada (Dong et al., 2011; Zhu et al., 2010; Fischer et al., 2007; Li et al., 2007), no hay una m´etrica cuantitativa para evaluar el mane-jo de oclusi´on en ambientes de realidad aumentada. Los art´ıculos al respecto se eval´uan cualitativamente, comparando visualmente sus im´agenes con las de otros trabajos. En esta investigaci´on se utiliza tambi´en una m´etrica cualitativa, basada en la opini´on de los usuarios. Se eval´uan tres aspectos fundamenteles: relaci´on espacial, manejo de oclusi´on y rango de distancia.

(55)

2.9 Resumen 33

decir, si el objeto virtual agregado mantiene las relaciones espaciales con los objetos reales. Eval´ua la capacidad que tiene el usuario para moverse libremente por enfrente y por detr´as del modelo virtual.

Manejo de oclusi´on:eval´ua la calidad de la oclusi´on. Seg´un la percepci´on del usuario, que tan bien son ocluidos los modelos virtuales por alg´un objeto real.

Rango de distancia:eval´ua la distancia real del objeto virtual en el mun-do. Dado un punto de referencia (un marcador) el usuario eval´ua si la distancia del objeto corresponde con la distancia del marcador.

Las posibles respuestas que el usuario puede dar son: muy mal, mal,

regular, bien y muy bien, cuyos valores son del [1−5] respectivamente. Para que el usuario tenga un punto de referencia al momento de evaluar, se le muestran im´agenes de trabajos previos reportados en la literatura, ver figura 2.17 a continuaci´on.

2.9

Resumen

En este cap´ıtulo se concentra la teor´ıa necesaria para desarrollar el m´etodo propuesto en esta investigaci´on. Adem´as, sirve de apoyo para resolver dudas relacionadas con la estrategia de soluci´on presentada.

AR es un campo muy extenso y sigue incorporando ´areas con la finalidad de brindarle al usuario una experiencia casi real dentro de un mundo aumentado. Un sistema de AR se integra de varios componentes y puede emplear diversas tecnolog´ıas tanto para despliegue de contenido virtual como para interacci´on con ´el mismo.

La primera parte del cap´ıtulo, secciones 2.1-2.4, busca poner en contexto al lector sobre el tema tratado. Se presenta un panorama general de lo que esAR, espec´ıficamente VAR, se da a conocer un poco de historia, las limitaciones y bondades de este tipo de sistemas y se introduce el concepto de marcadores de

(56)

(a) (b) (c)

(d) (e) (f)

(g) (h)

Figura 2.17: Trabajos de referencia para la etapa de evaluaci´on: (a)-(f) resultados del m´etodo propuesto por Kamat and Dong (2011); (g)-(h) resultados del m´etodo propuesto por Fischer

et al. (2007).

referencia. En esta primera parte, tambien se presenta el sensorkinect utilizado para la obtensi´on de mapas de profundidad en tiempo real.

En una segunda parte (secciones 2.5-2.8) se muestran los temas directa-mente aplicables a esta tesis. Se presentan las bases formales que sustentan algunos de los algoritmos utilizados y se expone la forma de evaluar el m´ eto-do propuesto. Recapitulaneto-do, el cap´ıtulo concentra lo necesario para atacar el problema planteado en esta investigaci´on.

En el siguiente c´apitulo se presenta un concentrado de los trabajos m´as relevantes en cuanto a manejo de oclusi´on en AR y se discuten las ventajas y limitaciones de los mismos.

(57)

Cap´ıtulo 3

Trabajo relacionado

En este cap´ıtulo se describen los trabajos m´as relevantes sobre manejo de oclusi´on en AR. Antes de abordar el estado del arte se presenta un resumen sobre el campo de aplicaci´on de la AR, con el proposito de resaltar la impor-tancia que tiene esta ´area. Adem´as, se busca ayudar al lector a comprender como puede sacar provecho de todo el potencial que ofrece la AR.

3.1

Aplicaciones

A lo largo de los a˜nos muchas ´areas se han visto beneficiadas por la AR. Los primeros sistemas se enfocaron en aplicaciones m´edicas, militares e industriales; pero pronto aparecieron sistemas de AR para uso comercial y entretenimiento (Krevelen & Poelman, 2010). Esta secci´on describe algunas ´areas de aplicaci´on de la AR.

3.1.1

Aplicaciones m´

edicas y militares

Dentro del ´area de la medicina, doctores y enfermeras podr´ıan beneficiarse con el uso de AR. Por ejemplo, informaci´on valiosa podr´ıa ser desplegada en tiempo real directamente sobre los lentes del personal o sobre un monitor. Los cirujanos podr´ıan tambi´en obtener ventaja de estos sistemas. Por ejemplo, un

(58)

sistema de visualizaci´on y entrenamiento asistido para cirug´ıas; en el cual, se proyecten modelos anat´omicos directamente sobre el quir´ofano o un conjunto de instrucciones virtuales que sirvan de gu´ıa en un determinado procedimiento. Sin embargo, este tipo de sistemas requieren un registro muy preciso de los objetos virtuales y un manejo adecuado de oclusi´on para garantizar un beneficio significativo para el usuario.

La figura 3.1 muestra algunas aplicaciones de la AR en el campo de la medicina.

(a) (b)

(c) (d)

Figura 3.1: Aplicaciones m´edicas de la realidad aumentada: (a) y (b) visualizaci´on simulada para el ojo izquierdo y derecho en una cirug´ıa de laparoscopia, (c) imagen de rayos x so-brepuesta en el paciente, tomadas de Krevelen and Poelman (2010, p. 13); (d) feto virtual

dentro del ´utero de una paciente embarazada, tomada de R. T. Azuma (1997, p. 4).

Por otro lado, desde hace varios a˜nos atr´as, sistemas de realidad aumentada han sido utilizados dentro del campo militar. El principal uso de AR dentro de la milicia ha sido en aeronaves militares, en las cuales se han utilizado dispositivos con despliegue de im´agenes integrado tales como pantallas (

Referencias

Documento similar

"No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

El fenómeno del cuidado, emerge como necesidad la simbiosis entre el proceso de enfermería y su transcendencia en la investigación científica a través de la enfermería basada

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

Nuestro objetivo de partida es que se puede modelizar la representaci´on de las propiedades m´etricas de los objetos, informaci ´on que es necesaria para coger dicho objeto, mediante