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.
Similar content being viewed by others
References
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.
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.
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.
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.
Kim J, Kim B-S, Savarese S. Comparing image classification methods: k-nearest-neighbor and support-vector-machines. Ann Arbor. 2012;1001:48109–2122.
MP Véstias, High-performance reconfigurable computing granularity. In: Encyclopedia of information science and technology, p 3558–3567, 2015.
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.
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.
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.
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.
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.
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.
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.
Kyrkou C, Theocharides T. SCoPE: Towards a systolic array for SVM s. IEEE Embed Syst Lett. 2009;1(2):46–9.
Anguita D, Pischiutta S, Ridella S, Sterpi D. Feed-forward support vector machine without multipliers. IEEE Trans Neural Netw. 2006;17(5):1328–31.
Hsu C-W, Lin C-J. A comparison of methods for multiclass support vector machines. IEEE Trans Neural Netw. 2002;13(2):415–25.
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.
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.
Berberich M, Doll K, Highly flexible FPGA-architecture of a support vector machine. In: MPC-workshop 45, 2014, pp. 25–32.
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.
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.
Saurav S, Singh S, Saini R, Saini AK, Hardware accelerator for facial expression classification using linear SVM. In: SIRS, 2015, pp. 39–50.
Vranjković VS, Struharik RJR, Novak LA. Reconfigurable hardware for machine learning applications. J Circuit Syst Comput. 2015;24(5):1550064.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Vucha M, Rajawat A. Design and FPGA implementation of systolic array architecture for matrix multiplication. Int J Comput Appl. 2011;26(3):18–22.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Anguita D, Ghio A, Pischiutta S, Ridella S. A support vector machine with integer parameters. Neurocomputing. 2008;72(1):480–9.
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
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.
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.
Xilinx System Generator for DSP. https://au.mathworks.com/products/connections/product_detail/product_35567.html
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.
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.
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.
Cutajar M, Gatt E, Grech I, Casha O, Micallef J. Hardware-based support vector machine for phoneme classification. IEEE EuroCon. 2013;2013:1701–8.
Vivado High-Level Synthesis. Available: https://www.xilinx.com/products/design-tools/vivado/integration/esl-design.html
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
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.
Afifi S, GholamHosseini H, Sinha R. A system on chip for melanoma detection using FPGA-based SVM classifier. Microprocess Microsyst. 2019;65:57–68.
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.
Afifi S, GholamHosseini H, Sinha R, Dynamic hardware system for cascade SVM classification of melanoma. Neural Computing and Applications, 2018.
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.
Zynq-7000 All Programmable SoC. https://www.xilinx.com/products/silicon-devices/soc/zynq-7000.html
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.
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.
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.
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.
Papadonikolakis M, Bouganis C-S, A novel FPGA-based SVM classifier. In: International conference on field-programmable technology (FPT) 2010, pp. 283–286. IEEE.
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.
Papadonikolakis M, Bouganis C. Novel cascade FPGA accelerator for support vector machines classification. IEEE Trans Neural Netw Learn Syst. 2012;23(7):1040–52.
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.
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.
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.
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42979-020-00128-9