Sistema de reconocimiento facial

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Surveillance equipment 5411.jpg
Surveillance equipment 5410.jpg
Surveillance equipment 5413.jpg

El sistema de reconocimiento facial es una aplicación dirigida por ordenador que identifica automáticamente a una persona en una imagen digital. Esto es posible mediante un análisis de las características faciales del sujeto extraídas de la imagen o de un fotograma clave de una fuente de video, y comparándolas con una base de datos.

Introducción[editar]

El reconocimiento facial 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 identificación personal biométricos, como el análisis de huellas dactilares y el reconocimiento del iris.

Aplicaciones[editar]

Áreas Aplicaciones específicas
Biometria Licencia de Conducir, Programas de Derecho, Inmigración, DNI, Pasaportes, Registro de Votantes, Fraude
Seguridad de la información Inicio de Sessión, Seguridad en Aplicaciones, 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 Acceso a Instalaciones, Acceso a Vehículos

Aplicaciones Actuales[editar]

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[editar]

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[editar]

El proceso consta de cuatro módulos principales:

Face Recognition System Workflow castellano
  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 y algoritmos[editar]

Técnicas Tradicionales[editar]

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

Holísticos[editar]

Los primeros 10 a) Eigenfaces, b) Fisherfaces, y c) Laplacianfaces calculados a partir de imágenes de caras de la base de datos de YALE

Reconocen según toda la imagen facial. Son métodos basados en correlación. El esquema de clasificación más simple, donde se utilizan modelos de comparación para el reconocimiento, es el template matching. El problema del template matching es que ha de comparar muchas características (para él, un pixel es una característica), y si tenemos en cuenta que en la base de datos encontramos M personas, con N imágenes por persona, observamos que este método no se puede implementar en tiempo real. Por lo tanto, se trabaja con otros métodos que decorrelacionan las características entre sí para conseguir reducir el espacio facial en un número menor de coeficientes, que tengan un alto poder discriminatorio entre las personas. Es lo que se denomina subespacio facial. Ejemplos de métodos que trabajan a partir de subespacios son el Análisis de Componentes Principales (PCA - Principal Component Analysis) a partir de eigenfaces, el Análisis Linear Discriminant (LDA - Linear Discriminant Analysis) o el Discriminante Linear de Fisher (FLD - Fisher Linear Discriminant) a partir de fisherfaces.

La técnica PCA se considera una de las que proporciona un mayor rendimiento. Funciona proyectando las imágenes faciales sobre un espacio de facciones que engloba las variaciones significativas entre las imágenes faciales conocidas. Las facciones significativas se llaman eigenfaces, ya que son los eigenvectors, o componentes principales, del conjunto de caras. La proyección caracteriza la imagen facial de un individuo como la suma de los diferentes pesos de todas las facciones y, de la misma manera, para reconocer una imagen facial determinada sólo hará falta comparar estos pesos con aquellos de los individuos conocidos previamente. No tiene en cuenta la información de qué imágenes pertenecen a un mismo individuo. Es muy sensible a cambios en las condiciones de iluminación en diferentes imágenes de una misma persona.

El método LDA permite utilizar la información entre miembros de la misma clase (imágenes de la misma persona) para desarrollar un conjunto de vectores de características donde las variaciones entre las diferentes caras se enfatizan mientras que los cambios debidos a la iluminación, expresión facial y orientación de la cara no. Es decir, maximiza la variancia de las muestras entre clases, y la minimiza entre muestras de la misma clase.

La técnica FLD es equivalente al LDA. Los resultados obtenidos con FLD son bastante mejores que los que podemos obtener con PCA, sobre todo cuando las condiciones lumínicas varían entre el conjunto de imágenes de entrenamiento y de test, y también con cambios de expresión facial, dando más peso a zonas como los ojos, la nariz o las mejillas que a la boca, porque son zonas más invariables en las diferentes expresiones que puede tener una persona.

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[editar]

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[editar]

Ú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[editar]

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.[1] [2]

Reconocimiento basado en video[editar]

Se han desarrollado algunos sistemas de reconocimiento facial basados en video,[3] por ejemplo, salas inteligentes[4] 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 frames 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[editar]

Debilidades[editar]

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º,[2] 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[5] 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[editar]

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[editar]

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.

Efectividad[editar]

Según un estudio reciente,[6] 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[editar]

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[editar]

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. Es el que se utiliza en el FRVT (Face Recognition Vendor Test).

En la siguiente tabla se muestran una serie de bases de datos disponibles actualmente, donde se puede observar el número de elementos utilizados y el tiempo de reconocimiento:

Base de Datos Nº personas Poses Iluminación Expresiones Faciales Tiempo
AR 116 1 4 4 2
BANCA 208 1 ? 1 12
CAS-PEAL 66-1040 21 9-15 6 2
CMU Hyper 54 1 4 1 1-5
CMU PIE 68 13 43 3 1
Equinox IR 91 1 3 3 1
FERET 1199 9-20 2 2 2
Harvard RL 10 1 77-84 1 1
KFDB 1000 7 16 5 1
MIT 15 3 3 1 1
MPI 200 3 3 1 1
ND HID 300+ 1 3 2 10/13
NIST MID 1573 2 1 ? 1
ORL 10 1 ? ? ?
UMIST 20 ? 1 ? 1
U. Texas 284 ? 1 ? 1
U. Oulu 125 1 16 1 1
XM2VTS 295 ? 1 ? 4
Yale 15 1 3 6 1
Yale B 10 9 64 1 1

Mejoras recientes[editar]

A mediados del 2006, en el Face Recognition Grand Challenge (FRGC) se evaluaron los últimos algoritmos de reconocimiento facial. Escanners faciales 3D, imágenes de rostros de alta definición y del iris fueron utilizadas en los tests. Los resultados indicaron que estos nuevos algoritmos tienen 10 veces más exactitud que los algoritmos con fecha anterior a 2002, y 100 veces más que los de 1995. Estos algoritmos son tan precisos que son capaces de reconocer a dos gemelos idénticos.

Otra mejora reciente es que las imágenes de baja resolución actualmente ya no son un problema porque pueden ser tratadas a partir de la superresolución del rostro, conocido como Face Hallucination. Igualmente, la instalación de cámaras de alta definición está en proceso.

Referencias[editar]

  1. Bonsor, K.. «How Facial Recognition Systems Work». Consultado el 02-06-2008.
  2. a b Williams, Mark. «Better Face-Recognition Software». Consultado el 02-06-2008.
  3. W. Zhao, R. Chellappa, A. Rosenfeld and P.J. Phillips. Face Recognition: A literature survey. Technical Report CART-TR-948. University of Maryland, Aug. 2002.
  4. http://www.canalupc.tv/media/bfquieres-ver-una-sala-inteligente?set_language=es
  5. T. Choudhury, B. Clarkson, T. Jebara and A. Pentland, “Multimodal Person Recognition Using Unsconstrained Audio and Video”, International Conference an Audio- and Video-based Biometric Authentication, pp, 176-181, Washington D.C., 1999.
  6. http://www.neurodifusion.org/noticias/ciencias/57-noticias-ciencias/1108-la-maquina-supera-al-hombre-en-reconocimiento-facial.html

Enlaces Relacionados[editar]

Bibliografía[editar]

  • S.Li, A.Jain, "Handbook of Face Recognition", Springer, 2004
  • Gary Bradski, Adrian Kaehler, "Learning OpenCV", O'Reilly, 2008

Enlaces externos[editar]