Segmentation with Global Optimal Contour

Segmentation with Global
Optimal Contour
Xizhou Feng
4/25/2003
1
Outline
Image Segmentation Problem
Global optimal contour method
Find global optimal contour with genetic
algorithm
Results
2
Image Segmentation Problem
Divide an image into a set of disjoint
meaningful regions
Can be treated as an optimization problem,
which consists of three components:



=>Representation the partitions
=>a set of Optimal Criteria to score partitions
=>an Optimization Algorithm to search best
partitions
These three components are interdependent
3
A major problem of most
segmentation methods
Highly dependent on the definition of
optimal criteria



The optimization algorithm is effective for
one optimal criteria, but may fail to a
slightly modified optimal criteria.
The optimal criteria may be not correct
It is difficult to incorporate prior knowledge
4
The global optimal contour
method
Idea:



Represent partitions using a set of contours
Evaluate each partition to score the contour
Search the optimal contour using genetic
algorithm
Advantage:


Can choose any optimal criteria
Always find regions and
boundaries
5
Representation of Contour
Point representation

S = {(x1,y1), (x2,y2),…, (xn,yn)}
Path completion using local
navigation


The path between point A and
B, SAB minimize k1·ʃsds+
k2·ʃswds
At point P, two forces: Fs (the
shortest path) and Fw (the
minimum weight) determine
the position of next point
Example of local Navigation
6
Search optimal contour
The contour can be evaluated using any
reasonable optimal criterion combining




boundary statistics information
region statistics information
prior information
An simple example can be:
wds

score   

 ds 
s
1
 2I
  
2
w e

2
/ 2
s
Search a control point set which optimize the
maximize score functions or minimize penalty
functions, which can be done by Genetic
Algorithms
7
Genetic Algorithm
(Holland 1970s)
Framework of Simple GA
P_current = init_population();
cal_fitness(P_current);
for(g=1; g<=maxGen; g++)
{
P_next = reproduction(P_current);
P_current = selection(P_candidate);
cal_fitness(P_current);
statistics(P_current);
}
initial population
candidate population
survived population
Major idea of GA



Population-based stochastic search
The optimal solution consists of sub optimal
solution
Effective reproduction and selection mechanism
“best” population
8
Reproduction by mutation
Produce a new contour
with local change, could
be



Add a new control point
Delete an original control
point
Change a control point
locally
Effective to optimize a
solution locally
9
Examples of mutation
10
Reproduction by Crossover
Select two contour
with probability
proportional to their
fitness
Cut each contour into
two components
Swap one component
with each other
Recombine the own
component and the
borrowed component
into a new contour
11
Segmentation Results
12
More example
13
Conclusions
Proposed global optimal contour for
image segmentation

Criteria independent optimization method
 Can be used to study the best optimal criteria
 Can incorporate prior knowledge

Expected to always give an approximate
optimal segmentation, but for current
implementation, the result still need
improvement
14