Algoritmos de reconocimiento facial, casos de uso y polémica

Tiempo de lectura: 7 minutos

Introducción

Las tecnologías de detección y reconocimiento facial han estado presentes, aplicadas e investigadas durante décadas. Se considera una herramienta biométrica, como el reconocimiento de una huella dactilar o el reconocimiento del iris, que se basa en detectar patrones y aspectos específicos de la fisiología de un rostro para reconocer o identificar a la persona.  Gracias a los avances en visión por computador en campos como el Deep Learning, las mejoras en el hardware de procesamiento de imágenes y la capacidad de obtener grandes cantidades de datos e información, se ha elevado esta tecnología hasta límites insospechados consiguiendo mejoras en la eficiencia, la velocidad de proceso y la precisión. Actualmente el reconocimiento facial se aplica desde para desbloquear un móvil hasta para detectar criminales que intentan acceder al aeropuerto para escapar del país. ¿Pero es lícita esta tecnología? ¿Por qué hay tanta gente a favor y en contra? ¿Cómo funciona y porque muchas entidades y empresas están introduciéndola como herramienta de verificación? En este articulo vamos a analizar la tecnología detrás de la detección y el reconocimiento facial, los casos de uso y lo que depara el futuro.

Historia del reconocimiento facial

Los primeros sistemas de reconocimiento facial se basaban en el análisis de puntos de interés, habitualmente llamados landmarks, donde se podía extraer información como por ejemplo las distancias entre ellos, para convertirlos a una operación matemática que representaba la firma facial del sujeto. Con el paso del tiempo otros algoritmos de procesado digital de imágenes permitieron extraer cada vez más información del rostro y con más precisión. Con los avances en el campo del Deep Learning, podemos entrenar modelos capaces de extraer y estudiar características del rostro más avanzadas con resultados de detección más precisos y fiables que con técnicas procesado digital de imágenes convencionales.


Figura 1. Evolución de la detección facial. Fuente: Ross.A. (2022)

¿Cómo funciona?

El pipeline de los sistemas de reconocimiento facial varía un poco dependiendo la tecnología, el caso de uso y los algoritmos empleados, pero en líneas generales sigue el siguiente esquema:


Figura 2. Pipeline detección de caras. Fuente: Elaboración propia. (2022)

Se parte de una imagen de entrada que es preprocesada con métodos de normalización, corrección de gama, eliminación de ruido, entre otros. Este paso nos permite entregar al sistema la imagen con la mayor calidad posible y la menor variación. Algunas de las técnicas usadas habitualmente son:

  • Ecualización del histograma: Se usa para aumentar el contraste general de la imagen y repartir los valores de pixeles de una forma más equitativa

Figura 3. Ecualización de una imagen. Fuente: SA. (2022)

  • Corrección luminosidad: Cuanto más nítida, enfocada, bien expuesta y sin ruido tengamos la imagen de entrada

Figura 4. Corrección llumínica. Fuente: SA. (2022)

  • Eliminación de ruido: Se suelen utilizar filtros de procesado digital de imágenes para suavizar la imagen y eliminar ruido.

Figura 5. Filtros de suavizado. Fuente: SA. (2022)

A continuación, se pasa al módulo de detección de caras que localiza la posición de los rostros en la imagen. En la actualidad se suelen utilizar modelos prentrenados, con datasets que incluyen una gran cantidad de imágenes de caras, que son capaces de localizar con precisión y rapidez todas las caras que hay en una imagen, devolviendo para cada una de ellas una región de recorte que contiene la cara detectada.


Figura 6. Selfi en los premios Oscar 2014. Fuente: SA. (2022)

Con este resultado pasamos a localizar características del propio rostro como la posición de la boca, la nariz, los ojos o el contorno de la barbilla. Estos puntos se conocen como landmarks y permiten solventar muchísimas aplicaciones como detectar cuando una persona sonríe para hacer una foto de forma automática, reconocimiento de sentimientos, leer los labios, aplicar filtros como los de la famosa aplicación Snapchat, controlar que un conductor preste atención a la carretera, aplicación de maquillaje digital entre muchos otros.


Figura 7. Ejemplos de aplicaciones. Fuente: SA. (2022)

El siguiente modulo es para alinear las caras y facilitar de esta manera la extracción de características, ya que en una imagen podemos encontrar a las personas que aparecen en ella mirando hacia cualquier lado.  Para ello se suele usar la referencia de los ojos y la barbilla o la nariz para calcular la transformada que nos deje el rostro bien alineado.


Figura 8. Alineación de rostros. Fuente: Elaboración propia. (2022)

Por último, se utilizan habitualmente redes neuronales convolucionales, que permiten mantener la información espacial y son muy útiles para la extracción de características del rostro que permiten definir lo que se conoce como la huella facial con la que podremos verificar o identificar a la persona.


Figura 9. Representación de mapas de características mediante el uso de redes neuronales convolucionales. Fuente: SA. (2022)

Estas dos tareas son muy diferentes entre sí, la primera se basa en un entrenamiento único de un individuo tomando múltiples fotos de su rostro desde diferentes ángulos, de manera que a la hora de verificarlo se pueden usar técnicas como por ejemplo la distancia coseno, que cuantifica la distancia vectorial a un clúster de imágenes del individuo evaluando si este es quien dice ser o por el contrario es otra persona. Por otro lado, si hablamos de identificación de la persona, será necesario buscar las coincidencias de esta en una base de datos con fotos del individuo para poder determinar quién es, esta tarea es más complicada puesto que podemos encontrar muchas coincidencias de diferentes individuos en algunos aspectos o características y serán las puntaciones globales las que permitan obtener un resultado final de coincidencia.

Estado del arte

Gracias a la explosión y avances que estamos viviendo en el campo de la inteligencia artificial, podemos encontrar ejemplos de código, frameworks, librerías y papers que tratan sobre el reconocimiento facial y muchísimas empresas que ofrecen aplicaciones basadas en esta tecnología. De hecho, en los servicios cloud que ofrecen grandes empresas como Amazon, Microsoft o Google es muy habitual encontrar servicios de identificación y reconocimiento facial en su oferta.

Los modelos de Deep Learning para la detección y reconocimiento facial, son una combinación de diferentes arquitecturas que fueron desarrolladas para otros usos pero que son igualmente válidas para caras.  Un ejemplo es Retinaface. Esta red neuronal combina en primer lugar una extracción de mapas de características piramidal, del cual se obtienen 4 escalas diferentes con una profundidad de 256 mapas de características por cada una. Entonces se usa una arquitectura de cascada múltiple para la localización de la cara y a partir de ahí se utilizan redes neuronales para clasificar, obtener el bounding box del rostro, obtener los landmarks con los puntos de interés y por último 1000 puntos para crear el rostro en 3D.


Figura 11: Verificación vs reconocimiento facial. Fuente: SA. (2022)

Casos de uso y polémica

Con los avances vividos en la tecnología podemos encontrar multitud de aplicaciones en la actualidad donde se usa reconocimiento facial. Identificación de sospechosos y prevención de ataques terroristas, búsqueda de gente desaparecida, robos en tiendas, identificación usuario en banca, control de accesos, reconocimiento de la edad y el sexo de clientes en retail para poder ofrecerle la mejor experiencia o productos de su interés, ADAS en vehículos autónomos, clasificación de imágenes por persona o grupos de personas en smartphones, entre muchos otros.

Hay mucha variedad de opiniones sobre esta tecnología ya que mucha gente considera que el reconocimiento facial vulnera la privacidad individual. Algunas ciudades alrededor del mundo trabajan con herramientas de detección de caras y reconocimiento facial en tiempo real recogiendo imágenes de personas para generar grandes bases de datos de caras sin su consentimiento.

Por otro lado, hay muchas evidencias que demuestras que los algoritmos actuales de reconocimiento facial producen más falsos negativos en personas de color, apuntando a esta tecnología incluso como una tecnología racista.

El documental “coded bias” de 2020, narra la sorprendente revelación de Joy Buolamwini, una investigadora del MIT, en la que se demuestra que el reconocimiento facial no funciona correctamente con las pieles más oscuras, y su consecuente lucha contra las autoridades estadounidenses para que se cambiasen los algoritmos actuales con el fin de evitar los prejuicios raciales


Figura 12. Coded bias. Fuente: S.A. (2022)

Otro punto de discusión es que está demostrado que actualmente es bastante sencillo engañar a los sistemas de reconocimiento facial. A pesar de que con los avances actuales los sistemas son capaces de detectar rostros incluso con mascarilla, es posible pasar desapercibido por estos sistemas simplemente con algunos desarrollos anti-detección de caras que utilizan gafas con luces que no permiten extraer la huella facial del individuo.


Figura 13. Gafas anti-reconocimiento facial. Fuente: S.A. (2022)

Conclusiones

A pesar de la gran evolución en el campo del reconocimiento facial, hay mucho trabajo por delante para decir que esta tecnología es cien por cien fiable y esto es porque la tarea de reconocer a una persona es muy compleja. En campos como el de la seguridad, la banca o el retail, esta tecnología va a marcar una nueva forma de acceder a lugares como aeropuertos, campos de futbol, o incluso supermercados y la manera en cómo se controla o vigila a usuarios.  Es cierto que los resultados actuales son prometedores y vamos a encontrar cada vez más esta tecnología en nuestro día a día, ya que, dentro del camino tecnológico hacia la automatización de procesos, la robótica y la digitalización, poder asegurar que alguien es quien dice ser, es un factor muy importante si queremos estar tranquilos frente a dejar que las maquinas ejecuten tareas sin depender de una revisión humana constante.

Escrito por Sergio Redondo CabanillasR&D Manager en Grupo Bcnvision.

¿Quieres seguir leyendo blogs sobre visión artificial? haz clic aquí

Conocer soluciones reales de visión

¿Tienes un proyecto y necesitas realizar alguna consulta? Contacta con Bcnvision.