16
Detección de rostros Detección de rostros Mario Ynocente Castro 9 de junio de 2011

Deteccion de rostros

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Deteccion de rostros

Detección de rostros

Detección de rostros

Mario Ynocente Castro

9 de junio de 2011

Page 2: Deteccion de rostros

Detección de rostros

Índice

1 Introducción

2 Algoritmo de Viola - Jones

Page 3: Deteccion de rostros

Detección de rostros

Introducción

El problema

Dada una imagen la meta de la detección de rostros esidentificar todas las regiones de la imagen que contienenun rostro.Este problema es desafiante debido a factores como lossiguientes:

PosePresencia o ausencia de componentes estructuralesExpresión facialOclusiónOrientación de las imagenCondiciones de la imagen

Page 4: Deteccion de rostros

Detección de rostros

Introducción

Problemas relacionados

Autenticación de rostros: verificar la identidad de unapersona en una entrada imagen.Rastreo de rostros: estimar continuamente la ubicaciónde un rostro en una secuencia de imágenes en tiemporeal.Reconocimiento de expresiones faciales: identificar elestado afectivo de una persona.

Page 5: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Algoritmo de Viola - Jones

Paul Viola y Michael Jones

Viola, P. and Jones, M. Robust. Rapid object detectionusing a boosted cascade of simple features. IEEEConference on Computer Vision an Pattern Recognition,2001.Viola, P. and Jones, M. Robust. Robust Real Time ObjectDetection. Proc. of IEEE Workshop on Statistical andComputational Theories of Vision, 2001.

Capaz de procesar imágenes extremadamente rápidoalcanzando altos índices de detección.

Page 6: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Base de datos de imágenes

Base de datos CBCL MIT (Center for Biological andComputational Learning)Set de entrenamiento: 2429 rostros, 4548 no-rostrosSet de prueba: 472 rostros, 23573 no-rostroshttp://cbcl.mit.edu/projects/cbcl/software-datasets/FaceData2.html

Page 7: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Característica tipo Haar

Se busca determinar características basadas en sumas yrestas de los niveles de intensidad de la imagen, el valorde una característica está dado por la difrencia de la sumade todos los pixeles de color negro con la suma de todoslos pixeles de color blanco.

Page 8: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Imagen Integral

El valor de la imagen integral en la posición x,y contiene lasuma de todos los pixeles arriba y a la izquierda de x,y,inclusive.

ii(x , y) =∑

x ′≤x ,y ′≤y i(x ′, y ′)

ii(x , y) = i(x , y)− ii(x − 1, y)− ii(x , y − 1) + ii(x − 1, y − 1)

Usando la imagen integral cualquier suma rectangularpuede ser calculada con cuatro referencias a memoria.

Page 9: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Imagen Integral

ii(C) - ii(B) - ii(D) + ii(A)

Características 2-rectangulares : 6 referenciasCaracterísticas 3-rectangulares : 8 referenciasCaracterísticas 4-rectangulares : 9 referencias

Page 10: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Características

La eficiencia computacional de las característicascompensa ampliamente su limitada flexibilidad.El detector examina la entrada en muchas escalas cadaun factor de 1.25 mayor que la anterior.El conjunto de características tienen la propiedad de quepueden ser evaluadas a cualquier escala con unascuantas operaciones.

Page 11: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Funciones de clasificación

Aunque cada característica puede ser calculadaeficientemente, calcular el conjunto completo esexcesivamente costoso.El algoritmo trabaja bajo la hipótesis de que un númeropequeño de características puede ser combinado paraformar un clasificador eficiente.Para seleccionar las características y entrenar alclasificador se usa variante de AdaBoost, combinando unaselección de funciones débiles de clasificación para formarun clasificador fuerte.

Page 12: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Funciones de clasificación

Los clasificadores deben resolver una serie de problemasde aprendizaje. Luego de cada rona, los ejemplos sonre-ponderados para asignar los que fueron clasificados deforma incorrecta.El clasificador fuerte final es una combinación declasificadores débiles junto con un umbral.Lo que se busca es asociar un mayor peso a los buenosclasificadores y un menor peso a los malos clasificadores.

Page 13: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Funciones de clasificación

Para cada característica el clasificador débil determina elumbral óptimo de la función de clasificación, tal que elmínimo número de ejemplos sean clasificadosincorrectamente.Un clasificador débil (hj(x)) consiste de una característica(fj ), un umbral (θj ) y una paridad (pj ) indicando la direccióndel signo de la desigualdad.hj(x) = [pj fj(x) < pjθj ], x es una ventana de 24 x 24 deuna imagen.

Page 14: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Algoritmo de boosting

Dadas las images ejemplo (x1, y1), . . . , (xn, yn) dondeyi = 0,1 para los ejemplos negativos y positivosrespectivamente.Inicializa los pesos w1,i = 1

2m ,12l para yi = 0,1

respectivamente, donde m y l son el número de ejemplospositivos y negativos, respectivamente.

Page 15: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Algoritmo de boosting

Para t = 1, . . . ,T :

Normalice los pesos: wt,i ← wt,iPnj=1 wt,j

Para cada característica j , el error es evaluado conrespecto a wt , ej =

∑i |hj(xi)− yi |

Escoge un clasificador, ht , con el menor error et .Actualiza los pesos: wt+1,i = wt,iβ

1−eit , donde ei = 0 si el

ejemplo xi es clasificado correctamente, en caso contrarioei = 1, y βt = et

1−et

El clasificador fuerte final es:h(x) = [

∑Tt=1 αtht(x) ≥ 1

2∑T

t=1 αt ], donde αt = log 1βt

.

Page 16: Deteccion de rostros

Detección de rostros

Algoritmo de Viola - Jones

Cascada de clasificadores

Se construye una cascada de clasificadores la cuualalcanza mejor rendimiento en la detección, al mismotiempo que reduce el tiempo de cálculoLas fases en la cascada son construidas entrenandoclasificadores usando AdaBoost.