Synthetic Vision Tesis de Licenciatura Octubre 7, 2002 Autor: Enrique, Sebastian An Investigation Into the Use of for NPC’s/Agents in.

Slides:



Advertisements
Presentaciones similares
Dispersión clásica de partículas cargadas
Advertisements

Tiro Parabólico Supongamos que se dispara un proyectil, con velocidad inicial v0, desde una altura h, formando un ángulo  con la horizontal. Se pretende.
IPEP de Cádiz - Dpto. de Física y Química
Desarrollo de Juegos de Video en 3D
Estudio de un Movimiento Bidimensional en el Fútbol
TEMA 7 CINEMÁTICA Primera Parte.
Prof. Ciencias Naturales y Física
Movimiento en 2 dimensiones. 2
Espacios de dimensión infinita
Representación en espacio de estado
Recursos matemáticos para física
ILUMINACIÓN Un modelo de iluminación sirve para asignar un valor de iluminación a los puntos de la imagen. Se define una ecuación de iluminación. Lighting.
LA CLASE VIRTUAL LOS NUMEROS COMPLEJOS.
C 1 CINEMÁTICA Movimiento Mecánico. Bases para su estudio.
BASES de la ELECTROMEDICINA
Inteligencia Artificial (BAIA)  Se propone lograr que las computadoras se comporten de manera que podamos reconocerlas como inteligentes.  Tiene por.
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Inteligencia artificial
Vectores en el plano. Producto escalar.
Real Time Global Illumination for Dynamic scenes Alejandro Drago Cesar Villasana
Supongamos que nos plantean el siguiente problema:
Profesor: Carlos Alvarado de la Portilla
MAGNITUDES VECTORIALES
Descripción del movimiento
Representación del conocimiento
Ejemplo de aplicación de las ANN
Prof. Ciencias Naturales y Física
DISEÑO E IMPLEMENTACION DE UN ROBOT SEGUIDOR DE LINEA CARGUERO
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
Aplicaciones de Técnicas de IA Ana Lilia Laureano-Cruces UAM-A.
(Organización y Manejo de Archivos)
Cap. 2 – Movimiento en Una Dimension
Despliegue de Volúmenes
Vectores.
INVESTIGACION DE OPERACIONES
Using Synthetic Vision for Autonomous Non-Player Characters in Computer Games ASAI 2002 – 31º JAIIO Santa Fe – Argentina Septiembre 2002 Autores: Enrique,
El tornillo y el producto cruz
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
Mapeo de Texturas Capitulo 9 de Angel. Detalle de superficie Hasta ahora hemos visto como crear superficies uniformes planas o bicúbicas, y hemos animado.
CONCEPTOS BÁSICOS DE MECÁNICA CUÁNTICA
CAPÌTULO 1 Vectores en el espacio
Rep.TexturasA. García-Alonso1 >> Representación
ELEMENTOS DE ÁLGEBRA Y CÁLCULO VECTORIAL
Laboratorio de Computación Grafica Universidad Central de Venezuela
Televisores 3D José Luis León Hidalgo. Televisión 3D La Televisión 3D se refiere a un televisor que permite visualizar imágenes en 3 dimensiones, utilizando.
Tema 6: Programación L. Enrique Sucar Marco López ITESM Cuernavaca
ACELERACIÓN LIC. SUJEY HERRERA RAMOS.
DINAMICA GENERAL DE LA PARTICULA
Física Movimiento en 2 dimensiones
Tiro Parabólico Supongamos que se dispara un proyectil, con velocidad inicial v0, desde una altura h, formando un ángulo  con la horizontal. Se pretende.
Introducción & estática de partículas
Cap. 7 Energía Cinética y Trabajo
1JUAN LUIS CHAMIZO BLÁZQUEZ SOLUCIÓN: 27.-Definir el producto escalar de dos vectores y enunciar su relación con los conceptos de ángulo y distancia entre.
Estudio dinámico de un movimiento
REPASO DE FÍSICA Física 2º Bto 18/04/ /04/2017
MOVIMIENTO CURVILINEO
DEFINICIÓN DE VECTORES
CINEMATICA Definición MRU Móv. Circular MRUV Móv. Armónico Simple
CINEMÁTICA La cinemática estudia el movimiento sin interesarse en qué es lo que lo causa. Se describe de qué manera se mueve una partícula. Para describir.
y x t1t1 t2t2 A B r(t 1 ) r(t 2 ) r(t 1 ) Vector posición en el instante t 1 r(t 2 ) Vector posición en el instante t 2.
TEMA 2 Análisis Matemático II Presentaciones en el Aula
Análisis cinemático: ACELERACION
Escuela de Ciencias Básicas Tecnología e Ingeniería UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA SEPTIEMBRE.
El movimiento vibratorio
OPTIMIZACION DEL DESEMPEÑO DE ERROR
UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TACHIRA UNIDAD DE ADMISION CURSO PROPEDEUTICO ASIGNATURA FISICA Prof. Juan Retamal G.
Estrategias Mixtas En teoría de juegos una estrategia mixta, a veces también llamada estrategia mezclada (del nombre en inglés mixed strategy), es una.
Roger Miranda Colorado
An Investigation Into the Use of
Transcripción de la presentación:

Synthetic Vision Tesis de Licenciatura Octubre 7, 2002 Autor: Enrique, Sebastian An Investigation Into the Use of for NPC’s/Agents in Computer Games Director: Watt, Alan Co-Director: Mejail, Marta Departamento de Computación – Facultad de Ciencias Exactas y Naturales – Universidad de Buenos Aires

Synthetic Vision en Juegos Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Objetivo Lograr mayor nivel de realismo en los personajes manejados por la computadora (NPC o Non-Player Characters) utilizando técnicas de sensado del ambiente para que el módulo de inteligencia artificial (IA) que gobierna el comportamiento de cada agente, lo haga exclusivamente mediante el uso de esa información sensada. Medio Inicialmente un sistema de sensado visual que produzca con alguna representación semántica lo que el agente está viendo en cada momento. Ese sistema es lo que se propone en este trabajo. Potencial Generar personajes totalmente autónomos, que sensen el ambiente de un modo similar al que lo hace un humano, y lleven la experiencia de cada juego y jugador a niveles nunca antes logrados.

Synthetic Vision vs Computer Vision Computer Vision Técnica utilizada en robots reales. Es difícilmente aplicable para crear agentes autónomos complejos en aplicaciones en tiempo real como los juegos de computadora. Lidia con: Detección de distancias. Reconocimiento de formas. Ruido. Synthetic Vision Técnica utilizada para agentes en mundos virtuales. Es una representación en 2D de lo que el agente ve en un instante dado en su mundo 3D. Permite tratar fácilmente problemas de: Percepción de profundidad. Reconocimiento de objetos. Detección de movimiento. Sin Visión Computer Vision Synthetic Vision An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Trabajo Previo An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 Olivier Renault utiliza en 1990 una visión sintética de 30x30 píxeles para animación, valiéndose del front buffer para rendering normal, del back buffer para identificación de objetos, y del z-buffer para distancias. Propone comportamientos de alto nivel para atravesar un corredor evitando obstáculos. Terzopoulos propone en 1994 un sistema de visión estereoscópica para simular la visión de peces artificiales. Hansrudi Noser utiliza en 1995 una visión sintética para navegación de un actor digital. Emplean una memoria por medio de voxels para evasión de obstáculos y representación de conocimiento. Bruce Blumberg propone en 1997 una visión sintética basada en energía de movimiento para navegación en bajo nivel y evasión de obstáculos de un perro virtual. James Kuffner en 1999 realiza una visión sintética con falso coloreo y memoria visual para resolver cuestiones de navegación. Ninguno de los trabajos anteriores se enfoca en la realización de un sistema de visión sintética para el uso en los juegos de computadora.

Synthetic Vision Propuesto Viewport Estático Utiliza falso coloreo para identificación de objetos. Provee adicionalmente información de profundidad. Viewport Dinámico Utiliza falso coloreo para representación de movimiento instantáneo. Propuesta De la escena renderizada desde el punto de vista del agente, se generan dos viewports. Uno conteniendo información estática, el Static Viewport, y el otro conteniendo información dinámica, el Dynamic Viewport. La información está dada por falso coloreo en cada píxel, brindando una semántica al color representado, en el modelo RGB. An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Static Viewport Color de la Estructura Los polígonos de la estructura de la escena se dividen en tres clases: Piso: Polígonos con la componente Z de la normal mayor o igual a 0.8. Utilizamos el color verde (0.0, 1.0, 0.0). Techo: Polígonos con la componente Z de la normal menor o igual a Utilizamos el color rojo (1.0, 0.0, 0.0). Pared: El resto de los polígonos. Utilizamos el color azul (0.0, 0.0, 1.0). (la coordenada Z apunta hacia el cielo) An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Static Viewport (cont.) Color de Otros Objetos A cada clase de objeto se le asigna un único color. Por ejemplo: Todo power-up de energía se representa con (1.0, 1.0, 0.0). Todo power-up de municiones se representa con (0.0, 1.0, 1.0). Todo enemigo de infantería se representa con (0.2, 1.0, 0.6). Toda persona inocente se representa con (0.7, 0.7, 0.5). An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Static Viewport (cont.) Profundidad El uso de la tecnología actual de motores 3D y hardware de aceleración 3D permiten obtener ‘gratis’ la información de profundidad tomada del Z-Buffer. A cada coordenada (x, y) del Static Viewport, corresponderá una coordenada (x, y) en el Z-Buffer que contiene un número real entre 0 y 1, llamémoslo d x,y. Para calcular la distancia perpendicular d a la que se encuentra lo que representa dicho píxel del agente: d = ( f – n ). d x,y + n f es la distancia al plano más lejano del View Frustum. n es la distancia al plano más cercano del View Frustum. far near View Frustum Viewpoint An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Dynamic Viewport Semántica del Color Cada píxel con coordenadas (x, y) en el viewport dinámico representa la información de movimiento instantánea del objeto con coordenadas (x,y) en el viewport estático. Sea V el vector velocidad del objeto en las coordenadas dichas, y D el vector de dirección de visión del agente, cada componente de color se obtiene como: Rojo: Mapeo de la magnitud de V, ||V||  [0, V máx ], en el intervalo [0, 1]. Verde: Mapeo del coseno del ángulo entre V y D,  [-1, 1], al intervalo [0, 1]. Azul: Mapeo directo del seno del ángulo entre V y D,  [0, 1], al intervalo [0, 1]. An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Dynamic Viewport (cont.) Semántica del Color (cont.) Si normalizamos los vectores: V N = V / ||V||yD N = D / ||D|| El coseno puede obtenerse como: cos(V, D) = V N. D N = V N1. D N1 + V N2. D N2 + V N3. D N3 Y el seno: sen(V, D) =  (1 – cos 2 (V, D)) Por lo tanto, todo objeto inanimado se verá con color (0.0, 0.5, 1.0), un tono azulado: por tener velocidad cero, se asume un coseno también en cero, y produce un seno en uno. An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Módulo de IA Descripción Desarrollamos un módulo de IA muy simple para demostrar cómo podría ser usada la visión sintética. Consiste en dar comportamiento autónomo a un NPC, sin memoria, dentro de un juego del género FPS (First Person Shooter). El comportamiento está basado en reglas y es reactivo. Sobre el FPS El NPC, Bronto, cuenta con dos propiedades: Energía y Municiones. El modelo de un FPS se ha simplificado: no es posible que Bronto dispare con armas o reciba impacto de armas enemigas. Tanto la energía como las municiones disminuyen linealmente, cuando la energía de Bronto llega a 0, muere. Bronto puede incrementar los valores de energía y municiones recogiendo power- ups del piso. An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Módulo de IA (cont.) LW LH WA LHW LQW LQHLQH H=Hini W=Wini H lt  H<H ut W ut  W H ut  H W ut  W H ut  H W lt  W<W ut H lt  H<H ut W lt  W<W ut H<H lt H lt  H W<W lt Comportamiento Estático Se definen una serie de estados en los cuales Bronto estará dependieno de los valores de sus propiedades energía y municiones. Lo llamamos comportamiento estático porque se resuelve con el viewport estático y profundidad. Las variables a tener en cuenta son: H: Energía actual de Bronto. H ini : Energía inicial de Bronto. H ut : Umbral superior de energía. H lt : Umbral inferior de energía. Análogas para municiones (W xx ). Estados WA (Walk Around). LH (Looking-For Health). LW (Looking-For Weapon). LHW (Looking-For Health and Weapon). LQW (Looking Quickly for Weapon). LQH (Looking Quickly for Health). An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Módulo de IA (cont.) Walk Around Bronto está en este estado cuando no tiene ningún objetivo en concreto. Se dedica sólo a caminar evitando obstáculos. A través de una heurística, se elige un punto de destino que corresponda a piso en el static viewport. A través de una desproyección, se obtiene el punto de destino en coordenadas del mundo. Luego, se traza una curva de Bezier entre Bronto y el punto de destino, que será el camino que Bronto recorrerá. Si no es posible encontrar un punto de destino, Bronto intenta girar aleatoriamente a izquierda o derecha. Si se detecta que Bronto está estancado, rota 180º. Este procedimiento se repite cada vez que Bronto ya recorrió un porcentaje determinado de la última curva trazada. An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Módulo de IA (cont.) Heurística Walk Around An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 B waupd B walpd 2 * B bbr + 1 Estrategia: Camino libre central Estrategia: Camino libre más a la derecha de la mitad izquierda del viewport B waupd B walpd 2 * B bbr + 1 B waupd B walpd 2 * B bbr + 1

Módulo de IA (cont.) Heurística Walk Around (cont.) An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 Estrategia: Falla B waupd B walpd 2 * B bbr + 1 B waupd B walpd 2 * B bbr + 1 B waupd B walpd 2 * B bbr + 1 B waupd B walpd 2 * B bbr + 1

Módulo de IA (cont.) Heurística Walk Around: Giro An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 B waupd B walpd 2 * B bbr + 1B waupd B walpd 2 * B bbr + 1 B waupd Si hubo falla, se intenta girar aleatoriamente a izquierda o derecha.

Módulo de IA (cont.) Looking-For Bronto está en este estado cuando está necesitado de algún o ambos power-ups. En LW, LH, y LHW Bronto camina, mientras que en LQW y LQH corre. A través de una heurística, se recorre el static viewport obteniendo todos los objetos que correspondan al power-up buscado. Luego, se selecciona el power-up más cercano a Bronto, y se busca la coordenada en el viewport que corresponda a piso, esté a la misma profunidad que el power-up, y se encuentre debajo del mismo. Esa coordenada es la que se establece como la de destino para luego desproyectar y trazar la curva de Bezier. Si no había ningún power-up del buscado o la heurística falló al intentar encontrar una coordenada en el viewport que corresponda a piso con las características mencionadas, se ejecuta el comportamiento Walk Around. Como en Walk Around, este proceso de selección de destino se repite cada vez que Bronto recorrió un porcentaje determinado de la última curva de bezier trazada. An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Módulo de IA (cont.) Heurística Looking-For An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002  x,  y   0, cantidad de píxeles de tolerancia en el viewport estático para los ejes x e y.  d  , 0   d  1, tolerancia en el depth buffer para la profundidad. PUr, bounding box radio del power-up en píxeles.  x =  y = PUr * o.depth  d = PUr * ( NP / FP ) Armar lista objectlist vacía Recorrer el static viewport Si el píxel p es un power-up de la clase buscada entonces Para cada objeto o de la lista objectlist Si p.x  [o.x -  x, o.x +  x] y p.y  [o.y -  y, o.y +  y] y p.depth  [o.depth -  d, o.depth +  d] entonces Se trata de un píxel del objeto o, dejar de comparar objetos y seguir con el próximo píxel del viewport. Si p no pertenecía a ningún objeto, agregar un objeto o’ a objectlist con: o'.x = p.x;o'.y = p.y;o'.depth = p.depth;

Problemas Conocidos The Higher Floor Problem An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 Lo que no es piso propiamente dicho, pero se dibuja en el static viewport con el color del piso debido a la normal del polígono, Walk Around no sabe identificarlo y puede producirse que Bronto se quede estancado intentando atravesar obstáculos como si no existieran.

Problemas Conocidos (cont.) The Perspective Problem An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 Como Walk Around utiliza un rectángulo para determinar puntos de destino en el static viewport, no se está teniendo en cuenta el efecto de la perspectiva, esto produce que Bronto esté ‘corto de vista’ y elija destinos relativamente cercanos. B waupd B walpd 2 * B bbr + 1 B waupd Como B bbr es un valor estimado y está obtenido experimentalmente para no estar ‘demasiado corto de vista’, Bronto también podría intentar pasar por lugares donde no cabe.

Problemas Conocidos (cont.) The Looking-For Problem An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 La heurística utilizada en Looking-For no toma en cuenta obstáculos ni el ancho de Bronto, causando que se quede estancado si algo interfiere en el camino entre su posición actual y el destino deseado. PU Bronto PU Bronto ProblemaSolución Otros Casos con Problemas PU Bronto PU Bronto

Módulo de IA (cont.) Comportamiento Dinámico Para demostrar un posible uso del viewport dinámico, agregamos comportamientos reactivos ante la presencia o ausencia de enemigos. Específicamente utilizamos la componente verde para saber si el objeto viene (cos(V,D)<0) o se aleja (cos(V,D)  0) de Bronto. Los estados definidos son: Don’t Worry  No Hay Enemigo  (Hay Enemigo  ( H < H ut  W < W ut )  cos(V,D)  0) Cuando no hay enemigos o todos los que se ven se alejan de Bronto y alguna propiedad está por debajo del umbral superior; se debe continuar con el comportamiento estático. Avoid  Hay Enemigo  ( H < H ut  W < W ut )  cos(V,D) < 0 Cuando se ve al menos un enemigo que se acerca a Bronto y alguna propiedad está por debajo del umbral superior; debe evitarse. Intercept  Hay Enemigo  H  H ut  W  W ut Cuando se ve al menos un enemigo y ambas propiedad están por encima del umbral superior; debe interceptarse. Intercept Don’t WorryAvoid An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Demostración An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Conclusiones El sistema de visión sintética propuesto brinda la suficiente información como para poder ser usado en módulos de IA para crear NPC’s más reales, sensando el ambiente en lugar de acceder directamente a la información del juego. El sistema de visión es perfecto en el sentido que las condiciones de luz no están consideradas en el falso coloreo: un objeto en una zona poco iluminada, que sería difícil de ver, es percibido perfectamente igual que si estuviera plenamente iluminado. La información brindada por el viewport dinámico también es perfecta. Podría agregarse ruido para hacerlo ‘más humano’. Se ha implementado un simple agente sin memoria con resultados satisfactorios, el desafío ahora es agregar memoria y aprendizaje, y posiblemente otros sentidos como el auditivo. An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002

Trabajo a Futuro An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 Experimentar con representaciones ‘no humanas’: visión infrarroja, sensado de calor, etc. Investigar variantes en la representación para tener en cuenta los efectos de iluminación. Investigar cómo sería posible agregar un índice de ‘cansancio visual’. Computación Gráfica Inteligencia Artificial Hacer uso de la visión mediante un agente con memoria. Agregar técnicas de apendizaje. Permitir interacción con otros NPC’s. Brindar atributos de personalidad para crear un personaje con ‘vida propia’. Además... Integrar el sistema de visión propuesto en todos los géneros de juegos 3D. Realizar un juego completo utilizando únicamente visión sintética. Ampliar el sistema de sensado con el resto de los sentidos. Investigar posibilidades de nuevos géneros y gameplay que podrían obtenerse a partir de un mundo habitado por personajes completamente autónomos.

Preguntas An Investigation Into the Use of Synthetic Vision for NPC’s/Agents in Computer Games Sebastian Enrique Tesis de Licenciatura DC – FCEyN - UBA Octubre 7, 2002 Synthetic Vision An Investigation Into the Use of for NPC’s/Agents in Computer Games Autor: Enrique, Sebastian Watt, Alan Co-Director: Mejail, Marta