Some examples of Image Segmentation

Download Report

Transcript Some examples of Image Segmentation

Image Segmentation
some examples
Zhiqiang wang
[email protected]
Cell segmentation
Active contour method
image
segmentations
Interactive method (graph cut)
Other examples
Cell Segmentation
1st Step: Image resize
Since original image’s resolution is 3978*3054, its size is very big and may let
extracting algorithm be time consuming.
2nd Step: Image smooth
To simplify image’s content, noise and detail texture should be removed.
 Gaussian filter or Nonlinear diffusion method
3rd Step: interactive segmentation
Using interacting method to select which cell we want to extract.
 Level set : initial contour
 Water shed : seed point
 Graph cut: label foreground and background
3rd Step: Find centroids of subregion
After segmentation, we can get 59 subregions. For each region, we find
centroids for each subregion as a seed point.
3rd Step: Find centroids of subregion
How to find center point
In some cases, centroid is outside of the subregion. As a seed point, it would
impede further segmentation.
Possible solution:
 erode the subregion until it become a point.
 computing the distance between inside pixels and the contour of
subregion, take the point which have max distance value as the seed point.
20
40
40
20
60
80
0
100
120
-20
140
-40
160
180
-60
Skeleton of the subregion
200
20
40
60
80
100
120
140
Distance field
160
180
200
Active Contour Model for Image
Segmentation
What’s active contour?
AC = Curve fitted iteratively to an image
evolve based on its shape and the image value until it stabile (ideally on
an object’s boundary).
This method can also be understood as a special case of a more general
technique of matching a deformable model to an image by energy
minimization.
Advantages of active contour
An image of blood vessel
Threshold
Edge detection
Nice representation of object boundary: Smooth and closed, good for shape
analysis and recognition and other applications.
Curve:
polygon = parametric AC
parametric
continuous = geometric AC
geometric
Parametric Model: Gradient vector flow (GVF)
• GVF field is a non-irrotational external force field that points toward the
boundaries when in their proximity and varies smoothly over homogeneous
image regions all the way to image borders.
f / | flow
f |
Gradientvector
Example: Gradient vector flow
• GVF field is a non-irrotational external force field that points toward the
boundaries when in their proximity and varies smoothly over homogeneous
image regions all the way to image borders.
General Curve evolution
•
Let a curve moving in time t be denoted by X[x(s,t), y(s,t)), where s is curve
parameterization. Let N be the moving curve’s inward normal, and c curvature. And
let the curve develop along its normal direction according to the partial differential
equation:
Basic deformation equation
• Constant Speed Motion (Area
decreasing flow)
• Mean curvature motion (Length
shortening flow)
• During the evolution process for image segmentation, curvature deformation
and/or constant deformation are used and the speed of curve evolution is
locally dependent on the image data.
CV model
Its main idea of CV model is to minimize the inter class variances
inf
c1 , c 2 , C 1
 
E c1 , c 2 , C     ds 
inside ( C )
C
I 0
 c1  dxdy   
2
outside ( C )
I 0
 c 2  dxdy
2
Evolution speed control (CV model)
A basic version of the speed function that combine curvature and constant
deformation is CV model(Active contour model without edge) Its main idea
is to consider the information inside the regions.
inf E u 1 , u 2 , C     ds 
C
c1 , c 2 , C 1
 
inside ( C )
← Smooth term
 I 0  u1 2 dxdy
  
outside ( C )
 I 0  u 2 2 dxdy
← data term
Let I 0 be the original image to be segmented and C denote the evolving
curve.  and  are positive weights to control C’s smoothness.u1 is the mean
value of I 0 inside the C and u 2 is the mean outside C.
 To minimize the cost function, Euler-lagrange equation is used:
C
t

 N     I 0  u1     I 0  u 2 
2
2

Evolution speed control (CV model)
Its main idea of CV model is to minimize the inter class variances
• Mean curvature motion
is the steepest descent
flow (or gradient flow) that minimizes arc length of the contour:
C
t

 N     I 0  c1     I 0  c 2 
2
2

Parametric Deformable Model
• The curves can be represented as level sets of higher dimensional functions
yielding seamless treatment of topological changes.
Research Problem-- weakness of region based model
success
failure
Evolution speed control--GAC model
• During the evolution process for image segmentation, curvature deformation
and/or constant deformation are used and the speed of curve evolution is
locally dependent on the image data.
• A basic version of the speed function that combine curvature and constant
deformation is GAC model:
C
t
  g       g  N N
Smooth term
data term
g is an edge-stopping function defined as follow:
1
g 
1

G  I
0

2
The term  G  I denotes the gradient of a Gaussian smoothed image, where
is a smooth parameter.

0

GAC model
Features of edge based model
success
failure
3D Case
Interactive segmentation
(graph cut and alpha matting)
Reference: Anat Levin, etc. A Closed Form Solution to Natural Image
Matting. 2006
Remove complicate background
Over segmentation with meanshift method
Construct graph and perform graph cut agorithm
Source (Label 0)
Cost to assign to 0
Cost to split nodes
Cost to assign to 1
Sink (Label 1)
Construct graph and perform graph cut agorithm
Gaussian Mixture Model and Graph Cut
R
Foreground &
Background
Background
Iterated
graph cut
R
Foreground
G
Gaussian Mixture Model (typically 5-8 components)
Background
G
More examples
The problem of hard segmentation
Alpha matting
+
Alpha matting
I i  i Fi  (1   i ) B i
=
x
Matting is ill posed problem
+
x
Scribbles approach
  0
 1
I i  i Fi  (1   i ) B i
Color lines
Color Line:
C
i
 R
3
C i   i C 1  (1   i ) C 2

B
R
G
Color lines
Color Line:
C
i
 R
3
C i   i C 1  (1   i ) C 2

B
R
G
Matting results
+
Combine hard segmentation
More examples
Thanks