Desarrollo de una aplicación Flash mediante control de movimiento usando técnicas de visión...
-
Upload
cristina-urdiales -
Category
Engineering
-
view
117 -
download
2
Transcript of Desarrollo de una aplicación Flash mediante control de movimiento usando técnicas de visión...
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 1
Desarrollo de una aplicación Flash Desarrollo de una aplicación Flash mediante control del movimiento mediante control del movimiento
utilizando técnicas basadas en utilizando técnicas basadas en visiónvisión
Realizado por: Laura Baena GarridoRealizado por: Laura Baena Garrido
Dirigido por: Cristina Urdiales Dirigido por: Cristina Urdiales GarcíaGarcía
Dpto. Tecnología Electrónica – Universidad de Dpto. Tecnología Electrónica – Universidad de MálagaMálaga
Málaga, 8 de Febrero de 2011Málaga, 8 de Febrero de 2011
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 2
1. Introducción2. Procesamiento de la
imagen3. Comunicación4. Animación5. Conclusiones6. Líneas futuras
Índice de contenidosÍndice de contenidos
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 3
1. Introducción1. Introducción > > MotivaciónMotivación
Disciplina de estudio Disciplina de estudio HCI HCI
=> Interacción hombre-=> Interacción hombre-máquinamáquina
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 4
1. Introducción1. Introducción > > Diagrama de bloquesDiagrama de bloques
Procesamiento de la Procesamiento de la imagenimagen
AnimaciónAnimación
ComunicaciónComunicación
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 5
Interacción natural Interacción natural hombre/máquinahombre/máquina
Procesamiento imagen con C++ y OpenCVProcesamiento imagen con C++ y OpenCV
Animación con Macromedia Animación con Macromedia FlashFlash
1. Introducción1. Introducción > > FinalidadFinalidad
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 6
1. Introducción2. Procesamiento de la
imagen3. Comunicación4. Animación5. Conclusiones6. Líneas futuras
Índice de contenidosÍndice de contenidos
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 7
2. Procesamiento de la imagen > 2. Procesamiento de la imagen >
MotivaciónMotivación
Medida cuantitativa dentro de la Medida cuantitativa dentro de la imagen :imagen :
MOVIMIENTOMOVIMIENTO
1.1.Movimiento Movimiento lejano lejano
2.2.Movimiento Movimiento cercanocercano
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 8
2. Procesamiento de la imagen > 2. Procesamiento de la imagen > Métodos de extracción Métodos de extracción de movimientode movimiento
Técnica de substracción de fondoTécnica de substracción de fondo
Permite diferenciar el fondo para detectar Permite diferenciar el fondo para detectar la presencia de personas u otros objetos en una la presencia de personas u otros objetos en una escenaescena
• Diferencia de imágenesDiferencia de imágenes
• Filtro promedio temporalFiltro promedio temporal
• Filtrado de medianaFiltrado de mediana
Los modelos básicos son :Los modelos básicos son :
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 9
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Técnica de diferencia Técnica de diferencia de imágenesde imágenes
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 10
BlobBlob
Estructura compuesta por un Estructura compuesta por un conjunto de píxeles adyacentes y sus conjunto de píxeles adyacentes y sus atributosatributos
blob_blob_11 blob_blob_
22
blob_blob_33
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Estructura blobEstructura blob
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 11
2. Procesamiento de la imagen2. Procesamiento de la imagen > > SeguimientoSeguimiento
Secuencia de imágenes hasta la Secuencia de imágenes hasta la reducción de la zona de reducción de la zona de
búsquedabúsqueda
instante instante t-2t-2
instante instante t-1t-1
instante tinstante t
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 12
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Localización de la Localización de la manomano
Si el usuario se encuentra cerca de Si el usuario se encuentra cerca de la cámarala cámara
Se cambia de estrategia, no se detecta Se cambia de estrategia, no se detecta movimientomovimiento
Localización de su mano, calculando Localización de su mano, calculando previamente las zonas de piel contenidas previamente las zonas de piel contenidas
en la escenaen la escena
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 13
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Localización del color Localización del color pielpiel
1. Localización de la 1. Localización de la pielpiel
2. Detección de caras 2. Detección de caras (Viola-Jones)(Viola-Jones)
3. Estiramiento lineal 3. Estiramiento lineal (stretching)(stretching)
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 14
Histograma de colorHistograma de color
Representación gráfica y estadística de la Representación gráfica y estadística de la distribución de los colores en la imagen, derivado distribución de los colores en la imagen, derivado del cómputo de píxeles en cada rangodel cómputo de píxeles en cada rango
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Localización del color Localización del color pielpiel
ESTIRAMIENTO LINEALESTIRAMIENTO LINEAL
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 15
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Localización del color Localización del color pielpiel
1. Localización de la 1. Localización de la pielpiel
2. Detección de caras 2. Detección de caras (Viola-Jones)(Viola-Jones)
3. Estiramiento lineal 3. Estiramiento lineal (stretching)(stretching)
4. Descarte de la cara4. Descarte de la cara
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 16
Operaciones Operaciones morfológicasmorfológicas
Apertura : Eliminación de zonas Apertura : Eliminación de zonas pequeñas (erosión + dilatación)pequeñas (erosión + dilatación)
Cierre : Comunicación de zonas que Cierre : Comunicación de zonas que hayan podido quedar desconectadas hayan podido quedar desconectadas
(dilatación + erosión)(dilatación + erosión)
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Detección de la manoDetección de la mano
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 17
Tipos de gestos reconocidos por Tipos de gestos reconocidos por el sistema el sistema
Gesto mano Gesto dedo Gesto Gesto mano Gesto dedo Gesto dosdedosdosdedos
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Reconocimiento de Reconocimiento de gestosgestos
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 18
Ángulo de Ángulo de inclinacióninclinación
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Extracción de Extracción de característicascaracterísticas
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 19
Ángulo de Ángulo de inclinacióninclinación
ángulo = ángulo = 78’6º78’6º
ángulo = -ángulo = -62’04º62’04º
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Extracción de Extracción de característicascaracterísticas
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 20
•Relación de aspectoRelación de aspecto
•Función suma de diferencias al Función suma de diferencias al cuadradocuadrado
•Número de píxeles en común con Número de píxeles en común con cada patróncada patrón
•Coeficientes de FourierCoeficientes de Fourier
Se ha comprobado que los 4 descriptores Se ha comprobado que los 4 descriptores siguientes son suficientes:siguientes son suficientes:
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Extracción de Extracción de característicascaracterísticas
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 21
Descriptor 0 : Relación de aspectoDescriptor 0 : Relación de aspecto
Una de las magnitudes más usadas en Una de las magnitudes más usadas en Visión Artificial para clasificar objetos. Visión Artificial para clasificar objetos.
Se define como la relación entre altura y Se define como la relación entre altura y anchura del objeto.anchura del objeto.
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Extracción de Extracción de característicascaracterísticas
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 22
Descriptor 1: Función cvMatchTemplateDescriptor 1: Función cvMatchTemplate
Pertenece a la librería OpenCV y compara una imagen Pertenece a la librería OpenCV y compara una imagen con un patrón conocido, obteniendo como resultado con un patrón conocido, obteniendo como resultado una nueva imagen que proporciona la similitud entre una nueva imagen que proporciona la similitud entre las dos anteriores.las dos anteriores.
void cvMatchTemplate( const CvArr* imagen, const CvArr* patron, CvArr* resultado, int method )
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Extracción de Extracción de característicascaracterísticas
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 23
Descriptor 2 : Número de píxeles en Descriptor 2 : Número de píxeles en comúncomún
ratio = ratio = 0’77380’7738
ratio = ratio = 1’04191’0419
ratio = ratio = 1’12581’1258
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Extracción de Extracción de característicascaracterísticas
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 24
Descriptor 3 : Coeficientes de Descriptor 3 : Coeficientes de FourierFourier
•Las componentes de baja frecuencia (valores de Las componentes de baja frecuencia (valores de k pequeños) determinan la forma globalk pequeños) determinan la forma global
•Las componentes de alta frecuencia (valores de Las componentes de alta frecuencia (valores de k elevados) tienen en cuenta los detalles más k elevados) tienen en cuenta los detalles más finosfinos
•Cálculo de coeficientes que caracterizan la Cálculo de coeficientes que caracterizan la forma de cada gesto, mediante un estudio forma de cada gesto, mediante un estudio heurísticoheurístico
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Extracción de Extracción de característicascaracterísticas
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 25
Reducción de la zona de búsquedaReducción de la zona de búsqueda
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Mejora en el Mejora en el procesamientoprocesamiento
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 26
Parámetros de salidaParámetros de salida
Coordenadas (x,y) para el caso de Coordenadas (x,y) para el caso de movimiento lejano y movimiento cercanomovimiento lejano y movimiento cercano
Modo : gesto de la manoModo : gesto de la mano
Formato de almacenamientoFormato de almacenamiento
Se genera un archivo Se genera un archivo XML que contiene los XML que contiene los datos procesadosdatos procesados
2. Procesamiento de la imagen2. Procesamiento de la imagen > > Salida del bloque de Salida del bloque de procesamientoprocesamiento
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 27
1. Introducción2. Procesamiento de la
imagen3. Comunicación4. Animación5. Conclusiones6. Líneas futuras
Índice de contenidosÍndice de contenidos
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 28
En la misma máquina, el bloque de En la misma máquina, el bloque de procesamiento de la imagen genera el procesamiento de la imagen genera el archivo XML en el disco local, y la aplicación archivo XML en el disco local, y la aplicación Flash accede para obtener los datos de Flash accede para obtener los datos de interés interés
PROBLEMA. . . Posible acceso PROBLEMA. . . Posible acceso simultáneo de simultáneo de escritura y escritura y
lectura del archivolectura del archivo
SOLUCIÓN . . . Uso de socketsSOLUCIÓN . . . Uso de sockets
Estructura Servidor / Estructura Servidor / Cliente Cliente
3. Comunicación > 3. Comunicación > Alternativas de diseñoAlternativas de diseño
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 29
3. Comunicación > 3. Comunicación > Estructura Servidor / ClienteEstructura Servidor / Cliente
Servidor (C++ / OpenCV)Servidor (C++ / OpenCV) Cliente (Flash / Cliente (Flash / Actionscript)Actionscript)
Protocolo Protocolo XMLSocketXMLSocket
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 30
1. Introducción2. Procesamiento de la
imagen3. Comunicación4. Animación5. Conclusiones6. Líneas futuras
Índice de contenidosÍndice de contenidos
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 31
4. Animación > 4. Animación > Entorno de trabajo Macromedia FlashEntorno de trabajo Macromedia Flash
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 32
Animación Flash detección de Animación Flash detección de movimientomovimiento
3. Animación > 3. Animación > Detección de movimiento del cuerpoDetección de movimiento del cuerpo
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 33
Animación Flash detección y Animación Flash detección y reconocimiento de gestos de la manoreconocimiento de gestos de la mano
3. Animación > 3. Animación > Reconocimiento de los gestos de la Reconocimiento de los gestos de la manomano
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 34
1. Introducción2. Procesamiento de la
imagen3. Comunicación4. Animación5. Conclusiones6. Líneas futuras
Índice de contenidosÍndice de contenidos
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 35
ConclusionesConclusiones
•Proceso de rotación sobre el eje verticalProceso de rotación sobre el eje vertical
•Reducción de la zona de búsquedaReducción de la zona de búsqueda
•Utilización de socketsUtilización de sockets
•Detección frontal de la cara del usuarioDetección frontal de la cara del usuario
•La mano debe encontrarse aislada La mano debe encontrarse aislada
•Descarte de la cara mediante estructura Descarte de la cara mediante estructura elípticaelíptica
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 36
1. Introducción2. Procesamiento de la
imagen3. Comunicación4. Animación5. Conclusiones6. Líneas futuras
Índice de contenidosÍndice de contenidos
Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 37
Implementar un sistema de iluminación Implementar un sistema de iluminación que consiga estabilizar las condiciones de que consiga estabilizar las condiciones de uso del sistemauso del sistemaDetección de la mano, Detección de la mano, independientemente de lo aislada que se independientemente de lo aislada que se encuentreencuentreCombinación con los sensores actuales Combinación con los sensores actuales de Kinectde KinectAnimaciones Flash más generalizadas, Animaciones Flash más generalizadas, utilizar los gestos de la mano a modo de utilizar los gestos de la mano a modo de ratón de ordenadorratón de ordenador
Líneas futurasLíneas futuras