Image Segmentation

advertisement
Image Analysis: Object Recognition
Image Analysis: Object Recognition
Image
Segmentation
INPUT IMAGE
OBJECT IMAGE
Image Segmentation:
each object in the image is identified and
isolated from the rest of the image
Image Analysis: Object Recognition
Feature
Extraction
OBJECT IMAGE
x1
x
2
FEATURE VECTORS x
…3
xn
Feature Extraction:
measurements or “features” are computed on
each object identified during the segmentation
step
xn
x2
x1
The feature vector for a given pixel consists of the
corresponding pixels from each feature image; the
feature vector for an object would be computed from
pixels comprising the object, from each feature image.
Image Analysis: Object Recognition
FEATURE VECTORS
Classification
OBJECT TYPE
“WRENCH”
Classification:
each object is assigned to a class
Image Analysis: Object Recognition
Image
Segmentation
INPUT IMAGE
OBJECT IMAGE
Feature
Extraction
FEATURE VECTOR
OBJECT TYPE
Classification
“WRENCH”
Example: an automated fruit sorting system
Example: an automated fruit sorting system
segmentation: identify the fruit objects
the image is partitioned to isolate
individual fruit objects
Example: an automated fruit sorting system
segmentation: identify the fruit objects
feature extraction: compute a size and color
feature for each segmented region in the
image
size - diameter of each object
color - red-to-green brightness ratio
(redness measure)
Example: an automated fruit sorting system
segmentation: identify the fruit objects
feature extraction: compute a size and color
feature for each segmented region in the
image
classification: partition the “fruit” objects in
feature space
Automatic (unsupervised) image Segementation :
difficult problem
1) attempt to control imaging conditions (industrial
applications)
2) choose sensor which enhance objects of interest
(infared imaging)
Segmentation Algorithms:
- discontinuities between homogeneous
regions
- similarity of pixel values within a region
Discontinuity based Segmentation:
detect points, lines and edges in an image
Discontinuity based Segmentation:
detect points, lines and edges in an image
-1 -1 -1
-1 8 -1
-1 -1 -1
Discontinuity based Segmentation:
detect points, lines and edges in an image
-1 -1 -1
-1 8 -1
-1 -1 -1
-1 -1 -1
2 2 2
-1 -1 -1
-1 2 -1
-1 2 -1
-1 2 -1
-1 -1 2
-1 2 -1
2 -1 -1
2 -1 -1
-1 2 -1
-1 -1 2
Discontinuity based Segmentation:
detect points, lines and edges in an image
-1 -1 -1
-1 8 -1
-1 -1 -1
-1 -1 -1
2 2 2
-1 -1 -1
-1 2 -1
-1 2 -1
-1 2 -1
-1 0 1
-2 0 2
-1 0 1
-1 -1 2
-1 2 -1
2 -1 -1
2 -1 -1
-1 2 -1
-1 -1 2
-1 -2 -1
0 0 0
1 2 1
Discontinuity based Segmentation:
detect points, lines and edges in an image
-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2 0 2
-1 0 1
Gx
Gy
Discontinuity based Segmentation:
detect points, lines and edges in an image
-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2 0 2
-1 0 1
Gx
Gy
Discontinuity based Segmentation:
Gradient vector
Gx
Gy
Edge Linking - used to create connected boundaries
Discontinuity based Segmentation:
Gradient vector
Gx
Gy
Edge Linking - used to create connected boundaries
- similar points within a neighborhood are linked
Discontinuity based Segmentation:
Gradient vector
Gx
Gy
Edge Linking - used to create connected boundaries
- similar points within a neighborhood are linked
magnitude of gradient vector
[ Gx 2 + Gy 2 ]
1
2
Discontinuity based Segmentation:
Gradient vector
Gx
Gy
Edge Linking - used to create connected boundaries
- similar points within a neighborhood are linked
magnitude of gradient vector
[ Gx 2 + Gy 2 ]
1
2
approximated as | Gx | + | Gy |
Discontinuity based Segmentation:
Gx
Gy
Gradient vector
Edge Linking - used to create connected boundaries
- similar points within a neighborhood are linked
magnitude of gradient vector
orientation of edges
-1
ang(x,y) = tan ( Gy )
Gx
Discontinuity based Segmentation:
Gradient vector
Gx
Gy
Edge Linking - used to create connected boundaries
- similar points within a neighborhood are linked
magnitude of gradient vector
orientation of edges
Discontinuity based Segmentation:
Identify zero crossings
Discontinuity based Segmentation:
Identify zero crossings
0 -1 0
-1 4 -1
0 -1 0
Discontinuity based Segmentation:
Identify zero crossings
Discontinuity based Segmentation:
Identify zero crossings
Discontinuity based Segmentation:
Identify zero crossings
Discontinuity based Segmentation:
Identify zero crossings
Discontinuity based Segmentation:
Identify zero crossings
Similarity based Segmentation:
- Simple thresholding
- Split and Merge
- Recursive thresholding
Similarity based Segmentation:
- Simple thresholding
- Split and Merge
- Recursive thresholding
Single Level Thresholding
T[g] =
0,
g < TH
G - 1,
TH # g
Single Level Thresholding
T[g] =
0,
g < TH
G - 1,
TH # g
Single Level Thresholding
Single Level Thresholding
T[g] =
0,
g < TH
G - 1,
TH # g
Multiple Level Thresholding
T[g] =
0,
g < TH1
G - 1,
TH1 # g <= TH2
0,
g > TH2
Similarity based Segmentation:
- Simple thresholding
- Split and Merge
- Recursive thresholding
Split and Merge
1) split region into four disjoint quadrants
if P(Rj) = FALSE
2) merge any adjacent regions Rj and Rk
if P(Rj URk) = TRUE
3) stop when no splitting or merging is possible
Split and Merge
Split and Merge
Split and Merge
Split and Merge
Split and Merge
Split and Merge
Split and Merge
Split and Merge
Download