Face Recognition Using Maxeler DataFlow

  • Tijana Sustersic
  • Aleksandra Vulovic
  • Nemanja Trifunovic
  • Ivan Milankovic
  • Nenad FilipovicEmail author
Part of the Computer Communications and Networks book series (CCN)


Face recognition has its theoretical and practical value in daily life. In this chapter, we will present face recognition application and discuss its implementation using the Maxeler DataFlow paradigm. We first give theoretical background and overview of the existing solutions in the area of algorithms for face recognition. Maxeler card is based on FPGA technology and therefore a brief explanation of the main FPGA characteristics are given and the comparison is made with GPU technology. After that, we analyze one of the PCA algorithms called Eigenface for its application, first on PC and then on Maxeler card. The results show that this algorithm is suitable for implementing on Maxeler card using the dataflow paradigm. By analyzing aforementioned algorithm, it could be seen that execution timing could be reduced, which is especially important when working with large databases. We could conclude that the use of the Maxeler DataFlow paradigm provides advantages in comparison to PC application, resulting in reduction in memory access latency and increase in power efficiency, due to the execution of instructions in natural sequence as data propagates through the algorithm. Since there are many technical challenges (e.g., viewpoint, lightening, facial expression, different haircut, presence of glasses, hats, etc.) affecting successful recognition, this area is to be further examined and algorithms could be adapted for dataflow implementation.



The part of this research is supported by HOLOBALANCE: HOLOgrams in an ageing population with BALANCE disorders project funded by European Union’s Horizon 2020 research and innovation programme under grant agreement No 769574 and Ministry of Education, Science and Technological Development of Serbia, with projects OI174028 and III41007.


  1. 1.
    Mou D (2010) Machine-based intelligent face recognition. Springer, BerlinzbMATHCrossRefGoogle Scholar
  2. 2.
    Jain AK, Li SZ (2005) Handbook of face recognition. Springer, LondonzbMATHGoogle Scholar
  3. 3.
    Draper BA, Baek K, Bartlett MS, Beveridge JR (2003) Recognizing faces with PCA and ICA. Comput Vis Image Underst 91(1–2):115–137CrossRefGoogle Scholar
  4. 4.
    Haddadnia J, Faez K, Ahmadi M (2002) A neural based human face recognition system using an efficient feature extraction method with pseudo zernike moment. J Circuits Syst Comput 11(3):283–304CrossRefGoogle Scholar
  5. 5.
    Yang M-H, Kriegman DJ (2002) Detecting faces in images: a survey. IEEE Trans Pattern Anal Mach Intell 24(1):34–58CrossRefGoogle Scholar
  6. 6.
    Hjelmas E, Low BK (2001) Face detection: a survey. Comput Vis Image Underst 83(3):236–274zbMATHCrossRefGoogle Scholar
  7. 7.
    Bichsel M, Pentland AP (1994) Human face recognition and the face image set’s topology. CVGIP: Image Underst 59(2):254–261CrossRefGoogle Scholar
  8. 8.
    Lin KH, Lam KM, Siu WC (2001) Locating the eye in human face images using fractal dimensions. IEEE Proc-Vis Image Signal Processing 148(6):413–421CrossRefGoogle Scholar
  9. 9.
    Chen LF, Liao HM, Lin J, Han C (2001) Why recognition in a statistic-based face recognition system should be based on the pure face portion: a probabilistic decision-based proof. Pattern Recognit 34(7):1393–1403zbMATHCrossRefGoogle Scholar
  10. 10.
    Turk M, Pentland A (1991) Eigenfaces for recognition. J Cogn Neurosci 3(1):71–86CrossRefGoogle Scholar
  11. 11.
    Zhou W (1999) Verification of the nonparametric characteristics of backpropagation neural networks for image classification. IEEE Trans Geosci Remote Sens 37(2):771–779CrossRefGoogle Scholar
  12. 12.
    Golub GH, Van Loan CF (1996) Matrix computations, 3rd edn. The John Hopkins University Press, BaltimorezbMATHGoogle Scholar
  13. 13.
    Press WH, Flannery BP, Teukolsky SA, Vetterling WT (1992) Numerical recipes in C: the art of scientific computing, 2nd edn. Cambridge University Press, CambridgezbMATHGoogle Scholar
  14. 14.
    Kiusalaas J (2010) Numerical methods in engineering with Python 3, 2nd edn. Cambridge University Press, CambridgezbMATHCrossRefGoogle Scholar
  15. 15.
    Kim K, Face Recognition Using Principle Component Analysis, Department of Computer Science, University of Maryland, College Park, USAGoogle Scholar
  16. 16.
    Gupta S, Sahoo OP, Goel A, Gupta R (2010) A new optimized approach to face recognition. Glob J Comput Sci Technol 10(1):15–17Google Scholar
  17. 17.
    Tolba AS, El-Baz AH, El-Harby AA (2006) Face recognition: a literature review. Int J Signal Process 2(2):88–103Google Scholar
  18. 18.
    Phillips PJ (1998) Support vector machines applied to face fecognition. Adv Neural Inf Process Syst 803–809Google Scholar
  19. 19.
    Zhao W, Chellappa R, Phillips PJ, Rosenfeld A (2003) Face recognition: a literature survey. ACM Comput Surv (CSUR) 35(4):399–458CrossRefGoogle Scholar
  20. 20.
    Hancock PJ, Bruce V, Burton MA (1998) A comparison of two computer-based face identification systems with human perceptions of faces. Vis Res 38(15–16):2277–2288CrossRefGoogle Scholar
  21. 21.
    Kalocsai P, Zhao W, Elagin E (1998) Face similarity space as perceived by humans and artificial systems. Automatic face and gesture recognition, Nara, JapanCrossRefGoogle Scholar
  22. 22.
    Ellis HD (1986) Introduction to aspects of face processing: ten questions in need of answers. Aspects of face processing. Springer, Dordrecht, pp 3–13CrossRefGoogle Scholar
  23. 23.
    Bruce V, Burton MA, Dench N (1994) What’s distinctive about a distinctive face? Q J Exp Psychol 47(1):119–141CrossRefGoogle Scholar
  24. 24.
    Bruce V, Hancock PJ, Burton AM (1998) Human face perception and identification. Face recognition. Springer, Berlin, pp 51–72Google Scholar
  25. 25.
    Hill H, Bruce V (1996) The effects of lighting on the perception of facial surfaces. J Exp Psychol: Hum Percept Perform 22(4):986Google Scholar
  26. 26.
    O’Toole AJ, Roark DA, Abdi H (2002) Recognizing moving faces: a psychological and neural synthesis. Trends Cogn Sci 6(6):261–266CrossRefGoogle Scholar
  27. 27.
    Hassaballah M, Aly S (2015) Face recognition: challenges, achievements and future directions. IET Comput Vis 9(4):614–626CrossRefGoogle Scholar
  28. 28.
    AT&T Laboratories, The database of faces, Cambridge. Accessed 12 Jan 2016
  29. 29.
    Fernandes S, Bala J (2013) Performance analysis of PCA-based and LDA based algorithms for face recognition. Int J Signal Process Syst 1(1):1–6CrossRefGoogle Scholar
  30. 30.
    Moghaddam B (2002) Principal manifolds and probabilistic subspaces for visual recognition. IEEE Trans Pattern Anal Mach Intell 24(6):780–788CrossRefGoogle Scholar
  31. 31.
    Wiskott L, Fellous J-M, Kruger N, von der Malsburg C (1997) Face recognition by elastic bunch graph matching. IEEE Trans Pattern Anal Mach Intell 19(7):775–779CrossRefGoogle Scholar
  32. 32.
    Blanz V, Vetter T (2003) Face recognition based on fitting a 3D morphable model. IEEE Trans Pattern Anal Mach Intell 25(9):1063–1074CrossRefGoogle Scholar
  33. 33.
    Huang J, Heisele B, Blanz V (2003) Component-based face recognition with 3D morphable models, In: Proceedinds of the international conference on audio- and video-based biometric person authentication, Guildford, UKGoogle Scholar
  34. 34.
    Kohonen T (2012) Self-organization and associative memory. Springer, New YorkzbMATHGoogle Scholar
  35. 35.
    Vulovic A, Sustersic T, Rankovic V, Peulic A, Filipovic N (2018) Comparison of different neural network training algorithms with application to face recognition. EAI Endorsed Trans Ind Netw Intell Syst 18(12):e3Google Scholar
  36. 36.
    Sustersic T, Vulovic A, Filipovic N, Peulic A (2018) FPGA implementation of face recognition algorithm. Pervasive Comput Parad Ment Health. Selected Papers from MindCare 2016, Fabulous 2016, and IIoT 2015, pp 93–99Google Scholar
  37. 37.
    Šušteršič T, Peulić A (2018) Implementation of face recognition algorithm on field programmable gate array (FPGA). J Circuits, Syst Comput, p 1950129Google Scholar
  38. 38.
    Zhou H (2013) Design and FPGA implementation of OFDM system with channel estimation and synchronization. Montral, Qubec, CanadaGoogle Scholar
  39. 39.
    Xilinx Inc., System generator for DSP. Accessed 10 Jan 2018
  40. 40.
    Cummings M, Haruyama S (1999) FPGA in the software radio. IEEE Commun Mag 37(2):108–112CrossRefGoogle Scholar
  41. 41.
    Altera Inc., DSP builder. Accessed 10 Jan 2018
  42. 42.
    Altera Inc., FPGA vs. DSP design reliability and maintenance white paper. Accessed 10 Jan 2018
  43. 43.
    Nikolakaki SM (2015) Real-time Stream data processing with FPGA-based supercomputer. ChaniaGoogle Scholar
  44. 44.
    Pell O (2012) Maximum performance computing with data-flow engines. Accessed 5 Sept 2017
  45. 45.
    Technologies M (2017) Dataflow computing. Accessed 6 Sept 2017
  46. 46.
    Panfilov P, Salibekyan S (2014) Dataflow computing and its impact on automation applications. Procedia Eng 69:1286–1295CrossRefGoogle Scholar
  47. 47.
    Bhattacharya B, Bhattacharyya SS (2001) Parameterized dataflow modeling for DSP systems. IEEE Trans Signal Process 49(10):2408–2421MathSciNetzbMATHCrossRefGoogle Scholar
  48. 48.
    Voigt S, Baesler M, Teufel T (2010) Dynamically reconfigurable dataflow architecture for high-performance digital signal processing. J Syst Arch 56(11):561–576CrossRefGoogle Scholar
  49. 49.
    Morris GR, Abed KH (2013) Mapping a Jacobi Iterative solver onto a high-performance heterogeneous computer. IEEE Trans Parallel Distrib Syst 24(1):85–91CrossRefGoogle Scholar
  50. 50.
    Jovanovic Z, Milutinovic V (2012) FPGA accelerator for floating-point matrix multiplication. IET Comput Digit Tech 6(4):249–256CrossRefGoogle Scholar
  51. 51.
    Weston S, Spooner J, Racaniere S, Mencer O (2012) Rapid computation of value and risk for derivatives portfolios. Concurr Comput: Pract Exp 24(8):880–894CrossRefGoogle Scholar
  52. 52.
    Li WXY, Chaudhary S, Cheung RCC, Matsumoto T, Fujita M (2013) Fast simulation of digital spiking silicon neuron model employing reconfigurable dataflow computing. In: International conference on field-programmable technology (FPT). Kyoto, JapanGoogle Scholar
  53. 53.
    Voss N, Becker T, Mencer O, Gaydadjiev G (2017) Rapid development of Gzip with MaxJ. In: International symposium on applied reconfigurable computing. Delft, The NetherlandsGoogle Scholar
  54. 54.
    Gan L, Fu H, Mencer O, Luk W, Yang G (2017) Chapter four data flow computing in geoscience applications. Creativity in computing and dataflow supercomputing, vol 104. Academic Press, Cambridge, pp 125–158Google Scholar
  55. 55.
    Grull F, Kebschull U (2014) Biomedical image processing and reconstruction with dataflow computing on FPGAs. In: 24th international conference on field programmable logic and applications (FPL). Munich, GermanyGoogle Scholar
  56. 56.
    Gan L, Fu H, Luk W, Yang C, Xue W, Huang X, Zhang Y, Yang G (2015) Solving the Global Atmospheric Equations through Heterogeneous Reconfigurable Platforms. ACM Trans Reconfigurable Technol Syst (TRETS)-Spec Sect FPL 2013 8(2):11CrossRefGoogle Scholar
  57. 57.
    Milankovic IL, Mijailovic NV, Filipovic ND, Peulic AS (2017) Acceleration of image segmentation algorithm for (Breast) Mammogram Images using High-Performance Reconfigurable Dataflow Computers. Comput Math Methods MedGoogle Scholar
  58. 58.
    Kotlar M, Milutinovic V (2018) Comparing controlflow and dataflow for tensor calculus: speed, power, complexity, and MTBF. In: High performance computing - ISC high performance 2018 international workshops, ExaComm, Frankfurt, Germany, June 24–28Google Scholar
  59. 59.
    BERTEN Digital Signal Processing, GPU vs FPGA performance comparison 19 May 2016. Accessed 12 Dec 2017
  60. 60.
    Agarwal M, Jain N, Kumar M, Agrawal H (2010) Face recognition using eigen faces and artificial neural network. Int J Comput Theory Eng 2(4):624–629CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Tijana Sustersic
    • 1
    • 2
  • Aleksandra Vulovic
    • 1
    • 2
  • Nemanja Trifunovic
    • 3
  • Ivan Milankovic
    • 1
    • 2
  • Nenad Filipovic
    • 1
    • 2
    Email author
  1. 1.Faculty of EngineeringUniversity of KragujevacKragujevacSerbia
  2. 2.Research and Development Center for Bioengineering (BioIRC)KragujevacSerbia
  3. 3.School of Electrical EngineeringUniversity of BelgradeBelgradeSerbia

Personalised recommendations