En este vídeo explicaremos las características de
Haar que son las características que se utilizan en el detector que
explicaremos a lo largo de esta semana.
Veremos qué son y cómo se definen las características de Haar y
explicaremos también cómo se calculan también todas las imágenes a diferentes
escalas para acabar obteniendo el descriptor global de toda la imagen.
Las características de Haar se obtienen como resultado de aplicar por toda la
imagen un conjunto de filtros de Haar.
Estos filtros de Haar guardan una cierta relación con los iii de Haar y por eso
se llaman así.
En esta imagen podemos ver lo que se conoce como filtros
de Haar básicos y como podemos observar un filtro de Haar es
la combinación de varios rectángulos entre dos y
cuatro rectángulos que son adyacentes en la dirección horizontal o vertical.
Los rectángulos que están marcados representan aquella parte del filtro que
van a darnos una contribución positiva al resultado final mientras que
los rectángulos marcados en blanco son aquellas partes del filtro que nos van
a dar una contribución negativa al resultado final del filtro.
Así cuando aplicamos un filtro dado en una posición dada en una imagen,
por ejemplo este filtro en esta posición,
el resultado final va a ser la diferencia entre la suma de intensidad de
todos los pixeles que están situados en el rectángulo negro,
este de aquí menos la suma de intensidad de todos los
pixeles que están situados en el rectángulo blanco, este de aquí.
En este caso el resultado va a ser 900 menos 300 igual a 600.
Este valor puede ser necesario normalizarlo por el tamaño de la ventana
del filtro para conseguir que los valores sean invariantes a cambios en los tamaños
de los objetos y también para que características aplicadas a diferentes
escalas en toda la imagen tengan valores comparables.
Igualmente y de forma previa puede ser necesario normalizar
la imagen para conseguir también invarianza a cambios de iluminación.
En vídeos posteriores you veremos como en caso concreto de el
detector que explicamos esta semana se tratan estos dos temas de la
invarianza a tamaño y a iluminación.
En este ejemplo concreto vemos que la aplicación de este filtro en esta
posición de la imagen nos da un valor elevado you que corresponde a una zona que
tiene un elevado contraste en la dirección horizontal entre las dos partes del
filtro.
La aplicación de otros filtros en otras partes de la imagen nos va a permitir
detectar otros tipos de cambios de contraste en diferentes zonas de
la imagen, por ejemplo aquí entre las zonas laterales y la
zona central y la dirección diagonal.
Como explicaramos más adelante cada uno de estos filtros se aplicará en diferentes
tamaños, diferentes posiciones de la imagen y así de esta forma vamos a poder
detectar cambios de intensidad en cualquier
posición de la imagen a diferentes escalas y orientaciones.
En esta imagen mostramos el resultado de aplicar
los diferentes filtros básicos de Haar en una escala más pequeña por toda la imagen.
Podemos ver que a esta escala el resultado de aplicar los filtros con dos y con tres
rectángulos es muy parecido al resultado del cálculo del gradiente en la dirección
horizontal y vertical que you vimos la semana pasada para el descriptor HOG.
Las respuestas de los filtros se concentran básicamente en las
zonas donde tenemos una elevada respuesta del contorno,
you sea en la dirección horizontal o en la dirección vertical.
De hecho esto tiene sentido you que el tipo de cálculo que realizan estos filtros
que son diferencias de intensidad entre pixeles vecinos en ambas direcciones es
bastante similar al cálculo del gradiente que you explicamos la semana pasada.
Por otro lado podemos ver que el filtro con cuatro rectángulos se concentra más en
zonas que tienen contornos en la dirección diagonal, en dirección de 45 grados.
Sin embargo las características de Haar no se concentran únicamente en la
detección de contorno sino que también nos permitirán detectar otros cambios de
intensidad que se producen en la imagen en escalas mayores que podemos observar en
este caso cuando aplicamos un filtro a una escala mayor que también detectamos
cambios de contraste a una escala mayor.
Como you hemos apuntado cada uno de estos filtros básicos se va
a aplicar en todas las posibles escalas tanto en la dirección vertical como en
la dirección horizontal que sea posible aplicar dado el tamaño de la imagen.
Así con una imagen como la del ejemplo y este filtro básico
vamos a poder aplicar en la dirección horizontal estas cuatro escalas.
Fijémonos que el tamaño del rectángulo negro tiene que ser siempre igual al
tamaño del rectángulo blanco y por lo tanto en la dirección horizontal solo va
a ser posible generar escalas en tamaños dos, cuatro, seis y ocho para este filtro.
Igualmente podemos escalar el filtro en la dirección vertical y para
cada nueva escala en vertical podemos volver a aplicar el mismo escalado que
en horizontal.
Así para esta imagen y con este filtro vamos
a poder obtener un total de 16 escalas que corresponden a cuatro
en la dirección horizontal y cuatro en la dirección vertical.
Para cada una de estas escalas el filtro se aplica en todas las posibles posiciones
de la imagen, en función también del tamaño del filtro y de la imagen.
Para este ejemplo en concreto y el filtro escalado a un tamaño de dos por cuatro,
tendríamos todas estas posiciones posibles donde se puede aplicar.
En total nos daría 15 posiciones que corresponden
a un desplazamiento de cinco en horizontal y tres posiciones en vertical.
El resultado de aplicar cada uno de los filtros en cada una de
estas escalas de posiciones es una de las características de Haar.
De esta forma la descripción global de la imagen es la concatenación de
todas las características.
you podemos deducir solo con este ejemplo tan simple que el número de
características y por lo tanto la dimensionalidad final del descriptor será
muy elevada.
La configuración habitual del detector de caras que iremos explicando esta
semana se basa en normalizar la imagen a un tamaño de 24 por 24 pixeles.
Con este tamaño de imagen y el conjunto de filtros básicos que you hemos visto
hasta ahora, el número total de características es superior a 160.000.
En vídeos posteriores you veremos cómo podemos tratar de forma eficiente con
este número de características tan elevado.
Finalmente comentaremos
que este conjunto de filtros básicos que hemos explicado hasta ahora se
puede ampliar para incluir con otros filtros
y con esta ampliación normalmente se obtiene un mejor rendimiento de iii.
Un grupo de estos nuevos filtros se obtiene simplemente como rotación de los
filtros básicos que you hemos visto.
De esta forma podemos detectar características orientadas a 45 grados y
no solo en las direcciones horizontal y vertical.
Otro grupo de filtros se añade modificando los que you teníamos,
por ejemplo en estos casos extendiendo o añadiendo un rectángulo negro en la
parte central y en estos dos casos de aquí añadiendo nuevas configuraciones en la que
el filtro será la diferencia entre la zona exterior y la zona central del filtro.
Evidentemente estas características además de mejorar el
rendimiento del método para suponer una mayor dimensionalidad,
un mayor número de características a calcular.
Sin embargo, el número de características que se añaden con estas nuevas
configuraciones es menor que el número de características inicial que
teníamos con los filtros básicos.
En este vídeo hemos explicado los conceptos fundamentales asociados a los
filtros de Haar.
Básicamente hemos visto que un filtro de Haar se puede definir como la diferencia
de intensidad de zonas adyacentes de la imagen con diferentes configuraciones
que permiten detectar cambios de intensidad en diferentes orientaciones.
Los filtros se aplican a múltiples escalas y posiciones en la imagen,
de manera que acabamos obteniendo un número muy elevado de características.
En los próximos vídeos veremos cómo tratar eficientemente con este número tan elevado
de características tanto en lo que respecta al cálculo como al aprendizaje.