Detección y protección automática de caras en secuencias de video
-
Upload
francisco-jose-cruz-romanos -
Category
Education
-
view
107 -
download
1
description
Transcript of Detección y protección automática de caras en secuencias de video
Autor: Francisco José Cruz Romanos
Director: Konstantinos Berberidis
Ponente: Sandra Baldassarri
Índice de contenidos
Introducción
Ingeniería del software
Algoritmos existentes
Algoritmo implementado
Resultados
Conclusiones
29/09/2009 2Francisco José Cruz Romanos
Índice de contenidos
Introducción
Ingeniería del software
Algoritmos existentes
Algoritmo implementado
Resultados
Conclusiones
29/09/2009 3Francisco José Cruz Romanos
Introducción
Contexto
Universidad de Patras
○ Signal Processing & Communications (SPC)
Hellenic Open University
○ Digital Systems Media Computing Laboratory(DSMC)
Trabajos en común
○ Tratamiento de la señal
○ Procesamiento de imagen y vídeo
29/09/2009 4Francisco José Cruz Romanos
Introducción
Motivación
Privacidad como derecho
○ Especialmente para menores (Ley Orgánica 1/1996)
Grabaciones no consentidas
○ Cámaras de vigilancia, satélites…
Grabaciones consentidas
○ Declaraciones, vídeo-terapia, enseñanza…
○ El sujeto pide anonimato
Necesidad de un algoritmo/aplicación
29/09/2009 5Francisco José Cruz Romanos
Introducción
Objetivos Detección facial
○ Estudio y selección de algoritmos
○ Ventajas e inconvenientes
○ Implementación
○ Estudio de mejoras
Ocultación facial○ Estudio y clasificación
○ Ventajas e inconvenientes
○ Elección
29/09/2009 6Francisco José Cruz Romanos
Índice de contenidos
Introducción
Ingeniería del software
Algoritmos existentes
Algoritmo implementado
Resultados
Conclusiones
29/09/2009 7Francisco José Cruz Romanos
Ingeniería del Software
Requisitos finales
RF1 El algoritmo debe ser capaz de detectar las caras de una secuencia de vídeo
RF2 El algoritmo debe generar un vídeo como el original pero con las caras ocultas
RF3 El algoritmo debe generar un archivo con la información resultante de las detecciones
RF4 El factor de aciertos en detección de caras ha de ser, dentro de lo viable, el factor más importante
RF5 El tiempo de ejecución necesario ha de ser, en la medida de lo posible, un parámetro a reducir
RNF1 El algoritmo debe poder ser ejecutado, al menos, en Sistemas operativos de la familia Windows XP
RNF2 Los vídeos han de ser en color
RNF3 El sistema debe ser capaz de trabajar al menos con vídeos sin compresión
RNF4 El algoritmo debe ser implementado en Matlab, Java, C o C++
RNF5 Los actores en los vídeos no realizan grandes desplazamientos durante la filmación, ni desaparecen de la escena
RNF6 No aparecen actores nuevos en escena durante la grabación
RNF7 El vídeo ha de ser filmado por una única cámara, sin cortes y sin grandes desplazamientos por el mundo
29/09/2009 8Francisco José Cruz Romanos
Índice de contenidos
Introducción
Ingeniería del software
Algoritmos existentes
Algoritmo implementado
Resultados
Conclusiones
29/09/2009 9Francisco José Cruz Romanos
Algoritmos existentes
Detección facial en vídeo
Trabajan con fotogramas
Extracción de ventajas
○ Continuidad espacial (si también hay temporal)
○ Elección de fotogramas óptimos
○ Los personajes se desplazan por la escena
Inconvenientes
○ Baja resolución de los vídeos
○ Cambios de resolución por compresión
○ Cambios de iluminación por cámaras
29/09/2009 10Francisco José Cruz Romanos
Algoritmos existentes
Detección facial en imágenes Detección basada en color
○ Distintos espacios de color
Detección basada en rasgos faciales○ Escala de grises○ Detección de bordes○ Búsqueda de rasgos○ Análisis de constelaciones○ Contornos activos
Detección basada en la imagen○ Redes neuronales○ Análisis estadístico○ Sub-espacios lineales
29/09/2009 11Francisco José Cruz Romanos
Algoritmos existentes
Ocultación facial Algoritmos no destructivos
○ Nagra
○ Desorden de píxeles
Algoritmos destructivos○ Ocultación fija
○ Máscara adaptativa
Algoritmos semidestructivos○ Filtros de emborronamiento
○ Pixelado
29/09/2009 12Francisco José Cruz Romanos
Índice de contenidos
Introducción
Ingeniería del software
Algoritmos existentes
Algoritmo implementado
Resultados
Conclusiones
29/09/2009 13Francisco José Cruz Romanos
Algoritmo implementado
29/09/2009 14Francisco José Cruz Romanos
skinHCbCr skinPixels
haarPixels facePixels
original
faceRects
Detección inicial
Algoritmo implementado
29/09/2009 15Francisco José Cruz Romanos
Rectángulo envolventede la cara anterior
Rectángulo envolventeexpandido
Zona de búsquedade la cara actual
Cara actualdetectada
Expansión deregiones
Rectánguloenvolvente
Detección en sub-regiones
Algoritmo implementado
Detecciones intermedias
Interpolación lineal
○ No es efectiva en muchos casos
○ Parte de la cara al descubierto
Interpolación no lineal
○ Se “ensancha” más rápido
○ Se “encoge” más despacio
29/09/2009 16Francisco José Cruz Romanos
Algoritmo implementado
Opcional: Detección manual
Primer fotograma
Al perder una cara en una sub-región
Ventajas
○ No se deja de buscar después la cara
○ Detección de caras sin información de color
○ Mayor número de aciertos
Desventajas
○ Requiere atención del usuario
29/09/2009 17Francisco José Cruz Romanos
Algoritmo implementado
29/09/2009 18Francisco José Cruz Romanos
Opcional: Detección de caras nuevas
Fotograma anterior Fotograma actual Diferencia
Eliminación detectadas Filtro de tamaño Detección caras nuevas
Algoritmo implementado
29/09/2009 19Francisco José Cruz Romanos
Ocultación
Algoritmo implementado
Optimizaciones
Búfer de vídeo
○ Lectura de vídeo en Matlab Fotograma a fotograma (Lento para vídeos con compresión)
Vídeo entero (Mucha memoria, inviable a veces)
○ Solución mixta Lectura de conjuntos de fotogramas
- Múltiplo del tamaño de fotogramas clave
- Grande para incluir fotogramas bidireccionales
Transparencia mediante búfer
No afecta al resultado sólo al tiempo
- Alrededor del 500% de mejora en la lectura
29/09/2009 20Francisco José Cruz Romanos
Algoritmo implementado
Optimizaciones Bibliotecas en C/C++
○ Medición de tiempo Herramienta Profiler de Matlab
Para cada función, subfunción y programa
- Tiempo total
- Tiempo individual
- Número de veces ejecutado
○ Algoritmos para imágenes Bucles generales y anidados
Matlab es interpretado, poco eficiente en bucles
C/C++ son muy eficientes en tiempo de ejecución
Alrededor del 400% de mejora
29/09/2009 21Francisco José Cruz Romanos
Algoritmo implementado
Salidas
Vídeo
Carpeta con imágenes de cada fotograma
Archivo XML
○ Visible en navegador
○ CSS, Javascript, XSD y XSLT
○ Sintaxis validada HTML 4.01 Strict
CSS 2.1
29/09/2009 22Francisco José Cruz Romanos
Índice de contenidos
Introducción
Ingeniería del software
Algoritmos existentes
Algoritmo implementado
Resultados
Conclusiones
29/09/2009 23Francisco José Cruz Romanos
Resultados
Medición de resultados
Velocidad
○ Tiempo de ejecución en segundos
○ Diferentes parámetros
Calidad
○ Detección en modo manual Un fallo no impida detecciones posteriores
○ Porcentaje de aciertos Detecciones = Fotogramas video/Fotogramas interpolación
Aciertos = Detecciones correctas/Detecciones
29/09/2009 24Francisco José Cruz Romanos
Resultados
Vídeos de 25 sec, 320x200 píxeles Vídeos de 25 sec, 640x480 píxeles
29/09/2009 25Francisco José Cruz Romanos
Índice de contenidos
Introducción
Ingeniería del software
Algoritmos existentes
Algoritmo implementado
Resultados
Conclusiones
29/09/2009 26Francisco José Cruz Romanos
Conclusiones
Objetivos y requisitos cumplidos
Mejoras extra
Compatibilidad con vídeos comprimidos
Elección del algoritmos de ocultación
Detección opcional de caras nuevas
Salidas opcionales
Opción de detección manual
29/09/2009 27Francisco José Cruz Romanos
Conclusiones
Enriquecimiento personal Aprendizaje temas variados
Experiencia investigación
Trabajo futuro Velocidad
○ Paralelización y pipelining
○ Conversión total a C/C++
Utilidad○ Detección de rasgos faciales
○ Reconocimiento facial
29/09/2009 28Francisco José Cruz Romanos
DETECCIÓN Y PROTECCIÓN AUTOMÁTICA DE CARAS
EN SECUENCIAS DE VÍDEO