An embedded architecture for real-time object detection in digital images based on niching particle swarm optimization

Particle swarm optimization (PSO) is an efficient population-based optimization technique. Niching is introduced into PSO to deal with multimodal problems, and converge onto the largest possible number of minima. In this paper, a niching PSO algorithm is described, which targets the imaging domain; our niching PSO enhances the fitness of a particle dynamically, based on the current position of the particle’s neighbors, while also contemplating the chance of stopping exploration by halting a particle over favorable regions of the fitness landscape. It also caters for repulsion among closely located neighbors, which induces the particles to spread over the region of interest instead of converging onto a single punctual optimum. Based on this technique, an architecture is proposed and implemented for detecting objects in digital images. The new architecture, being efficient and portable, can be used in embedded computer vision and pattern recognition applications. We have assessed the architecture performance in the real-world task of detecting license plates in digital images, an instance of the more general class of object detection problems for which it has been designed. In doing so, we have compared our results with respect to both a corresponding sequential implementation and a standard computer implementation of a classical algorithm which solves the same problem.

[1]  Parallel Dynamic Parameter Adaption of Adaptive Array Antennas Based on Nature Inspired Optimisation , 2007, J. Comput..

[2]  Xiaodong Li,et al.  Niching Without Niching Parameters: Particle Swarm Optimization Using a Ring Topology , 2010, IEEE Transactions on Evolutionary Computation.

[3]  Narayana Prasad Padhy,et al.  Comparison of Particle Swarm Optimization and Genetic Algorithm for TCSC-based Controller Design , 2007 .

[4]  Amin Farmahini Farahani,et al.  SOPC-Based Architecture for Discrete Particle Swarm Optimization , 2007, 2007 14th IEEE International Conference on Electronics, Circuits and Systems.

[5]  Fabio Daolio,et al.  Evaluation of parallel particle swarm optimization algorithms within the CUDA™ architecture , 2011, Inf. Sci..

[6]  Robert J. Marks,et al.  FPGA implementation of particle swarm optimization for inversion of large neural networks , 2005, Proceedings 2005 IEEE Swarm Intelligence Symposium, 2005. SIS 2005..

[7]  Michael N. Vrahatis,et al.  Modification of the Particle Swarm Optimizer for Locating All the Global Minima , 2001 .

[8]  Stefano Cagnoni,et al.  Particle Swarm Optimisation as a Hardware-Oriented Meta-heuristic for Image Analysis , 2009, EvoWorkshops.

[9]  W. James MacLean,et al.  An Evaluation of the Suitability of FPGAs for Embedded Vision Systems , 2005, 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) - Workshops.

[10]  R. Brits,et al.  Solving systems of unconstrained equations using particle swarm optimization , 2002, IEEE International Conference on Systems, Man and Cybernetics.

[11]  Pavel Zemcík,et al.  Real-time object detection on CUDA , 2010, Journal of Real-Time Image Processing.

[12]  Caro Lucas,et al.  Parallel scalable hardware implementation of asynchronous discrete particle swarm optimization , 2010, Eng. Appl. Artif. Intell..

[13]  Shuvra S. Bhattacharyya,et al.  Computer Vision on FPGAs: Design Methodology and its Application to Gesture Recognition , 2005, 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) - Workshops.

[14]  Tieli Sun,et al.  Comparison of Particle Swarm Optimization and Genetic Algorithm for HMM training , 2008, 2008 19th International Conference on Pattern Recognition.

[15]  Stefano Cagnoni,et al.  Hardware-oriented Adaptation of a Particle Swarm Optimization Algorithm for Object Detection , 2008, 2008 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools.

[16]  Xiaodong Li,et al.  A multimodal particle swarm optimizer based on fitness Euclidean-distance ratio , 2007, GECCO '07.

[17]  Xiaodong Li,et al.  Adaptively Choosing Neighbourhood Bests Using Species in a Particle Swarm Optimizer for Multimodal Function Optimization , 2004, GECCO.

[18]  Richard E. Haskell,et al.  Multi-swarm parallel PSO: Hardware implementation , 2009, 2009 IEEE Swarm Intelligence Symposium.

[19]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[20]  A. E. Eiben,et al.  Introduction to Evolutionary Computing , 2003, Natural Computing Series.

[21]  Renato A. Krohling,et al.  Swarm's flight: Accelerating the particles using C-CUDA , 2009, 2009 IEEE Congress on Evolutionary Computation.

[22]  Riccardo Poli,et al.  Analysis of the publications on the applications of particle swarm optimisation , 2008 .

[23]  Muhammet Fikret Ercan A performance comparison of PSO and GA in scheduling hybrid flow-shops with multiprocessor tasks , 2008, SAC '08.

[24]  Stefano Cagnoni,et al.  GPU-based asynchronous particle swarm optimization , 2011, GECCO '11.

[25]  Frans van den Bergh,et al.  A NICHING PARTICLE SWARM OPTIMIZER , 2002 .

[26]  Stefano Cagnoni,et al.  OpenCL Implementation of Particle Swarm Optimization: A Comparison between Multi-core CPU and GPU Performances , 2012, EvoApplications.

[27]  Ryusuke Miyamoto,et al.  Partially Parallel Architecture for AdaBoost-Based Detection With Haar-Like Features , 2009, IEEE Transactions on Circuits and Systems for Video Technology.

[28]  Stefano Cagnoni,et al.  License-Plate Recognition for Restricted-Access Area Control , 2000 .

[29]  Stefano Cagnoni,et al.  Particle Swarm Optimization for Object Detection and Segmentation , 2007, EvoWorkshops.

[30]  Rolf Drechsler,et al.  Applications of Evolutionary Computing, EvoWorkshops 2008: EvoCOMNET, EvoFIN, EvoHOT, EvoIASP, EvoMUSART, EvoNUM, EvoSTOC, and EvoTransLog, Naples, Italy, March 26-28, 2008. Proceedings , 2008, EvoWorkshops.

[31]  Richard E. Haskell,et al.  Accelerating the performance of particle swarm optimization for embedded applications , 2009, 2009 IEEE Congress on Evolutionary Computation.

[32]  David Johnson,et al.  Particle Swarm Optimization on a GPU , 2012, 2012 IEEE International Conference on Electro/Information Technology.

[33]  J. Kennedy,et al.  Population structure and particle swarm performance , 2002, Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600).

[34]  Russell C. Eberhart,et al.  A new optimizer using particle swarm theory , 1995, MHS'95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science.