El reconocimiento facial

Introducción


Se ha convertido en los últimos años en una área de investigación activa que abarca diversas disciplinas, como procesado de imágenes, reconocimiento de patrones, visión por ordenador y redes neuronales. Involucra tanto a investigadores del área de informática como a neurocientíficos y psicólogos. Se podría considerar también dentro del campo de reconocimiento de objetos, donde la cara es un objeto tridimensional sujeto a variaciones de iluminación, pose, etc., y ha de ser identificada basada en su proyección 2D (excepto cuando se utilizan técnicas 3D).



El objetivo de un sistema de reconocimiento facial es, generalmente, el siguiente: dada una imagen de una cara "desconocida", o imagen de test, encontrar una imagen de la misma cara en un conjunto de imágenes "conocidas", o imágenes de entrenamiento. La gran dificultad añadida es la de conseguir que este proceso se pueda realizar en tiempo real. El sistema identificará las caras presentes en imágenes o videos automáticamente. Puede operar en dos modos:


Verificación o autentificación de caras:


Compara una imagen de la cara con otra imagen con la cara de la que queremos saber la identidad. El sistema confirmará o rechazará la identidad de la cara.


Identificación o reconocimiento de caras:


Compara la imagen de una cara desconocida con todas las imágenes de caras conocidas que se encuentran en la base de datos para determinar su identidad.

Por su naturaleza amigable, este tipo de sistemas siguen siendo atractivos a pesar de la existencia de otros métodos muy fiables de idenficiación personal biométricos, como el análisis de huellas dactilares y el reconocimiento del iris.


Aplicaciones específicas.


Biometría.
Licencia de Conducir.
Programas de Derecho.
Inmigración
DNI
Pasaportes
Registro de Votantes
Fraude
Seguridad de la información
Inicio de Sesión
Seguridad en Aplicaciones militares
Seguridad en Bases de Datos
Cifrado de Información
Seguridad en Internet
Acceso a Internet
Registros Médicos
Terminales de Comercio Seguro
Cajeros Automáticos
Cumplimiento de la ley y vigilancia
Videovigilancia Avanzada
Control CCTV
Control Portal
Análisis Post-event
Hurto
Seguimiento de Sospechosos
Investigación
Tarjetas inteligentes
Valor almacenado
Autenticación de usuarios
Control de  acceso a Instalaciones
Acceso a Vehículos

Aplicaciones Actuales.


Se utiliza principalmente en sistemas de seguridad para el reconocimiento de usuarios. En estos sistemas se utiliza un lector que define las características del rostro, y cuando este solicita el acceso, se verifica comparando los datos obtenidos con la base de datos. Sin embargo, estos sistemas no son útiles a largo plazo ya que, a medida que pasan los años, los rasgos faciales varían y al solicitar el acceso ya no coinciden con la imagen en la base de datos. Para solucionar este problema se puede utilizar un algoritmo que interprete el paso de los años, aunque igualmente sigue sin ser del todo fiable), o bien, renovar frecuentemente la base de datos.


También se utiliza en aplicaciones de interacción persona-ordenador, en gestión multimedia, y en software como Google's Picasa, Apple iPhoto, Sony's Picture Motion Browser (PMB), Facebook y Asus Smart Logon.


Posibles aplicaciones futuras.


Una aplicación de reconocimiento facial futura se basa en establecer esta técnica a nivel de usuario. Por ejemplo, en un supermercado o en un establecimiento pequeño se podría llevar a cabo un control sobre quien abre la caja registradora mediante un reconocimiento facial previo, de esta manera también se pueden evitar intentos de robo ya que, al no reconocer el rostro, la caja permanecería cerrada. Un caso más extremo sería en los cajeros automáticos donde, para poder operar, fuese necesario un reconocimiento facial en vez del actual PIN.

Funcionamiento.

El proceso consta de cuatro módulos principales:

1. Detección de la cara:

Detecta que hay una cara en la imagen, sin identificarla. Si se trata de un video, también podemos hacer un seguimiento de la cara. Proporciona la localización y la escala a la que encontramos la cara.

2. Alineación de la cara:


Localiza las componentes de la cara y, mediante transformaciones geométricas, la normaliza respecto propiedades geométricas, como el tamaño y la pose, y fotometricas, como la iluminación. Para normalizar las imágenes de caras, se pueden seguir diferentes reglas, como la distancia entre las pupilas, la posición de la nariz, o la distancia entre las comisuras de los labios. También se debe definir el tamaño de las imágenes y la gama de colores. Normalmente, para disminuir la carga computacional del sistema, se acostumbra a utilizar imágenes pequeñas en escala de grises. A veces también se realiza una ecualización del histograma.


3. Extracción de características:


Proporciona información para distinguir entre las caras de diferentes personas según variaciones geométricas o fotométricas.


4. Reconocimiento:


El vector de características extraído se compara con los vectores de características extraídos de las caras de la base de datos. Si encuentra uno con un porcentaje elevado de similitud, nos devuelve la identidad de la cara; si no, nos indica que es una cara desconocida.


Los resultados obtenidos dependen de las características extraídas para representar el patrón de la cara y de los métodos de clasificación utilizados para distinguir los rostros, pero para extraer estas características apropiadamente, hace falta localizar y normalizar la cara adecuadamente.


Técnicas Tradicionales.

Los métodos de reconocimiento facial tradicional se pueden dividir en dos grandes grupos:

Holísticos.
Técnica
El método LDA
La técnica FLD

Otros métodos, en vez de utilizar subespacios faciales, siguen una clasificación por redes neuronales y plantillas deformables, como EGM Elastic graph matching.

Locales o geométricos.

Se comparan diferentes características geométricas de las caras. Existen dos divisiones, la basada en los vectores característicos extraidos del perfil, y la basada en los extraidos a partir de una vista frontal. Se utilizaba mucho anteriormente pero sus resultados no son óptimos.

Técnicas 3D.

Últimamente ha incrementado la tendencia del reconocimiento facial tridimensional, donde se utilizan imágenes 3D tanto en el entrenamiento como en el reconocimiento. Esta técnica utiliza sensores en 3D para captar información sobre la forma de la cara. Esta información se utiliza posteriormente para identificar rasgos característicos del rostro como por ejemplo la barbilla, el contorno de los ojos, la nariz o los pómulos, y reteniendo información espacial, a parte de la textura y la profundidad. Una ventaja del reconocimiento facial en 3D es que no les afectan los cambios de iluminación, como pasa en el caso de otras técnicas. Además, otro punto a favor es que pueden reconocer una cara en diferentes ángulos, incluso de perfil. El problema es que es difícil obtener imágenes 3D fidedignas en la fase de reconocimiento, ya que los sensores 3D tienen que estar muy bien calibrados y sincronizados para adquirir la información correctamente. Es por eso que se utiliza el método de Anàlisi de Components Principals Parcial (P2CA - Partial Principal Component Analysis), derivado del PCA, donde se utilizan imágenes en 3D en la fase de entrenamiento y en la base de datos, pero en la fase de test puede utilizar tanto imágenes en 2D como en 3D. La técnica intenta reconstruir modelos faciales en 3D a partir de múltiples imágenes de la misma persona adquiridas mediante un sistema multicámara o a partir de aparatos 3D. Las imágenes 3D son imágenes de 180º en coordenadas cilíndricas. Otros ejemplos de técnicas 3D son 3-D Morphable Model i 3-D Face Recognition.

Técnicas de análisis de la textura de la piel.

Esta tendencia utiliza los detalles visuales de la piel. Analiza las líneas únicas, patrones y detalles evidentes como manchas y/o cicatrices del rostro del sujeto. Al utilizar este algoritmo nos ahorramos tener que recorrer toda la base de datos ya que podemos descartar imágenes fácilmente. Hay estudios que demuestran que utilizando esta técnica, juntamente con el reconocimiento facial, el rendimiento puede aumentar hasta un 25 por ciento.

Reconocimiento basado en video.


Se han desarrollado algunos sistemas de reconocimiento facial basados en video, por ejemplo, salas inteligentes que pueden reconocer a las personas e iniciar automáticamente las acciones apropiadas. Otro ejemplo son los sistemas que detectan la fatiga de un conductor, monitorizando las expresiones de la cara y los movimientos de cabeza. Pero en aplicaciones de videovigilancia, el reconocimiento y la identificación facial todavía es una tarea difícil debido a:

Baja calidad de video:

Normalmente la grabación se hace en la calle, con una iluminación inadecuada y, además, las personas no son colaborativas, en el sentido de que no ayudan a ser reconocidas. Para solucionarlo, se pueden aplicar técnicas de superresolución.

Imagen pequeña de la cara:

Debido a las condiciones de adquisición de la imagen, el tamaño de la cara suele ser más pequeño que los que hay en la base de datos. Eso no sólo hace que la tarea sea más difícil, si no que también afecta a la exactitud del proceso de segmentación, así como a la detección de los puntos más importantes utilizados en el reconocimiento.

Hay aplicaciones en las que da buenos resultados, como en sistemas de control de acceso y en cajeros, donde el video se adquiere en un ambiente relativamente controlado y el tamaño de la cara es aceptable. En estos casos, el reconocimiento basado en video ofrece algunas ventajas respecto el basado en imágenes:

El video proporciona más información, ya que tenemos más para elegir en cual realizar la clasificación.
El video proporciona continuidad temporal, permitiendo reutilizar la información de clasificación obtenida de los frames de alta calidad para procesar los frames de baja calidad.

El video permite hacer un seguimiento de las caras, así los cambios de pose y las expressiones faciales se pueden compensar.

Aspectos técnicos.

Debilidades.

El sistema de reconocimiento facial no es perfecto y a veces difícil de implementar en ciertas condiciones. Una de las principales debilidades de este sistema es debida a el ángulo en el que se encuentra el rostro que queremos reconocer. Estudios han confirmado que el reconocimiento actúa correctamente hasta los 20º, una vez superado este ángulo comienzan a surgir problemas. Es por este motivo que se está investigando el reconocimiento en 3D con el cual este inconveniente desaparecería. Otro inconveniente es el mal funcionamiento en situaciones de poca luz, además, llevar el pelo largo, gafas de sol o otros objetos que cubran parte del rostro dificulta mucho la tarea. El algoritmo no siempre es capaz de distinguir los rostros si la expresión de este es diferente a la almacenada en la base de datos.


Para solucionar algunos de estos problemas, a parte de hacer el reconocimiento sobre video, también se pueden utilizar técnicas multimodales donde, a parte de la imagen de la persona, se incorpora también información de voz y audio, si esta se encuentra dentro del contenido.


Principalmente, podemos distinguir dos problemas que causan una seria degradación del rendimiento en la mayoría de los sistemas existentes:

Problema de iluminación.

Los cambios provocados por la iluminación son normalmente más grandes que las diferencias entre personas, causando a los sistemas basados en comparación a equivocarse al clasificar las imágenes de entrada. Se han propuesto algunas soluciones basadas en el conocimiento, en particular teniendo en cuenta que todas las caras pertenecen a una misma clase. Estas técnicas están divididas en 4 tipos:

Métodos heurísticos: por ejemplo, cuando utilizamos los subespacios de eigenfaces, descartando las componentes principales.
Métodos de comparación de imágenes:

Se utilizan representaciones apropiadas de la imagen y medidas de distancia.
Métodos basados en la clase: utilizan múltiples imágenes de la misma cara en una pose fija pero bajo diferentes condiciones lumínicas.

Métodos basados en el modelo:

Utilizan modelos 3D.

Problema del cambio de pose,el rendimiento de un sistema de reconocimiento facial también baja significativamente cuando hay presentes cambios en la pose. Hay diferentes métodos propuestos para solucionarlo:

Métodos donde la base de datos incluye imágenes de una persona en diferentes poses.

Métodos híbridos, donde hay disponibles diferentes imágenes por persona durante el entrenamiento, pero sólo una por persona en el reconocimiento. Es la más utilizada.

Métodos basados en una única imagen, donde no hay entrenamiento. No es popular.

EfectividadSegún un estudio reciente.

El reconocimiento facial automático da mejores resultados que en los humanos, pero todavía no hay una técnica que proporcione una solución robusta para todo tipo de situaciones y para las diferentes aplicaciones que lo puedan necesitar. Según la revista 'Science', utilizar imágenes compuestas por varias fotografías adquiridas en diferentes ángulos de una misma persona permite que el rendimiento del algoritmo llegue hasta un 100% en el mejor de los casos. Este es el resultado de estudios de psicólogos de la Universidad de Glasgow, donde se está tratando el tema y se ha llegado a la conclusión de que este nuevo sistema emula una de las claves de la capacidad humana para reconocer rostros. Aun así continúa sin poder distinguir entre diferentes expresiones faciales.

Privacidad.

Aunque esta tecnología nos aporta grandes beneficios, se cuestiona moralmente la privacidad del sujeto. Lo que a simple vista se considera como un avance tecnológico se puede convertir en un arma. Dependiendo de su uso se puede controlar toda una sociedad entera sabiendo en todo momento donde se encuentran y qué están haciendo.

Evaluación.

Dada la gran cantidad de teorías y técnicas aplicables a el reconocimiento facial, son necesarias una clara evaluación y una comparativa para estos algoritmos. Para que sean factibles, se han de utilizar grandes cantidades de imágenes para una evaluación adecuada. También es muy importante que la muestra sea estadísticamente lo más similar posible a las imágenes que surgen en la aplicación que se está considerando. La puntuación ha de realizarse de manera que refleje el coste de los errores de reconocimiento. Recordemos que los resultados dependen mucho de la aplicación que tratamos, así que no podemos extrapolar los resultados para otras aplicaciones.

Existen extensas bases de datos públicas disponibles, así como protocolos de test, para probar las aplicaciones del reconocimiento facial. Uno de ellos es el protocolo FERET, cuyo objetivo es proporcionar un marco de actuación que modele una configuración en tiempo real y reunir una extensa base de datos con imágenes de caras para poder desarrollar algoritmos y evaluarlos.