En esta entrada del blog, analizaremos de forma sencilla y directa los principios y procesos que hay detrás del reconocimiento de rostros humanos por parte de los ordenadores.
¿Qué principios sustentan el reconocimiento facial?
Seguramente de niño jugaste alguna vez a un juego en el que tenías que completar un rostro humano. En este juego, primero seleccionas la forma de la cara, luego eliges el peinado, los ojos, la nariz y la boca uno por uno y los colocas en el rostro. Al cambiar entre diferentes peinados, ojos, narices y bocas, puedes crear el rostro que desees. La forma en que las computadoras reconocen y comparan rostros no es muy diferente. Las computadoras identifican y almacenan los rasgos faciales; cuando se introduce una nueva foto de un rostro, la comparan con los rasgos almacenados para determinar quién es la persona.
Un ejemplo reciente de tecnología de reconocimiento facial de fácil acceso son las aplicaciones de reconocimiento facial. Estas aplicaciones extraen y almacenan previamente características clave, como los contornos faciales, los ojos, la nariz y la boca, a partir de fotografías de famosos. Posteriormente, cuando se captura el rostro de una persona con la cámara, la aplicación extrae las características faciales de la misma manera y las compara con las características faciales almacenadas de los famosos para identificar y mostrar a la persona que más se asemeja.
¿Cómo reconoce un ordenador un rostro?
Ahora, examinemos el proceso de reconocimiento facial de la computadora. El reconocimiento facial consta de cuatro etapas principales: entrada, detección facial, extracción de características y comparación.
En la etapa de entrada, un solo fotograma de una foto o video se transmite a la computadora mediante un dispositivo de entrada. Generalmente, cuanto mayor sea la resolución del dispositivo de entrada y mayor la velocidad de fotogramas por segundo (FPS), mayor será la precisión en el reconocimiento de rostros. Este principio es similar a cómo una persona con buena vista puede reconocer con mayor precisión el rostro de alguien que se encuentra lejos.
En la etapa de detección facial, el sistema primero verifica si hay un rostro en la foto o video de entrada. Para ello, identifica el contorno del rostro y sus características principales, como los ojos, la nariz y la boca. Si bien actualmente se utilizan diversas técnicas de detección facial, aquí nos centraremos en el método de detección tipo Haar, que es el más representativo.
El método de detección tipo Haar utiliza ondículas de Haar. Una ondícula es un patrón rectangular simple compuesto por regiones blancas y negras. Estas regiones se utilizan para identificar áreas en una imagen donde se producen diferencias de brillo. Al aplicar ondículas de diversos tamaños y formas a toda la imagen o video de entrada, y luego conservar solo las ubicaciones donde la diferencia de brillo entre las regiones blancas y negras es significativa, el sistema puede detectar eficazmente el contorno del rostro y rasgos faciales clave como los ojos, la nariz, la boca y las cejas. Además, este proceso también permite extraer información posicional sobre los rasgos faciales.
Por ejemplo, al extraer información sobre los ojos, las regiones negras de la ondícula se corresponden con áreas relativamente oscuras, como la pupila, mientras que las regiones blancas corresponden con áreas brillantes, como la piel. Al utilizar estas diferencias de brillo, se puede detectar eficazmente la posición y la forma de los ojos.
¿Cómo se extraen los rasgos faciales?
Una vez completada la fase de detección facial, el sistema determina si debe proceder a la fase de extracción de características.
En la etapa de extracción de características, se extraen los rasgos faciales para aprovechar al máximo los componentes faciales identificados durante la etapa de detección de rostros. A diferencia de la detección de rostros, este proceso incluye un paso de preprocesamiento. Dado que el ángulo de rotación, el tamaño y la intensidad de la iluminación de los rostros varían en cada fotografía o video, se realiza un proceso de normalización para estandarizarlos lo máximo posible. Además, las fotografías o videos en color pueden convertirse a blanco y negro según sea necesario.
Por ejemplo, la foto original se convierte a escala de grises, luego se recorta la región del rostro y se ajusta su tamaño a un tamaño uniforme, y se realiza una ecualización del histograma para corregir el brillo. Utilizando la información de posición de los componentes faciales obtenida durante la etapa de detección de rostros, se extraen los rasgos faciales de las fotos o videos que han sido sometidos a este preprocesamiento.
¿Cómo se utilizan los rasgos faciales extraídos?
Durante la fase de comparación, la información sobre estos componentes faciales extraídos se almacena en una base de datos (BD) o se compara con datos faciales existentes para identificar la mejor coincidencia.
Hemos analizado el proceso de reconocimiento facial por ordenador. Hace apenas unas décadas, la idea de que un ordenador pudiera distinguir entre personas parecía una tecnología muy alejada de la realidad. Sin embargo, gracias al rápido avance del hardware, el software y la inteligencia artificial, el reconocimiento facial se utiliza ahora ampliamente en diversos campos, como los teléfonos inteligentes y los ordenadores portátiles, así como en el control de accesos, los servicios financieros y la seguridad aeroportuaria. Hoy en día, la tecnología que permite a los ordenadores reconocer rostros humanos ya no es cosa del futuro, sino que se ha integrado de forma natural en nuestra vida cotidiana.