segmentation via genetic programming
Download
Skip this Video
Download Presentation
Segmentation via Genetic Programming

Loading in 2 Seconds...

play fullscreen
1 / 33

Segmentation via Genetic Programming - PowerPoint PPT Presentation


  • 165 Views
  • Uploaded on

Segmentation via Genetic Programming. Segmentation. Segmentation. Splitting an image into segments Hard problem Conceptually ill-defined. Segmentation. Which segmentation is the correct one?. Segmentation. Which segmentation is the correct one?. Segmentation.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Segmentation via Genetic Programming' - luisa


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
segmentation
Segmentation

Segmentation

  • Splitting an image into segments
  • Hard problem
  • Conceptually ill-defined
segmentation1
Segmentation

Which segmentation is the correct one?

segmentation2
Segmentation

Which segmentation is the correct one?

segmentation3
Segmentation

Which segmentation is the correct one?

segmentation4
Segmentation

Defining the problem

  • Tagging function:
  • Deciding function:
segmentation5
Segmentation

The Dataset

  • Berkley’s segmentation dataset and benchmark:
    • Images + Human made segmentation maps
    • Benchmark for segmentation algorithms
genetic programming
Genetic Programming

What is Genetic Programming?

  • Bio-Inspired Artificial Intelligence method
  • Inspired by Darwin’s evolutionary principles
genetic programming1
Genetic Programming

Darwin’s principles

  • Variety of species individuals within the population
  • Competition for limited resources
  • Overproduction of offspring generation
  • Survival of the fittest

Origin of Species, 1859

genetic programming2
Genetic Programming

The computational model

Gn

Gn+1

fitness

crossover

55

+

44

=

12

31

95

32

87

12

0

65

mutation

53

2

91

73

segmentation via gp
Segmentation via GP

Individual Representation

  • Individuals are represented as LISP-like functions

X2  (* x x)

2x-1  (- (* (+ 1 1) x) 1)

segmentation via gp1
Segmentation via GP

Individual Representation

  • Equivalent to tree representation
segmentation via gp2
Segmentation via GP

Genetic Operators

  • Crossover
segmentation via gp3
Segmentation via GP

Genetic Operators

  • Mutation
segmentation via gp4
Segmentation via GP

Building the trees

  • 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), …
segmentation via gp5
Segmentation via GP

Building the trees

  • An example: Gradient Magnitude

(sqrt

(+

(* (conv image gradx)

(conv image gradx))

(* (conv image grady)

(conv image grady))))

segmentation via gp6
Segmentation via GP

Fitness measure

  • Accuracy:
  • Modified Accuracy:
segmentation via gp7
Segmentation via GP

Threshold

  • 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)
segmentation via gp8
Segmentation via GP

Threshold

  • Berkley’s benchmark: split the threshold range into N equal parts, threshold and keep best.
  • 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.
segmentation via gp9
Segmentation via GP

Miscellaneous Evolutionary Parameters

  • Population size: 60-150
  • 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

results
Results

A typical GP session

results1
Results

A typical GP session

  • Generation 0:0.176 best, 0.08 average
  • Generation 93:0.262 best, 0.242 average
  • Fitness does not always increase!
  • Fitness leaps in best individual
results2
Results

Best Individual

Segmentation function

(- (- (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel 5.381114 -8.362269 8.888325 1.1866289 -6.4069843 -8.251046 -9.389916 6.183886 -7.817788) grady) (- (kernel -2.334486 -4.6182337 -9.115009 8.010966 -3.0507333 3.22619 2.068446 -2.932576 -6.243905) 0.0))) (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel 2.4412537 -8.362269 8.888325 1.1866289 -6.4069843 -8.251046 -9.389916 6.183886 -7.817788) grady) (- (kernel 9.936699 -4.6182337 -9.115009 8.010966 -3.0507333 3.22619 2.068446 -2.932576 -6.243905) 0.0)))) (- (- (- (conv image grady) (* 1.0 9.336973)) (% (* 1.0 9.336973) 9.336973)) (% (% (* -3.9138038 0.0) (* 0.0 0.0)) (% (* 1.0 9.336973) (* 1.0 9.336973)))))

results3
Results

Best Individual

Segmentation function

(- (- (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel 5.381114 -8.362269 8.888325 1.1866289 -6.4069843 -8.251046 -9.389916 6.183886 -7.817788) grady) (- (kernel -2.334486 -4.6182337 -9.115009 8.010966 -3.0507333 3.22619 2.068446 -2.932576 -6.243905) 0.0))) (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel 2.4412537 -8.362269 8.888325 1.1866289 -6.4069843 -8.251046 -9.389916 6.183886 -7.817788) grady) (- (kernel 9.936699 -4.6182337 -9.115009 8.010966 -3.0507333 3.22619 2.068446 -2.932576 -6.243905) 0.0)))) (- (- (- (conv image grady) (* 1.0 9.336973)) (% (* 1.0 9.336973) 9.336973)) (% (% (* -3.9138038 0.0) (* 0.0 0.0)) (% (* 1.0 9.336973) (* 1.0 9.336973)))))

results4
Results

Best Individual

Segmentation function

(- (- (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel 5.381114 -8.362269 8.888325 1.1866289 -6.4069843 -8.251046 -9.389916 6.183886 -7.817788) grady) (- (kernel -2.334486 -4.6182337 -9.115009 8.010966 -3.0507333 3.22619 2.068446 -2.932576 -6.243905) 0.0))) (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel 2.4412537 -8.362269 8.888325 1.1866289 -6.4069843 -8.251046 -9.389916 6.183886 -7.817788) grady) (- (kernel 9.936699 -4.6182337 -9.115009 8.010966 -3.0507333 3.22619 2.068446 -2.932576 -6.243905) 0.0)))) (- (- (- (conv image grady) (* 1.0 9.336973)) (% (* 1.0 9.336973) 9.336973)) (% (% (* -3.9138038 0.0) (* 0.0 0.0)) (% (* 1.0 9.336973) (* 1.0 9.336973)))))

results5
Results

Best Individual

Segmentation function

(- (- (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel 5.381114 -8.362269 8.888325 1.1866289 -6.4069843 -8.251046 -9.389916 6.183886 -7.817788) grady) (- (kernel -2.334486 -4.6182337 -9.115009 8.010966 -3.0507333 3.22619 2.068446 -2.932576 -6.243905) 0.0))) (conv (* (conv image gradx) (conv image gradx)) (- (- (kernel 2.4412537 -8.362269 8.888325 1.1866289 -6.4069843 -8.251046 -9.389916 6.183886 -7.817788) grady) (- (kernel 9.936699 -4.6182337 -9.115009 8.010966 -3.0507333 3.22619 2.068446 -2.932576 -6.243905) 0.0)))) (- (- (- (conv image grady) (* 1.0 9.336973)) (% (* 1.0 9.336973) 9.336973)) (% (% (* -3.9138038 0.0) (* 0.0 0.0)) (% (* 1.0 9.336973) (* 1.0 9.336973)))))

results6
Results

Best Individual

Accuracy = 0.307 (GM accuracy = 0.280)

results7
Results

Best Individual

Accuracy = 0.172 (GM accuracy = 0.193)

results8
Results

Best Individual

Accuracy = 0.262

(GM accuracy = 0.245)

results9
Results

Best Individual

Accuracy = 0.126

(GM accuracy = 0.119)

summary
Summary

Discussion

  • 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
summary1
Summary

Future Work

  • 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
slide33
References

The Berkley Segmentation Dataset and Benchmarkhttp://www.cs.berkeley.edu/projects/vision/grouping/segbench/

Koza, J. R.: Genetic Programming: On the programming of computers by natural selection. MIT press, Cambridge, Mass. (1992)

Tomassini M.: Evolutionary Algorithms. Swiss Scientific Computing Center, Manno.

Darwin, Charles: On the origin of species by means of natural selection. London, John Murray, 1859

Montana, D.J.: Strongly typed genetic programming. Evolutionary Computation 3 (1995) 199–230

Langdon, W.B.: Size fair and homologous tree genetic programming crossovers.Genetic Programming and Evolvable Machines 1 (2000) 95–119.

Luke S.: ECJ 13 - a Java based Evolutionary Computation and Genetic Programming research systemhttp://cs.gmu.edu/~eclab/projects/ecj

Koza, J. R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT press, Cambridge, Mass. (1994)

ad