Date post: | 04-Jan-2016 |
Category: |
Documents |
Upload: | ruby-phelps |
View: | 19 times |
Download: | 2 times |
Mestrado em Ciência de Computadores
Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos
VC 14/15 – TP8Segmentation
Miguel Tavares Coimbra
VC 14/15 - TP8 - Segmentation
Outline
• Thresholding
• Geometric structures
• Hough Transform
Acknowledgements: Most of this course is based on the excellent courses offered by Prof. Shree Nayar at Columbia University, USA and by Prof. Srinivasa Narasimhan at CMU, USA. Please acknowledge the original source when reusing these slides for academic purposes.
VC 14/15 - TP8 - Segmentation
Topic: Thresholding
• Thresholding
• Geometric structures
• Hough Transform
VC 14/15 - TP8 - Segmentation
Boundaries of Objects
Marked by many users
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/bench/html/images.html
VC 14/15 - TP8 - Segmentation
Boundaries of Objects from Edges
Brightness Gradient (Edge detection)
• Missing edge continuity, many spurious edges
VC 14/15 - TP8 - Segmentation
Boundaries of Objects from Edges
Multi-scale Brightness Gradient
• But, low strength edges may be very important
VC 14/15 - TP8 - Segmentation
Image
Machine Edge Detection
Human Boundary Marking
VC 14/15 - TP8 - Segmentation
Boundaries in Medical Imaging
Detection of cancerous regions.
[Foran, Comaniciu, Meer, Goodell, 00]
VC 14/15 - TP8 - Segmentation
Boundaries in Ultrasound Images
Hard to detect in the presence of large amount of speckle noise
VC 14/15 - TP8 - SegmentationSometimes hard even for humans!
VC 14/15 - TP8 - Segmentation
What is ‘Segmentation’?
• Separation of the image in different areas.– Objects.– Areas with similar
visual or semantic characteristics.
Not trivial! It is the holy grail of most computer vision problems!
VC 14/15 - TP8 - Segmentation
Subjectivity
• A ‘correct’ segmentation result is only valid for a specific context.– Subjectivity!– Hard to implement.– Hard to evaluate.
Person Suitcase
Face
What is the correct
segmentation?
VC 14/15 - TP8 - Segmentation
Core Technique: Thresholding
• Divide the image into two areas:– 1, if f(x,y)>K– 0, if f(x,y)<=K
• Not easy to find the ideal k magic number.
• Core segmentation technique– Simple– Reasonably effective
Adequate threshold
VC 14/15 - TP8 - Segmentation
Finding the ‘magic number’
Wrong!(k = 128)
Correct(k = 74)
VC 14/15 - TP8 - Segmentation
http://www.cee.hw.ac.uk/hipr/html/adpthrsh.html
Global thresholds are notalways adequate...
VC 14/15 - TP8 - Segmentation
Adaptive Thresholding
• Adapt the threshold value for each pixel.
• Use characteristics of nearby pixels.
• How?– Mean– Median– Mean + K – ...
Mean of 7x7 neighborhood
VC 14/15 - TP8 - Segmentation7x7 window; K = 7 75x75 window; K = 10
VC 14/15 - TP8 - Segmentation
Topic: Geometric structures
• Thresholding
• Geometric structures
• Hough Transform
VC 14/15 - TP8 - Segmentation
Points
• What is a point?– Pixel with a significant
illumination difference to its neighbors.
– Group of pixels?
• Spatial Mask!• Need to define a
threshold K.
-1 -1 -1
-1 8 -1
-1 -1 -1
point!
9
1
KR
zwRi
ii
VC 14/15 - TP8 - Segmentation
Lines
• Spatial filter– One per line direction– Sensitive to line width
-1 -1 -1
2 2 2
-1 -1 -1
-1 2 -1
-1 2 -1
-1 2 -1
Horizontal Vertical
Diagonal?
VC 14/15 - TP8 - Segmentation
Edges
• Edge:– Spatial discontinuity of pixel amplitude.– High spatial gradient
• First derivative (peak)• Second derivative (zero crossing)
VC 14/15 - TP8 - Segmentation
Popular operators
• Edge detection– Great utility for
several problems.– Well studied
problem.
• A variety of solutions exists.
VC 14/15 - TP8 - Segmentation
VC 14/15 - TP8 - Segmentation
Processing Edge Images
Image
Edge detectionand Thresholding
Noisy edge imageIncomplete boundaries
Edge Tracking
Thinning
VC 14/15 - TP8 - Segmentation
Edge Tracking Methods
• Adjusting a priori BoundariesGiven: Approximate Location of BoundaryTask: Find Accurate Location of Boundary
• Search for STRONG EDGES along normals to approximate boundary.• Fit curve (eg., polynomials) to strong edges.
VC 14/15 - TP8 - Segmentation
Edge Tracking Methods
• Divide and ConquerGiven: Boundary lies between points A and BTask: Find Boundary
• Connect A and B with Line
• Find strongest edge along line bisector
• Use edge point as break point
• Repeat
VC 14/15 - TP8 - Segmentation
Fitting Lines to Edges (Least Squares)
cmxy
cmxy ii
),( ii yx
y
x
Given: Many pairsFind: Parameters
Minimize: Average square distance:
Using:
Note:
),( ii yx),( cm
i
ii
N
cmxyE
2)(
0&0
c
E
m
Exmyc
ii
iii
xx
yyxxm
2)(
))((
N
yy i
i
N
xx i
i
VC 14/15 - TP8 - Segmentation
Topic: Hough Transform
• Thresholding
• Geometric structures
• Hough Transform
VC 14/15 - TP8 - Segmentation
Hough Transform
• Elegant method for direct object recognition
• Edges need not be connected
• Complete object need not be visible
• Key Idea: Edges VOTE for the possible model
VC 14/15 - TP8 - Segmentation
Image and Parameter Spaces
cmxy
),( ii yx
y
x
Equation of Line:
Find:
Consider point:
cmxy
),( cm
),( ii yx
iiii ymxcorcmxy m
c
),( cm
ImageSpace
ParameterSpace
Parameter space also called Hough Space
VC 14/15 - TP8 - Segmentation
Line Detection by Hough Transformy
x
),( cm
Parameter Space
1 1
1 1
1 1
2
1 1
1 1
1 1
),( cmA
Algorithm:
• Quantize Parameter Space
• Create Accumulator Array
• Set
• For each image edge increment:
• If lies on the line:
• Find local maxima in
),( cm
),( cmA
cmcmA ,0),(
),( ii yx
1),(),( cmAcmA
),( cm
),( cmAii ymxc
VC 14/15 - TP8 - Segmentation
Better Parameterization
NOTE:Large Accumulator
More memory and computations
Improvement:
Line equation:
Here
Given points find
m
sincos yx
max0
20
(Finite Accumulator Array Size)
),( ii yx ),(
),( ii yx
y
x
ImageSpace
HoughSpace
?
Hough Space Sinusoid
VC 14/15 - TP8 - Segmentation
Image space Votes
Horizontal axis is θ, vertical is rho.
VC 14/15 - TP8 - Segmentation
VC 14/15 - TP8 - Segmentation
VC 14/15 - TP8 - Segmentation
Mechanics of the Hough Transform
• Difficulties– how big should the
cells be? (too big, and we merge quite different lines; too small, and noise causes lines to be missed)
• How many lines?– Count the peaks in the
Hough array– Treat adjacent peaks
as a single peak
• Which points belong to each line?– Search for points close
to the line– Solve again for line
and iterate
VC 14/15 - TP8 - Segmentation
Fewer votes land in asingle bin when noise increases.
VC 14/15 - TP8 - Segmentation
Adding more clutter increasesnumber of bins with false peaks.
Real World Example
Original Edge Detection
Found Lines
Parameter Space
VC 14/15 - TP8 - Segmentation
Other shapesOriginal
Edges when using circle model
VC 14/15 - TP8 - Segmentation
Resources
• Gonzalez & Woods – Chapter 7
• N. Otsu, “A threshold selection method from gray-level histograms,” IEEE Trans. Sys., Man., Cyber., vol. 9, pp. 62–66, 1979.