A Low-Cost Raspberry Pi-based System for Facial Recognition
Main Article Content
Keywords
Deep learning, facial recognition, embedded systems, FaceNet, GoogLeNet, Labeled Faces in the Wild
Abstract
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
Downloads
References
[2] F. Schroff, D. Kalenichenko, and J. Philbin, “Facenet: A unified embedding for face recognition and clustering,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, pp. 815–823.
[3] G. B. Huang, M. Ramesh, T. Berg, and E. Learned-Miller, “Labeled faces in the wild: A database for studying face recognition in unconstrained environments,” University of Massachusetts, Amherst, Tech. Rep. 07-49, October 2007. https://hal.inria.fr/inria-00321923/file/Huang_long_eccv2008-lfw.pdf
[4] J. Deng, J. Guo, N. Xue, and S. Zafeiriou, “Arcface: Additive angular margin loss for deep face recognition,” in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2019.
[5] X. Zhang, Z. Fang, Y. Wen, Z. Li, and Y. Qiao, “Range loss for deep face recognition with long-tailed training data,” in Proceedings of the IEEE International Conference on Computer Vision (ICCV), Oct 2017. https://arxiv.org/pdf/1611.08976.pdf
[6] J. Benito-Picazo, E. Domínguez, E. J. Palomo, E. López-Rubio, and J. M. Ortiz-de Lazcano-Lobato, “Deep learning-based anomalous object detection system powered by microcontroller for ptz cameras,” in 2018 International Joint Conference on Neural Networks (IJCNN). IEEE, 2018, pp. 1–7. https://doi.org/10.1109/IJCNN.2018.8489437
[7] S. Voghoei, N. Hashemi Tonekaboni, J. G. Wwallace, and H. R. Arabnia, “Deep learning at the edge,” 2018 International Conference
on Computational Science and Computational Intelligence (CSCI), 2018. https://doi.org/10.1109/csci46756.2018.00177
[8] V. A, D. Hebbar, V. S., K. Balasubramanya, Murthy, and N. Subramanyam, “Two novel detector-descriptor based approaches for face recognition using sift and surf,” Procedia Computer Science, vol. 70, pp. 185–197, 12 2015. https://doi.org/10.1016/j.procs.2015.10.070
[9] Y. Kortli, M. Jridi, A. Falou, and M. Atri, “Face recognition systems: A survey,” Sensors, vol. 20, p. 342, 01 2020. https://doi.org/10.3390/s20020342
[10] M. Annalakshmi, S. M. M. Roomi, and A. S. Naveedh, “A hybrid technique for gender classification with slbp and hog features,” Cluster Computing, vol. 22, no. S1, pp. 11–20, 2018. https://doi.org/10.1007/s10586-017-1585-x
[11] M. XI, L. Chen, D. Polajnar, and W. Tong, “Local binary pattern network: A deep learning approach for face recognition,” in 2016 IEEE international conference on Image processing (ICIP). IEEE, 2016, pp. 3224–3228.
[12] O. A. Arigbabu, S. M. Syed Ahamad, W. A. Wan Adnan, and S. Mahmood, “Soft biometrics: Gender recognition from unconstrained face images using local feature descriptor,” Journal of Information and Communication Technology, 2015.
[13] R. Koshy and A. Mahmood, “Optimizing deep cnn architectures for face liveness detection,” Entropy, vol. 21, no. 4, p. 423, 2019. 101
[14] L. Song, D. Gong, Z. Li, C. Liu, and W. Liu, “Occlusion robust face recognition based on mask learning with pairwise differential siamese network,” 2019 IEEE/CVF International Conference on Computer Vision (ICCV), 2019. https://doi.org/10.1109/iccv.2019.00086
[15] M. D. Zeiler and R. Fergus, “Visualizing and understanding convolutional networks,” 2013.
[16] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich, “Going deeper with convolutions,” 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015. https://doi.org/10.1109/cvpr.2015.7298594
[17] M. Schultz and T. Joachims, “Learning a distance metric from relative comparisons,” in Advances in Neural Information Processing
Systems, S. Thrun, L. Saul, and B. Schölkopf, Eds., vol. 16. MIT Press, 2004. https://proceedings.neurips.cc/paper/2003/file/d3b1fb02964aa64e257f9f26a31f72cf-Paper.pdf
[18] K. Q. Weinberger and L. K. Saul, “Distance metric learning for large margin nearest neighbor classification,” J. Mach. Learn. Res., vol. 10, pp. 207–244, Jun. 2009. https://doi.org/10.5555/1577069.1577078
[19] L. Wolf, T. Hassner, and I. Maoz, “Face recognition in unconstrained videos with matched background similarity,” CVPR 2011, 2011. https://doi.org/10.1109/cvpr.2011.5995566
[20] Z. Liu, P. Luo, X. Wang, and X. Tang, “Deep learning face attributes in the wild,” 2015.
[21] P. Viola and M. Jones, “Robust real-time face detection,” in Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001, vol. 2, 2001, pp. 747–747. https://doi.org/10.1109/iccv.2001.937709
[22] G. Bradski, “The OpenCV Library,” Dr. Dobb’s Journal of Software Tools, 2000.
[23] Coursera. Neural networks and deep learning. https://www.coursera.org/learn/neural-networks-deep-learning
[24] GitHub. onednn: Understanding memory formats. https://oneapi-src.hub.
io/oneDNN/dev_guide_understanding_memory_formats.html
[25] C. M. Orostegui. Facenet_embeddedsystem. https://github.com/cristianMiranda-Oro/FaceNet_EmbeddedSystem 107
[26] J. A. Hanley and B. J. McNeil, “A method of comparing the areas under receiver operating characteristic curves derived from the
same cases.” Radiology, vol. 148, no. 3, pp. 839–843, 1983. https://doi.org/10.1148/radiology.148.3.6878708
[27] B. Hanczar, J. Hua, C. Sima, J. Weinstein, M. Bittner, and E. R. Dougherty, “Small-sample precision of roc-related estimates,” Bioinformatics, vol. 26, no. 6, pp. 822–830, 2010. https://doi.org/10.1093/bioinformatics/btq037