Cómo distinguir un rostro real de uno falso en el reconocimiento facial

imagen



Breve descripción



La diferencia entre el rostro de una persona real y uno falso en una cámara sigue siendo uno de los problemas más difíciles en los sistemas de control y acceso a los locales. Se propone un algoritmo para detectar el parpadeo de ojos en tiempo real en una secuencia de video de una cámara estándar, lo que nos da el hecho de que la persona en la cámara es real. Los detectores de puntos de referencia más recientes entrenados en conjuntos de datos en el campo muestran una excelente resistencia a la orientación de la cabeza en relación con la cámara, las condiciones de iluminación cambiantes y las expresiones faciales. Demostramos que los puntos de referencia se detectan con la suficiente precisión para estimar de manera confiable el nivel de apertura de los ojos. Por lo tanto, el algoritmo propuesto estima la posición de los puntos de referencia, extrae una relación escalar-fondo de ojo (EAR), que caracteriza la apertura del ojo en cada cuadro. Finalmente,el clasificador SVM detecta el parpadeo de los ojos como un patrón de valores EAR en una ventana de tiempo corta. El algoritmo simple supera los resultados modernos en dos conjuntos de datos estándar.



Biblioteca Dlib



En este artículo, utilizo los índices faciales para las regiones faciales dlib . El detector de puntos de referencia facial implementado dentro de la biblioteca dlib produce 68 coordenadas (x, y) que se asignan a estructuras faciales específicas. Estas asignaciones de 68 puntos se obtuvieron entrenando el predictor de forma en el conjunto de datos etiquetado iBUG 300-W .



A continuación, podemos visualizar a qué se asigna cada una de estas 68 coordenadas: Figura 1 - Representación de cada uno de los 68 puntos de coordenadas faciales del conjunto de datos iBUG 300-W Al examinar la imagen, podemos ver que se puede acceder a las regiones faciales a través de una simple indexación de Python ( asumiendo cero indexación con Python ya que la imagen de arriba es una indexada):













  • Se puede acceder a la boca a través de puntos [49, 68].
  • Ceja derecha a través de puntos [18, 22].
  • Ceja izquierda a través de puntos [23, 27].
  • El ojo derecho a través de los puntos [37, 42].
  • El ojo izquierdo a través de los puntos [43, 48].
  • La nariz a través de las puntas [28, 36].
  • Y la mandíbula a través de los puntos [1, 17].


Comprensión de la proporción ocular (EAR). Podemos aplicar la detección de hitos faciales para localizar áreas importantes del rostro, incluidos ojos, cejas, nariz, orejas y boca:





Figura 2 - Detección en tiempo real de hitos faciales en la imagen



Esto también implica que podemos extraer ciertas estructuras faciales conociendo los índices de ciertos partes de la cara:





Figura 3- Aplicación de puntos de referencia faciales para localizar diferentes áreas de la cara, a saber, el ojo derecho y la boca



Detección de parpadeo



En términos de detección de parpadeo, solo nos interesan dos conjuntos de estructuras faciales: los ojos. Cada ojo está representado por 6 coordenadas (x, y), comenzando en la esquina izquierda del ojo (como si estuviera mirando a un humano) y luego trabajando en el sentido de las agujas del reloj alrededor del resto del área:





Figura 4-6 puntos de referencia faciales asociados con el ojo



Basado en En esta imagen, debemos retomar en un punto clave: existe una relación entre el ancho y el alto de estas coordenadas. Sobre la base del trabajo de Soukupova y Cech en su artículo de 2016, "Detección del parpadeo de los ojos en tiempo real mediante marcas faciales", podemos derivar una ecuación que refleje esta relación, denominada Relación de aspecto del ojo (EAR):





Figura 5 - Ecuación de proporción del ojo



donde p1,…, p6 son puntos de referencia 2D en la cara. El numerador de esta ecuación calcula la distancia entre los puntos de referencia del ojo vertical, mientras que el denominador calcula la distancia entre los puntos de referencia del ojo horizontal, ponderando el denominador en consecuencia, ya que solo hay un conjunto de puntos horizontales, pero dos conjuntos de puntos verticales.



Bueno, como sabemos, la relación de aspecto del ojo es aproximadamente constante cuando el ojo está abierto, pero cae rápidamente a cero cuando se produce el parpadeo. Usando esta simple

ecuación, podemos evitar las técnicas de procesamiento de imágenes y simplemente confiar en la relación entre la distancia y el punto de vista del ojo para determinar si una persona está parpadeando. Para hacerlo más claro, considere la siguiente figura:





Figura 6 - Visualización de puntos de referencia del ojo



En la esquina superior izquierda, tenemos un ojo completamente abierto: la relación de aspecto aquí será grande ® y relativamente constante a lo largo del tiempo. Sin embargo, tan pronto como la persona parpadea (arriba a la derecha), la relación de aspecto del ojo disminuye drásticamente, acercándose a cero. La figura superior muestra un gráfico de la relación de aspecto de un ojo para un videoclip. Como podemos ver, la relación de aspecto del ojo es constante, luego cae rápidamente hasta casi cero y luego aumenta nuevamente, lo que indica un parpadeo.





Figura 7 - Detección de parpadeo de ojos



Excepciones



Sin embargo, debido al ruido en la transmisión de video, las bajas tasas de detección de los puntos de referencia faciales o los cambios rápidos en el ángulo de visión, un simple umbral de la relación de aspecto del ojo puede conducir a una detección de falso positivo, lo que indica que el parpadeo ocurrió cuando el sujeto no parpadeó realmente. Como leemos en un artículo médico, una persona parpadea un promedio de 20 veces por minuto, lo que nos dice que parpadea una vez cada 3 segundos.



En base a esto, para que nuestro detector de parpadeo sea más resistente a estos problemas, realizamos el intervalo de tiempo antes de leer el parpadeo, deben pasar 3 segundos y deben tomarse al menos 3 cuadros cuando se detecta el parpadeo. Los resultados de nuestra investigación han dado muy buenos resultados. El detector funcionó exactamente. De las veinte pruebas, dieciocho dieron positivo.



Los problemas de este enfoque



También hay problemas sin resolver con este enfoque. Si muestra un video en la cámara por medios técnicos que muestra el rostro de una persona que está parpadeando, el sistema puede dar lugar a una detección de falso positivo. La solución a este problema se puede llevar a cabo con la ayuda de un steopair de imágenes donde, usando dos cámaras, podemos obtener un mapa de profundidad y calcular la distancia al objeto.



Resolución de problemas



Esto muestra el funcionamiento de cámaras estereopares. Una vez rectificadas las imágenes, se realiza una búsqueda de los pares de puntos correspondientes de las dos imágenes. La forma más sencilla se ilustra en la Figura 8 y es la siguiente. Para cada píxel de la imagen de la izquierda con coordenadas (x0, y0), se busca un píxel en la imagen de la derecha. Se supone que el píxel de la imagen de la derecha debe tener coordenadas (x0 - d, y0), donde d es un valor llamado disparidad. La búsqueda del píxel correspondiente se realiza calculando el máximo de la función de respuesta, que puede ser, por ejemplo, la correlación de las vecindades de píxeles.





Figura 8 - Cálculos del mapa de profundidad



All Articles