A Low-Cost Raspberry Pi-based System for Facial Recognition
Fecha
2021-12-01
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad EAFIT
Resumen
Deep learning has become increasingly popular and widely applied to computer vision systems. Over the years, researchers have developed various deep learning architectures to solve different kinds of problems. However, these networks are power-hungry and require high-performance computing (i.e., GPU, TPU, etc.) to run appropriately. Moving computation to the cloud may result in traffic, latency, and privacy issues. Edge computing can solve these challenges by moving the computing closer to the edge where the data is generated. One major challenge is to fit the high resource demands of deep learning in less powerful edge computing devices. In this research, we present an implementation of an embedded facial recognition system on a low cost Raspberry Pi, which is based on the FaceNet architecture. For this implementation it was required the development of a library in C++, which allows the deployment of the inference of the Neural Network Architecture. The system had an accuracy and precision of 77.38% and 81.25%, respectively. The time of execution of the program is 11 seconds and it consumes 46 [kB] of RAM. The resulting system could be utilized as a stand-alone access control system. The implemented model and library are released at https://github.com/cristianMiranda-Oro/FaceNet_EmbeddedSystem
El aprendizaje profundo se ha vuelto cada vez más popular y se aplica ampliamente a los sistemas de visión por computadora. A lo largo de los años, los investigadores han desarrollado varias arquitecturas de aprendizaje profundo para resolver diferentes tipos de problemas. Sin embargo, estas redes consumen mucha energía y requieren computación de alto rendimiento (es decir, GPU, TPU, etc.) para funcionar correctamente. Mover la computación a la nube puede resultar en problemas de tráfico, latencia y privacidad. La computación en el borde puede resolver estos desafíos, pues permite acercar el proceso de computación al lugar donde se generan los datos. Un desafío importante es adaptar las altas demandas de recursos del aprendizaje profundo a dispositivos de computación de borde menos potentes. En esta investigación, presentamos una implementación de un sistema de reconocimiento facial integrado en una Raspberry Pi de bajo costo, la cual está basada en la red FaceNet. Esta implementación requirió el desarrollo de una biblioteca en C++ que puede describir la inferencia de la arquitectura de la red neuronal FaceNet. El sistema tuvo una exactitud y precisión de 77.38% y del 81.25 %, respectivamente. El tiempo de ejecución de cada inferencia es de 11 segundos y consume 46 [kB] de RAM. El sistema resultante podría utilizarse como un sistema de control de acceso independiente. El modelo y la librería implementados están disponibles en https://github.com/cristianMiranda-Oro/FaceNet_EmbeddedSystem.
El aprendizaje profundo se ha vuelto cada vez más popular y se aplica ampliamente a los sistemas de visión por computadora. A lo largo de los años, los investigadores han desarrollado varias arquitecturas de aprendizaje profundo para resolver diferentes tipos de problemas. Sin embargo, estas redes consumen mucha energía y requieren computación de alto rendimiento (es decir, GPU, TPU, etc.) para funcionar correctamente. Mover la computación a la nube puede resultar en problemas de tráfico, latencia y privacidad. La computación en el borde puede resolver estos desafíos, pues permite acercar el proceso de computación al lugar donde se generan los datos. Un desafío importante es adaptar las altas demandas de recursos del aprendizaje profundo a dispositivos de computación de borde menos potentes. En esta investigación, presentamos una implementación de un sistema de reconocimiento facial integrado en una Raspberry Pi de bajo costo, la cual está basada en la red FaceNet. Esta implementación requirió el desarrollo de una biblioteca en C++ que puede describir la inferencia de la arquitectura de la red neuronal FaceNet. El sistema tuvo una exactitud y precisión de 77.38% y del 81.25 %, respectivamente. El tiempo de ejecución de cada inferencia es de 11 segundos y consume 46 [kB] de RAM. El sistema resultante podría utilizarse como un sistema de control de acceso independiente. El modelo y la librería implementados están disponibles en https://github.com/cristianMiranda-Oro/FaceNet_EmbeddedSystem.