1 / 26

Tarundeep Singh Dhot Dept of ECE, Concordia University, Montreal, Canada t_dhot@encs.concordia.ca

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.

chul
Download Presentation

Tarundeep Singh Dhot Dept of ECE, Concordia University, Montreal, Canada t_dhot@encs.concordia.ca

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Presentation Overview

  3. 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 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

  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. 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

  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% 86.44% 91.02%

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

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

  20. Results: Database 1: HeLa Cells Database 2: Liver Tissue Specimen (i) Effectiveness (ii) Efficiency

  21. 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

  22. Results: Structure of Evolved Program Evolved chromosome 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

  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!

More Related