FaceId – Identificación Facial de Personas en Entornos Multimedia

Sep 17, 2012   //   by wpuser   //   Interacción  //  Comentarios desactivados en FaceId – Identificación Facial de Personas en Entornos Multimedia

I3B lleva años especializándose en la catalogación automática de objetos (edificios, señales, automóviles), dentro de entornos multimedia (vídeos, imágenes, fotografías, streaming), a partir de su plataforma ObjectMining.

ObjectMining

Una de las especializaciones de dicha plataforma es la catalogación automática de personas en dichos entornos, de forma automátizada, que es lo que hemos denominado FaceId.

FaceId

 

¿Qué es exáctamente FaceId?

FaceId es una API que permite a las aplicaciones tener acceso al aprendizaje, clasificación e identificación de personas en base al tratamiento de la información extraída de su cara, con las siguientes características:

  •  FaceId extrae de las escenas las zonas de interés relevantes (en este caso, las caras), independientemente del número de personas que existan en la imagen.  Indirectamente, ya tenemos una primera aplicación práctica, el conteo de personas.
  •  Las personas en la escena no tienen porqué mirar directamente a la cámara, la extracción puede ser en distintos grados de giro, y el sistema identifica igualmente la persona a la que pertence dicha sección.
  •  Los indivíduos identificados pueden estar a cualquier profundidad de la imagen (cerca, lejos). El sistema FaceId, internamente, normaliza la zona de la cara a una matriz fija, por lo que la distancia a la cámara no es relevante, aunque cuanto más cerca, evidentemente, la calidad es mejor, al igual que en la vida real ocurre con nuestra visión.
  •  FaceId etiqueta al las personas en tiempo real, no existe un retraso en el proceso de clasificación, que es inmediato.
  •  FaceId funciona con cualquier tipo de cámara, si estamos hablando de entornos de monitorización en tiempo real. No es necesario un hardware específico, sino que con cualquier cámara (incluidas Webcams), el sistema funciona.
  • FaceId es poco sensible a los cambios de luminosidad, ya que la información lumínica también se normaliza en la entrada.
  • FaceId es capaz de seguir el movimiento de las personas (caras), en tiempo real, e ir identificando cada una de las personas que entran en las escena. 
  • FaceId sólo trata la cara, esto es, es independiente de peinados, sombreros, barba/bigote, etc…

Entrenamiento

¿Cómo funciona?

Entrenamiento.

El primer paso para poder ejecutar FaceId, es el aprendizaje. Para ello, simplemente hay que mostrar imágenes de las personas que queremos tener “almacenadas” en nuestra base de datos, e identificar por cada fotografía, a quién pertenece dicha imagen.

Una vez que tengamos el conjunto de entrenamiento, (tan sencillo como presentar  a FaceId una lista de ubicaciones de fotografías, y un Id del usuario), FaceId procesa todas las fotografías, y crea un modelo de cada una de las personas para su posterior análisis.

Patrones de entrenamiento

Para realizar el modelo, FaceId toma aquellos puntos relevantes de las caras de cada una de las personas (y es el propio FaceId quién decide qué puntos son los relevantes para cada una de ellas), y los almacena internamente. Lo interesante de este proceso es que no es un algoritmo prefijado, sino que FaceId determina qué puntos son los que distinguen una persona del resto. Por ejemplo, si alguien tiene una mancha en la cara, FaceId puede determinar que esa es la característica especial que lo distingue del resto del mundo, y así, con las distintas formas de ojos, mentones, etc…

Cuantas más fotografías de cada uno de los individuos a almacenar tengamos, mejor funcionará el sistema, pero sin embargo, se necesitan un mínimo de tres fotografías para que el sistema establezca dichas diferencias entre los indivíduos. FaceId es capaz de tomar dichas tres fotografías en tiempo real, de un nuevo individuo, para “memorizarlo” a futuro.

Una vez almacenada dicha información (encriptada y totalmente numérica), la información original no es necesaria, de forma que es imposible, a partir de los datos de características especiales, reproducir la imagen el individuo en cuestión, de forma que dicha información esta totalmente “anonimizada“.

El entrenamiento es dinámico, es decir, que podemos, en cualquier momento, añadir nuevos usuarios al sistema, sin que esta acción paralice el servicio de identificación. Los nuevos individuos se van agregando al conocimiento interno del sistema, de forma transparente al funcionamiento del mismo.

La Identificación.

Una vez que el sistema está entrenado, (o en paralelo a la inclusión de nuevos miembros), sólo falta presentar a FaceId la imagen, vídeo o streaming que queremos analizar, y FaceId, buscará entre todos los frames, las caras a tratar, y cotejará las características extraídas de las mismas con su base de conocimiento, devolviendo el “id” del usuario que más concordancia tiene con lo mostrado en la imagen, y un porcentaje de similitud.

Identificación y cojeto en FaceID

Internamente, para que el porcentaje sea lo más válido posible, se ejecutan hasta cuatro algoritmos de clasificación basados en técnicas de Minería de Datos (no de “patter-maching” de visión artificial), para que la confianza sea lo más alta posible.

Validación de los modelos en FaceId

Existen dos modalidades de funcionamiento:

  • Determinar si la persona en la imagen es quién dice ser (cotejo de 1 a 1)

Si, por ejemplo, la persona, a la vez que aparece en la imagen, presenta un identificador (una clave, en el acceso al sistema, por ejemplo), o una tarjeta de acceso, el sistema cotejará, en su base de concomiento, si la imagen de entrada coincide con la de ese usuario en su sistema de análisis, de forma unívoca, devolviendo un porcentaje de confianza sobre si dicho usuario es quién dice ser. Esta modalidad es más ágil, ya que sólo chequeamos una imagen contra un patrón concreto.

FaceId en Autorización

  • Determinar la persona de la imagen qué es, de un conjunto de “n” personas (de 1 a n).

Si lo que queremos es catalogar de forma automática cualquier imagen con el conjunto de nuestros patrones, FaceId lanzará cada cara contra su base de conocimiento, extrayendo, de forma inmediata, aquel patrón que más se parece a la cara propuesta, y su porcentaje de similitud. Además de la catalogación automática de imágenes, por ejemplo, en redes sociales, otra aplicación divertida, por ejemplo, podría ser saber cuánto parecido eres a tus familiares directos, por ejemplo…

En definitiva, FaceId extrae los elemntos de interés del conjunto de la imagen, la normaliza, la presenta a su base de conocimiento, y devuelve el patrón con más similitud, y la confianza de que ese patrón sea el mismo. A partir de ahí, ya tenemos la posibilidad de catalogar lo individuos de forma automática.

La API

El funcionamiento es muy sencillo y transparente para los desarrolladores. Sólo tienen que llamar  unos pocos métodos, desde sus aplicaciones, para que el sistema comience a funcionar. Un ejemplo de la llamada a dichos métodos, es la inicialización del modelo, la validación de usuarios, y el aprendizaje:

Inicialización del Modelo

Identificación del Individuo

Aprendizaje

Las llamadas a la API pueden ser, bien, en base a servicios SaaS, con un servidor Web centralizado, o en local, en cualquier lenguaje (extensiones a SAP, C++, Java, .NET,) e incluso en sistemas móviles (Android).

Si desean más información, desean una demo, o están interesados en FaceId, no duden en contactar con nosotros.

Comments are closed.