Reconocimiento Facial

Fuente: PFC de Alejandro Pérez Pérez (ETSID, 2008).

Los sistemas para el reconocimiento facial se diferencian, básicamente, por dos factores: el método en que son adquiridas las imágenes, y que determina el tipo de imágenes con que se trabajará, y por el algoritmo de reconocimiento que se empleará en la fase de reconocimiento.

Orígenes del Reconocimiento Facial

El reconocimiento facial automatizado es un concepto que se introdujo en los años 60. Fue entonces cuando se desarrolló el primer sistema semiautomático para reconocimiento facial, que requería del administrador para localizar rasgos (ojos, orejas, nariz y boca) en las fotografías antes de que este calculara la distancia a puntos de referencia comunes y se comparasen los datos. En los años 70 Goldstein, Harmon, & Lesk, usaron 21 marcadores subjetivos específicos tales como el color del cabello y el grosor de labios para automatizar el reconocimiento facial, pero los marcadores seguían
requiriendo un proceso manual. En 1988 se produjo un hito cuando Kirby & Sirovich aplicaron el análisis de componentes principales (PCA), una técnica estándar del álgebra lineal, al problema del reconocimiento facial y demostraron que se necesitaban menos de 100 valores para codificar la imagen de una cara convenientemente alineada y
normalizada. En 1991 Turk & Pentland, utilizando las técnica de eigenfaces, como se llamó al método de Kirby & Sirovich, demostraron que el error residual podía ser utilizado para detectar caras en las imágenes, un descubrimiento que permitió desarrollar sistemas de reconocimiento fiables en tiempo real. Si bien la aproximación era un tanto forzada por factores ambientales, creó sin embargo un interés significativo en posteriores desarrollos de éstos sistemas.

La tecnología capturó por primera vez la atención del gran público a partir de la reacción de los medios a una prueba de implementación en la Super Bowl en enero de 2001. La prueba consistió en la captura de imágenes de vigilancia y la comprobación en una base de datos de fotoarchivos digitales relativos a delincuentes. Esta demostración propició el análisis sobre cómo usar la tecnología para satisfacer necesidades gubernamentales, sin olvidar las preocupaciones sociales y de privacidad del público. Hoy la tecnología de reconocimiento facial está siendo utilizada para combatir el fraude de pasaportes, soporte al orden público, identificación de personas desaparecidas, y minimizar el fraude en las identificaciones.

Captura de imagen en los sistemas de reconocimiento

En el estudio del reconocimiento facial podemos observar dos enfoques predominantes: el geométrico (basado en rasgos) y el fotométrico (basado en lo visual). Debido a las investigaciones desarrolladas han surgido distintos sistemas y algoritmos para intentar el reconocimiento; y se distinguen principalmente por el proceso de captura de imágenes que necesitan y por el procesado posterior que se realiza con ellas. En los apartados siguientes se explican las diferencias debidas al método de captura de imágenes durante la fase de entrenamiento del sistema y la fase de reconocimiento.

  • Sistemas de reconocimiento facial 2D y 3D

Existe gran variedad de métodos para el reconocimiento facial que utilizan imágenes de intensidad en 2D (las fotos normales que hemos visto siempre), pero el problema principal para su correcto funcionamiento es común y se debe a tres causas: pose, iluminación y variación de la expresión. Cualquier cambio en estos tres elementos puede causar la degradación del funcionamiento del sistema de reconocimiento. El cambio de pose puede variar drásticamente la apariencia de una cara, y en algunos casos la diferencia puede ser mayor que la que haya respecto a la cara de otra persona, por lo tanto el reconocimiento se puede complicar mucho. Lo mismo ocurre en el caso de la iluminación y del cambio de la expresión facial.

Algunas técnicas intentan solventar el problema a través de una perspectiva 3D. La mayoría intenta reconstruir modelos faciales 3D a través de múltiples imágenes de la misma persona adquiridas con un sistema multicámara o directamente con dispositivos 3D como lásers y escáners. La ventaja de usar datos 3D (representación de imágenes de 180º en coordenadas cilíndricas) es que además de la textura, disponemos de información de profundidad y el sistema de reconocimiento es más robusto frente a los cambios de iluminación, pose y expresión ya que la profundidad no cambia aunque estos aspectos de la imagen si lo hagan.

Sin embargo el principal inconveniente de estos métodos es la adquisición de datos en 3D en la fase de reconocimiento. La exactitud de los algoritmos de reconstrucción 3D está relacionada con los parámetros de adquisición, por lo tanto, se necesita un escenario controlado donde sus componentes estén bien calibrados y sincronizados, además de la cooperación del individuo a reconocer. Estas condiciones pueden tenerse en la fase de entrenamiento, cuando la base de datos se construye o extiende, pero no durante la fase de reconocimiento. La mayoría de las aplicaciones de seguridad y control de acceso presentan escenarios sin control donde sólo disponemos de una foto o imagen en 2D del sujeto a reconocer.

Eigenfaces

Fuente: Wikimedia Commons

  • Análisis de los componentes principales (PCA)

En estadística, el Análisis del Componente Principal (ACP) (en inglés, PCA) es una técnica utilizada para reducir la dimensionalidad de un conjunto de datos. Técnicamente, el PCA busca la proyección según la cual los datos queden mejor representados en términos de mínimos cuadrados. En términos menos formales, puede usarse para determinar el número de factores subyacentes explicativos tras un conjunto de datos, que expliquen la variabilidad de dichos datos.

PCA se emplea sobre todo en análisis exploratorio de datos y para construir modelos predictivos. PCA comporta el cálculo de la descomposición en autovalores de la matriz de covarianza, normalmente tras centrar los datos en la media de cada atributo. El PCA construye una transformación lineal que escoge un nuevo sistema de coordenadas para el conjunto original de datos en el cual la varianza de mayor tamaño del conjunto de datos es capturada en el primer eje (llamado el Primer Componente Principal), la segunda varianza más grande es el segundo eje, y así sucesivamente. Para construir esta transformación lineal debe construirse primero la matriz de covarianza o matriz de coeficientes de correlación. Debido a la simetría de esta matriz existe una base completa de vectores propios de la misma. La transformación que lleva de las antiguas coordenadas a las coordenadas de la nueva base es precisamente la transformación lineal necesaria para reducir la dimensionalidad de datos. Además las coordenadas en la nueva base dan la composición en factores subyacentes de los datos iniciales.

Una de las ventajas de PCA para reducir la dimensionalidad de un grupo de datos, es que retiene aquellas características del conjunto de datos que contribuyen más a su varianza, manteniendo un orden de bajo nivel de los componentes principales e ignorando los de alto nivel. El objetivo es que esos componentes de bajo orden a veces contienen el "más importante" aspecto de esa información.

Supongamos que existe una muestra con individuos para cada uno de los cuales se han medido variables (aleatorias) . El PCA permite encontrar un número de factores subyacentes menor que que explican aproximadamente el valor de las variables para cada individuo. El hecho de que existan estos factores subyacentes puede interpretarse como una reducción de la dimensionalidad de los datos: donde antes necesitábamos valores para caracterizar a cada individuo ahora nos bastan valores. Cada uno de los encontrados se llama componente principal, de ahí el nombre del método.

Existen dos formas básicas de aplicar el PCA:

  1. Método basado en la matriz de covarianzas, que se usa cuando los datos son dimensionalmente homogéneos y presentan valores medios similares.
  2. Método basado en la matriz de correlación, cuando los datos no son dimensionalmente homogéneos o el orden de magnitud de las variables aleatorias medidas no es el mismo.
  • Método basado en correlaciones

El método parte de la matriz de correlaciones, consideremos el valor de cada una de las
m variables aleatorias . Para cada uno de los n individuos tomemos el valor de estas
variables y escribámosla el conjunto de datos en forma de matriz , con y . Obsérvese que cada conjunto puede considerarse una muestra aleatoria para la variable . A partir de los datos correspondientes a las variables aleatorias, puede construirse la matriz de correlación muestral viene definida por:

correlacion_reconocimiento_facialPuesto que la matriz de correlaciones es simétrica entonces resulta diagonalizable y sus valores propios verifican .

Debido a la propiedad anterior estos valores propios reciben el nombre de pesos de cada uno de los componentes principales. Los factores principales identificados matemáticamente se representan por la base de vectores propios de la matriz . Está claro que cada una de las variables puede ser expresada como combinación lineal de los vectores propios o componentes principales.

  • Eigenfaces

Los eigenfaces son un conjunto de vectores propios utilizados en la visión por computador problema de la dimensión humana de reconocimiento. El enfoque de utilizar eigenfaces de reconocimiento fue desarrollado por Sirovich y Kirby (1987) y utilizada por Matthew Turk y Alex Pentland cara a la clasificación. Se considera el primer ejemplo exitoso de las técnicas de reconocimiento facial. Estos vectores propios se derivan de la matriz de covarianza de la distribución de probabilidad de la alta-dimensional vector espacial de los posibles rostros de los seres humanos.

Para generar un conjunto de eigenfaces, un gran conjunto de imágenes digitalizadas de rostros humanos, adoptadas en las mismas condiciones de iluminación, se normalizan a la línea de los ojos y la boca. Son entonces redimensionados a la misma resolución. Los eigenfaces se pueden extraer de los datos de la imagen por medio de una herramienta matemática llamada análisis de componentes principales (PCA). Estos son los pasos involucrados en la conversión de una imagen de una cara en eigenfaces:

  1. Las caras que constituyen el conjunto formación debe ser preparado ya para su tramitación.
  2. Reste la media. El promedio matriz tiene que ser calculado y se sustraerá de la original . Los resultados se almacenan en la variable .
  3. Calcular la matriz de covarianza.
  4. Calcular los valores propios y vectores propios de esta matriz de covarianza.
  5. Elija los componentes principales.

Habrá un gran número de eigenfaces creadas con anterioridad al paso 5, y muchos menos son realmente necesarios. Seleccione una de ellas, los que tienen el más alto valores propios. Por ejemplo, si estamos trabajando con un 100 x 100 imágenes, este sistema creará 10000 vectores propios. Dado que la mayoría de los individuos pueden ser identificados usando una base de datos con un tamaño entre 100 y 150, la mayoría de los 10000 puede ser desechado, y sólo la más importante debería seguir siendo.

El eigenface que se creó aparecerá como zonas oscuras y claras que están dispuestos en un determinado patrón. Este patrón es la forma en que diferentes características de una cara están señaladas para ser evaluados y anotó. Habrá una pauta para evaluar la simetría, si hay algún estilo de pelo facial, donde el cabello es, o evaluar el tamaño de la nariz o la boca. Otros eigenfaces tienen patrones que son más difíciles de identificar, y la imagen de la eigenface puede parecer como un rostro.

La técnica utilizada en la creación de eigenfaces y utilizarlos para el reconocimiento también se utiliza fuera de reconocimiento facial. Esta técnica también se utiliza para el análisis de escritura, lectura labial, el reconocimiento de voz, el lenguaje de signos o gestos y las imágenes médicas. Por lo tanto, algunas personas no utilizan el término eigenface, pero prefieren usar eigenimage.

Básicamente, eigenfaces son un conjunto de "imágenes normalizadas", derivadas del análisis estadístico de muchas imágenes de caras. Cualquier rostro humano puede considerarse una combinación de estos estándares.

El reconocimiento facial es la fuente de motivación tras la creación de eigenfaces. Para este uso, eigenfaces tienen ventajas sobre otras técnicas disponibles, tales como la velocidad del sistema y la eficiencia. El uso de eigenfaces es muy rápido, y funcionalmente capaz de operar en un montón de caras en muy poco tiempo. Por desgracia, este tipo de reconocimiento facial tiene un inconveniente a tener en cuenta: se enfrenta a problemas para reconocer cuando son vistos con diferentes niveles de luz o ángulos. Para que el sistema funcione bien, se enfrenta a la necesidad de ser visto desde una vista frontal en condiciones análogas a la iluminación.

Otro método, que compite con la técnica utiliza eigenface ‘fisherfaces’. Este método de reconocimiento facial es menos sensible a variaciones en la iluminación y la pose de cara a utilizar el método eigenfaces.

Sidebar