Volver

Redes Siamesas: aplicación de deep learning para la validación de identidad

El objetivo principal del aprendizaje de máquina es el de proveer a los sistemas la habilidad de enseñarle al computador sin una programación específica de la tarea a realizar. En este sentido, son los algoritmos los encargados de aprender las condiciones necesarias para poder clasificar, localizar, procesar, comprender, etc., el contenido que se encuentra en las imágenes. La validación de identidad ha ganado gran interés en el mundo debido a su habilidad de generar confianza en diferentes transacciones del día a día [1]. Con el desarrollo de sistemas robustos es posible identificar que la persona que está intentando acceder u obtener algún beneficio es quien dice ser y, además, evitar fraudes de suplantación (ver artículo sobre sistemas de Antispoofing). En términos de la visión por computador, se requiere que, por medio de una única foto de registro, el algoritmo sea capaz lograr el objetivo propuesto. Ante esta perspectiva, nuevos métodos se han desarrollado entre los que se destacan el llamado One-shot learning y las redes siamesas.

Este artículo presenta una compilación del webinar realizado por ReconoSER ID, disponible para su visualización en las plataformas digitales.

Tradicionalmente, los sistemas de visión por computador siguen 5 pasos fundamentales para la consecución del objetivo final:

  1. Adquisición de los datos: se puede realizar por medio de la utilización de diferentes sensores como cámaras, microscopios, sensores de profundidad (imágenes 3D), entre otros.
  2. Pre-procesamiento: en esta etapa se busca que las imágenes cuenten con la calidad necesaria para ser procesadas, así como contar con los requerimientos para ingresar al sistema.
  3. Extracción de características: en esta etapa se extraen descriptores de la imagen que nos permitirán realizar la tarea planeada; estas características pueden ser de forma (perímetros, áreas, contornos), de textura, entre otros.
  4. Selección de características: En la etapa anterior se obtienen descriptores de forma indiscriminada, en esta etapa se busca reducir el conjunto de datos de tal forma que las características más relevantes para el sistema sean las que prevalezcan.
  5. Tarea final: en esta etapa se obtiene la tarea para la cual se está desarrollando el sistema; en el caso de la clasificación, por ejemplo, es posible utilizar algoritmos como la máquina de vectores de soporte, k-vecinos más cercanos o las redes neuronales artificiales, estos últimos son objeto de estudio en este artículo.

A pesar de que se logra un buen desempeño y aún son técnicas muy utilizadas, estos métodos deben contemplar ciertas características en la imagen que pueden afectar considerablemente los resultados. Entre estos se pueden destacar los problemas de iluminación (variación de la luz en el mismo objeto), problemas de deformación (los objetos no siempre se encuentran en la misma posición), problemas de oclusión (los objetos no siempre están completamente visibles) y problemas de variación entre las clases (un mismo objeto puede presentar características diferentes) [2].

Ante esta perspectiva, surgen los sistemas de aprendizaje profundo, los cuales logran que el computador aprenda los descriptores directamente de los datos de entrada, creando sistemas más independientes. A pesar de que la propuesta de estos algoritmos no es nueva, es relativamente reciente (a partir de 2012) que se utilizan con frecuencia gracias a los impresionantes resultados que se obtienen en diferentes tareas y a su habilidad de generalización. En muchas ocasiones es posible utilizar redes entrenadas en cierta tarea para otra similar sin realizar un gran cambio en los algoritmos. Estos métodos aprenden directamente de los datos de entrada por lo que es necesario que exista una gran base de datos para su entrenamiento, lo que en ocasiones no resulta viable. Este es el caso de la validación de identidad, tema de estudio de este artículo.

One-shot learning

De la sección anterior se puede observar que el gran desarrollo y desempeño de los algoritmos de aprendizaje profundo es gracias, en parte, a la adquisición de bases de datos considerablemente grandes dónde es posible obtener varias imágenes por cada una de las clases a analizar. Para realizar una clasificación, será necesario obtener gran cantidad de imágenes de cada clase a analizar, estas deben encontrarse en diferentes condiciones de iluminación, posiciones, ubicaciones y con los diferentes tipos de características, con el fin de que el algoritmo pueda generalizar ante entradas desconocidas.

En el caso de la clasificación se busca conocer cuál es la probabilidad de que un objeto pertenezca a una clase específica, por ejemplo, en la Figura 1, se necesita que el sistema reconozca que la imagen de entrada sea clasificada en la clase ‘gato’ a partir de un conjunto de opciones (gato, perro, caballo…).


Figura 1 Clasificación de una imagen

En contraste a lo anterior, cuando se habla de comparación, la pregunta que se busca contestar es si los objetos son los mismos, para el tema específico de la validación de identidad, entonces, la pregunta es: ¿La persona es quién dice ser? lo que permite dos únicas respuestas: si o no.

El One-shot learning surge de la necesidad de aprender las características requeridas para la tarea específica con la utilización de una única imagen por clase en la base de datos. Este tipo de algoritmos están inspirados en la habilidad de los seres humanos para aprender sin necesidad de observar cientos de objetos. En la actualidad, este constituye un campo de estudio bastante activo con diferentes publicaciones en el tema [3] [4] [1].  Este método es útil en el caso del reconocimiento facial, dónde los sistemas generalmente cuentan con una imagen de registro con la que se debe realizar el cotejo. Solicitarle al usuario que suministre fotos de su rostro en varias posiciones, a diferentes edades, con cambios en su estilo o uso de maquillaje, entre otros; no sólo sería ineficiente en términos de usabilidad sino probablemente iría en contra su derecho a la privacidad.

En la Figura 2, se presenta un ejemplo de one-shot learning, donde en la base de datos se cuenta con personal de ReconoSER ID y para el ingreso se aprueba a quien se encuentra inscrito y se niega el acceso para aquel que no.


Figura 1 Ejemplo de One-shot Learning en la validación de Identidad

Redes Siamesas

En este panorama, las redes siamesas [5] surgen como un enfoque interesante para la tarea de comparación, ya que cuentan con dos redes neuronales convolucionales paralelas que comparten los pesos entre sí (ver Figura 3). La función de costo busca determinar la distancia que existe entre las características obtenidas al pasar dos imágenes a través del sistema, una por cada una de las redes. Se le conoce con el nombre de función de perdida contrastiva (contrastive loss). Si las imágenes corresponden a una misma persona entonces la distancia será pequeña, en caso contrario, se espera que sea más grande.


Figura 1 Redes Siamesas

Con el objetivo de hacer un sistema más robusto existen varias investigaciones que proponen cambios, mejorías o análisis en la red. A continuación, menciono algunos estudios relevantes en la validación de identidad:

  • DeepFace: Propuesta por investigadores de Facebook en 2014 [6], dónde se manejan herramientas de transferencia de aprendizaje y se utilizan las redes siamesas como extractores de características sin la necesidad de hacer un entrenamiento contrastivo.

FaceNet: Propuesta por Google en 2015 [7], cuyos autores desarrollan una arquitectura entrenada de principio a fin y plantean el uso de una función de costo triplet. La cuál incrementa una imagen adicional a la entrada del sistema teniendo así 1) una imagen de base (Anchor), 2) una imagen positiva (misma identidad que la base) 2) una imagen negativa (identidad diferente a la base), con el objetivo de poder minimizar las distancias de identidades iguales y maximizar las de identidades diferentes después del entrenamiento (ver Figura 4). Este método robustece el sistema porque lo previene ante eventos dónde la imagen negativa es más cercana a la base que una imagen positiva.


Figura 4 FaceNet, función de costo Triplet

Funciones de costo: A partir del desarrollo de la función de costo triplet, otras funciones también se han desarrollado con el fin de mejorar este tipo de sistemas, se puede destacar, por ejemplo, Center Loss [8] o Sphere Face [9], que buscan también minimizar la distancia entre imágenes de la misma identidad o RegularFace [10] que además busca maximizar la distancia entre imágenes de identidades diferentes.


Figura 1 Funciones de costo para el reconocimiento facial [10]
  • Interpretabilidad: Uno de los temas de investigación en el aprendizaje de máquina es la interpretabilidad de los sistemas. Generalmente, este tipo de algoritmos son vistos como cajas negras donde no se sabe claramente cuáles son las premisas que permitieron llegar a la solución deseada. Se puede destacar el trabajo realizado por investigadores de la Universidad de Michigan, quienes desarrollaron un sistema de reconocimiento facial interpretable teniendo descriptores para resaltar características como los ojos, boca o nariz en el resultado de la comparación [11].

Aplicaciones de la validación de identidad

La aplicación más reconocida en el tema es la de control de accesos, la cual permite que exista un ingreso seguro a edificios, oficinas, plataformas digitales, equipos con información sensible, entre otros. Este uso hace que se proteja a las personas y a diferentes tipos de información. Adicional a ella, se pueden destacar aplicaciones en la seguridad para la protección de aeropuertos, alerta a las personas con antecedentes legales; en la protección y generación de confianza entre los usuarios como en el comercio electrónico o transacciones bancarias; en la investigación de bases de datos de licencias de conducción, receptores de subsidios o niños extraviados; en la verificación del registro electoral, entre otros.

Retos de la validación de identidad

Actualmente, el desarrollo de la tecnología se encuentra en una fase avanzada y es posible obtener muy buenos resultados, convirtiéndose en una tecnología de alta confianza. Esto no la hace exenta de ciertos retos que deben ser afrontados para presentar mejorías en su desempeño. Entre los desafíos se pueden destacar:

  • Desarrollo de los sistemas Antispoofing: Los sistemas biométricos deben responder ante los posibles ataques e intentos de suplantación de identidad, existen diferentes métodos para ello y dichos sistemas deben contar con la habilidad de detectar las anormalidades que se puedan presentar.
  • Sesgo demográfico: Como se mencionó en un principio, el entrenamiento con grandes bases de datos permite que los sistemas puedan generalizar y obtener un buen desempeño en la tarea a realizar. En ese sentido, de no contar con bases de datos incluyentes que tengan en cuenta la diversidad poblacional, estos sistemas no tendrán la capacidad de reconocer personas con diferentes rasgos raciales lo que puede conllevar a que el error de desempeño aumente. Se ha comprobado que es posible reconocer con mayor facilidad a hombres caucásicos, que a mujeres, niños o personas afrodescendientes. En un país con la diversidad cultural como la colombiana este aspecto toma una gran relevancia.
  • Dilemas éticos en el tratamiento de datos e interpretación de resultados: Como se mencionó anteriormente, estos sistemas están sujetos a mejoría y, de no ser entrenados y robustecidos correctamente, pueden llevar a que se generen malinterpretaciones en los resultados obtenidos. Es importante notar que la respuesta de estos sistemas se genera por medio de un grado de confianza que puede variar de acuerdo con diferentes factores tanto en el entrenamiento de los algoritmos como al momento de realizar las pruebas.
  • Privacidad de los usuarios: Es importante que estos sistemas respeten el derecho de los usuarios para la protección de sus datos personales, lo que en este caso, incluye imágenes del rostro de las personas, con el fin de evitar que tengan un uso indebido y los usuarios se vean damnificados por ello.

Conclusiones

La validación de identidad es una herramienta que va ganando popularidad en el mundo actual debido a su utilidad en el desarrollo de diferentes transacciones y actividades de la vida diaria. También representa una aplicación de alto interés en el mundo científico dónde cada vez se desarrollan sistemas que no únicamente mejoran el cotejo facial sino también enfrentan los retos de la evolución tecnológica y las necesidades actuales.

Enfoques como el On-shot learning y las redes siamesas han permitido solucionar problemas de la vida cotidiana, cuando no se tiene acceso a una gran base de datos para cada una de las clases o dónde el problema que se busca solucionar es el de la comparación. Desde el área de investigación de ReconoSER ID trabajamos día a día para proveer un sistema robusto que cumpla con las necesidades de nuestros usuarios.

Maria Ximena Bastidas Rodríguez

Bibliografía

[1]K. Ahmed, M. J. Uddin, M. Rabbi y M. Abdullah-Al-Imran, «Face Recognition using Deep Convolutional Network and OneShot learning,» IOSR Journal of Electrical and Electronics Engineering , 2020.
[2]Standford University, «CS231n: Convolutional Neural Networks for Visual Recognition,» http://cs231n.stanford.edu/.
[3]S. Chanda, A. C. GV, A. Brun, A. Hast, U. Pal y D. Doermann, «Face Recognition – A One-Shot Learning Perspective,» 15th International Conference on Signal-Image Technology & Internet-Based Systems (SITIS), 2019.
[4]Z. Ding, Y. Guo, L. Zhang y Y. Fu, «Generative One-Shot Face Recognition,» arXiv:1910.04860, 2019.
[5]I. G. Y. L. E. S. a. R. S. Jane Bromley, «Signature Verification using a “Siamese” Time Delay Neural Network,» NIPS, 1994.
[6]Y. Taigman, M. Yang, M. Ranzato y L. Wolf, «DeepFace: Closing the Gap to Human-Level Performance in Face Verification,» CVPR, 2014.
[7]F. Schroff, D. Kalenichenko y J. Philbin, «FaceNet: A Unified Embedding for Face Recognition and Clustering,» CVPR, 2015.
[8]Y. Wen, K. Zhang, Z. Li y Y. Qiao, «A Discriminative Feature Learning Approach for Deep Face Recognition,» ECCV, 2016.
[9]W. Liu, Y. Wen, Z. Yu, M. Li y a. L. S. Bhiksha Raj, «Sphereface: Deep hypersphere embedding for face recognition,» CVPR, 207.
[10]K. Zhao, J. Xu y M.-M. Cheng, «RegularFace: Deep Face Recognition via Exclusive Regularization,» CVPR, 2019.

1 comment

  • Hi Cara, we are using WordPress, there are many templates that look similar to this blog, so we recommend to search through Envato or Themeforest.

    Regards!

Comments are closed.