Download presentation
Presentation is loading. Please wait.
Published byCarmel Welch Modified over 6 years ago
1
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
2
Presentation Overview
Image Segmentation Overview The Proposed Algorithm - GPIS Experiments Results Conclusions and Contributions Future Work
3
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
4
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
5
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]
6
GPIS - Flowchart
7
Initialization Initial population of programs is randomly generated
Maximum length of program = 15 operators
8
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]
9
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
10
Evolutionary Operators
Crossover: One-point Mutations: Type A: Swap, Insert, Delete (Inter-genomic) Type B: Alter (Intra-genomic)
11
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
12
Mutations: Swap, Insert, Delete, Alter
Slide 12/26
13
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
14
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
15
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
16
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)
17
Results: Database 1 Superimposed input-evolved image Fitness = 97.38%
97.12% 96.98% Lower accuracy due to partial detection 91.02% 86.44%
18
Results: Database 2 Superimposed input-evolved image Fitness = 93.29%
19
Results: Database 2 Superimposed input-evolved image Fitness = 89.44%
Slide 19/26
20
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
21
Results: Evolved Programs
Database 1: HeLa Cells [GAUSS, d1, 0, 6, ] [AVER, io1, 0, 4, 0] [EROD, io2, 0, 0, 1] [AVER, io3, 0, 6, 0] [CLOP, io4, 0, 0, 1] [THRESH, io5, 0, , 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] 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] 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
22
Results: Structure of Evolved Program
Evolved chromosome GAUSS AVER EROD CLOP THRESH Gene structure of chromosome [GAUSS, d1, 0, 6, ] [AVER, io1, 0, 4, 0] [EROD, io2, 0, 0, 1] [AVER, io3, 0, 6, 0] [CLOP, io4, 0, 0, 1] [THRESH, io5, 0, , 0] MATLAB implementation d1 = input; h1 = fspecial(‘gaussian’, [6 6], ) ; 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, ); Input Image Fitness of program on validation set = 97.32% # Generation = 114, # Fitness evaluations = 10,532 Output Image
23
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%)
24
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
25
Suggested Future Work Inclusion of automatically defined functions
Competitive co-evolution Addition of conditional jumps
26
Comments/Questions Thank you!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.