CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann.

Slides:



Advertisements
Similar presentations
Hough Transforms CSE 6367 – Computer Vision Vassilis Athitsos University of Texas at Arlington.
Advertisements

CS 376 Introduction to Computer Graphics 01 / 29 / 2007 Instructor: Michael Eckmann.
Edge Detection Selim Aksoy Department of Computer Engineering Bilkent University
CS 376b Introduction to Computer Vision 04 / 21 / 2008 Instructor: Michael Eckmann.
Image Processing A brief introduction (by Edgar Alejandro Guerrero Arroyo)
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
CS 102 Computers In Context (Multimedia)‏ 04 / 20 / 2009 Instructor: Michael Eckmann.
Lecture 5 Hough transform and RANSAC
1 Model Fitting Hao Jiang Computer Science Department Oct 6, 2009.
CS 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 02 / 09 / 2007 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 11 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 16 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 26 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 27 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 18 / 2008 Instructor: Michael Eckmann.
Edges and Lines Readings: Chapter 10:
CS 376b Introduction to Computer Vision 02 / 25 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 01 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 15 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
© 2010 Cengage Learning Engineering. All Rights Reserved.
1 Lines and Arcs Segmentation In some image sets, lines, curves, and circular arcs are more useful than regions or helpful in addition to regions. Lines.
Hough Transform (Section 10.2) CS474/67. Edge Linking and Boundary Detection Edge detection does not yield connected boundaries. Edge linking and boundary.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
CS 376b Introduction to Computer Vision 02 / 26 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 02 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 29 / 2008 Instructor: Michael Eckmann.
Edge Linking & Boundary Detection
CS 325 Introduction to Computer Graphics 02 / 17 / 2010 Instructor: Michael Eckmann.
HOUGH TRANSFORM Presentation by Sumit Tandon
HOUGH TRANSFORM & Line Fitting Introduction  HT performed after Edge Detection  It is a technique to isolate the curves of a given shape / shapes.
CS 376b Introduction to Computer Vision 02 / 22 / 2008 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 02 / 16 / 2007 Instructor: Michael Eckmann.
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
CSSE463: Image Recognition Day 25 This week This week Today: Finding lines and circles using the Hough transform (Sonka 6.26) Today: Finding lines and.
CS 376b Introduction to Computer Vision 03 / 21 / 2008 Instructor: Michael Eckmann.
Lecture 08 Detecting Shape Using Hough Transform Lecture 08 Detecting Shape Using Hough Transform Mata kuliah: T Computer Vision Tahun: 2010.
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
HOUGH TRANSFORM. Introduced in 1962 by Paul Hough pronounced like “tough” according to orm.html.
CS 325 Introduction to Computer Graphics 02 / 22 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 28 / 2008 Instructor: Michael Eckmann.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
CS 376b Introduction to Computer Vision 02 / 11 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 18 / 2008 Instructor: Michael Eckmann.
Hough Transform Procedure to find a shape in an image Shape can be described in parametric form Shapes in image correspond to a family of parametric solutions.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
CS 376b Introduction to Computer Vision 02 / 15 / 2008 Instructor: Michael Eckmann.
Edges and Lines Readings: Chapter 10:
CS 376b Introduction to Computer Vision 02 / 12 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 31 / 2008 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 03 / 17 / 2008 Instructor: Michael Eckmann.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
CS 376 Introduction to Computer Graphics 02 / 21 / 2007 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
Detecting Image Features: Corner. Corners Given an image, denote the image gradient. C is symmetric with two positive eigenvalues. The eigenvalues give.
CS 376 Introduction to Computer Graphics 02 / 14 / 2007 Instructor: Michael Eckmann.
April 21, 2016Introduction to Artificial Intelligence Lecture 22: Computer Vision II 1 Canny Edge Detector The Canny edge detector is a good approximation.
Fitting: Voting and the Hough Transform
Detection of discontinuity using
Fitting Curve Models to Edges
Hough Transform.
Morphological Operators
Outline Announcement Perceptual organization, grouping, and segmentation Hough transform Read Chapter 17 of the textbook File: week14-m.ppt.
Finding Line and Curve Segments from Edge Images
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Today’s Topics Comments/Questions Hough transform for detecting equations of –lines in the image –circles in the image –etc.

Edges and Lines We know how to find edges in images and how Canny thins and connects them into line segments. What do we end up with after the Canny edge detector? –a binary image with edge pixels on and non-edge pixels off –and ideally many of the edge pixels are connected to neighboring edge pixels forming borders If we wanted to detect borders of shapes such as lines or circles in an image, we could use an edge detector as a the first step, but then we'd like to determine –if any shapes appear in the image and if so how many –and the equation of the shapes –and where they are

Edges and Lines The edge image can have various problems when it comes to storing complete shapes –connected edge pixels, even from Canny, can have gaps due to noise, occlusion, lighting, low contrast example on the board of a slotted back chair We want to group these edges into various shapes like lines and circles.

Hough Transform A method for detecting straight lines and circles and other curves from intensity images. Input: –the family of curves being sought Output: –the set of curves of that family found in the image e.g. if you're looking for lines, the hough transform will give you the equations of the lines appearing in the image

Hough Transform The equation of a line y = mx + b has two unknown parameters m and b. x and y are the coordinates of pixels making up that line. The number of unknown parameters of the family of curves being sought denotes the number of dimensions of an Accumulator array used by Hough. So in the line case, the number of dimensions of the accumulator is 2. A[M,B] is the value of the accumulator array for a particular quantized m and b.

Hough Transform y = mx + b is problematic in that it cannot describe vertical lines. An alternative equation is d = x cos(theta) + y sin(theta)‏ d is the perpendicular distance from the line to the origin theta is the angle between perpendicular and the x-axis diagram on the board

Hough Transform y = mx + b is problematic in that it cannot describe vertical lines. An alternative equation is d = x cos(theta) + y sin(theta)‏ d is the perpendicular distance from the line to the origin theta is the angle between perpendicular and the x-axis In an image, the origin is at the top left and rows are positive going down from there, so we change the equation to: d = c cos(theta) - r sin(theta)‏ How many dimensions will our accumulator array have?

Hough Transform The general procedure is as follows –given the number of parameters in the family of curves being sought, create an accumulator array of that many dimensions and choose the bins by deciding how you wish to quantize the parameters e.g. if you want accuracy of angle theta up to 10 degrees you can quantize the angle to 36 different values our text shows in figure the accumulator array for a 256x256 image. The indices for angle being 0,10,20,..., 350 and for d being 0,3,6,9,...,360. Why is this only for a 256x256?

Hough Transform The general procedure is as follows –given the number of parameters in the family of curves being sought, create an accumulator array of that many dimensions and choose the bins by deciding how you wish to quantize the parameters –gather evidence for each edge at a pixel (and its neighborhood) determine what line best fits to that edge (that is, compute d and theta)‏ increment the accumulator array element at indices d,theta (either increment by 1 or by the magnitude of the edge)‏ –if want to give weight to higher magnitude lines on influencing the lines to be found

Hough Transform The general procedure is as follows –then after each pixel is considered and the accumulator array holds the evidence of lines the accumulator array is examined for peaks. –The peaks in the accumulator array tell us the most likely equations of lines that appear in the image. The line equations are for infinite length lines. If you wanted to know where the line segments start and stop, you can keep track of a point list for each quantized parameter d and theta.

Hough Transform Let's flesh out one of the parts of the procedure How to determine what line best fits to an edge pixel (that is, compute d and theta)‏ of d = c cos(theta) - r sin(theta)‏ –We find edges by computing the gradient. For example, the 2 Prewitt masks each compute portions of the gradient. One computes the change in the x direction the other in the y direction. We combine these to get the gradient magnitude and direction. –The direction (the angle) is the theta in the equation. It is the arctan of the change w.r.t. y divided by the change w.r.t. x. –What else do we need to do? How to do it? –see p. 146

Hough Transform Let's look at Algorithm 10.7 on page 306 and then if there's time, the example in figure on p. 307.