UNIVERSIDAD DE MURCIA
FACULTAD DE INFORMÁTICA
ASIGNATURA
PROYECTO INFORMÁTICO
TIERRA INHÓSPITA
DESARROLLO DE UN INTERFACE
PERCEPTUAL PARA LA
NAVEGACIÓN EN UN MUNDO
VIRTUAL 3D.
Autor
Director
Junio 2004
Sergio Fructuoso Muñoz
[email protected]
Ginés García Mateos
Departamento de Informática y Sistemas
[email protected]
2
Gracias a mi familia, Ginés y a mi “niña” Ana.
3
4
Resumen
En este proyecto abordamos el análisis, diseño y desarrollo de un interfaz perceptual
aplicado a la navegación en un entorno virtual tridimensional. La emergente área de los interfaces
perceptuales es un ámbito de investigación en el que confluyen dos grandes campos de la
informática: la programación gráfica y la visión por computador. El objetivo final de esta área es
crear nuevos y más naturales mecanismos de interacción hombre/máquina, que sustituyen o
complementan a los métodos tradicionales. En el sistema tratado en este proyecto, la entrada se
realiza mediante la detección y seguimiento de una cara, interpretando en cada momento en qué
dirección estamos mirando y si nos estamos moviendo. El desarrollo del proyecto ha requerido el
estudio, análisis y aplicación de las técnicas y herramientas existentes en la generación de entornos
3D, en la adquisición y procesamiento de imágenes, y en los problemas de detección y seguimiento
de las caras humanas.
En concreto, para el desarrollo de la aplicación hemos usado Visual Studio .NET 2003 y el
código lo hemos escrito en C++. Hacemos uso de las herramientas DirectX 9.0, OpenCV e Intel®
Image Processing Library. Además ha sido necesario investigar en los problemas de extracción de
información 3D a partir de imágenes de caras humanas. Se ha realizado una propuesta
esencialmente basada en heurísticas, que ha demostrado su viabilidad en el prototipo
implementado.
Palabras clave: visión artificial, seguimiento 3D, seguimiento de la cara, interfaces
perceptuales y entornos virtuales.
5
Índice General
1. Introducción y referencias históricas........................................................................................................11
1.1 Los retos en el campo de la visión artificial .....................................................................................11
1.2 Entorno virtual en primera persona..................................................................................................12
1.3 El entorno virtual “Tierra inhóspita”................................................................................................13
1.4 Organización del documento .............................................................................................................14
2. Análisis de Objetivos...................................................................................................................................17
2.1 Objetivos y alcance del proyecto .......................................................................................................17
2.2 Qué no es objetivo del proyecto........................................................................................................17
2.3 Plan de trabajo ......................................................................................................................................18
3. Tecnologías y herramientas utilizadas ......................................................................................................21
3.1 Técnicas utilizadas................................................................................................................................21
3.1.1 Integrales proyectivas...................................................................................................................21
3.1.2 Motor Gráfico...............................................................................................................................25
3.1.3 Colocar objetos en el mundo......................................................................................................30
3.1.4 Luces...............................................................................................................................................32
3.1.5 Texturas..........................................................................................................................................33
3.1.6 Sonidos ...........................................................................................................................................33
3.1.7 Aceleración del renderizado........................................................................................................33
3.2 Herramientas utilizadas .......................................................................................................................36
3.2.1 Elección del lenguaje....................................................................................................................36
3.2.2 Intel® Image Processing Library ...............................................................................................37
3.2.3 OpenCV .........................................................................................................................................37
3.2.4 3D Studio Max ..............................................................................................................................37
3.2.5 DirectX 9.0 ....................................................................................................................................37
4. Diseño y resolución del proyecto..............................................................................................................39
4.1 Estructura del proyecto.......................................................................................................................39
4.2 Detección y seguimiento de caras......................................................................................................39
4.3 Detección de movimientos.................................................................................................................40
4.3.1 Movimiento en el eje X................................................................................................................40
4.3.2 Movimiento en el eje Y................................................................................................................41
4.3.3 Movimiento en el eje Z................................................................................................................42
4.3.4 Giro en el eje X.............................................................................................................................43
4.3.5 Giro en el eje Y .............................................................................................................................44
4.3.6 Giro en el eje Z .............................................................................................................................45
4.4 Priorizar los movimientos...................................................................................................................46
4.5 Intentando reducir el ruido en las detecciones................................................................................47
4.6 Entorno virtual 3D ..............................................................................................................................47
4.7 Interacción con el mundo virtual.......................................................................................................49
4.7.1 Moviéndonos por el entorno......................................................................................................49
4.7.2 Movimientos dentro del plano lógico........................................................................................54
4.7.3 Detección de colisiones ...............................................................................................................55
4.8 Pintar la escena .....................................................................................................................................58
4.8.1 ¿Qué vemos?..................................................................................................................................58
4.8.2 Efecto de niebla ............................................................................................................................58
4.9 Sonidos...................................................................................................................................................59
4.10 Entrada por teclado ...........................................................................................................................59
5. Conclusiones y trabajos futuros ................................................................................................................61
5.1 Una vista atrás.......................................................................................................................................61
5.2 Dificultades y limitaciones ..................................................................................................................61
5.3 Vías futuras............................................................................................................................................62
5.4 Objetivos cumplidos............................................................................................................................62
Bibliografía........................................................................................................................................
Comentarios de: Desarrollo de un interface perceptual para la navegación en un mundo virtual 3D (0)
No hay comentarios