Segmentation via Genetic Programming. Segmentation segments  Splitting an image into segments §Hard problem ill-defined  Conceptually ill-defined Segmentation.

Slides:



Advertisements
Similar presentations
Genetic Programming Dan Kiely Ran Shoham Brent Heigold
Advertisements

Genetic Algorithms Genetic Programming Ata Kaban School of Computer Science University of Birmingham 2003.
GP Applications Two main areas of research Testing genetic programming in areas other techniques have been applied to. Applying genetic programming to.
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Institute of Intelligent Power Electronics – IPE Page1 Introduction to Basics of Genetic Algorithms Docent Xiao-Zhi Gao Department of Electrical Engineering.
Genetic Programming 김용덕 Page 2 Contents What is Genetic Programming? Difference between GP and GA Flowchart for GP Structures in GP.
Mechanics of Genetic Programming
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Introduction to Genetic Algorithms Yonatan Shichel.
Genetic Algorithms and Their Applications John Paxton Montana State University August 14, 2003.
Genetic Algorithms Learning Machines for knowledge discovery.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Chapter 14 Genetic Algorithms.
Tutorial 1 Temi avanzati di Intelligenza Artificiale - Lecture 3 Prof. Vincenzo Cutello Department of Mathematics and Computer Science University of Catania.
Evolving "elementary sight" strategies in predators via Genetic programming ICBV Project Lior Becker.
CS 447 Advanced Topics in Artificial Intelligence Fall 2002.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
16 November, 2005 Statistics in HEP, Manchester 1.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Genetic Programming Dinesh Dharme Prateek Srivastav Pankhil Chheda
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 Programming.
Medical Diagnosis via Genetic Programming Project #2 Artificial Intelligence: Biointelligence Computational Neuroscience Connectionist Modeling of Cognitive.
Genetic Algorithm.
Decision tree: Example 0 = Not a Saturday, 1 = Saturday Given: rainy, humid, not windy Is it a Saturday? It is a Saturday.
Evolutionary Intelligence
Problems Premature Convergence Lack of genetic diversity Selection noise or variance Destructive effects of genetic operators Cloning Introns and Bloat.
Using Genetic Programming to Learn Probability Distributions as Mutation Operators with Evolutionary Programming Libin Hong, John Woodward, Ender Ozcan,
Introduction to Genetic Algorithms and Evolutionary Computation
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
Biological data mining by Genetic Programming AI Project #2 Biointelligence lab Cho, Dong-Yeon
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory.
Genetic Algorithms. Evolutionary Methods Methods inspired by the process of biological evolution. Main ideas: Population of solutions Assign a score or.
Initial Population Generation Methods for population generation: Grow Full Ramped Half-and-Half Variety – Genetic Diversity.
$200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 Category 3Category 4Category.
Evolutionary Programming
Project 2: Classification Using Genetic Programming Kim, MinHyeok Biointelligence laboratory Artificial.
Machine Learning A Quick look Sources: Artificial Intelligence – Russell & Norvig Artifical Intelligence - Luger By: Héctor Muñoz-Avila.
Evolutionary Computation (P. Koumoutsakos) 1 What is Life  Key point : Ability to reproduce.  Are computer programs alive ? Are viruses a form of life.
CITS7212: Computational Intelligence An Overview of Core CI Technologies Lyndon While.
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
Solving Function Optimization Problems with Genetic Algorithms September 26, 2001 Cho, Dong-Yeon , Tel:
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
Natural Selection. Evolution by Natural Selection.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Symbolic Regression via Genetic Programming AI Project #2 Biointelligence lab Cho, Dong-Yeon
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Evolutionary Programming A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Chapter 5.
Evolving Recursive Algorithms The SRF function Automatically defined recursions (ADRs) The recur operator Dealing with infinite and time-consuming recursions.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
George Yauneridge.  Machine learning basics  Types of learning algorithms  Genetic algorithm basics  Applications and the future of genetic algorithms.
Natural Selection. A. Species overproduce offspring that may survive an environment. B. There is little variation among members of a population. C. Competition.
GP FOR ADAPTIVE MARKETS Jake Pacheco 6/11/2010. The Goal  Produce a system that can create novel quantitative trading strategies for the stock market.
Evolution Strategies Evolutionary Programming
Dept of ECE, Concordia University, Montreal, Canada
Artificial Intelligence Project 2 Genetic Algorithms
Quick Review: What is evolution?
GENETIC ALGORITHMS & MACHINE LEARNING
Evolving Logical-Linear Edge Detector with Evolutionary Algorithms
Evolution—Population Genetics
Take this time to work on your Pangea Puzzle
#77 Isolation leads to speciation notes
Chapter 9 Genetic Algorithms
Coevolutionary Automated Software Correction
Presentation transcript:

Segmentation via Genetic Programming

Segmentation segments  Splitting an image into segments §Hard problem ill-defined  Conceptually ill-defined Segmentation

Segmentation Which segmentation is the correct one?

Segmentation

Segmentation

Segmentation §Tagging function: §Deciding function: Defining the problem

Segmentation §Berkley’s segmentation dataset and benchmark: Images + Human made segmentation maps Benchmark for segmentation algorithms The Dataset

Genetic Programming  Bio-Inspired  Bio-Inspired Artificial Intelligence method §Inspired by Darwin’s evolutionary principles What is Genetic Programming?

Genetic Programming  Variety  Variety of species individuals within the population  Competition  Competition for limited resources  Overproduction  Overproduction of offspring generation §Survival of the fittest Origin of Species, 1859 Darwin’s principles

Genetic Programming The computational model GnGnGnGn G n+1 = crossover mutation fitness

Segmentation via GP §Individuals are represented as LISP-like functions X2  (* x x) 2x-1  (- (* (+ 1 1) x) 1) Individual Representation

Segmentation via GP §Equivalent to tree representation Individual Representation

Segmentation via GP §Crossover Genetic Operators

Segmentation via GP §Mutation Genetic Operators

Segmentation via GP §Function Set: {+, -, *, %, neg, conv, opp, sqrt} §Terminal Set: {image, 0, 1, const, gradx, grady, ckernel} §Strongly-Typed GP: conv(matrix,kernel) +(matrix,matrix), +(kernel,kernel), +(kernel,number), … Building the trees

Segmentation via GP §An example: Gradient Magnitude (sqrt (+ (* (conv image gradx) (conv image gradx)) (* (conv image grady) (conv image grady)))) Building the trees

Segmentation via GP §Accuracy: §Modified Accuracy: Fitness measure

Segmentation via GP §Individuals produce ‘soft boundary maps’, need threshold value §Value too low – more points are reported (false positives) §Value too high – less points are reported (true negatives) Threshold

Segmentation via GP equal  Berkley’s benchmark: split the threshold range into N equal parts, threshold and keep best. unequal  My method: split the threshold range into N unequal parts, by equal increase in reported points, proportional to number of points in the human made segmentation map. Threshold

Segmentation via GP §Population size: §Generation count: unspecified §Crossover rate: 90% §Mutation rate: 10% §Selection: tournament of 3 §Tree depth: limited to 6-9 Sean Luke ’ s ECJ13 was used for running GP sessions Miscellaneous Evolutionary Parameters

Results A typical GP session

Results §Generation 0: best, 0.08 average §Generation 93: best, average §Fitness does not always increase! §Fitness leaps in best individual A typical GP session

Results Segmentation function (- (- (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel ) grady) (- (kernel ) 0.0))) (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel ) grady) (- (kernel ) 0.0)))) (- (- (- (conv image grady) (* )) (% (* ) )) (% (% (* ) (* )) (% (* ) (* ))))) Best Individual

Results Segmentation function gradx gradx grady gradxgradx grady grady (- (- (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel ) grady) (- (kernel ) 0.0))) (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel ) grady) (- (kernel ) 0.0)))) (- (- (- (conv image grady) (* )) (% (* ) )) (% (% (* ) (* )) (% (* ) (* ))))) Best Individual

Results Segmentation function (- (- (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel ) grady) (- (kernel ) 0.0))) (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel ) grady) (- (kernel ) 0.0)))) (- (- (- (conv image grady) (* )) (% (* ) )) (% (% (* ) (* )) (% (* ) (* ))))) Best Individual

Results Segmentation function (* (conv image gradx) (conv image gradx)) (* (conv image gradx) (conv image gradx)) (- (- (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel ) grady) (- (kernel ) 0.0))) (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel ) grady) (- (kernel ) 0.0)))) (- (- (- (conv image grady) (* )) (% (* ) )) (% (% (* ) (* )) (% (* ) (* ))))) Best Individual

Results Accuracy = (GM accuracy = 0.280) Best Individual

Results Accuracy = (GM accuracy = 0.193) Best Individual

Results Accuracy = (GM accuracy = 0.245) Best Individual

Results Accuracy = (GM accuracy = 0.119) Best Individual

Summary §It is possible to evolve segmentation functions using GP §Results are good, can be better §Evolved function ‘beats’ the gradient magnitude function §Improve results by more power Discussion

Summary §More CPU and RAM §More functions and terminals §Use ADFs §Evolve kernels separately §Evolve threshold function separately §Include more inputs: color images, textures, output of other edge detectors Future Work

References 1.The Berkley Segmentation Dataset and Benchmark 2.Koza, J. R.: Genetic Programming: On the programming of computers by natural selection. MIT press, Cambridge, Mass. (1992) 3.Tomassini M.: Evolutionary Algorithms. Swiss Scientific Computing Center, Manno. 4.Darwin, Charles: On the origin of species by means of natural selection. London, John Murray, Montana, D.J.: Strongly typed genetic programming. Evolutionary Computation 3 (1995) 199–230 6.Langdon, W.B.: Size fair and homologous tree genetic programming crossovers. Genetic Programming and Evolvable Machines 1 (2000) 95– Luke S.: ECJ 13 - a Java based Evolutionary Computation and Genetic Programming research system 8.Koza, J. R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT press, Cambridge, Mass. (1994)