Sistema de reconocimiento facial para control de acceso (2021)
En algunas empresas se requiere que solo el personal autorizado pueda ingresar a determinadas zonas restringidas. Normalmente en los sistemas biométricos se utilizan tarjetas RFID o códigos de seguridad, sin embargo, estos sistemas no son inmunes a la suplantación debido a que las tarjetas o códigos de acceso pueden ser robados. Otras alternativas para el desarrollo de sistemas de seguridad consisten en el uso de técnicas de reconocimiento facial, las cuales son más seguras, puesto que es más difícil suplantar a la persona, pero aún pueden utilizarse fotografías del sujeto con este propósito. Por esta razón, en este trabajo se propone el desarrollo de una aplicación de reconocimiento facial que permita el acceso únicamente a aquellas personas autorizadas que durante el reconocimiento realicen un gesto para determinar que efectivamente se trata del sujeto y no de una fotografía. El sistema de reconocimiento facial se desarrolló en lenguaje Python empleando técnicas de aprendizaje de máquinas, redes neuronales, visión por ordenador y procesamiento de imágenes, así como, una aplicación cliente desarrollada en el IDE Android Studio para el sistema operativo Android y ser utilizada en un dispositivo móvil de manera que el administrador identifique a la persona que desee ingresar a la zona de seguridad a través del celular, utilizando un algoritmo de reconocimiento facial que compara el rostro del sujeto con el registro de personas almacenadas en una base de datos en la nube. Además, la aplicación permite realizar las funciones necesarias para el control y gestión de los usuarios para crear, leer, actualizar y borrar registros. Finalmente, se desarrolló una aplicación web que presenta datos estadísticos del historial de ingresos y permite al administrador leer, actualizar y borrar registros de la base de datos previamente creados. Los gestos utilizados para el sistema de reconocimiento facial fueron el parpadeo y la apertura y cierre de la boca. Se evaluaron cuatro algoritmos de detección de gestos (Lucas-Kanade para la detección del movimiento de la boca y del parpadeo, Peter Xie para la detección del movimiento de la boca, Soukupova-Cech para la detección del parpadeo, detección de vivacidad y análisis del fondo), se compararon en términos de precisión y tiempo de ejecución, encontrando que el método Lucas-Kanade es el más rápido, pero más impreciso, en particular en la detección del movimiento de la boca, mientras que el enfoque de Soukupova-Cech permitió obtener los resultados más precisos pero con un tiempo procesamiento mayor que todos los algoritmos, específicamente en la detección del parpadeo. Además, se propuso un nuevo método para la detección de vivacidad basado en el análisis del fondo, que superó los resultados obtenidos con la técnica Rosebrock, obteniendo una precisión del 100% con los videos de la base de datos utilizada en un tiempo de procesamiento de 6,76 segundos.