Inteligencia Artificial: ¿Por qué fallan los sistemas de reconocimiento facial?
Contrario a los sistemas protegidos con contraseña, nuestra información biométrica está ampliamente disponible y es relativamente fácil de obtener. Por lo anterior, existen algunos tipos de ataques fáciles de implementar y que pueden tener éxito si no existen medidas para evitarlos. En particular, los sistemas de reconocimiento facial se pueden vulnerar utilizando uno de los siguientes métodos:
- Una fotografía
- Un vídeo
- Un modelo 3D del rostro
Se han desarrollado varios métodos para enfrentar el problema de la suplantación con imágenes de rostros en sistemas de reconocimiento facial. Estos pueden ser divididos en dos enfoques: características dinámicas y características estáticas.
Los enfoques de características dinámicas buscan detectar el movimiento en una secuencia de vídeo, analizando la trayectoria de segmentos específicos del rostro. Éstas revelan información valiosa para discriminar entre rostros reales y copias estáticas. Algunos métodos típicos son aquellos basados en la detección de párpados de ojos; gestos de cabeza y rostro (cabeceo, sonreír o mirar en diferentes direcciones); seguimiento del rostro y la mirada a través de la estimación de flujo. Estas técnicas son altamente efectivas para detectar ataques que utilizan fotos, pero pierden efectividad cuando se trata de vídeos.
Con el objetivo de aumentar el desempeño en los ataques con vídeos, se han desarrollado métodos específicos de liveness detection en vídeos. Por ejemplo, explorar la estructura 3D de los vídeos, analizar una gran cantidad de imágenes 2D con diferentes posiciones de la cabeza; usar un análisis basado en contexto para tomar ventaja de la información no-facial disponible en las muestras, como características de movimientos en la escena (como por ejemplo, movimiento en el fondo v/s primer plano). También se están usando versiones modificadas de Local Binary Patterns o LBP, para aprovechar la información temporal presente en el vídeo o analizar las texturas dinámicas en comparación con objetos rígidos como fotos y máscaras.
En búsqueda de soluciones
Una forma de enfrentar el problema es enfocarse en la detección de vida. Para esto, es necesario considerar una representación espacio-temporal que combine el aspecto facial y su dinámica. Para lograrlo, la clave está en la utilización de una representación espacio-temporal basada en LBP debido al desempeño mostrado en el modelamiento de movimiento de rostros y reconocimiento de expresiones faciales, y también en el reconocimiento de textura dinámica.
¿Cómo se detecta la suplantación en sistemas de reconocimiento facial?
El operador LBP para análisis de textura es definido como una medida de escala de grises invariante a la textura, derivado de una definición general en una vecindad local. Este es un descriptor de textura poderoso, y entre sus propiedades para aplicaciones del mundo real se destaca su poder discriminativo, simplicidad computacional y tolerancia ante cambios monotónicos en escala de grises.
El operador LBP inicialmente fue concebido para lidiar con información espacial. Sin embargo, su uso se ha ampliado a representaciones espacio temporal para análisis de textura dinámica, dando paso al operador Volume Local Binary Pattern (VLBP).
VLBP consiste en encontrar la textura dinámica en un vídeo, el cual es representado como un volumen (X, Y, T), donde X y Y denotan las coordenadas espaciales y T representa el índice del frame. Por otro lado, la vecindad de cada píxel está definida en un entorno tridimensional. El volumen de VLBP puede ser definido por planos ortogonales, dando paso a lo que se conoce como LBP-TOP o LBP Three Orthogonal Planes. Aquí se definen los planos XY, XT y YT. A partir de ellos, se extraen los mapas LBP para cada plano, denotados como XY-LBP, XT-LBP y YT-LBP y luego se concatenan para obtener la representación LBP considerando como centro un píxel del volumen , como se muestra en la figura.
El número de puntos vecinos en los planos XY ,XT y YT es PXY, PXT y PYT, respectivamente. El tipo de operador en cada plano puede variar, estos pueden ser, patrones uniformes(u2), patrones uniformes invariantes a la rotación (rui2).
A diferencia de las fotografías, los rostros reales son objetos no rígidos con contracciones de los músculos faciales que resultan en deformaciones temporales. Por ejemplo, párpados y labios. Por lo tanto, se asume que los patrones específicos de movimiento facial deberían ser detectados cuando un humano vivo es observado con una cámara frontalmente. El movimiento de una fotografía frente a una cámara causa patrones de movimiento distintivos que no describen el mismo patrón que una cara genuina.
En la figura se presenta la metodología anti-spoofing, la cuál consta de los siguientes etapas:
- Cada frame de la secuencia original es convertido a escala de grises y pasado a través de un detector de rostros.
- Los rostros detectados son geométricamente normalizados a 64 × 64 píxeles. Esto, con el objetivo de reducir el ruido del detector de rostros, la misma bounding box es utilizada para cada set de frames usado en el cálculo con el operador LBP-TOP.
- El operador LBP es aplicado en cada plano (XY,XT y YT) y los histogramas son calculados y luego concatenados.
- Se utiliza un clasificador binario para determinar cuáles son datos reales.
Cada uno de los vídeos, ya sea de ataques o accesos reales, es transformado a un arreglo 3D y en escala de grises que representa la distribución espacial X, Y, T. Luego, son divididos en secuencias de 75 frames a las que se aplica un algoritmo de detección de rostros en el frame central.
Este método es útil para prevenir ataques simples en sistemas de reconocimiento facial (como es el caso de las fotografías), pero no recomendable para ataques más complejos. El objetivo del método es identificar variaciones temporales, que pueden ser vulneradas fácilmente con una máscara. Es por ello que se sugiere siempre combinar métodos para construir un sistema biométrico robusto.
Para mayor información y el código del proyecto desarrollado visitar el proyecto en GitHub.
I am a Data Scientist interested in natural language processing.