Cómo funciona la detección y reconocimiento facial con inteligencia artificial

La inteligencia artificial ha estado resolviendo problemas reales durante décadas. En la actualidad, la inteligencia artificial se ha convertido en una tecnología que impacta en todas las principales industrias. Muchos de los servicios de inteligencia artificial requieren el uso de la tecnología de visión por computadora para procesar una gran cantidad de datos. La detección y el seguimiento facial se pueden utilizar con fines de seguridad, detectando amenazas potenciales y creando sistemas que actúen como ojos robóticos para la detección en tiempo real.

Algunas de las aplicaciones que utilizan la visión por computadora incluyen:

  • Sistemas avanzados de asistencia al conductor y coches autónomos
  • Reconocimiento de imágenes, análisis automático de documentos, detección y seguimiento de objetos
  • La detección y el reconocimiento facial se utilizan generalmente para problemas de seguridad
  • Procesamiento de imágenes médicas
  • Internet de las cosas

Facebook ha desarrollado un algoritmo que puede reconocer a tus amigos en las fotografías. Anteriormente, Facebook solía pedir al usuario que escribiera su nombre y los etiquetara. Esta tecnología se conoce como tecnología de reconocimiento facial. El algoritmo de Facebook es capaz de reconocer el rostro de tus amigos después de haber sido etiquetados varias veces.

La detección y el reconocimiento facial son una colección de varios problemas relacionados. El primer paso es mirar la imagen y encontrar todos los rostros en ella. A continuación, se debe enfocar en cada rostro y comprender que, aunque esté girado en una dirección diferente o tenga una iluminación deficiente, sigue siendo la misma persona. Luego, se debe ser capaz de identificar las características únicas del rostro que se pueden utilizar para diferenciarlo de otras personas. Por último, se deben comparar las características del rostro con todas las personas para determinar el nombre de la persona.

Un cerebro humano puede realizar estas tareas automáticamente e instantáneamente. Por otro lado, las computadoras no pueden generalizar como lo hacemos nosotros. Por lo tanto, necesitan ser entrenadas en cada uno de los procesos por separado. Se debe crear un proceso separado para resolver cada paso y pasar al siguiente nivel. En otras palabras, necesitamos encadenar varios algoritmos de aprendizaje automático para encontrar un rostro en la imagen, analizar las características faciales, compararlas con los rostros conocidos y hacer una predicción.

Enfoque paso a paso para el reconocimiento facial

En este artículo, abordaremos los problemas uno por uno. Para cada paso, aprenderemos sobre diferentes algoritmos de aprendizaje automático.

Paso 1: Encontrar los rostros

El primer paso en el proceso es la detección facial. Necesitamos localizar los rostros en la fotografía antes de poder separarlos. La detección facial es una gran característica en las cámaras. Cuando la cámara selecciona automáticamente nuestros rostros, puede asegurarse de que todos los rostros estén enfocados antes de tomar una foto.

Para encontrar los rostros en la imagen, primero debemos convertir la imagen en blanco y negro, ya que no necesitamos rostros en color para encontrar los rostros. Luego, miramos cada píxel de nuestra imagen uno por uno. Observamos los píxeles que lo rodean directamente. Tenemos que determinar qué tan oscuro es el píxel actual en comparación con los píxeles que lo rodean. Repetimos el proceso con cada píxel de la imagen y terminamos reemplazando cada píxel por una flecha. El resultado final es que convertimos la imagen en una representación simple que captura la estructura básica del rostro.

Paso 2: Posicionamiento y proyección de los rostros

A continuación, debemos lidiar con el problema del posicionamiento y la proyección de los rostros. Para esto, intentamos ajustar cada imagen para que los labios siempre estén en el mismo lugar en la imagen. Esto nos facilitará mucho la comparación de nuestros rostros.

La idea básica es encontrar los 68 puntos específicos que existen en cada rostro. Luego, se entrena a un ser humano y a la visión por computadora para encontrar los puntos específicos en el rostro. Ahora que hemos localizado los ojos y la boca, simplemente rotamos y escalamos las imágenes para que los ojos y la boca estén centrados en la mejor posición posible. Esto facilitará mucho nuestro próximo paso.

Paso 3: Codificación de los rostros

En este paso, debemos diferenciar los rostros. El enfoque más simple es comparar directamente los rostros desconocidos que encontramos en el Paso 2 con las imágenes de las personas que ya han sido etiquetadas. Cuando encontramos un rostro previamente etiquetado que es muy similar al rostro sin etiquetar, debe ser la misma persona.

El problema principal con este enfoque es que el sistema no puede recorrer los millones de personas en la base de datos. Puede llevar tiempo en minutos. Sin embargo, los resultados que necesitamos deben estar en milisegundos. Lo que podemos hacer es extraer algunas medidas básicas de cada rostro. Luego, podemos medir el rostro desconocido de la misma manera y encontrar el rostro conocido con la medida más cercana. Por ejemplo, la distancia entre las orejas, los ojos, la longitud de la nariz, etc.

La Red Neuronal Convolucional Profunda se puede utilizar para entrenar y generar 128 medidas de cada rostro.

El proceso de entrenar una red neuronal convolucional requiere una gran cantidad de datos y potencia informática. Pero una vez que la red ha sido entrenada, puede generar medidas para cualquier rostro. El último paso en el proceso es encontrar en la base de datos a la persona que se parece más a la imagen de prueba. Esto se puede lograr mediante un algoritmo simple de clasificación de aprendizaje automático. Todo lo que tenemos que hacer es entrenar un clasificador que pueda tomar una medida de la imagen de prueba y decir cuál es la coincidencia más cercana. Ejecutar el clasificador toma milisegundos. El resultado del clasificador es el nombre de la persona.

Conclusión

En este artículo, discutimos cómo funciona la detección y el reconocimiento facial con inteligencia artificial. Los avances recientes en inteligencia artificial han mejorado significativamente la precisión del reconocimiento facial. El aprendizaje profundo ha ayudado significativamente en el campo de la tecnología de visión por computadora y el procesamiento del lenguaje natural. Webtinix AI es una empresa de inteligencia artificial en India que ha desarrollado sistemas de detección y reconocimiento facial que se pueden utilizar en diversas aplicaciones en tiempo real.

Te puede interesar