miércoles, 21 de octubre de 2020

Las cuatro fases del reconocimiento facial

Una de las áreas más interesantes, pero también más polémicas de la Inteligencia Artificial en general y de la Visión Artificial en particular es el reconocimiento facial, es decir, el tipo de soluciones que son capaces a partir de la imagen de la cara de una persona, una imagen que además puede ser un vídeo, identificar a la persona.

A pesar de la complejidad de la labor lo cierto es que técnicamente está bastante conseguido y realmente lo que está empezando a limitar el uso de este tipo de tecnologías son más bien cuestiones de naturaleza ética, incluyendo el anuncio por parte de algunas de las grandes compañía tecnológicas como IBM o Amazon de congelar sus desarrollos en esta materia hasta que no exista un marco regulador claro.

Pero, quedándonos en el plano técnico, en este post quería, simplemente, recoger de manera sucinta una explicación acerca de las cuatro fases o los cuatro módulos que componen habitualmente una solución de reconocimiento facial, unas fases que me encuentro descritas en el libro 'Modern Deep Learning and Advanced Computer Vision' de Thomas Binford, Jagadeesh Kumar, J, Ruby, J. Lepika, J. Tisa y J. Nedumaan, y que se esquematizan en la siguiente figura:

Las cuatro fases son:

  • Detección de caras ('face detection'): es decir, estamos ante una imagen en que, aparte de la cara, evidentemente, hay otros objetos o un fondo. Es más, pueden existir varias caras. En esta fase lo que se hace es localizar las caras que haya presentes y marcarlas con un rectángulo.

  • Alineamiento de cara ('face alignment' o 'face normalization'): Con frecuencia a esta fases se la denomina normalización porque lo que hace es ajustar elementos como su tamaño, geometría o fotometría para conseguir consistencia entre todas las imágenes que se almacenan en una base de datos, y poderlas hacer de alguna forma comparables.

  • Extracción de características ('feature extraction'): En esta fase, lo que inicialmente era una imagen se convierte, en realidad, en una serie de características que de alguna forma definen esa imagen, esa cara, reduciéndola a esas características que le confieren singularidad. El resultado suele ser un vector de características.

  • Reconocimiento de cara ('face recognition' o 'matching'): Una vez reducida la imagen de la cara a un vector de características se busca en una base de datos alguna cara que presente esas mismas características. Si la encontramos, habremos culminado con éxito el reconocimiento.


Cada una de las fases utiliza algoritmos diferentes, con frecuencia basados en deep learning mediante redes neuronales de convolución, y pudiera tratarse de módulos e incluso soluciones diferenciadas.

El esquema de fases es bastante claro y fácil de entender aunque, como se puede imaginar, el detalle de algoritmos reales puede ser muy complejo y aunque, como decimos, está tecnológicamente bastante resuelto sigue existiendo trabajo e investigación para su mejora.


No hay comentarios:

Publicar un comentario