Multiple histogram-based face recognition with high speed FPGA implementation

  • Talal Bonny
  • Tamer Rabie
  • A. H. Abdul Hafez


Face recognition is an algorithm that is capable of identifying or verifying a query face from multiple faces in the enrollment database. It poses a challenging problem in the field of image analysis and computer vision, especially for applications that deal with video sequences, face re-identification, or operate on intensity images and require fast processing. In this work, we introduce a high speed face recognition technique along with a high speed FPGA implementation. It uses a new similarity measure to estimate the distance between the query face and each of the database face images. The distance metric is the sum of the standard deviations between multiple histograms, which are calculated from each row of the query and database images. The lowest distance score refers to the database face that matches the query. The proposed technique is independent from the ambient illumination and outperforms the well-known face recognition algorithm “Eigenfaces” (it performs the face recognition 16× faster when both algorithms run on the same platform). Furthermore, we exploit data parallelism in our proposed algorithm to design a hardware accelerator and to implement it on an FPGA prototyping board. The results show 10x execution time improvement in comparison to the software version.


Face recognition Gamma correction Performance Hardware accelerator FPGA 


  1. 1.
    Bartlett MS, Movellan JR, Sejnowski TJ (2002) Face recognition by independent component analysis. IEEE Trans Neural Netw 1:1450–1464CrossRefGoogle Scholar
  2. 2.
    Bateux Q, Marchand E (2017) Histograms-based visual servoing. IEEE Robot Autom Lett 2(1):80–87CrossRefGoogle Scholar
  3. 3.
    Bedagkar-Gala A, Shah SK (2014) A survey of approaches and trends in person re-identification. Image Vision Comput 32(4):270–286. CrossRefGoogle Scholar
  4. 4.
    Beheshti I, Maikusa N, Matsuda H, Demirel H, Anbarjafari G (2017) Histogram-based feature extraction from individual gray matter similarity-matrix for alzheimers disease classification. J Alzheimers Dis 55(4):1571–1582CrossRefGoogle Scholar
  5. 5.
    Cha SH, Srihari SN (2002) On measuring the distance between histograms. Pattern Recogn 35(6):1355– 1370CrossRefMATHGoogle Scholar
  6. 6.
    Demirel H, Anbarjafari G (2008) Pose invariant face recognition using probability distribution functions in different color channels. IEEE Signal Process Lett 15:537–540CrossRefGoogle Scholar
  7. 7.
    Déniz O, Bueno G, Salido J, De la Torre F (2011) Face recognition using histograms of oriented gradients. Pattern Recogn Lett 32(12):1598–1603CrossRefGoogle Scholar
  8. 8.
    Georghiades A, Belhumeur P, Kriegman D (1997) Yale face database. In: Center for computational vision and control at Yale University, vol 2.
  9. 9.
    Hietmeyer R (2000) Biometric identification promises fast and secure processing of airline passengers. Int Civil Aviat Org J 55(9):10–11Google Scholar
  10. 10.
    Huang SC, Cheng FC, Chiu YS (2013) Efficient contrast enhancement using adaptive gamma correction with weighting distribution. Trans Image Process 22 (3):1032–1041. MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Inc X. (2014) 7 Series FPGAs Overview, vol 1. XilinxGoogle Scholar
  12. 12.
    Kar A, Sarkar S, Bhattacharjee D (2017) Local centre of mass face for face recognition under varying illumination. Multimed Tools Appl 76(18):19211–19240CrossRefGoogle Scholar
  13. 13.
    Leung HY, Cheng LM, Li XY (2015) A fpga implementation of facial feature extraction. J Real-Time Image Process 10:135–149. CrossRefGoogle Scholar
  14. 14.
    Li C, Yee LY, Maruyama H, Yamaguchi Y (2017) Fpga-based volleyball player tracker. SIGARCH Comput Archit News 44:80–86. CrossRefGoogle Scholar
  15. 15.
    Liu C, Wechsler H (2002) Gabor feature based classification using the enhanced fisher linear discriminant model for face recognition. Trans Image Process 11(4):467–476. CrossRefGoogle Scholar
  16. 16.
    Malik A, Salcic Z, Chong C, Javed S (2013) System-level approach to the design of a smart distributed surveillance system using systemj. ACM Trans Embedded Comput Syst (TECS) 11(4):77:1–77:24. Google Scholar
  17. 17.
    Phama TTT, Lea T, Vua H, Daoa TK, Nguyen VT (2017) Fully-automated person re-identification in multi-camera surveillance system with a robust kernel descriptor and effective shadow removal method. Elsevier Image Vis Comput 59:44–62CrossRefGoogle Scholar
  18. 18.
    Phillips PJ, Moon H, Rizvi SA, Rauss PJ (2000) The feret evaluation methodology for face-recognition algorithms. IEEE Trans Pattern Anal Mach Intell 22 (10):1090–1104. CrossRefGoogle Scholar
  19. 19.
    Phillips JP et al (2003) Face recognition vendor test 2002. In: IEEE international workshop on analysis and modeling of faces and gestures. IEEE Computer SocietyGoogle Scholar
  20. 20.
    Phillips PJ, Flynn PJ, Scruggs T, Bowyer KW, Chang J, Hoffman K, Marques J, Min J, Worek W (2005) Overview of the face recognition grand challenge. In: Proceedings of the 2005 IEEE computer society conference on computer vision and pattern recognition (CVPR’05) - Volume 1, CVPR ’05. IEEE Computer Society, Washington, pp 947–954.
  21. 21.
    Savvides M, Kumar BVKV, Khosla PK (2004) “igenphases vs. eigenfaces”. In: ICPR (3). IEEE Computer Society, pp 810–813Google Scholar
  22. 22.
    Senouci B, Charfi I, Heyrman B, Dubois J, Miteran J (2016) Fast prototyping of a soc-based smart-camera: a real-time fall detection case study. J Real-Time Image Process 12(4):649–662. CrossRefGoogle Scholar
  23. 23.
    Shan Y, Hao Y, Wang W, Wang Y, Chen X, Yang H, Luk W (2014) Hardware acceleration for an accurate stereo vision system using mini-census adaptive support region. ACM Trans Embed Comput Syst (TECS) 13(4s):132:1–132:24. Google Scholar
  24. 24.
    Smitha KG, Vinod AP (2015) Facial emotion recognition system for autistic children: a feasible study based on FPGA implementation. Med Biol Eng Comput 53(11):1221–1229. CrossRefGoogle Scholar
  25. 25.
    Sun Y, Wang X, Tang X (2014) Deep learning face representation from predicting 10,000 classes. In: Proceedings of the 2014 IEEE conference on computer vision and pattern recognition, CVPR ’14, pp. 1891–1898. IEEE Computer Society, Washington.
  26. 26.
    Taigman Y, Yang M, Ranzato M, Wolf L (2014) Deepface: closing the gap to human-level performance in face verification. In: Proceedings of the 2014 IEEE conference on computer vision and pattern recognition, CVPR ’14, pp 1701–1708. IEEE Computer Society, Washington.
  27. 27.
    Tian L, Fan C, Ming Y (2016) Learning spherical hashing based binary codes for face recognition. Multimed Tools Appl 76(11):13271–13299CrossRefGoogle Scholar
  28. 28.
    Turk M (2013) Over twenty years of eigenfaces. TOMCCAP 9(1s):45:1–45:5CrossRefGoogle Scholar
  29. 29.
    Turk M, Pentland A (1991) Eigenfaces for recognition. J. Cogn Neurosci 3(1):71–86. CrossRefGoogle Scholar
  30. 30.
    what-when Introduction to face recognition (2014).
  31. 31.
    Xilinx I (2012) AXI Reference Guide, vol 14. XilinxGoogle Scholar
  32. 32.
    Xilinx: Vivado design suite - hlx editions (2016).
  33. 33.
    Yin DBM, Omar S, Talip BA, Muklas A, Norain NAM, Othman AT (2017) Fusion of face recognition and facial expression detection for authentication: a proposed model. In: Proceedings of the 11th international conference on ubiquitous information management and communication, IMCOM ’17. ACM, New York, pp 21:1–21:8.

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Electrical and Computer EngineeringUniversity of SharjahSharjahUnited Arab Emirates
  2. 2.Hasan Kalyoncu UniversityGaziantepTurkey

Personalised recommendations