detección y protección automática de caras en secuencias de video

29
Autor: Francisco José Cruz Romanos Director: Konstantinos Berberidis Ponente: Sandra Baldassarri

Upload: francisco-jose-cruz-romanos

Post on 15-Jun-2015

106 views

Category:

Education


1 download

DESCRIPTION

Este proyecto fin de carrera (PFC) se centra en el estudio y la creación de técnicas para la detección de rostros en secuencias de vídeo digital, así como su posterior ocultación. Para ello, en primer lugar se han estudiado varios algoritmos de detección facial aplicados a imágenes individuales, y se ha investigado acerca de las ventajas, así como problemas e inconvenientes, que supone tener una secuencia de fotogramas en lugar de una única imagen durante la detección de caras. Posteriormente se han estudiado diferentes algoritmos de ocultación, sopesando los pros y los contras de cada uno de ellos. Por último, se han implementado los diferentes algoritmos escogidos para cada una de las dos grandes secciones del proyecto, optimizando la velocidad de algunos y/o combinando otros según ha sido necesario.

TRANSCRIPT

Page 1: Detección y protección automática de caras en secuencias de video

Autor: Francisco José Cruz Romanos

Director: Konstantinos Berberidis

Ponente: Sandra Baldassarri

Page 2: Detección y protección automática de caras en secuencias de video

Índice de contenidos

Introducción

Ingeniería del software

Algoritmos existentes

Algoritmo implementado

Resultados

Conclusiones

29/09/2009 2Francisco José Cruz Romanos

Page 3: Detección y protección automática de caras en secuencias de video

Índice de contenidos

Introducción

Ingeniería del software

Algoritmos existentes

Algoritmo implementado

Resultados

Conclusiones

29/09/2009 3Francisco José Cruz Romanos

Page 4: Detección y protección automática de caras en secuencias de video

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

Page 5: Detección y protección automática de caras en secuencias de video

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

Page 6: Detección y protección automática de caras en secuencias de video

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

Page 7: Detección y protección automática de caras en secuencias de video

Índice de contenidos

Introducción

Ingeniería del software

Algoritmos existentes

Algoritmo implementado

Resultados

Conclusiones

29/09/2009 7Francisco José Cruz Romanos

Page 8: Detección y protección automática de caras en secuencias de video

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

Page 9: Detección y protección automática de caras en secuencias de video

Índice de contenidos

Introducción

Ingeniería del software

Algoritmos existentes

Algoritmo implementado

Resultados

Conclusiones

29/09/2009 9Francisco José Cruz Romanos

Page 10: Detección y protección automática de caras en secuencias de video

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

Page 11: Detección y protección automática de caras en secuencias de video

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

Page 12: Detección y protección automática de caras en secuencias de video

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

Page 13: Detección y protección automática de caras en secuencias de video

Índice de contenidos

Introducción

Ingeniería del software

Algoritmos existentes

Algoritmo implementado

Resultados

Conclusiones

29/09/2009 13Francisco José Cruz Romanos

Page 14: Detección y protección automática de caras en secuencias de video

Algoritmo implementado

29/09/2009 14Francisco José Cruz Romanos

skinHCbCr skinPixels

haarPixels facePixels

original

faceRects

Detección inicial

Page 15: Detección y protección automática de caras en secuencias de video

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

Page 16: Detección y protección automática de caras en secuencias de video

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

Page 17: Detección y protección automática de caras en secuencias de video

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

Page 18: Detección y protección automática de caras en secuencias de video

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

Page 19: Detección y protección automática de caras en secuencias de video

Algoritmo implementado

29/09/2009 19Francisco José Cruz Romanos

Ocultación

Page 20: Detección y protección automática de caras en secuencias de video

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

Page 21: Detección y protección automática de caras en secuencias de video

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

Page 22: Detección y protección automática de caras en secuencias de video

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

Page 23: Detección y protección automática de caras en secuencias de video

Índice de contenidos

Introducción

Ingeniería del software

Algoritmos existentes

Algoritmo implementado

Resultados

Conclusiones

29/09/2009 23Francisco José Cruz Romanos

Page 24: Detección y protección automática de caras en secuencias de video

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

Page 25: Detección y protección automática de caras en secuencias de video

Resultados

Vídeos de 25 sec, 320x200 píxeles Vídeos de 25 sec, 640x480 píxeles

29/09/2009 25Francisco José Cruz Romanos

Page 26: Detección y protección automática de caras en secuencias de video

Índice de contenidos

Introducción

Ingeniería del software

Algoritmos existentes

Algoritmo implementado

Resultados

Conclusiones

29/09/2009 26Francisco José Cruz Romanos

Page 27: Detección y protección automática de caras en secuencias de video

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

Page 28: Detección y protección automática de caras en secuencias de video

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

Page 29: Detección y protección automática de caras en secuencias de video

DETECCIÓN Y PROTECCIÓN AUTOMÁTICA DE CARAS

EN SECUENCIAS DE VÍDEO