Grupo 14:
Cristina Canto Pérez
Verónica Montes Valencia
Reconocimiento de caras usando
Histogramas de Gradientes Orientados
Objetivo
La realización del algoritmo Histogramas de gradientes orientados para su uso en el
reconocimiento facial. Tras pasarle una imagen al algoritmo que sea capaz de identificarnos automáticamente la cara
de una persona en una imagen digital. Como idea general podríamos decir que consiste
en el análisis de las características faciales de un sujeto extraídas de la imagen y comparándolas
con una base de datos.
Proceso de reconocimiento
Podemos diferenciar dos fases:
Extracción de características de una imagen.
La clasificación de una imagen en función de sus características.
Extracción de características de una
imagen
Proceso de obtener ciertos valores de una imagen que puedan describir a la misma.
La cara que aparece en la imagen quedaría definida por esos valores.
La idea esencial es que la apariencia y la forma de un objeto local dentro de una imagen puede
ser descrita por la intensidad de la distribución de las direcciones de los gradientes.
Extracción de características de una
imagen
1. En primer lugar la imagen pasa por un preproceso para aumentar la eficiencia y
eficacia de fases posteriores. Se transforma una imagen en color a otra en escalas de grises,
donde se traduce del valor de los pixeles en el rango de grises.
Extracción de características de una
imagen
2. Dividimos la imagen en fragmentos que llamaremos bloques. Para cada bloque se
calculará su vector de características.
Extracción de características de una
imagen3. Para cada bloque obtenido se normalizará su intensidad
con el fin de que su media sea 0 y su varianza sea 1. Para acelerar este proceso se ha utilizado la imagen integral
𝑆1=𝑖𝑖(𝑐𝑓,𝑟𝑓)+𝑖𝑖(𝑐0−1,𝑟0−1)−𝑖𝑖(𝑐𝑓,𝑟0−1)−𝑖𝑖(𝑐0 −1,𝑟𝑓) 𝑆2= 𝑖𝑖2(𝑐𝑓,𝑟𝑓)+ 𝑖𝑖2(𝑐0,𝑟0)− 𝑖𝑖2(𝑐𝑓,𝑟0−1)− 𝑖𝑖2(𝑐0−1,𝑟𝑓)𝜇= 𝑆1/𝑁𝜎=√𝑆2/𝑁− 𝜇2
Extracción de características de una
imagen4. Una vez normalizada la imagen, el siguiente paso es
calcular la magnitud y la orientación del gradiente de cada pixel. El gradiente denota una dirección en el espacio según el cual aprecia una variación de una
determinada propiedad.
Extracción de características de una
imagen
5. Se divide el gradiente en dos componentes, la magnitud y orientación para que el resultado sea una matriz, de la cual se tiene que crear un histograma de orientaciones. Este histograma se construye con un vector de talla N, siendo N
el número de orientaciones contempladas.
Extracción de características de una
imagen
6. Se aplica un posproceso al vector de características. Primero se normalizan sus
valores para posteriormente umbralizar los picos y volver a normalizar el vector resultante.
¿Problema? Tenemos que diferenciar ahora una serie de números de otros para determinar si se
trata de un rostro o no.
Clasificación de una imagen
De nuevo podemos tener en cuenta dos partes: Proceso de aprendizaje del clasificador:
De las imágenes de la base de datos se extraen sus características para obtener un valor numérico que defina a la
imagen. Estas características se pasan al clasificador junto con la certeza de que ese valor numérico representa la información de
que se trata de una cara o no.
Proceso de inferencia sobre el clasificador entrenado:
Con lo anterior se consigue que el clasificador sea capaz de inferir, cuando se le pasa una foto a estudiar, si el vector de
características se trata de una cara o no.
Clasificación de una imagen
Añadimos al clasificador los vectores de características obtenidos de las imágenes de entrenamiento. Junto con información que
identifica a cada vector con la clase que pertenece (cara o no).
Una vez entrenado el clasificador, para cada vector característico a reconocer se realiza una
búsqueda de los K vectores de entrenamiento más cercanos. Y se le asignará la clase a la que
pertenece la mayoría de los K vectores característicos más cercanos.
Implementación…
Preguntas? Gracias!