Hough Transform: Technique for Finding Lines & Objects in Computer Vision, Study notes of Computer Science

The hough transform is a powerful technique used in computer vision to identify lines and other parametrized objects in images. The concept of the hough transform, its mechanics, and its optimizations. It also provides real-world examples of using the hough transform for finding circles and coins.

Typology: Study notes

Pre 2010

Uploaded on 08/05/2009

koofers-user-ov4
koofers-user-ov4 🇺🇸

9 documents

1 / 23

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
The Hough Transform
Frank Dellaert
Slides adapted from Jay Summet
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Partial preview of the text

Download Hough Transform: Technique for Finding Lines & Objects in Computer Vision and more Study notes Computer Science in PDF only on Docsity!

The Hough Transform

Frank Dellaert

Slides adapted from Jay Summet

Projector Camera Systems

Camera Projector Screen Computer Camera(s) used to orient one or more projectors in relation to each other and to elements in the world such as projection surfaces.

Finding

Planes

Photos from: Mark Ashdown & Rahul Sukthankar - HP Labs CRL TR 2003- ● Lines fall in planes ● Discontinuities fall at plane boundries. ● Identify discontinuities ● Fit line to discontinuities

Line Fitting To Find Calibration Points

Fitting using SVD

 Many 2D curves that can be

represented using linear equations

(in the coeff of the curve)

 ax+by+c=

 Conics: x’Ax=

 includes parabola, hyperbola, ellipses

Fitting and the Hough

Transform

 Purports to answer all three questions  We explain for lines  One representation: a line is the set of points (x, y) such that: (cos θ) X + (sin θ) Y+ r = 0  Different choices of θ, r> give different lines  For any token (x, y) there is a one parameter family of lines through this point, given by (cos θ) X + (sin θ) Y + r = 0  Each point gets to vote for each line in the family; if there is a line that has lots of votes, that should be the line passing through the points

Mechanics of the Hough

transform

 Construct an array representing θ, r  For each point, render the curve (θ, r) into this array, adding one at each cell  Difficulties  how big should the cells be? (too big, and we cannot distinguish between quite different lines; too small, and noise causes lines to be missed)  How many lines?  count the peaks in the Hough array  Who belongs to which line?  tag the votes  Hardly ever satisfactory in practice, because problems with noise and cell size defeat it

Tokens Votes Brightest point = 6 votes

Noise Lowers the Peaks

Noise Increases the Votes in Spurious Accumulator Elements

Real World Example Original (^) Edge Detection Found Lines Parameter Space

Fitting other objects

The Hough transform can be used to fit points to any object that can be paramatized. (e.g. Circle, elipse) Objects of arbitrary shape can be parameterized by building an R-Table. (Assumes orientation information for each token is available.) R and beta value(s) are obtained from the R-Table, based upon omega (orientation)

Real World Circle Examples

Crosshair indicates results of Hough transform, bounding box found via motion differencing.

Finding Coins

Original (^) Edges (note noise)