3/30/15
1
Generalized Hough Transforms
CS 510 Lecture #19 April 1, 2015
Preamble to Generalized Hough
• Like correlation matching, when your problem admits to these techniques, use them!
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 2
“Those who cannot remember the past are condemned to repeat it” Jorge AgusEn Nicolás Ruiz de Santayana y Borrás
3/30/15
2
Hough Transform : Overview • General idea
– fit features to parameterized models via parameter voting
– Avoid combinatorial process • Requirements
– Small parameter space – Finite parameters – Features constrain parameters
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 3
Generalized Hough Transform
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 4
• Proposed by Dana Ballard -1981 • Consider edges from an arbitrary 2D curve:
Can we use a Hough space to determine if the curve is in another image?
3/30/15
3
Generalized Hough (cont.) • Match under unknown translation • Then select a reference point
– Can be center of mass, doesn’t have to be – Hough parameters are the position of this point
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 5
×
Generalized Hough (III)
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 6
• For every model edge, there is a vector from the edge to the reference point:
×
Store this set of vectors
3/30/15
4
Generalized Hough (IV) • Now consider the edges in your test data:
– Edge to model part pairing implies placement. – The offset from the edge to the reference point
must be one of the stored vectors! (vote often!)
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 7
In this example: 13 Model Edges 11 Data (image) Edges 141 Votes
Generalized Hough (V) • Create a Hough space of (x,y) reference
point positions • If there are n points in the model curve, then
each edge votes n times – An edge votes for the (x,y) positions that can be
reached by adding one of the stored vectors to it. • The peak in this Hough space is the
reference point with the most supporting edges, i.e. votes.
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 8
3/30/15
5
Visualizing the Transformation
x
y
3/30/15 9 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper
Agreement
Making it Still More General... • What if one curve might be rotated relative to
another? – You know the orientation of the model edge – So you know the relative orientation of the
displacement vector and the edge – Rotate the displacement vector prior to voting
• This is easiest if you store displacement vectors as angle/length
• The result is rotation and translation invariant 2D curve matching
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 10
3/30/15
6
Rotate
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 11
x
y
… and Even More General • What if the curve might vary in scale, as well
as rotation and translation? • Two options
– The length of the displacement vectors is unknown; each edge point votes for a set of lines in Hough space
• See next slide – Extend parameterization to (x,y,scale); each edge
votes for a line in this 3D Hough space • Larger Hough space → slower • Fewer accidental intersections → more robust
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 12
3/30/15
7
Pose Clustering • George Stockman – 1987 • Similar notion to generalized Hough • Key distinction
– Small sets of features suggest object pose – Each set votes by created a ‘vote’ – A vote is a point in the object pose space.
• To find objects, look for clusters of votes • Complexity dominated # of votes, • Rather than the dimensionality of pose
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 13
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 14
Clark F. Olson, and Daniel P. Huaenlocher, Automa3c Target Recogni3on by Matching Oriented Edge Pixels, IEEE Transac3ons on Image Processing, 6(1): 103-‐113, January 1997
FLIR Image Edges Template
True Match False Match
3/30/15
8
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 15
Using the Circular Hough Transform to Find Tropical
Cyclone Centers Robert DeMaria CS 612 Project
Fall 2013
Next Topic - RANSAC • When overwhelmed with possible votes?
3/30/15 CS 510, Image Computa3on, ©Ross Beveridge & Bruce Draper 16