CS 376b Introduction to Computer Vision 04 / 11 / 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 02 / 02 / 2007 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 01 / 29 / 2007 Instructor: Michael Eckmann.
Edge Detection Selim Aksoy Department of Computer Engineering Bilkent University
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
CS 102 Computers In Context (Multimedia)‏ 04 / 20 / 2009 Instructor: Michael Eckmann.
Lecture 4 Edge Detection
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 / 14 / 2008 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 04 / 09 / 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.
Hough Transform. Detecting Lines Hough transform detects lines in images Equation of line is: y = mx + b or Hough transform uses an array called accumulator.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
© 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.
כמה מהתעשייה? מבנה הקורס השתנה 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.
CS 376 Introduction to Computer Graphics 02 / 12 / 2007 Instructor: Michael Eckmann.
CS 325 Introduction to Computer Graphics 02 / 17 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 02 / 22 / 2008 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.
CS 325 Introduction to Computer Graphics 02 / 22 / 2010 Instructor: Michael Eckmann.
CS 376b Introduction to Computer Vision 04 / 28 / 2008 Instructor: Michael Eckmann.
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
October 7, 2014Computer Vision Lecture 9: Edge Detection II 1 Laplacian Filters Idea: Smooth the image, Smooth the image, compute the second derivative.
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.
CS 325 Introduction to Computer Graphics 02 / 03 / 2010 Instructor: Michael Eckmann.
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.
Course 5 Edge Detection. Image Features: local, meaningful, detectable parts of an image. edge corner texture … Edges: Edges points, or simply edges,
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.
September 26, 2013Computer Vision Lecture 8: Edge Detection II 1Gradient In the one-dimensional case, a step edge corresponds to a local peak in the first.
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.
Grouping and Segmentation. Sometimes edge detectors find the boundary pretty well.
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
Edge Detection The purpose of Edge Detection is to find jumps in the brightness function (of an image) and mark them.
Computer Vision Lecture 9: Edge Detection II
Morphological Operators
Outline Announcement Perceptual organization, grouping, and segmentation Hough transform Read Chapter 17 of the textbook File: week14-m.ppt.
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

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

Michael Eckmann - Skidmore College - CS 376b - Spring 2008 Today’s Topics Comments/Questions –comment on images in the directories Canny edge detection algorithm in more detail Hough transform for detecting equations of –lines in the image –circles in the image –etc.

Segmentation Canny edge detection –what were the main steps in Canny edge detection that we discussed last time?

Segmentation Canny edge detection could be used to segment regions by finding closed loops in the edge image. Canny edge detection steps –smooth input image by convolving a Gaussian mask of standard deviation sigma –use Roberts operator to compute edge magnitudes and directions (similar to what you're doing in the current assignment, but you're using different edge operators)‏ –suppress non-maxima – that is, essentially thin the edges by saving only pixels that have the largest magnitude on either side (in the direction of the edge)‏ –use a high magnitude threshold and a low magnitude threshold --- start at those pixels over the high threshold and create contours by following 8-neighbords as long as they are above the low threshold

Segmentation Canny edge detector Let's look at Algorithm 10.5 in our text on p.300 –I think there's an error in the text in the Supress_Nonmaxima function (modulo should be divide)‏

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 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 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. Let's look at page 307 figure 10.22