Dept of ECE, Concordia University, Montreal, Canada

Slides:



Advertisements
Similar presentations
Interactive Evolutionary Computation Review of Applications Praminda Caleb-Solly Intelligent Computer Systems Centre University of the West of England.
Advertisements

Genetic Algorithms Vida Movahedi November Contents What are Genetic Algorithms? From Biology … Evolution … To Genetic Algorithms Demo.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Effective gradient-free methods for inverse problems Jyri Leskinen FiDiPro DESIGN project.
EC Awards Lecture ~ Spring 2008 Advances in Parameterless Evolutionary Algorithms Lisa Guntly André Nwamba Research Advisor: Dr. Daniel Tauritz Natural.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Khaled Rasheed Computer Science Dept. University of Georgia
Image Registration of Very Large Images via Genetic Programming Sarit Chicotay Omid E. David Nathan S. Netanyahu CVPR ‘14 Workshop on Registration of Very.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Genetic Algorithm.
A Genetic Algorithms Approach to Feature Subset Selection Problem by Hasan Doğu TAŞKIRAN CS 550 – Machine Learning Workshop Department of Computer Engineering.
C. Benatti, 3/15/2012, Slide 1 GA/ICA Workshop Carla Benatti 3/15/2012.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Improved Gene Expression Programming to Solve the Inverse Problem for Ordinary Differential Equations Kangshun Li Professor, Ph.D Professor, Ph.D College.
GA-Based Feature Selection and Parameter Optimization for Support Vector Machine Cheng-Lung Huang, Chieh-Jen Wang Expert Systems with Applications, Volume.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Fuzzy Genetic Algorithm
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
Segmentation via Genetic Programming. Segmentation segments  Splitting an image into segments §Hard problem ill-defined  Conceptually ill-defined Segmentation.
GP-based Image Segmentation (GPIS) with Applications to Biomedical Image Segmentation (c) Louis Charbonneau and Nawwaf Kharma, 2009.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
CITS7212: Computational Intelligence An Overview of Core CI Technologies Lyndon While.
Solving Function Optimization Problems with Genetic Algorithms September 26, 2001 Cho, Dong-Yeon , Tel:
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Authors: Soamsiri Chantaraskul, Klaus Moessner Source: IET Commun., Vol.4, No.5, 2010, pp Presenter: Ya-Ping Hu Date: 2011/12/23 Implementation.
1 Autonomic Computer Systems Evolutionary Computation Pascal Paysan.
Genetic Algorithms Chapter Description of Presentations
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Grid-Based Genetic Algorithm Approach to Colour Image Segmentation Marco Gallotta Keri Woods Supervised by Audrey Mbogho.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Presented By: Farid, Alidoust Vahid, Akbari 18 th May IAUT University – Faculty.
Genetic (Evolutionary) Algorithms CEE 6410 David Rosenberg “Natural Selection or the Survival of the Fittest.” -- Charles Darwin.
Evolutionary Computation Evolving Neural Network Topologies.
Chapter 14 Genetic Algorithms.
Genetic Algorithms.
Dr. Kenneth Stanley September 11, 2006
Bulgarian Academy of Sciences
School of Computer Science & Engineering
Presented by: Dr Beatriz de la Iglesia
Medical Diagnosis via Genetic Programming
Example: Applying EC to the TSP Problem
CSC 380: Design and Analysis of Algorithms
Artificial Intelligence Project 2 Genetic Algorithms
Presenter: Randy Hunt Presenter: Vitaliy Krestnikov
Evolving service logic using natural selection Peter Martin
Modified Crossover Operator Approach for Evolutionary Optimization
Example: Applying EC to the TSP Problem
Particle swarm optimization
Artificial Intelligence Chapter 4. Machine Evolution
Example: Applying EC to the TSP Problem
Genetic Algorithms CSCI-2300 Introduction to Algorithms
GENETIC ALGORITHMS & MACHINE LEARNING
Evolving Logical-Linear Edge Detector with Evolutionary Algorithms
Dept. of Electrical and Computer Engineering
Artificial Intelligence Chapter 4. Machine Evolution
EE368 Soft Computing Genetic Algorithms.
Searching for solutions: Genetic Algorithms
Machine Learning: UNIT-4 CHAPTER-2
Introduction to Genetic Algorithm and Some Experience Sharing
Artificial Intelligence CIS 342
Beyond Classical Search
CSC 380: Design and Analysis of Algorithms
Coevolutionary Automated Software Correction
GA.
Presentation transcript:

Dept of ECE, Concordia University, Montreal, Canada GPIS: Genetic Programming based Image Segmentation with Applications to Biomedical Object Detection Tarundeep Singh Dhot Dept of ECE, Concordia University, Montreal, Canada t_dhot@encs.concordia.ca

Presentation Overview Image Segmentation Overview The Proposed Algorithm - GPIS Experiments Results Conclusions and Contributions Future Work

Examples of image segmentation Is separation of objects/regions of interest from the background and each other Foreground/background separation process Vital first step of any image analysis process Ill-defined problem – no general segmentation framework Background info of IS Images – easy to relate the concept Examples of image segmentation

WHAT IS GPIS ? A GP-based image segmentation tool The GP evolves segmentation algorithms from a pool of primitive operators Primitives: Low-level image analysis functions (arithmetic, spectral, morphological, etc) - 20 primitives used GP searches for most effective combinations of primitives Currently tested on two medical image databases So in this context, what is GPIS. Based on given knowledge of IS, now its easy to provide an idea of GPIS Also explain GP

Representation Linear chromosomal representation Chromosomes - programs [HIST, d1, 0, 0, 0] [SUBP, io1, d1, .2, 0] [DIL, io2, 0, 0, 4] [LAPL, io3, 0, -4, 0] Genes – image operators [Operator, Input 1, Input 2, Weight, Structuring Element/Filter Parameter]

GPIS - Flowchart

Initialization Initial population of programs is randomly generated Maximum length of program = 15 operators

Fitness Function where: FPR – False Positive Rate FNR – False Negative Rate Wp – Weight for False Positives, Wp ϵ [0, 0.5] Wn – Weight for False Negatives, Wn = 1 - Wp len = Length of the program β – Scaling factor for the length of a program, β ϵ [0.004, 0.008]

Selection and Elitism Elitism: 1% of best individuals in population Parent Selection: Tournament Selection Tournament window size, λ = 10% of population size Survivor Selection: Steady State (no injection) Fitness based (injection) Slide 9/26

Evolutionary Operators Crossover: One-point Mutations: Type A: Swap, Insert, Delete (Inter-genomic) Type B: Alter (Intra-genomic)

Crossover: 1-point PARENT CHROMOSOMES OFFSPRING CHROMOSOMES [A1] [A2] [A3] [A4] [A5] [A6] [A7] [A1] [A2] [A3] [B6] [B7] [B1] [B2] [B3] [B4] [B5] [B6] [B1] [B2] [B3] [B4] [A4] [A5] [A6] [A7] GENE [DIL, d1, 0, 0, 2] [A], [B] = IMAGE OPERATOR Slide 11/26

Mutations: Swap, Insert, Delete, Alter Slide 12/26

Injection Every 5 generations, randomly initialized programs injected into population Number of injected program = 20% of population size Injection used in order to maintain population diversity

Termination Termination is based on a fitness threshold (95% - Db1 and 90% - Db2) Termination criteria: |current fitness – mean fitness(10 gen)| < 0.05 * highest fitness

DATABASE 2 (LIVER TISSUE) Experiments Tested on 2 medical image databases (HeLa Cells, Liver Tissue Specimen) Database 1: Cell extraction Database 2: Nuclei extraction Tested for effectiveness and efficiency Results compared to a GA-based image segmentation tool GENIE Pro PARAMETER DATABASE 1 (HeLa CELLS) DATABASE 2 (LIVER TISSUE) Total images 1026 120 Training set 30 25 Validation set 100 75 Runs 28 26 Explain GENIE Pro

GENIE Pro GA based general purpose image segmentation/feature extraction software Manual highlighting to prepare ground truth (true, false and unknown pixels) GA evolves IP “pipelines” – sequence of IP functions for segmentation from a set of IP functions based on prepared ground truth Evolved programs are constructed by combining the fittest pipelines using a linear classifier (Fisher Discriminant)

Results: Database 1 Superimposed input-evolved image Fitness = 97.38% 97.12% 96.98% Lower accuracy due to partial detection 91.02% 86.44%

Results: Database 2 Superimposed input-evolved image Fitness = 93.29%

Results: Database 2 Superimposed input-evolved image Fitness = 89.44% Slide 19/26

BEST (HIGHEST FITNESS) BEST (HIGHEST FITNESS) Results: Database 1: HeLa Cells Database 2: Liver Tissue Specimen ALGORITHM FITNESS (Accuracy) Cell Detection Rate GPIS 96.11% 97.98% GENIE Pro 95.50% 96.56% ALGORITHM FITNESS (Accuracy) Cell Detection Rate GPIS 88.98% 89.98% GENIE Pro 85.80% 87.42% (i) Effectiveness # GENERATIONS # FITNESS EVALUATIONS BEST (HIGHEST FITNESS) 114 10,532 AVERAGE 122.07 11,257.67 # GENERATIONS # FITNESS EVALUATIONS BEST (HIGHEST FITNESS) 206 18,732 AVERAGE 214.15 19,563.87 (ii) Efficiency

Results: Evolved Programs Database 1: HeLa Cells [GAUSS, d1, 0, 6, 0.8435] [AVER, io1, 0, 4, 0] [EROD, io2, 0, 0, 1] [AVER, io3, 0, 6, 0] [CLOP, io4, 0, 0, 1] [THRESH, io5, 0, 0.09022, 0] Fitness on validation set = 97.32%, Number of operators = 6 [DISK, d1, 0, 3, 0] [AVER, io1, 0, 6, 0] [CLOSE, io2, 0, 0, 2] [ADDP, io1, io2, 0, 0] [EROD, io3, 0, 1] [EROD, io4, 0, 1] [THRESH, io5, 0, 0.1264, 0] Fitness on validation set = 97.61%, Number of operators = 7 Database 2: Liver Tissue Specimen [LOWPASS, d1, 0, 32, 0.793] [AVER, io1, 0, 4, 0] [AVER, io2, 0, 3, 0] [ADJUST, io3, 0, .205, 0.517] [CLOSE, io4, 0, 0, 1] [THRESH, io5, 0, 0.9852, 0] Fitness on validation set = 91.89%, Number of operators = 6 [UNSHARP, d1, 0, 0.82, 0] [HIST, io4, 0, 0, 0] [LAPL, io1, 0, -8, 0] [DISK, io2, 0, 6, 0] [AVER, io3, 0, 6, 0] [HIST, io4, 0, 0, 0] [ADJUST, io5, 0, 0, 0.202] [OPEN, io6, 0, 0, 1] [EROD, io7, 0, 0, 1] [THRESH, io8, 0, 0.752, 0] Fitness on validation set = 92.17%, Number of operators = 10

Results: Structure of Evolved Program Evolved chromosome GAUSS AVER EROD CLOP THRESH Gene structure of chromosome [GAUSS, d1, 0, 6, 0.8435] [AVER, io1, 0, 4, 0] [EROD, io2, 0, 0, 1] [AVER, io3, 0, 6, 0] [CLOP, io4, 0, 0, 1] [THRESH, io5, 0, 0.09022, 0] MATLAB implementation d1 = input; h1 = fspecial(‘gaussian’, [6 6], 0.8435) ; io1 = imfilter(d1, h1); h2 = fspecial(‘average’, [4 4]); io2 = imfilter(io1,h2); SE1 = strel(‘disk’, 2); io3 = imerode(io2, SE1); h3 = fspecial(‘average’, [6 6]); io4 = imfilter(io3,h3); io5 = imclose(io4, SE1); output = im2bw(io5, 0.09022); Input Image Fitness of program on validation set = 97.32% # Generation = 114, # Fitness evaluations = 10,532 Output Image

Conclusions Experimental results show that the operator pool is sufficient for our databases Injection is a viable option to maintain diversity Mutation is desirable as it allows parameter tuning GP was able to learn complexity of the databases in use (less generations for convergence for Db1 as compared to Db2) GP showed high detection rates on both databases (Db1 = 97.98%, Db2 = 89.98%)

Contributions Simple approach and anyone with MATLAB can use it Open sourced code Requires no a priori information other than training images Relatively general approach based on results on the two databases Produces better results as compared to GENIE Pro

Suggested Future Work Inclusion of automatically defined functions Competitive co-evolution Addition of conditional jumps

Comments/Questions Thank you!