Este proyecto se centra en emplear gestos naturales para controlar una animación Flash. De esa forma, se puede interactuar con un ordenador o con proyecciones sin necesidad de hardware específico. Para ello se captura la mano del usuario, se segmenta de la imagen y se procesa hasta obtener la forma de los dedos. En función de la posición relativa de los dedos respecto a la pantalla y entre ellos se determina el gesto y el punto de interacción y se sustituye por el cursor y el evento correspondiente de la animación Flash en ejecución.
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Desarrollo de una aplicación Flash mediante control de movimiento usando técnicas de visión (Laura Baena)
1. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 1
Desarrollo de una aplicación Flash
mediante control del movimiento
utilizando técnicas basadas en visión
Realizado por: Laura Baena Garrido
Dirigido por: Cristina Urdiales García
Dpto. Tecnología Electrónica – Universidad de Málaga
Málaga, 8 de Febrero de 2011
2. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 2
1. Introducción
2. Procesamiento de la imagen
3. Comunicación
4. Animación
5. Conclusiones
6. Líneas futuras
Índice de contenidos
3. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 3
1. Introducción > Motivación
Disciplina de estudio HCI => Interacción hombre-máquina
4. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 4
1. Introducción > Diagrama de bloques
Procesamiento de la imagen
Animación
Comunicación
5. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 5
Interacción natural hombre/máquina
Procesamiento imagen con C++ y OpenCV
Animación con Macromedia Flash
1. Introducción > Finalidad
6. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 6
1. Introducción
2. Procesamiento de la imagen
3. Comunicación
4. Animación
5. Conclusiones
6. Líneas futuras
Índice de contenidos
7. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 7
2. Procesamiento de la imagen > Motivación
Medida cuantitativa dentro de la imagen :
MOVIMIENTO
1. Movimiento lejano
2. Movimiento cercano
8. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 8
2. Procesamiento de la imagen > Métodos de extracción de movimiento
Técnica de substracción de fondo
Permite diferenciar el fondo para detectar la presencia
de personas u otros objetos en una escena
• Diferencia de imágenes
• Filtro promedio temporal
• Filtrado de mediana
Los modelos básicos son :
9. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 9
2. Procesamiento de la imagen > Técnica de diferencia de imágenes
10. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 10
Blob
Estructura compuesta por un conjunto de
píxeles adyacentes y sus atributos
blob_1
blob_2
blob_3
2. Procesamiento de la imagen > Estructura blob
11. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 11
2. Procesamiento de la imagen > Seguimiento
Secuencia de imágenes hasta la
reducción de la zona de búsqueda
instante t-2 instante t-1 instante t
12. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 12
2. Procesamiento de la imagen > Localización de la mano
Si el usuario se encuentra cerca de la cámara
Se cambia de estrategia, no se detecta movimiento
Localización de su mano, calculando previamente
las zonas de piel contenidas en la escena
13. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 13
2. Procesamiento de la imagen > Localización del color piel
1. Localización de la piel
2. Detección de caras (Viola-Jones)
3. Estiramiento lineal (stretching)
14. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 14
Histograma de color
Representación gráfica y estadística de la distribución de
los colores en la imagen, derivado del cómputo de píxeles en cada
rango
2. Procesamiento de la imagen > Localización del color piel
ESTIRAMIENTO LINEAL
15. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 15
2. Procesamiento de la imagen > Localización del color piel
1. Localización de la piel
2. Detección de caras (Viola-Jones)
3. Estiramiento lineal (stretching)
4. Descarte de la cara
16. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 16
Operaciones morfológicas
Apertura : Eliminación de zonas pequeñas
(erosión + dilatación)
Cierre : Comunicación de zonas que hayan podido
quedar desconectadas (dilatación + erosión)
2. Procesamiento de la imagen > Detección de la mano
17. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 17
Tipos de gestos reconocidos por el sistema
Gesto mano Gesto dedo Gesto dosdedos
2. Procesamiento de la imagen > Reconocimiento de gestos
18. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 18
Ángulo de inclinación
2. Procesamiento de la imagen > Extracción de características
19. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 19
Ángulo de inclinación
ángulo = 78’6º ángulo = -62’04º
2. Procesamiento de la imagen > Extracción de características
20. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 20
•Relación de aspecto
•Función suma de diferencias al cuadrado
•Número de píxeles en común con cada patrón
•Coeficientes de Fourier
Se ha comprobado que los 4 descriptores siguientes
son suficientes:
2. Procesamiento de la imagen > Extracción de características
21. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 21
Descriptor 0 : Relación de aspecto
Una de las magnitudes más usadas en Visión Artificial
para clasificar objetos.
Se define como la relación entre altura y anchura del
objeto.
2. Procesamiento de la imagen > Extracción de características
22. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 22
Descriptor 1: Función cvMatchTemplate
Pertenece a la librería OpenCV y compara una imagen con un patrón
conocido, obteniendo como resultado una nueva imagen que
proporciona la similitud entre las dos anteriores.
void cvMatchTemplate( const CvArr* imagen, const CvArr* patron, CvArr* resultado,
int method )
2. Procesamiento de la imagen > Extracción de características
23. 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 común
ratio = 0’7738 ratio = 1’0419 ratio = 1’1258
2. Procesamiento de la imagen > Extracción de características
24. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 24
Descriptor 3 : Coeficientes de Fourier
•Las componentes de baja frecuencia (valores de k pequeños)
determinan la forma global
•Las componentes de alta frecuencia (valores de k elevados)
tienen en cuenta los detalles más finos
•Cálculo de coeficientes que caracterizan la forma de cada
gesto, mediante un estudio heurístico
2. Procesamiento de la imagen > Extracción de características
25. 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úsqueda
2. Procesamiento de la imagen > Mejora en el procesamiento
26. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 26
Parámetros de salida
Coordenadas (x,y) para el caso de movimiento lejano y
movimiento cercano
Modo : gesto de la mano
Formato de almacenamiento
Se genera un archivo XML que
contiene los datos procesados
2. Procesamiento de la imagen > Salida del bloque de procesamiento
27. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 27
1. Introducción
2. Procesamiento de la imagen
3. Comunicación
4. Animación
5. Conclusiones
6. Líneas futuras
Índice de contenidos
28. 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 procesamiento de la
imagen genera el archivo XML en el disco local, y la
aplicación Flash accede para obtener los datos de interés
PROBLEMA. . . Posible acceso simultáneo de
escritura y lectura del archivo
SOLUCIÓN . . . Uso de sockets
Estructura Servidor / Cliente
3. Comunicación > Alternativas de diseño
29. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 29
3. Comunicación > Estructura Servidor / Cliente
Servidor (C++ / OpenCV) Cliente (Flash / Actionscript)
Protocolo
XMLSocket
30. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 30
1. Introducción
2. Procesamiento de la imagen
3. Comunicación
4. Animación
5. Conclusiones
6. Líneas futuras
Índice de contenidos
31. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 31
4. Animación > Entorno de trabajo Macromedia Flash
32. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 32
Animación Flash detección de movimiento
3. Animación > Detección de movimiento del cuerpo
33. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 33
Animación Flash detección y reconocimiento
de gestos de la mano
3. Animación > Reconocimiento de los gestos de la mano
34. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 34
1. Introducción
2. Procesamiento de la imagen
3. Comunicación
4. Animación
5. Conclusiones
6. Líneas futuras
Índice de contenidos
35. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 35
Conclusiones
•Proceso de rotación sobre el eje vertical
•Reducción de la zona de búsqueda
•Utilización de sockets
•Detección frontal de la cara del usuario
•La mano debe encontrarse aislada
•Descarte de la cara mediante estructura elíptica
36. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 36
1. Introducción
2. Procesamiento de la imagen
3. Comunicación
4. Animación
5. Conclusiones
6. Líneas futuras
Índice de contenidos
37. Desarrollo de una aplicación Flash mediante control del movimiento utilizando técnicas basadas en visión 37
Implementar un sistema de iluminación que
consiga estabilizar las condiciones de uso del sistema
Detección de la mano, independientemente de lo
aislada que se encuentre
Combinación con los sensores actuales de Kinect
Animaciones Flash más generalizadas, utilizar los
gestos de la mano a modo de ratón de ordenador
Líneas futuras