Particle Swarm Optimization for Image Analysis Stefano Cagnoni Dipartimento di Ingegneria dell’Informazione Università di Parma.

Slides:



Advertisements
Similar presentations
Pseudo-Relevance Feedback For Multimedia Retrieval By Rong Yan, Alexander G. and Rong Jin Mwangi S. Kariuki
Advertisements

Particle Swarm Optimization (PSO)
The Helmholtz Machine P Dayan, GE Hinton, RM Neal, RS Zemel
Comparing Effectiveness of Bioinspired Approaches to Search and Rescue Scenarios Emily Shaeffer and Shena Cao 4/28/2011Shaeffer and Cao- ESE 313.
Particle Swarm Optimization
Presented by Xinyu Chang
Imbalanced data David Kauchak CS 451 – Fall 2013.
G. Folino, A. Forestiero, G. Spezzano Swarming Agents for Discovering Clusters in Spatial Data Second International.
Particle Swarm Optimization (PSO)  Kennedy, J., Eberhart, R. C. (1995). Particle swarm optimization. Proc. IEEE International Conference.
PARTICLE SWARM OPTIMISATION (PSO) Perry Brown Alexander Mathews Image:
1 Video Processing Lecture on the image part (8+9) Automatic Perception Volker Krüger Aalborg Media Lab Aalborg University Copenhagen
電腦視覺 Computer and Robot Vision I Chapter2: Binary Machine Vision: Thresholding and Segmentation Instructor: Shih-Shinh Huang 1.
Real-Time Human Pose Recognition in Parts from Single Depth Images Presented by: Mohammad A. Gowayyed.
Particle Swarm Optimization (PSO)
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Active Contour Models (Snakes)
Presenter: Robin van Olst. Avneesh SudRussell Gayle Erik Andersen Stephen GuyMing Lin Dinesh Manocha.
Modeling Pixel Process with Scale Invariant Local Patterns for Background Subtraction in Complex Scenes (CVPR’10) Shengcai Liao, Guoying Zhao, Vili Kellokumpu,
EEE 498/591- Real-Time DSP1 What is image processing? x(t 1,t 2 ) : ANALOG SIGNAL x : real value (t 1,t 2 ) : pair of real continuous space (time) variables.
EE 7730 Image Segmentation.
Thresholding Otsu’s Thresholding Method Threshold Detection Methods Optimal Thresholding Multi-Spectral Thresholding 6.2. Edge-based.
x – independent variable (input)
Using Structure Indices for Efficient Approximation of Network Properties Matthew J. Rattigan, Marc Maier, and David Jensen University of Massachusetts.
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
Segmentation Divide the image into segments. Each segment:
Adaptive Rao-Blackwellized Particle Filter and It’s Evaluation for Tracking in Surveillance Xinyu Xu and Baoxin Li, Senior Member, IEEE.
1 Integration of Background Modeling and Object Tracking Yu-Ting Chen, Chu-Song Chen, Yi-Ping Hung IEEE ICME, 2006.
1 A Novel Binary Particle Swarm Optimization. 2 Binary PSO- One version In this version of PSO, each solution in the population is a binary string. –Each.
MULTIPLE MOVING OBJECTS TRACKING FOR VIDEO SURVEILLANCE SYSTEMS.
A Novel 2D To 3D Image Technique Based On Object- Oriented Conversion.
Dorin Comaniciu Visvanathan Ramesh (Imaging & Visualization Dept., Siemens Corp. Res. Inc.) Peter Meer (Rutgers University) Real-Time Tracking of Non-Rigid.
Face Processing System Presented by: Harvest Jang Group meeting Fall 2002.
Jacinto C. Nascimento, Member, IEEE, and Jorge S. Marques
VEHICLE NUMBER PLATE RECOGNITION SYSTEM. Information and constraints Character recognition using moments. Character recognition using OCR. Signature.
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
1 PSO-based Motion Fuzzy Controller Design for Mobile Robots Master : Juing-Shian Chiou Student : Yu-Chia Hu( 胡育嘉 ) PPT : 100% 製作 International Journal.
Particle Swarm Optimization Algorithms
Mean-shift and its application for object tracking
Improved Search for Local Optima in Particle Swarm Optimization May 6, 2015 Huidae Cho Water Resources Engineer, Dewberry Consultants Part-Time Assistant.
Graph-based Segmentation. Main Ideas Convert image into a graph Vertices for the pixels Vertices for the pixels Edges between the pixels Edges between.
Hierarchical Distributed Genetic Algorithm for Image Segmentation Hanchuan Peng, Fuhui Long*, Zheru Chi, and Wanshi Siu {fhlong, phc,
Swarm Intelligence 虞台文.
S EGMENTATION FOR H ANDWRITTEN D OCUMENTS Omar Alaql Fab. 20, 2014.
CS 6825: Binary Image Processing – binary blob metrics
(Particle Swarm Optimisation)
The Particle Swarm Optimization Algorithm Nebojša Trpković 10 th Dec 2010.
1 IE 607 Heuristic Optimization Particle Swarm Optimization.
Topics in Artificial Intelligence By Danny Kovach.
AdeptSight Image Processing Tools Lee Haney January 21, 2010.
Forward-Scan Sonar Tomographic Reconstruction PHD Filter Multiple Target Tracking Bayesian Multiple Target Tracking in Forward Scan Sonar.
Particle Swarm Optimization Speaker: Lin, Wei-Kai
23 November Md. Tanvir Al Amin (Presenter) Anupam Bhattacharjee Department of Computer Science and Engineering,
Probabilistic Algorithms Evolutionary Algorithms Simulated Annealing.
Regrouping Particle Swarm Optimization: A New Global Optimization Algorithm with Improved Performance Consistency Across Benchmarks George I. Evers Advisor:
Biologically inspired algorithms BY: Andy Garrett YE Ziyu.
Autonomous Robots Vision © Manfred Huber 2014.
Particle Swarm Optimization † Spencer Vogel † This presentation contains cheesy graphics and animations and they will be awesome.
1 Motion Fuzzy Controller Structure(1/7) In this part, we start design the fuzzy logic controller aimed at producing the velocities of the robot right.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
Intelligent Robotics Today: Vision & Time & Space Complexity.
September 28, 2000 Improved Simultaneous Data Reconciliation, Bias Detection and Identification Using Mixed Integer Optimization Methods Presented by:
Particle Swarm Optimization (PSO)
MultiModality Registration Using Hilbert-Schmidt Estimators By: Srinivas Peddi Computer Integrated Surgery II April 6 th, 2001.
Application of the GA-PSO with the Fuzzy controller to the robot soccer Department of Electrical Engineering, Southern Taiwan University, Tainan, R.O.C.
Thresholding Foundation:. Thresholding In A: light objects in dark background To extract the objects: –Select a T that separates the objects from the.
May 2003 SUT Color image segmentation – an innovative approach Amin Fazel May 2003 Sharif University of Technology Course Presentation base on a paper.
Particle Swarm Optimization (2)
Mean Shift Segmentation
Computer Vision Lecture 9: Edge Detection II
Population Methods.
Presentation transcript:

Particle Swarm Optimization for Image Analysis Stefano Cagnoni Dipartimento di Ingegneria dell’Informazione Università di Parma

Particle Swarm Optimization Optimization technique inspired by the collective behavior of flocks (swarms) of birds in search of food Each particle moves ‘randomly’ in the parameter space under the action of an attractive force field generated by: the best point in the parameter space ever discovered by the particle itself the best point in the parameter space ever discovered by the whole swarm

Basic PSO equations X P (t) = X P (t-1) + v P (t) v P (t) = w * v P (t-1) + c 1 * rand() * [BestX P – X P (t-1)] + c 2 * rand() * [gBestX – X P (t-1)] c 1, c 2 positive constants w inertia weight X P position of particle P BestX P best location reached by particle P up to time t-1 gBestX best location ever found by the whole swarm rand()random number between 0 and 1 The swarm converges towards the fittest point. Particle Swarm Optimization

PSO and Image Analysis Multi-objective optimization: the goal is to identify (segment out) one or MORE regions of interest (ROIs) in the search space (the image), not a single optimum. k-mean clustering PSO (Passaro and Starita 2006): the swarm reorganizes itself in multiple sub-swarms: each sub-swarm may then ‘address’ a different target.

Applications License Plate Detection: real time detection of the license-plate region within images of running cars Pasta Segmentation: detection and segmentation of larger pasta pieces in images with variable lighting and background

Pasta Segmentation (GECCO 2006 competition) Goal: to segment pieces of pasta, separating them from background and from ‘pasta noise’

Pasta Segmentation k-mean clustering PSO (Passaro and Starita 2006) : the swarm re-organizes itself in multiple sub- swarms: each sub-swarm may then ‘address’ a different target.

First search stage: Global search: we try to grossly detect, within the whole image, the most ‘promising’ areas Pasta Segmentation

Second search stage: Local search: attention is focused on the ROIs detected in the previous stage to refine the borders of candidate pasta regions. Pasta Segmentation

Fitness function Since pixels of a certain color are sought, fitness is based on distance in the RGB space if ( |r(x,y)-g(x,y)| K 2 ) punctual fitness = K 1 - |r(x,y) – g(x,y)| else punctual fitness = 0 (K 1 =30, K 2 =60) Pasta Segmentation

Using only color information could cause swarms to converge towards ISOLATED pixels similar to the color prototype. A local fitness term has been added, which depends on the number of neighbors of the current particle which have high punctual fitness fitness(x,y) = punctual fitness(x,y) + local fitness(x,y) where local fitness = K 0 * number of neighbors Pasta Segmentation

Basic PSO equation v P (t) = w * v P (t-1) + C 1 * rand() * [BestX P – X P (t-1)] + C 2 * rand() * [gBestX – X P (t-1)] The swarm converges towards the fittest pixels. However, the goal is to segment out whole pasta pieces and not only to detect points within them. Pasta Segmentation

A repulsion term is added: v P *(t) = v P (t) + repulsion p The repulsion term between two particles is computed, separately along each axis, as repulsion(i, j) = REPULSION_RANGE - |X i -X j | REPULSION_RANGE is the maximum distance within which the particles interact. The global repulsion term for P is the average of all repulsion terms with particles interacting with it: repulsion p =  j repulsion(p,j) / n Pasta Segmentation

The standard equation has been further modified, to increase stability of sub-swarms. If a particle with high punctual fitness lies within a region with high density of particles, then it has a probability, which is linearly dependent on such a density, of staying there: Prob{X t-1 =X t } = number of particles in the neighbourhood / total number of particles in the swarm Pasta Segmentation

Global search We assign each pixel a score which is proportional to the number of times a particle has flown over (or stayed on, if the particle stands still) it. The higher the score of a pixel, the higher the probability for that pixel of representing pasta. Pasta Segmentation

Each particle’s ‘influence area’ is actually a neighborhood of the current pixel, so the score of all the neighboring pixels is also increased by a term which decreases with distance: Pasta Segmentation To make statistics more stable, a number of runs are performed, each of which starts from a different random re-initialization of the whole swarm.

To bias the following step (local search) further, the dynamic range of the results of global search is stretched Using the mean score as threshold, the pixel scores which are above the threshold are further increased, whilst the scores which are below the threshold are further reduced Pasta Segmentation

RESULTS AT THE END OF GLOBAL SEARCH Pasta Segmentation

Local search Attention is focused onto the most interesting regions, limiting the domain where the swarm can move to sub- regions with high density of high-score pixels Pasta Segmentation

The local search algorithm is conceptually very similar to the global search After global search After local search Pasta Segmentation

after local search input image RESULTS AT THE END OF LOCAL SEARCH Pasta Segmentation

Normalization and thresholding Scores are normalized, after which a threshold is applied, to produce a binary output input imagebinary output% of correctly classified pixels: 97.6% Pasta Segmentation

input imageafter global search Pasta Segmentation

% of correctly classified pixels after binarization: 95.8% Pasta Segmentation input imageafter local search

Pasta Segmentation input imageafter global search

% of correctly classified pixels after binarization: 92.6% input imageafter local search Pasta Segmentation

input imageafter global search

Pasta Segmentation % of correctly classified pixels after binarization: 90.3% input imageafter local search

Pasta Segmentation input imageafter global search

Pasta Segmentation % of correctly classified pixels after binarization: 92.8% input imageafter local search

Plates feature high density of pixels with high horizontal gradient values due to the contrast between letters (black) and plate background (white) The horizontal gradient can be easily and efficiently approximated using differences PSO-based License Plate Detection

As for the pasta segmentation problem Two Search stages : Global search: the most ‘promising’ areas within the whole image are grossly detected Local search: attention is focused on the ROIs defined in the previous stage to detect good plate candidates A repulsion term is introduced in the PSO equation PSO-based License Plate Detection

The goal is to find regions featuring high density of high-gradient pixels To prevent swarms from converging towards ISOLATED pixels, fitness has two terms: punctual fitness, depending on visual features local fitness, proportional to the number of neighbors PSO-based License Plate Detection

The swarm explores a gray-scale image fitness(x,y) = punctual fitness(x,y) + local fitness(x,y) if ( |r(x,y)-g(x,y)|< K 0 && |r(x,y)-b(x,y)|<K 0 && |g(x,y)-b(x,y)| <K 0 ) punctual_fitness = max(right_gradient,left_gradient); else punctual_fitness = 0; whereright_gradient = |grayscale(x,y)-grayscale(x+1,y)|; left_gradient = |grayscale(x,y)-grayscale(x-1,y)|; local fitness = K1 * neighbor_number PSO-based License Plate Detection

The standard equation has been further modified to increase stability of sub-swarms. If a particle with high punctual fitness lies within a region with high density of particles, then it has a probability, which is linearly dependent on such a density, of staying there: Prob { X t-1 =X t } = number of particles in the neighborhood / total number of particles in the swarm PSO-based License Plate Detection

GLOBAL SEARCH RESULTS PSO-based License Plate Detection

Two ‘promising’ areas are detected (sub-swarms with Nparticles > T): the larger one will be explored first PSO-based License Plate Detection

The whole swarm is re-initialized near the selected area and a local search is performed, using the previous algorithm. PSO-based License Plate Detection

A bounding box is computed enclosing all particles with high punctual fitness. If this box has a w:h ratio = 5:1, we can assert we found the plate. PSO-based License Plate Detection

Otherwise the box is expanded, letting some agents move up and down (or left and right), in order to reach the given ratio. On failure, the next region is explored. PSO-based License Plate Detection

Final result PSO-based License Plate Detection

TEST RESULTS Set of 98 plates, 10 runs per plate = 980 runs NAvg. time Correct detections s Wrong detections s Plate not found s In many cases performing the whole plate detection process has a lower computation cost than computing the gradient image PSO-based License Plate Detection

(Single-frame) detection percentage vs. time Real-time tracking can be achieved re-initializing the swarm in frame F(t+1) within the region where the plate has been detected in frame F(t): average detection time 0.03s (more than 30 fps can be analyzed). PSO-based License Plate Detection

Swarm Intelligence approaches can be very efficient in roughly detecting object positions, as they effectively sample the search space Very interesting approaches to the analysis of stereo images for obstacle detection and robot navigation have been described by Louchet, Lutton and Olague

Genetic and Evolutionary Image Processing and Computer Vision Hindawi Book Series in Signal Processing Editors: S. Cagnoni, E. Lutton, G. Olague UPCOMING BOOK

EVOIASP 2008 (part of Evo* 2008) 10 th European Workshop on Evolutionary Computation for Image Analysis and Signal Processing Napoli, March 2008 Deadline: 1 November 2007 UPCOMING WORKSHOP