SlideShare a Scribd company logo
1 of 29
Download to read offline
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

Francisco José Cruz Romanos

2
Índice de contenidos
Introducción
 Ingeniería del software
 Algoritmos existentes
 Algoritmo implementado
 Resultados
 Conclusiones


29/09/2009

Francisco José Cruz Romanos

3
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

Francisco José Cruz Romanos

4
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

Francisco José Cruz Romanos

5
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

Francisco José Cruz Romanos

6
Índice de contenidos
Introducción
 Ingeniería del software
 Algoritmos existentes
 Algoritmo implementado
 Resultados
 Conclusiones


29/09/2009

Francisco José Cruz Romanos

7
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

Francisco José Cruz Romanos

8
Índice de contenidos
Introducción
 Ingeniería del software
 Algoritmos existentes
 Algoritmo implementado
 Resultados
 Conclusiones


29/09/2009

Francisco José Cruz Romanos

9
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

Francisco José Cruz Romanos

10
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

Francisco José Cruz Romanos

11
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

Francisco José Cruz Romanos

12
Índice de contenidos
Introducción
 Ingeniería del software
 Algoritmos existentes
 Algoritmo implementado
 Resultados
 Conclusiones


29/09/2009

Francisco José Cruz Romanos

13
Algoritmo implementado
Detección inicial

original

skinPixels

haarPixels
29/09/2009

skinHCbCr

facePixels

faceRects

Francisco José Cruz Romanos

14
Algoritmo implementado
Detección en sub-regiones

Rectángulo envolvente
de la cara anterior

Rectángulo envolvente
expandido

Zona de búsqueda
de la cara actual

Cara actual
detectada

Expansión de
regiones

Rectángulo
envolvente

29/09/2009

Francisco José Cruz Romanos

15
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

Francisco José Cruz Romanos

16
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

Francisco José Cruz Romanos

17
Algoritmo implementado
Opcional: Detección de caras nuevas

Fotograma anterior

Fotograma actual

Diferencia

Eliminación detectadas

Filtro de tamaño

Detección caras nuevas

29/09/2009

Francisco José Cruz Romanos

18
Algoritmo implementado
Ocultación

29/09/2009

Francisco José Cruz Romanos

19
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

Francisco José Cruz Romanos

20
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

Francisco José Cruz Romanos

21
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

Francisco José Cruz Romanos

22
Índice de contenidos
Introducción
 Ingeniería del software
 Algoritmos existentes
 Algoritmo implementado
 Resultados
 Conclusiones


29/09/2009

Francisco José Cruz Romanos

23
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

Francisco José Cruz Romanos

24
Resultados
Vídeos de 25 sec, 320x200 píxeles

29/09/2009

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

Francisco José Cruz Romanos

25
Índice de contenidos
Introducción
 Ingeniería del software
 Algoritmos existentes
 Algoritmo implementado
 Resultados
 Conclusiones


29/09/2009

Francisco José Cruz Romanos

26
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

Francisco José Cruz Romanos

27
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

Francisco José Cruz Romanos

28
DETECCIÓN Y PROTECCIÓN AUTOMÁTICA DE CARAS
EN SECUENCIAS DE VÍDEO

More Related Content

Similar to Detección y protección automática de caras en secuencias de video

La Herramienta Polimedia 2010
La Herramienta Polimedia 2010La Herramienta Polimedia 2010
La Herramienta Polimedia 2010guest64ab4f
 
Arquitectura de-computadores
Arquitectura de-computadoresArquitectura de-computadores
Arquitectura de-computadoresalfa20052015
 
Diseño y resolución de prácticas para el laboratorio de televisión 3 d
Diseño y resolución de prácticas para el laboratorio de televisión 3 dDiseño y resolución de prácticas para el laboratorio de televisión 3 d
Diseño y resolución de prácticas para el laboratorio de televisión 3 dJosé Ramón Cerquides Bueno
 
Herramientas Informaticas
Herramientas InformaticasHerramientas Informaticas
Herramientas Informaticaskgualacio
 
prueba de informatica en word
prueba de informatica en word prueba de informatica en word
prueba de informatica en word alisson202016
 
Planificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-softwarePlanificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-softwarePatricia F
 
Clase 8 algoritmos_y_programas
Clase 8 algoritmos_y_programasClase 8 algoritmos_y_programas
Clase 8 algoritmos_y_programasDr.Ing. Uriel
 
Context-aware User Effectiveness Assessment System for Mobile Applications
Context-aware User Effectiveness Assessment System for Mobile ApplicationsContext-aware User Effectiveness Assessment System for Mobile Applications
Context-aware User Effectiveness Assessment System for Mobile ApplicationsIvan Pretel
 
Guia de trabajo académico No 18
Guia de trabajo académico No 18Guia de trabajo académico No 18
Guia de trabajo académico No 18INDEIPCO LTDA
 

Similar to Detección y protección automática de caras en secuencias de video (20)

Scrum: sesión práctica de metodologías ágiles
Scrum: sesión práctica de metodologías ágilesScrum: sesión práctica de metodologías ágiles
Scrum: sesión práctica de metodologías ágiles
 
Demo 2012
Demo 2012Demo 2012
Demo 2012
 
Presentación lenguaje programación
Presentación lenguaje programaciónPresentación lenguaje programación
Presentación lenguaje programación
 
T1 ex1
T1 ex1T1 ex1
T1 ex1
 
La Herramienta Polimedia 2010
La Herramienta Polimedia 2010La Herramienta Polimedia 2010
La Herramienta Polimedia 2010
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Arquitectura de-computadores
Arquitectura de-computadoresArquitectura de-computadores
Arquitectura de-computadores
 
Diseño y resolución de prácticas para el laboratorio de televisión 3 d
Diseño y resolución de prácticas para el laboratorio de televisión 3 dDiseño y resolución de prácticas para el laboratorio de televisión 3 d
Diseño y resolución de prácticas para el laboratorio de televisión 3 d
 
Herramientas Informaticas
Herramientas InformaticasHerramientas Informaticas
Herramientas Informaticas
 
prueba de informatica en word
prueba de informatica en word prueba de informatica en word
prueba de informatica en word
 
Gestión proyecto DroidClic android app
Gestión proyecto DroidClic android appGestión proyecto DroidClic android app
Gestión proyecto DroidClic android app
 
P F C
P F CP F C
P F C
 
Portafolio de Herramientas Informaticas
Portafolio de Herramientas InformaticasPortafolio de Herramientas Informaticas
Portafolio de Herramientas Informaticas
 
Planificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-softwarePlanificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-software
 
Clase 8 algoritmos_y_programas
Clase 8 algoritmos_y_programasClase 8 algoritmos_y_programas
Clase 8 algoritmos_y_programas
 
Unidad 9: Edición de vídeo
Unidad 9: Edición de vídeoUnidad 9: Edición de vídeo
Unidad 9: Edición de vídeo
 
Screencast
Screencast Screencast
Screencast
 
Context-aware User Effectiveness Assessment System for Mobile Applications
Context-aware User Effectiveness Assessment System for Mobile ApplicationsContext-aware User Effectiveness Assessment System for Mobile Applications
Context-aware User Effectiveness Assessment System for Mobile Applications
 
Guia de trabajo académico No 18
Guia de trabajo académico No 18Guia de trabajo académico No 18
Guia de trabajo académico No 18
 
Manual CamStudio v 2.7
Manual CamStudio v 2.7Manual CamStudio v 2.7
Manual CamStudio v 2.7
 

Recently uploaded

Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfRaulGomez822561
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxBeatrizQuijano2
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdfDemetrio Ccesa Rayme
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 

Recently uploaded (20)

Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 

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

  • 1. Autor: Francisco José Cruz Romanos Director: Konstantinos Berberidis Ponente: Sandra Baldassarri
  • 2. Índice de contenidos Introducción  Ingeniería del software  Algoritmos existentes  Algoritmo implementado  Resultados  Conclusiones  29/09/2009 Francisco José Cruz Romanos 2
  • 3. Índice de contenidos Introducción  Ingeniería del software  Algoritmos existentes  Algoritmo implementado  Resultados  Conclusiones  29/09/2009 Francisco José Cruz Romanos 3
  • 4. 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 Francisco José Cruz Romanos 4
  • 5. 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 Francisco José Cruz Romanos 5
  • 6. 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 Francisco José Cruz Romanos 6
  • 7. Índice de contenidos Introducción  Ingeniería del software  Algoritmos existentes  Algoritmo implementado  Resultados  Conclusiones  29/09/2009 Francisco José Cruz Romanos 7
  • 8. 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 Francisco José Cruz Romanos 8
  • 9. Índice de contenidos Introducción  Ingeniería del software  Algoritmos existentes  Algoritmo implementado  Resultados  Conclusiones  29/09/2009 Francisco José Cruz Romanos 9
  • 10. 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 Francisco José Cruz Romanos 10
  • 11. 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 Francisco José Cruz Romanos 11
  • 12. 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 Francisco José Cruz Romanos 12
  • 13. Índice de contenidos Introducción  Ingeniería del software  Algoritmos existentes  Algoritmo implementado  Resultados  Conclusiones  29/09/2009 Francisco José Cruz Romanos 13
  • 15. Algoritmo implementado Detección en sub-regiones Rectángulo envolvente de la cara anterior Rectángulo envolvente expandido Zona de búsqueda de la cara actual Cara actual detectada Expansión de regiones Rectángulo envolvente 29/09/2009 Francisco José Cruz Romanos 15
  • 16. 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 Francisco José Cruz Romanos 16
  • 17. 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 Francisco José Cruz Romanos 17
  • 18. Algoritmo implementado Opcional: Detección de caras nuevas Fotograma anterior Fotograma actual Diferencia Eliminación detectadas Filtro de tamaño Detección caras nuevas 29/09/2009 Francisco José Cruz Romanos 18
  • 20. 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 Francisco José Cruz Romanos 20
  • 21. 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 Francisco José Cruz Romanos 21
  • 22. 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 Francisco José Cruz Romanos 22
  • 23. Índice de contenidos Introducción  Ingeniería del software  Algoritmos existentes  Algoritmo implementado  Resultados  Conclusiones  29/09/2009 Francisco José Cruz Romanos 23
  • 24. 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 Francisco José Cruz Romanos 24
  • 25. Resultados Vídeos de 25 sec, 320x200 píxeles 29/09/2009 Vídeos de 25 sec, 640x480 píxeles Francisco José Cruz Romanos 25
  • 26. Índice de contenidos Introducción  Ingeniería del software  Algoritmos existentes  Algoritmo implementado  Resultados  Conclusiones  29/09/2009 Francisco José Cruz Romanos 26
  • 27. 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 Francisco José Cruz Romanos 27
  • 28. 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 Francisco José Cruz Romanos 28
  • 29. DETECCIÓN Y PROTECCIÓN AUTOMÁTICA DE CARAS EN SECUENCIAS DE VÍDEO