Boosting the Hardware-Efficiency of Cascade Support Vector Machines for Embedded Classification Applications

Support Vector Machines (SVMs) are considered as a state-of-the-art classification algorithm capable of high accuracy rates for a different range of applications. When arranged in a cascade structure, SVMs can efficiently handle problems where the majority of data belongs to one of the two classes, such as image object classification, and hence can provide speedups over monolithic (single) SVM classifiers. However, the SVM classification process is still computationally demanding due to the number of support vectors. Consequently, in this paper we propose a hardware architecture optimized for cascaded SVM processing to boost performance and hardware efficiency, along with a hardware reduction method in order to reduce the overheads from the implementation of additional stages in the cascade, leading to significant resource and power savings. The architecture was evaluated for the application of object detection on $$800\times 600$$800×600 resolution images on a Spartan 6 Industrial Video Processing FPGA platform achieving over 30 frames-per-second. Moreover, by utilizing the proposed hardware reduction method we were able to reduce the utilization of FPGA custom-logic resources by $$\sim $$∼30%, and simultaneously observed $$\sim $$∼20% peak power reduction compared to a baseline implementation.

[1]  Davide Anguita,et al.  A learning machine for resource-limited adaptive hardware , 2007, Second NASA/ESA Conference on Adaptive Hardware and Systems (AHS 2007).

[2]  B. Schölkopf,et al.  Efficient face detection by a cascaded support–vector machine expansion , 2004, Proceedings of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences.

[3]  Christos-Savvas Bouganis,et al.  An embedded hardware-efficient architecture for real-time cascade Support Vector Machine classification , 2013, 2013 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS).

[4]  I. Kukenys,et al.  Classifier cascades for support vector machines , 2008, 2008 23rd International Conference Image and Vision Computing New Zealand.

[5]  William M. Pottenger,et al.  Hardware-based support vector machine classification in logarithmic number systems , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[6]  Ulrich Brunsmann,et al.  FPGA-GPU architecture for kernel SVM pedestrian detection , 2010, 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition - Workshops.

[7]  James M. Rehg,et al.  Chapter 8 Object Detection , 2012 .

[8]  M. Pietikäinen,et al.  A discriminative feature space for detecting and recognizing faces , 2004, CVPR 2004.

[9]  Davide Anguita,et al.  A Hardware-friendly Support Vector Machine for Embedded Automotive Applications , 2007, 2007 International Joint Conference on Neural Networks.

[10]  Austin Carpenter,et al.  CUSVM: A CUDA IMPLEMENTATION OF SUPPORT VECTOR CLASSIFICATION AND REGRESSION , 2009 .

[11]  Matti Pietikäinen,et al.  A comparative study of texture measures with classification based on featured distributions , 1996, Pattern Recognit..

[12]  Ali Soleimani,et al.  FPGA Simulation of Linear and Nonlinear Support Vector Machine , 2011, J. Softw. Eng. Appl..

[13]  William M. Pottenger,et al.  Finite precision analysis of support vector machine classification in logarithmic number systems , 2004, Euromicro Symposium on Digital System Design, 2004. DSD 2004..

[14]  Xiaoqing Ding,et al.  Face Detection Based on Cost-Sensitive Support Vector Machines , 2002, SVM.

[15]  Davide Anguita,et al.  A digital architecture for support vector machines: theory, algorithm, and FPGA implementation , 2003, IEEE Trans. Neural Networks.

[16]  Greg Brown,et al.  A Tradeoff Analysis of FPGAs, GPUs, and Multicores for Sliding-Window Applications , 2015, TRETS.

[17]  K. Sridharan,et al.  50 Years of CORDIC: Algorithms, Architectures, and Applications , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[18]  Tomasz Kryjak,et al.  FPGA implementation of real-time head-shoulder detection using local binary patterns, SVM and foreground object detection , 2012, Proceedings of the 2012 Conference on Design and Architectures for Signal and Image Processing.

[19]  Andrea Boni,et al.  FPGA Implementation of Support Vector Machines with Pseudo-Logarithmic Number Representation , 2006, The 2006 IEEE International Joint Conference on Neural Network Proceedings.

[20]  Federico Girosi,et al.  Training support vector machines: an application to face detection , 1997, Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.

[21]  Marta Ruiz-Llata,et al.  Classification and regression , 1997 .

[22]  Thomas Serre,et al.  Hierarchical classification and feature reduction for fast face detection with support vector machines , 2003, Pattern Recognit..

[23]  Hichem Sahbi,et al.  Face detection using coarse-to-fine support vector classifiers , 2002, Proceedings. International Conference on Image Processing.

[24]  Petru Eles,et al.  General purpose computing on low-power embedded GPUs: Has it come of age? , 2013, 2013 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS).

[25]  Srihari Cadambi,et al.  A Massively Parallel FPGA-Based Coprocessor for Support Vector Machines , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

[26]  Sandrine Vaton,et al.  Hardware acceleration of SVM-based traffic classification on FPGA , 2012, 2012 8th International Wireless Communications and Mobile Computing Conference (IWCMC).

[27]  Davide Anguita,et al.  Feed-Forward Support Vector Machine Without Multipliers , 2006, IEEE Transactions on Neural Networks.

[28]  Marta Ruiz-Llata,et al.  FPGA Implementation of Support Vector Machines for 3D Object Identification , 2009, ICANN.

[29]  Christopher J. C. Burges,et al.  A Tutorial on Support Vector Machines for Pattern Recognition , 1998, Data Mining and Knowledge Discovery.

[30]  A. Ghio,et al.  A Support Vector Machine based pedestrian recognition system on resource-limited hardware architectures , 2007, 2007 Ph.D Research in Microelectronics and Electronics Conference.

[31]  Christopher J. C. Burges,et al.  Simplified Support Vector Decision Rules , 1996, ICML.

[32]  Daniela Dragomirescu,et al.  Object Recognition System-on-Chip Using the Support Vector Machines , 2005, EURASIP J. Adv. Signal Process..

[33]  Matti Pietikäinen,et al.  Computer Vision Using Local Binary Patterns , 2011, Computational Imaging and Vision.

[34]  Gert Cauwenberghs,et al.  Kerneltron: Support Vector 'Machine' in Silicon , 2002, SVM.

[35]  Raquel Valdés-Cristerna,et al.  An FPGA Implementation of Linear Kernel Support Vector Machines , 2006, 2006 IEEE International Conference on Reconfigurable Computing and FPGA's (ReConFig 2006).

[36]  William M. Pottenger,et al.  Finite precision analysis of support vector machine classification in logarithmic number systems , 2004 .

[37]  Kurt Keutzer,et al.  Fast support vector machine training and classification on graphics processors , 2008, ICML '08.

[38]  Greg Brown,et al.  A performance and energy comparison of FPGAs, GPUs, and multicores for sliding-window applications , 2012, FPGA '12.

[39]  Frédéric Magoulès,et al.  Parallel Support Vector Machines on Multi-Core and Multiprocessor Systems , 2011 .

[40]  Christos-Savvas Bouganis,et al.  Novel Cascade FPGA Accelerator for Support Vector Machines Classification , 2012, IEEE Transactions on Neural Networks and Learning Systems.

[41]  Theocharis Theocharides,et al.  A Parallel Hardware Architecture for Real-Time Object Detection with Support Vector Machines , 2012, IEEE Transactions on Computers.

[42]  Corinna Cortes,et al.  Support-Vector Networks , 1995, Machine Learning.

[43]  Srihari Cadambi,et al.  A Massively Parallel Digital Learning Processor , 2008, NIPS.

[44]  A. Boni,et al.  A reconfigurable parallel architecture for SVM classification , 2005, Proceedings. 2005 IEEE International Joint Conference on Neural Networks, 2005..

[45]  Andrea Boni,et al.  Low-Power and Low-Cost Implementation of SVMs for Smart Sensors , 2007, IEEE Transactions on Instrumentation and Measurement.