This Article 
 Bibliographic References 
 Add to: 
A Parallel Hardware Architecture for Real-Time Object Detection with Support Vector Machines
June 2012 (vol. 61 no. 6)
pp. 831-842
Christos Kyrkou, University of Cyprus, Nicosia
Theocharis Theocharides, University of Cyprus, Nicosia
Object detection applications are often associated with real-time performance constraints that stem from the embedded environment that they are often deployed in. Consequently, researchers have proposed dedicated hardware architectures, utilizing a variety of classification algorithms targeting object detection. Support Vector Machines (SVMs) is among the most popular classification algorithms used in object detection yielding high accuracy rates. However, existing SVM hardware implementations attempting to speed up SVM classification, have either targeted only simple applications, or SVM training. As such, there are limited proposed hardware architectures that are generic enough to be used in a variety of object detection applications. Hence, this paper presents a parallel array architecture for SVM-based object detection, in an attempt to show the advantages, and performance benefits that stem from a dedicated hardware solution. The proposed hardware architecture provides parallel processing, resource sharing among the processing units, and efficient memory management. Furthermore, the size of the array is scalable to the hardware demands, and can also handle a variety of applications such as multiclass classification problems. A prototype of the proposed architecture was implemented on an FPGA platform and evaluated using three popular detection applications, demonstrating real-time performance (40-122 fps for a variety of applications).

[1] C. Cortes and V. Vapnik, “Support-Vector Networks,” Machine Learning, vol. 20, no. 3, pp. 273-297, 1995.
[2] V. Vapnik, The Nature of Statistical Learning Theory. Springer-Verlag, 1995.
[3] L. Hamel, Knowledge Discovery with Support Vector Machines. Wiley-Interscience, 2009.
[4] C.J.C. Burges, “A Tutorial on Support Vector Machines for Pattern Recognition,” Data Mining and Knowledge Discovery, vol. 2, no. 2, pp. 121-167, 1998.
[5] C. Papageorgiou and T. Poggio, “Trainable Pedestrian Detection System,” Int'l J. Computer Vision, vol. 38, pp. 15-33, 2000.
[6] M. Oren, C. Papageorgiou, P. Sinha, E. Osuna, and T. Poggio, “Pedestrian Detection Using Wavelet Templates,” Proc. IEEE CS Conf. Computer Vision and Pattern Recognition, pp. 193-199, 1997.
[7] S. Agarwal and D. Roth, “Learning a Sparse Representation for Object Detection,” ECCV '02: Proc. Seventh European Conf. Computer Vision, pp. 113-130, 2002.
[8] E. Osuna, R. Freund, and F. Girosi, “Training Support Vector Machines: An Application to Face Detection,” Proc. IEEE Conf. Computer Vision and Pattern Recognition, pp. 130-136, 1997.
[9] H. Sahbi, D. Geman, and N. Boujemaa, “Face Detection Using Coarse-to-Fine Support Vector Classifiers,” Proc. Int'l Conf. Image Processing, pp. 925-928, 2002.
[10] C. Kyrkou and T. Theocharides, “SCoPE: Towards a Systolic Array for SVM Object Detection,” IEEE Embedded System Letters, vol. 1, no. 2, pp. 46-49, Aug. 2009.
[11] S. Dey, M. Kedia, N. Agarwal, and A. Basu, “Embedded Support Vector Machine: Architectural Enhancements and Evaluation,” Proc. 20th Int'l Conf. Very Large-Scale Integration (VLSI) Design, pp. 685-690, 2007.
[12] R. Pedersen and M. Schoeberl, “An Embedded Support Vector Machine,” Proc. Fourth Workshop Intelligent Solutions in Embedded Systems, pp. 1-11, 2006.
[13] A. Boni, F. Pianegiani, and D. Petri, “Low-Power and Low-Cost Implementation of SVMs for Smart Sensors,” IEEE Trans. Instrumentation and Measurement, vol. 56, no. 1, pp. 39-44, Feb. 2007.
[14] B. Catanzaro, N. Sundaram, and K. Keutzer, “Fast Support Vector Machine Training and Classification on Graphics Processors,” Proc. 25th Int'l Conf. Machine Learning, pp. 104-111, 2008.
[15] R. Genov and G. Cauwenberghs, “Kerneltron: Support Vector “Machine” in Silicon,” IEEE Trans. Neural Networks, vol. 14, no. 5, pp. 1426-1434, Sept. 2003.
[16] D. Anguita, A. Boni, and S. Ridella, “A Digital Architecture for Support Vector Machines: Theory, Algorithm, and FPGA Implementation,” IEEE Trans. Neural Networks, vol. 14, no. 5, pp. 993-1009, Sept. 2003.
[17] I. Biasi, A. Boni, and A. Zorat, “A Reconfigurable Parallel Architecture for SVM Classification,” Proc. IEEE Int'l Joint Conf. Neural Networks, vol. 5, pp. 2867-2872, 2005.
[18] O. Pina-Ramirez, R. Valdes-Cristerna, and O. Yanez-Suarez, “An FPGA Implementation of Linear Kernel Support Vector Machines,” Proc. IEEE Int'l Conf. Reconfigurable Computing and FPGA's, pp. 1-6, 2006.
[19] R.A. Reyna, D. Esteve, D. Houzet, and M.-F. Albenge, “Implementation of the SVM Neural Network Generalization Function for Image Processing,” Proc. IEEE Fifth Int'l Workshop Computer Architectures for Machine Perception, pp. 147-151, 2000.
[20] R. Roberto, H. Dominique, D. Daniela, C. Florent, and O. Salim, “Object Recognition System-on-Chip Using the Support Vector Machines,” EURASIP J. Advances in Signal Processing, vol. 2005, pp. 993-1004, 1900.
[21] H. Peter, G. Srihari, C. Durdanovic, V. Jakkula, M. Sankardadass, E. Cosatto, and S. Chakradhar, “A Massively Parallel Digital Learning Processor,” Proc. 22nd Ann. Conf. Neural Information Processing Systems (NIPS), pp. 529-536, 2008.
[22] F.M. Khan, M.G. Arnold, and W.M. Pottenger, “Finite Precision Analysis of Support Vector Machine Classification in Logarithmic Number Systems,” Proc. Euromicro Symp. Digital System Design, pp. 254-261, 2004.
[23] F. Khan, M. Arnold, and W. Pottenger, “Hardware-Based Support Vector Machine Classification in Logarithmic Number Systems,” Proc. IEEE Int'l Symp. Circuits and Systems, pp. 51-54, May 2005.
[24] Boni and A. Zorat, “FPGA Implementation of Support Vector Machines with Pseudo-Logarithmic Number Representation,” Proc. Int'l Joint Conf. Neural Networks, pp. 618-624, 2006.
[25] D. Anguita, A. Ghio, and S. Pischiutta, “A Learning Machine for Resource-Limited Adaptive Hardware,” Proc. Second NASA/ESA Conf. Adaptive Hardware and Systems, pp. 571-576, Aug. 2007.
[26] D. Anguita, S. Pischiutta, S. Ridella, and D. Sterpi, “Feed-Forward Support Vector Machine without Multipliers,” IEEE Trans. Neural Networks, vol. 17, no. 5, pp. 1328-1331, Sept. 2006.
[27] K. Irick, M. DeBole, V. Narayanan, and A. Gayasen, “A Hardware Efficient Support Vector Machine Architecture for FPGA,” Proc. 16th Int'l Symp. Field-Programmable Custom Computing Machines, pp. 304-305, 2008.
[28] “CBCL Face Database #1,” MIT Center for Biological and Computation Learning, FaceData2.html , Jan. 2010.
[29] “CMU and MIT Face Database,” /, Jan. 2010.
[30] D. Anguita, A. Ghio, S. Pischiutta, and S. Ridella, “A Hardware-Friendly Support Vector Machine for Embedded Automotive Applications,” Proc. Int'l Joint Conf. Neural Networks, pp. 1360-1364, Aug. 2007.
[31] “UIUC Image Database for Car Detection,” http://l2r.cs.uiuc .edu/~cogcomp/DataCar /, Jan. 2010.
[32] S. Munder and D.M. Gavrila, “An Experimental Study on Pedestrian Classification,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 28, no. 11, pp. 1863-1868, Nov. 2006.
[33] “USC Pedestrian Set C,” Bo Wu, and Ram Nevatia, Cluster Boosted Tree Classifier for Multi-View, Multi-Pose Object Detection, ICCV, 2007.
[34] MIT Center for Biological and Computation Learning, “CBCL PEDESTRIAN DATABASE #1,” PeopleData1Readme.html, Jan. 2010.
[35] “Microblaze Soft Processor,” Xilinx, San Jose, CA, http://www , 2011.
[36] J. Platt, “Fast Training of Support Vector Machines Using Sequential Minimal Optimization,” Advances in Kernel Methods— Support VectorLearning, B. Schölkopf, C. Burges, and A. Smola, eds., MIT Press, 1999.
[37] T. Theocharides, N. Vijaykrishnan, and M.J. Irwin, “A Parallel Architecture for Hardware Face Detection,” Proc. IEEE CS Ann. Symp. Emerging Very Large-Scale Integration (VLSI) Technologies and Architectures, pp. 452-453, Mar. 2006.
[38] C. Kyrkou and T. Theocharides, “A Flexible Parallel Hardware Architecture for AdaBoost-Based Real-Time Object Detection,” IEEE Trans. Very Large Scale Integration Systems, vol. 19, no. 6, pp. 1034-1047, June 2011.
[39] B. Heisele, T. Serre, S. Prentice, and T. Poggio, “Hierarchical Classification and Feature Reduction for Fast Face Detection with Support Vector Machines,” Pattern Recognition, vol. 36, no. 9, pp. 2007-2017, 2003.
[40] B. Heisele, P. Ho, J. Wu, and T. Poggio, “Face Recognition: Comparing Component-Based and Global Approaches,” Computer Vision and Image Understanding, vol. 91, nos. 1/2, pp. 6-21, 2003.
[41] Mathworks, MATLAB Online Documentation, SMO Algorithm refsvmtrain.html, 2011.
[42] P. Viola and M. Jones, “Real-Time Object Detection,” Int'l J. Computer Vision, vol. 57, no 2, pp. 137-154, May 2004.

Index Terms:
Field programmable gate array (FPGA), support vector machines, object detection, parallel architecture.
Christos Kyrkou, Theocharis Theocharides, "A Parallel Hardware Architecture for Real-Time Object Detection with Support Vector Machines," IEEE Transactions on Computers, vol. 61, no. 6, pp. 831-842, June 2012, doi:10.1109/TC.2011.113
Usage of this product signifies your acceptance of the Terms of Use.