Skip to main content
Log in

FPGA Implementations of SVM Classifiers: A Review

  • Review Article
  • Published:
SN Computer Science Aims and scope Submit manuscript

Abstract

Support vector machine (SVM) is a robust machine learning model with high classification accuracy. SVM is widely utilized for online classification in various real-time embedded applications. However, implementing SVM classification algorithm for an embedded system is challenging due to intensive and complicated computations required. Several works attempted to optimize performance and cost by implementing SVM in hardware, especially on field-programmable gate array (FPGA) as it is a promising platform for meeting challenging embedded systems constraints. This article presents a comprehensive survey of hardware architectures used for implementing SVM on FPGA over the period 2010–2019. We performed a critical analysis and comparison of existing works with in-depth discussions around limitations, challenges, and research gaps. We concluded that the primary research gap is overcoming the challenging trade-off between meeting critical embedded systems constraints and achieving efficient and precise classification. Finally, some future research directions are proposed, aiming to address such research gaps.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  1. Nayak J, Naik B, Behera H. A comprehensive survey on support vector machine in data mining tasks: applications & challenges. Int J Database Theory Appl. 2015;8(1):169–86.

    Article  Google Scholar 

  2. Sabouri P, Gholam Hosseini H, Larsson T, Collins J, A cascade classifier for diagnosis of melanoma in clinical images. In: 36th annual international conference of the IEEE engineering in medicine and biology society (EMBC), 2014, pp. 6748–6751. IEEE.

  3. Foody GM, Mathur A. A relative evaluation of multiclass image classification by support vector machines. IEEE Trans Geosci Remote Sens. 2004;42(6):1335–433.

    Article  Google Scholar 

  4. Entezari-Maleki R, Rezaei A, Minaei-Bidgoli B. Comparison of classification methods based on the type of attributes and sample size. J Converg Inf Technol. 2009;4(3):94–102.

    Google Scholar 

  5. Kim J, Kim B-S, Savarese S. Comparing image classification methods: k-nearest-neighbor and support-vector-machines. Ann Arbor. 2012;1001:48109–2122.

    Google Scholar 

  6. MP Véstias, High-performance reconfigurable computing granularity. In: Encyclopedia of information science and technology, p 3558–3567, 2015.

  7. HM Hussain, K Benkrid, H Seker, The role of FPGAs as high performance computing solution to bioinformatics and computational biology data. In: AIHLS2013, p. 102, 2013.

  8. Asano S, Maruyama T, Yamaguchi Y, Performance comparison of FPGA, GPU and CPU in image processing. In: International conference on field programmable logic and applications, 2009. FPL 2009, 2009, pp. 126–131: IEEE.

  9. Fowers J, Brown G, Cooke P, Stitt G., A performance and energy comparison of FPGAs, GPUs, and multicores for sliding-window applications. In: Proceedings of the ACM/SIGDA international symposium on field programmable gate arrays, 2012, pp. 47–56: ACM.

  10. Cope B, Cheung PY, Luk W, Howes L. Performance comparison of graphics processors to reconfigurable logic: a case study. IEEE Trans Comput. 2010;59(4):433–48.

    Article  MathSciNet  Google Scholar 

  11. Pietron M, Wielgosz M, Zurek D, Jamro E, Wiatr K, Comparison of GPU and FPGA implementation of SVM algorithm for fast image segmentation. In: Architecture of computing systems–ARCS, Springer, 2013, pp. 292–302.

  12. Fykse E, Performance comparison of GPU, DSP and FPGA implementations of image processing and computer vision algorithms in embedded systems, M.Sc. thesis, Department of Electronics and Telecommunications, Norwegian University of Science and Technology, 2013.

  13. Afifi SM, GholamHosseini H, Sinha R. Hardware implementations of SVM on FPGA: a state-of-the-art review of current practice. Int J Innov Sci Eng Technols (IJISET). 2015;2(11):733–52.

    Google Scholar 

  14. Kyrkou C, Theocharides T. SCoPE: Towards a systolic array for SVM s. IEEE Embed Syst Lett. 2009;1(2):46–9.

    Article  Google Scholar 

  15. Anguita D, Pischiutta S, Ridella S, Sterpi D. Feed-forward support vector machine without multipliers. IEEE Trans Neural Netw. 2006;17(5):1328–31.

    Article  Google Scholar 

  16. Hsu C-W, Lin C-J. A comparison of methods for multiclass support vector machines. IEEE Trans Neural Netw. 2002;13(2):415–25.

    Article  Google Scholar 

  17. Ago Y, Nakano K, Ito Y, A classification processor for a support vector machine with embedded DSP slices and block RAMs in the FPGA. In: 2013 IEEE 7th international symposium on embedded multicore socs (MCSoC), 2013, pp. 91–96.

  18. Wielgosz M, Jamro E, Zurek D, Wiatr K. FPGA implementation of the selected parts of the fast image segmentation. Stud Comput Intell. 2012;390:203–216s.

    Google Scholar 

  19. Berberich M, Doll K, Highly flexible FPGA-architecture of a support vector machine. In: MPC-workshop 45, 2014, pp. 25–32.

  20. Andraka R, A survey of CORDIC algorithms for FPGA based computers. In: Proceedings of the 1998 ACM/SIGDA sixth international symposium on field programmable gate arrays, 1998, pp. 191–200.s ACM.

  21. Nie Z, Zhang X, Yang Z, An FPGA implementation of multi-class support vector machine classifier based on posterior probability. In: Proceedings of 2010 3rd s (ICCEE 2010 no. 2), 2010.

  22. Saurav S, Singh S, Saini R, Saini AK, Hardware accelerator for facial expression classification using linear SVM. In: SIRS, 2015, pp. 39–50.

  23. Vranjković VS, Struharik RJR, Novak LA. Reconfigurable hardware for machine learning applications. J Circuit Syst Comput. 2015;24(5):1550064.

    Article  Google Scholar 

  24. Vranjković V, Struharik R, Coarse-grained reconfigurable hardware accelerator of machine learning classifiers. In: 2016 International conference on systems, signals and image processing (IWSSIP), 2016, pp. 1–5. IEEE.

  25. Kim S, Lee S, Cho K. Design of high-performance unified circuit for linear and non-linear SVM classsifications. J Semicond Technol Sci. 2012;12(2):162–7.

    Article  Google Scholar 

  26. Tang P-TP. Table-driven implementation of the exponential function in IEEE floating-point arithmetic. ACM Trans Math Softw (TOMS). 1989;15(2):144–57.

    Article  Google Scholar 

  27. Koide T, et al. FPGA implementation of type identifier for colorectal endoscopie images with NBI magnification. IEEE Asia Pac Conf Circuit Syst (APCCAS). 2014;2014:651–4.

    Google Scholar 

  28. Shigemi S, et al., Customizable hardware architecture of support vector machine in CAD system for colorectal endoscopic images with NBI magnification. In: SASIMI 2013 proceedings, the 18th workshop on synthesis and system integration of mixed information technologies, pp. 298–203, 2013.

  29. Shigemi S, An FPGA implementation of support vector machine identifier for colorectal endoscopic images with NBI magnification. In: Proceedings of the 28th international conference on circuits/systems, computers and communications (IsTC-CSCC2013), pp. 571–572.

  30. Liu C, Qiao F, Yang X, Yang H, Hardware acceleration with pipelined adder for support vector machine classifier. In: 2014 fourth international conference on digital information and communication technology and it's applications (DICTAP), 2014, pp. 13–16. IEEE.

  31. Cárdenas J, Figueroa M, Pezoa JE, A custom hardware classifier for bruised apple detection in hyperspectral images. In: SPIE Optical Engineering+ Applications, 2015, pp. 95992K-95992K-11. International Society for Optics and Photonics.

  32. Qasaimeh M, Sagahyroon A, Shanableh T. FPGA-based parallel hardware architecture for real-time image classification. IEEE Trans Comput Imaging. 2015;1(1):56–70.

    Article  MathSciNet  Google Scholar 

  33. Vucha M, Rajawat A. Design and FPGA implementation of systolic array architecture for matrix multiplication. Int J Comput Appl. 2011;26(3):18–22.

    Google Scholar 

  34. Kyrkou C, Theocharides T. A parallel hardware architecture for real-time object detection with support vector machines. IEEE Trans Comput. 2012;61(6):831–42.

    Article  MathSciNet  Google Scholar 

  35. Hussain HM, Benkrid K, Seker H, Reconfiguration-based implementation of SVM classifier on FPGA for classifying microarray data. In: 2013 35th annual international conference of the IEEE engineering in medicine and biology society (EMBC), 2013, pp. 3058–3061. IEEE.

  36. Hussain H, Benkrid K, Şeker H. Novel dynamic partial reconfiguration implementations of the support vector machine classifier on FPGA. Turk J Electr Eng Comput Sci. 2016;24(5):3371–87.

    Article  Google Scholar 

  37. Hussain HM, Benkrid K, Seker H, Dynamic partial reconfiguration implementation of the SVM/KNN multi-classifier on FPGA for bioinformatics application. In: 37th annual international conference of the IEEE engineering in medicine and biology society (EMBC), 2015, pp. 7667–7670.s IEEE.

  38. Patil R, Gupta G, Sahula V, Mandal A, Power aware hardware prototyping of multiclass SVM classifier through reconfiguration. In: 2012 25th international conference on VLSI design (VLSID), 2012, pp. 62–67. IEEE.

  39. Sasamal TN, Prasad R. Module based and difference based implementation of partial reconfiguration on FPGA: a review. Int J Eng Res Appl (IJERA). 2011;1(4):1898–903.

    Google Scholar 

  40. Hussain HM, Benkrid K, Seker H, An adaptive implementation of a dynamically reconfigurable K-nearest neighbour classifier on FPGA. In: NASA/ESA conference on adaptive hardware and systems (AHS), 2012, pp. 205–212. IEEE.

  41. Hussain H, Benkrid K, Hong C, Seker H, An adaptive FPGA implementation of multi-core K-nearest neighbour ensemble classifier using dynamic partial reconfiguration. In: 22nd international conference on field programmable logic and applications (FPL), 2012, pp. 627–630. IEEE.

  42. Jallad AHM, Mohammed LB. Hardware support vector machine (SVM) for satellite on-board applications. NASA/ESA Conf Adapt Hardw Syst (AHS). 2014;2014:256–61.

    Google Scholar 

  43. Wong S, Vassiliadis S, Cotofana S, A sum of absolute differences implementation in FPGA hardware. In: Euromicro conference, 2002. Proceedings. 28th, 2002, pp. 183–188. IEEE.

  44. Pan X, Yang H, Li L, Liu Z, Hou L, FPGA implementation of SVM decision function based on hardware-friendly Kernel. In: 2013 international conference on computational and information sciences , ICCIS 2013 proceedings, 2013, pp. 133–136.

  45. Ruiz-Llata M, Guarnizo G, Yébenes-Calvino M, FPGA implementation of a support vector machine for classification and regression. In: The 2010 international joint conference on neural networks (IJCNN), 2010, pp. 1–5. IEEE.

  46. Gimeno Sarciada J, Lamel Rivera H, Jiménez M, CORDIC algorithms for SVM FPGA implementation. In: Proceedings of SPIE - the international society for optical engineering, 2010, vol. 7703.

  47. Lamela H, Gimeno J, Jiménez M, Ruiz M, Performance evaluation of a FPGA implementation of a digital rotation support vector machine. In: SPIE defense and security symposium, 2008, pp. 697908–697908–8. International Society for Optics and Photonics.

  48. Anguita D, Carlino L, Ghio A, Ridella S. A FPGA core generator for embedded classification systems. J Circuits Syst Comput. 2011;20(2):263–82.

    Article  Google Scholar 

  49. Anguita D, Ghio A, Pischiutta S, Ridella S. A support vector machine with integer parameters. Neurocomputing. 2008;72(1):480–9.

    Article  Google Scholar 

  50. Vranjkovic V, Struharik R, New architecture for SVM classifier and its application to telecommunication problems. In: 2011 19th Telecommunications Forum (TELFOR), 2011, pp. 1543–1545.s

  51. Mandal B, Sarma MP, Sarma KK, Implementation of systolic array based SVM classifier using multiplierless kernel. In: 2014 International Conference on Signal Processing and Integrated Networks (SPIN), pp. 35–39: IEEE.

  52. Mandal B, Sarma MP, Sarma KK, Design of a systolic array based multiplierless support vector machine classifier. In: 2014 international conference on signal processing and integrated networks (SPIN), 2014, pp. 35–39. IEEE.

  53. Xilinx System Generator for DSP. https://au.mathworks.com/products/connections/product_detail/product_35567.html

  54. Mahmoodi D, Soleimani A, Khosravi H, Taghizadeh M. FPGA simulation of linear and nonlinear support vector machine. J Softw Eng Appls. 2011;4(05):320–8.

    Article  Google Scholar 

  55. Jiang Y, Virupakshappa K, Oruklu E, FPGA implementation of a support vector machine classifier for ultrasonic flaw detection. In: 2017 IEEE 60th international midwest symposium on circuits and systems (MWSCAS), 2017, pp. 180–183.

  56. Saini R, Saurav S, Gupta DC, Sheoran N, Hardware implementation of SVM using system generator. In: 2017 2nd IEEE international conference on recent trends in electronics, information & communication technology (RTEICT), 2017, pp. 2129–2132. IEEE.

  57. Cutajar M, Gatt E, Grech I, Casha O, Micallef J. Hardware-based support vector machine for phoneme classification. IEEE EuroCon. 2013;2013:1701–8.

    Google Scholar 

  58. Vivado High-Level Synthesis. Available: https://www.xilinx.com/products/design-tools/vivado/integration/esl-design.html

  59. Afifi S, GholamHosseini H, Sinha R, Hardware acceleration of SVM-based classifier for melanoma images. In: Huang F, Sugimoto A (eds) Image and Video Technology – PSIVT 2015 Workshops: RV 2015, GPID 2013, VG 2015, EO4AS 2015, MCBMIIA 2015, and VSWS 2015, Auckland, New Zealand, November 23-27, 2015. Revised Selected Papers, Cham: Springer International Publishing, 2016, pp. 235-245s

  60. Afifi S, GholamHosseini H, Sinha R. A low-cost FPGA-based SVM classifier for melanoma detection. IEEE EMBS conference on biomedical engineering and sciences (IECBES). 2016;2016:631–6.

    Article  Google Scholar 

  61. Afifi S, GholamHosseini H, Sinha R. A system on chip for melanoma detection using FPGA-based SVM classifier. Microprocess Microsyst. 2019;65:57–68.

    Article  Google Scholar 

  62. Afifi S, GholamHosseini H, Sinha R, SVM classifier on chip for melanoma detection. In: The 39th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC’17), 2017.

  63. Afifi S, GholamHosseini H, Sinha R, Dynamic hardware system for cascade SVM classification of melanoma. Neural Computing and Applications, 2018.

  64. Afifi S, Gholamhosseini H, Sinha R, Lindén M. A novel medical device for early detection of melanoma. Stud Health Technol Inform. 2019;261:122–7.

    Google Scholar 

  65. Zynq-7000 All Programmable SoC. https://www.xilinx.com/products/silicon-devices/soc/zynq-7000.html

  66. Tsoutsouras V, Koliogeorgi K, Xydis S, Soudris D, An exploration framework for efficient high-level synthesis of support vector machines: case study on ECG arrhythmia detection for xilinx zynq SoC. J Signal Process Syst, pp. 1–2s1, 2017.

  67. Koliogeorgi K, Zervakis G, Anagnostos D, Zompakis N, Siozios K, Optimizing SVM classifier through approximate and high level synthesis techniques. In: 2019 8th international conference on modern circuits and systems technologies (MOCAST), 2019, pp. 1–4. IEEE.

  68. Elgawi O, Mutawa A, Ahmad A, Energy-efficient embedded inference of SVMs on FPGA. In: 2019 IEEE computer society annual symposium on VLSI (ISVLSI), 2019, pp. 164–168. IEEE.

  69. Kyrkou C, Theocharides T, Bouganis C-S, An embedded hardware-efficient architecture for real-time cascade support vector machine classification. In: 2013 international conference on embedded computer systems: architectures, modeling, and simulation (SAMOS XIII), 2013, pp. 129–136. IEEE.

  70. Papadonikolakis M, Bouganis C-S, A novel FPGA-based SVM classifier. In: International conference on field-programmable technology (FPT) 2010, pp. 283–286. IEEE.

  71. Papadonikolakis M, Bouganis CS. A heterogeneous FPGA architecture for support vector machine training. Proc IEEE Symp Field-Programm Custom Comput Mach, FCCM. 2010;2010:211–4.

    Google Scholar 

  72. Papadonikolakis M, Bouganis C. Novel cascade FPGA accelerator for support vector machines classification. IEEE Trans Neural Netw Learn Syst. 2012;23(7):1040–52.

    Article  Google Scholar 

  73. Kyrkou C, Theocharides T, Bouganis CS, A hardware-efficient architecture for embedded real-time cascaded support vector machines classification. In: Proceedings of the 23rd ACM international conference on great lakes symposium on VLSI, 2013, pp. 341–342. ACM.

  74. Kyrkou C, Theocharides T, Bouganis C-S, Polycarpou M. Boosting the hardware-efficiency of cascade support vector machines for embedded classification applications. Int J Parallel Programm. 2017;46:1–27.

    Google Scholar 

  75. Kyrkou C, Bouganis C-S, Theocharides T, Polycarpou MM. Embedded Hardware-Efficient Real-Time Classification with Cascade Support Vector Machines. IEEE Tran Neural Netw Learn Syst. 2015;27:90–112.

    MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shereen Afifi.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Afifi, S., GholamHosseini, H. & Sinha, R. FPGA Implementations of SVM Classifiers: A Review. SN COMPUT. SCI. 1, 133 (2020). https://doi.org/10.1007/s42979-020-00128-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s42979-020-00128-9

Keywords

Navigation