Hough Transform: Point-Slope & Parameterized Representation of Lines; 2D Points & Sine Curves; Two Algorithms

  • 1,330 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,330
On Slideshare
0
From Embeds
0
Number of Embeds
19

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Hough Transform Vladimir Kulyukinwww.youtube.com/vkedco www.vkedco.blogspot.com
  • 2. Outline ● Basic Concepts – Point-slope representation of lines – Parameterized representation of lines – 2D points and sine curves ● Hough Transform Algorithms – Algorithm 01 – Algorithm 02www.youtube.com/vkedco www.vkedco.blogspot.com
  • 3. Basic Conceptswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 4. Point-Slope & Parameterized Representations of Lineswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 5. Point-Slope Representation of Lineswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 6. Parameterized Representation of Lineswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 7. Two Representations Side by Side Plane Representation Parameterized Representationwww.youtube.com/vkedco www.vkedco.blogspot.com
  • 8. Background Information ● Paul Hough invented the concept in 1959 and patented it in 1962 ● Richard Duda and Peter Hart used Houghs idea in image analysis and introduced it to the computer vision and image analysis as the Hough Transform ● It is used in image processing and computer visionwww.youtube.com/vkedco www.vkedco.blogspot.com
  • 9. Basic Insight 01 - A line, y = mx+b, in the plane representation corresponds to a point (m, b) in the parematerized representation - Another formulation: a line in 2D is a point in the Hough Spacewww.youtube.com/vkedco www.vkedco.blogspot.com
  • 10. Basic Insight 02 - A point (x0, y0) in 2D corresponds to a line in the Hough spacewww.youtube.com/vkedco www.vkedco.blogspot.com
  • 11. Problems with (M, B) Representation ● Problem 1: vertical lines cannot be represented because their slopes are not defined ● Problem 2: Actual values of M and B can range from -Infinity to +Infinity ● Problem 1 is not as serious as Problem 2 because we can come up with meaningful boundswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 12. 2D Points & Sine Curveswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 13. Alternative Representation Instead of using (M, B) we can use (Rho, Theta)www.youtube.com/vkedco www.vkedco.blogspot.com
  • 14. Basic Insight 03 All (r, theta) pairs corresponding to all lines passing through (x0, y0) in 2D when mapped in the Hough Space is a sine curvewww.youtube.com/vkedco www.vkedco.blogspot.com
  • 15. Basic Insight 04 The sine curves that correspond to any pair of collinear points (e.g., P1 and P2) in 2D are guaranteed to intersect in the Hough Space.www.youtube.com/vkedco www.vkedco.blogspot.com
  • 16. Hough Transform Algorithmswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 17. Algorithm 01 ● Step 1: Choose suitable integer bounds for Rho and Theta and create a 2D table HTwww.youtube.com/vkedco www.vkedco.blogspot.com
  • 18. Algorithm 01 ● Step 2: Given image Img for each point P(x, y) in Img with sufficient gradient for each value th of Theta in [0, 180] rho = (int) x*cosine(th) + y*sine(th) HT(th, rho) += 1 ● Step 3: Once HT is computed, choose those values HT(th, rho) for which the count is above a specific threshold (this threshold is called support level)www.youtube.com/vkedco www.vkedco.blogspot.com
  • 19. Algorithm 01, Step 03: Examplewww.youtube.com/vkedco www.vkedco.blogspot.com
  • 20. Algorithm 01 ● The fundamental question: What does it mean when HT(rho, theta) clears a chosen support level s? ● Answer: It means that s points in the image Img likely lie on the (rho, theta) line ● Alternative Formulation: the (rho, theta) line has s support in the image Imgwww.youtube.com/vkedco www.vkedco.blogspot.com
  • 21. Algorithm 02 ● Step 2: Given image Img for each point P(x, y) in Img with sufficient gradient th = (int) gradient_theta(x, y) rho = (int) x*cosine(th) + y*sine(th) HT(th, rho) += 1 ● Step 3: Once HT is computed, choose those values HT(th, rho) for which the count is above a specific threshold (this threshold is called support level)www.youtube.com/vkedco www.vkedco.blogspot.com
  • 22. Example 01 Original Image Detected Lineswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 23. Example 02 Original Image Detected Lineswww.youtube.com/vkedco www.vkedco.blogspot.com
  • 24. References ● Hough, P., 1959. “Machine Analysis of Bubble Chamber Pictures,” International Conference on High Energy Accelerators and Instrumentation ● Duda, R. O. & P. E. Hart, 1972. "Use of the Hough Transformation to Detect Lines and Curves in Pictures," Comm. ACM, Vol. 15, pp. 11–15, January, 1972 (pdf) ● http://en.wikipedia.org/wiki/Hough_transformwww.youtube.com/vkedco www.vkedco.blogspot.com