Fast Neuromimetic Object Recognition Using FPGA Outperforms GPU Implementations

Recognition of objects in still images has traditionally been regarded as a difficult computational problem. Although modern automated methods for visual object recognition have achieved steadily increasing recognition accuracy, even the most advanced computational vision approaches are unable to obtain performance equal to that of humans. This has led to the creation of many biologically inspired models of visual object recognition, among them the hierarchical model and X (HMAX) model. HMAX is traditionally known to achieve high accuracy in visual object recognition tasks at the expense of significant computational complexity. Increasing complexity, in turn, increases computation time, reducing the number of images that can be processed per unit time. In this paper we describe how the computationally intensive and biologically inspired HMAX model for visual object recognition can be modified for implementation on a commercial field-programmable aate Array, specifically the Xilinx Virtex 6 ML605 evaluation board with XC6VLX240T FPGA. We show that with minor modifications to the traditional HMAX model we can perform recognition on images of size 128 × 128 pixels at a rate of 190 images per second with a less than 1% loss in recognition accuracy in both binary and multiclass visual object recognition tasks.

[1]  David G. Lowe,et al.  University of British Columbia. , 1945, Canadian Medical Association journal.

[2]  Dah-Jye Lee,et al.  FPGA-based Real-time Optical Flow Algorithm Design and Implementation , 2007, J. Multim..

[3]  Andrew Hunter,et al.  FPGA implementation of Naive Bayes classifier for visual object recognition , 2011, CVPR 2011 WORKSHOPS.

[4]  Shawki Areibi,et al.  The Impact of Arithmetic Representation on Implementing MLP-BP on FPGAs: A Study , 2007, IEEE Transactions on Neural Networks.

[5]  Davide Anguita,et al.  A FPGA Core Generator for Embedded Classification Systems , 2011, J. Circuits Syst. Comput..

[6]  Narayanan Vijaykrishnan,et al.  An FPGA-based accelerator for cortical object classification , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[7]  Wenquan Feng,et al.  An architecture of optimised SIFT feature detection for an FPGA implementation of an image matcher , 2009, 2009 International Conference on Field-Programmable Technology.

[8]  A. Fazakas,et al.  Block RAM versus distributed RAM implementation of SVM Classifier on FPGA , 2006, 2006 International Conference on Applied Electronics.

[9]  Roberto Ierusalimschy,et al.  Lua 5.1 Reference Manual , 2006 .

[10]  Thomas Serre,et al.  Robust Object Recognition with Cortex-Like Mechanisms , 2007, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[11]  Narayanan Vijaykrishnan,et al.  A reconfigurable accelerator for neuromorphic object recognition , 2012, 17th Asia and South Pacific Design Automation Conference.

[12]  N. Logothetis,et al.  Shape representation in the inferior temporal cortex of monkeys , 1995, Current Biology.

[13]  Libor Preucil,et al.  FPGA based Speeded Up Robust Features , 2009, 2009 IEEE International Conference on Technologies for Practical Robot Applications.

[14]  Stephen C. Strother,et al.  Support vector machines for temporal classification of block design fMRI data , 2005, NeuroImage.

[15]  Nikolaus Kriegeskorte,et al.  Comparison of multivariate classifiers and response normalizations for pattern-information fMRI , 2010, NeuroImage.

[16]  David G. Lowe,et al.  Object recognition from local scale-invariant features , 1999, Proceedings of the Seventh IEEE International Conference on Computer Vision.

[17]  David G. Lowe,et al.  Multiclass Object Recognition with Sparse, Localized Features , 2006, 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06).

[18]  Christopher Hunt,et al.  Notes on the OpenSURF Library , 2009 .

[19]  T. Poggio,et al.  Are Cortical Models Really Bound by the “Binding Problem”? , 1999, Neuron.

[20]  Hoi-Jun Yoo,et al.  A 201.4 GOPS 496 mW Real-Time Multi-Object Recognition Processor With Bio-Inspired Neural Perception Engine , 2009, IEEE Journal of Solid-State Circuits.

[21]  J. Friedman Special Invited Paper-Additive logistic regression: A statistical view of boosting , 2000 .

[22]  Marc Ebner,et al.  A Real-Time Evolutionary Object Recognition System , 2009, EuroGP.

[23]  Denis Fize,et al.  Speed of processing in the human visual system , 1996, Nature.

[24]  Berin Martini,et al.  Hardware accelerated convolutional neural networks for synthetic vision systems , 2010, Proceedings of 2010 IEEE International Symposium on Circuits and Systems.

[25]  S. Himavathi,et al.  Feedforward Neural Network Implementation in FPGA Using Layer Multiplexing for Effective Resource Utilization , 2007, IEEE Transactions on Neural Networks.

[26]  Richard P. Wildes,et al.  Spatiotemporal Oriented Energy Features for Visual Tracking , 2007, ACCV.

[27]  Huseyin Seker,et al.  An adaptive implementation of a dynamically reconfigurable K-nearest neighbour classifier on FPGA , 2012, 2012 NASA/ESA Conference on Adaptive Hardware and Systems (AHS).

[28]  Thi Ngoc Tho Nguyen,et al.  FPGA implementation of neural network classifier for partial discharge time resolved data from magnetic probe , 2011, 2011 International Conference on Advanced Power System Automation and Protection.

[29]  David D. Cox,et al.  Functional magnetic resonance imaging (fMRI) “brain reading”: detecting and classifying distributed patterns of fMRI activity in human visual cortex , 2003, NeuroImage.

[30]  Paul Chow,et al.  High-Performance Reconfigurable Hardware Architecture for Restricted Boltzmann Machines , 2010, IEEE Transactions on Neural Networks.

[31]  Pietro Perona,et al.  Learning Generative Visual Models from Few Training Examples: An Incremental Bayesian Approach Tested on 101 Object Categories , 2004, 2004 Conference on Computer Vision and Pattern Recognition Workshop.

[32]  Narayanan Vijaykrishnan,et al.  Accelerating neuromorphic vision algorithms for recognition , 2012, DAC Design Automation Conference 2012.

[33]  Anthony G. Pipe,et al.  Implementing Spiking Neural Networks for Real-Time Signal-Processing and Control Applications: A Model-Validated FPGA Approach , 2007, IEEE Transactions on Neural Networks.

[34]  Hendrik P. A. Lensch,et al.  Massively Parallel Multiclass Object Recognition , 2010, VMV.

[35]  Koby Crammer,et al.  On the Algorithmic Implementation of Multiclass Kernel-based Vector Machines , 2002, J. Mach. Learn. Res..

[36]  Narayanan Vijaykrishnan,et al.  FPGA-accelerator system for computing biologically inspired feature extraction models , 2011, 2011 Conference Record of the Forty Fifth Asilomar Conference on Signals, Systems and Computers (ASILOMAR).

[37]  Bertram E. Shi,et al.  Neuromorphic implementation of active gaze and vergence control , 2008, 2008 IEEE International Symposium on Circuits and Systems.

[38]  Andreas Antoniou,et al.  Digital Filters: Analysis, Design and Applications , 1979 .

[39]  Thorsten Joachims,et al.  Cutting-plane training of structural SVMs , 2009, Machine Learning.

[40]  Narayanan Vijaykrishnan,et al.  A hardware architecture for accelerating neuromorphic vision algorithms , 2011, 2011 IEEE Workshop on Signal Processing Systems (SiPS).

[41]  Hakil Kim,et al.  A fast feature extraction in object recognition using parallel processing on CPU and GPU , 2009, 2009 IEEE International Conference on Systems, Man and Cybernetics.

[42]  D. Hubel,et al.  Receptive fields, binocular interaction and functional architecture in the cat's visual cortex , 1962, The Journal of physiology.

[43]  Thomas Serre,et al.  A feedforward architecture accounts for rapid categorization , 2007, Proceedings of the National Academy of Sciences.

[44]  Luc Van Gool,et al.  Speeded-Up Robust Features (SURF) , 2008, Comput. Vis. Image Underst..

[45]  Abbes Amira,et al.  An Efficient FPGA Implementation of Gaussian Mixture Models-Based Classifier Using Distributed Arithmetic , 2006, 2006 13th IEEE International Conference on Electronics, Circuits and Systems.

[46]  Sven Behnke,et al.  Large-scale object recognition with CUDA-accelerated hierarchical neural networks , 2009, 2009 IEEE International Conference on Intelligent Computing and Intelligent Systems.

[47]  Yann LeCun,et al.  What is the best multi-stage architecture for object recognition? , 2009, 2009 IEEE 12th International Conference on Computer Vision.

[48]  Aishy Amer,et al.  An FPGA-Based Implementation of Spatio-Temporal Object Segmentation , 2006, 2006 International Conference on Image Processing.

[49]  Tomaso Poggio,et al.  CNS: a GPU-based framework for simulating cortically-organized networks , 2010 .

[50]  Takeo Kanade,et al.  An Iterative Image Registration Technique with an Application to Stereo Vision , 1981, IJCAI.

[51]  Narayanan Vijaykrishnan,et al.  Emulating Mammalian Vision on Reconfigurable Hardware , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[52]  Amy W. Apon,et al.  Accelerating SIFT on parallel architectures , 2009, 2009 IEEE International Conference on Cluster Computing and Workshops.

[53]  Amine Bermak,et al.  FPGA implementation of a neural network classifier for gas sensor array applications , 2009, 2009 6th International Multi-Conference on Systems, Signals and Devices.

[54]  George A. Constantinides,et al.  A Parallel Hardware Architecture for Scale and Rotation Invariant Feature Detection , 2008, IEEE Transactions on Circuits and Systems for Video Technology.