Generalized Hough Transform
16-385 Computer Vision
Generalized Hough Transform 16-385 Computer Vision Hough Circles - - PowerPoint PPT Presentation
Generalized Hough Transform 16-385 Computer Vision Hough Circles Finding Circles by Hough Transform Equation of Circle: 2 2 2 ( x a ) ( y b ) r + = i i If radius is known: (2D Hough Space) A ( a , b )
16-385 Computer Vision
Equation of Circle:
2 2 2
) ( ) ( r b y a x
i i
= − + −
If radius is known:
) , ( b a A
Accumulator Array (2D Hough Space)
a
b
(x, y)
Image space Parameter space
(x − a)2 + (y − b)2 = r2 (x − a)2 + (y − b)2 = r2
parameters variables parameters variables
a
b
(x, y)
(x − a)2 + (y − b)2 = r2 (x − a)2 + (y − b)2 = r2
parameters variables parameters variables
a
b
(x − a)2 + (y − b)2 = r2 (x − a)2 + (y − b)2 = r2
parameters variables parameters variables
(x − a)2 + (y − b)2 = r2 (x − a)2 + (y − b)2 = r2
a
b
parameters variables parameters variables
a
b
(x − a)2 + (y − b)2 = r2 (x − a)2 + (y − b)2 = r2
parameters variables parameters variables
Equation of Circle:
2 2 2
) ( ) ( r b y a x
i i
= − + −
If radius is not known: 3D Hough Space! Use Accumulator array
) , , ( r b a A
What is the surface in the hough space?
Equation of Circle:
2 2 2
) ( ) ( r b y a x
i i
= − + −
If radius is not known: 3D Hough Space! Use Accumulator array
) , , ( r b a A
What is the surface in the hough space?
Gradient information can save lot of computation: Edge Location Edge Direction Need to increment only one point in accumulator!!
i
φ ) , (
i i y
x
Assume radius is known:
φ φ sin cos r y b r x a − = − =
a
b
(x, y, φ)
(x − a)2 + (y − b)2 = r2 (x − a)2 + (y − b)2 = r2
parameters variables parameters variables
a
b
(x, y, φ)
(x − a)2 + (y − b)2 = r2 (x − a)2 + (y − b)2 = r2
parameters variables parameters variables
Pennie Hough detector Quarter Hough detector
Pennie Hough detector Quarter Hough detector
Can you use Hough Transforms for other objects, beyond lines and circles?
Find Object Center given edges Create Accumulator Array Initialize: For each edge point For each entry in table, compute: Increment Accumulator: Find Local Maxima in
) , (
c c y
x A ) , ( ) , (
c c c c
y x y x A ∀ = ) , , (
i i i y
x φ 1 ) , ( ) , ( + =
c c c c
y x A y x A ) , (
c c y
x A
i k i k i c i k i k i c
r y y r x x α α sin cos + = + = ) , (
c c y
x ) , , (
i i i y
x φ
¯ ri
k
Do you have to use edge detectors to vote in Hough Space?
c Template
1.Get features 2.Store all displacements of feature from center
Template
1.Get features 2.Store all displacements of feature from center
Test image
1.Get features 2.Store all displacements of feature from center
recognition of object categories, CVPR 2004
Original images Laplacian circles Hough-like circles Which feature detector is more consistent?
Robustness to scale and clutter
training image visual codeword with displacement vectors
Segmentation with an Implicit Shape Model, ECCV Workshop on Statistical Learning in Computer Vision 2004
Index displacements by “visual codeword”
Train phase
Train phase
Test phase
Deals with occlusion well? Detects multiple instances? Robust to noise? Good computational complexity? Easy to set parameters?