Lecture 4: Finding lines: from detection to model fitting

Similar documents
Edge detection. Goal: Identify sudden. an image. Ideal: artist s line drawing. object-level knowledge)

Finding 2D Shapes and the Hough Transform

Lecture 9: Hough Transform and Thresholding base Segmentation

Fitting. Lecture 8. Cristian Sminchisescu. Slide credits: K. Grauman, S. Seitz, S. Lazebnik, D. Forsyth, J. Ponce

Edge and corner detection

Fitting: Voting and the Hough Transform April 23 rd, Yong Jae Lee UC Davis

Edge Detection. CSE 576 Ali Farhadi. Many slides from Steve Seitz and Larry Zitnick

Lecture 8: Fitting. Tuesday, Sept 25

Edge detection. Winter in Kraków photographed by Marcin Ryczek

Edge Detection CSC 767

Edge detection. Winter in Kraków photographed by Marcin Ryczek

Edge and Texture. CS 554 Computer Vision Pinar Duygulu Bilkent University

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Announcements, schedule. Lecture 8: Fitting. Weighted graph representation. Outline. Segmentation by Graph Cuts. Images as graphs

Fitting: The Hough transform

Prof. Kristen Grauman

Model Fitting: The Hough transform I

Edge Detection. EE/CSE 576 Linda Shapiro

Straight Lines and Hough

Edge detection. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels

Prof. Feng Liu. Winter /15/2019

Review of Filtering. Filtering in frequency domain

Edges and Binary Images

Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection

CS 4495 Computer Vision. Linear Filtering 2: Templates, Edges. Aaron Bobick. School of Interactive Computing. Templates/Edges

CS5670: Computer Vision

Image Analysis. Edge Detection

DIGITAL IMAGE PROCESSING

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary

Lecture 7: Most Common Edge Detectors

Edge Detection (with a sidelight introduction to linear, associative operators). Images

Lecture: RANSAC and feature detectors

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

Other Linear Filters CS 211A

2%34 #5 +,,% ! # %& ()% #% +,,%. & /%0%)( 1 ! # %& % %()# +(& ,.+/ +&0%//#/ &

HOUGH TRANSFORM CS 6350 C V

Edge Detection. Computer Vision Shiv Ram Dubey, IIIT Sri City

Example: Line fitting. Difficulty of line fitting. Fitting lines. Fitting lines. Fitting lines. Voting 9/22/2009

CS4670: Computer Vision Noah Snavely

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10

Fitting: The Hough transform

Image Analysis. Edge Detection

Edge Detection. CSC320: Introduction to Visual Computing Michael Guerzhoy. René Magritte, Decalcomania. Many slides from Derek Hoiem, Robert Collins

Edge Detection. Today s reading. Cipolla & Gee on edge detection (available online) From Sandlot Science

Lecture 6: Edge Detection

Hough Transform and RANSAC

Anno accademico 2006/2007. Davide Migliore

Fitting: The Hough transform

Elaborazione delle Immagini Informazione Multimediale. Raffaella Lanzarotti

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur

Image gradients and edges April 11 th, 2017

Image gradients and edges April 10 th, 2018

Model Fitting: The Hough transform II

CS 2770: Computer Vision. Edges and Segments. Prof. Adriana Kovashka University of Pittsburgh February 21, 2017

Edge detection. Gradient-based edge operators

CS334: Digital Imaging and Multimedia Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

CS534: Introduction to Computer Vision Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

Feature Detectors and Descriptors: Corners, Lines, etc.

RANSAC and some HOUGH transform

Digital Image Processing COSC 6380/4393

Biomedical Image Analysis. Point, Edge and Line Detection

CS 664 Image Matching and Robust Fitting. Daniel Huttenlocher

Image gradients and edges

Lecture 15: Segmentation (Edge Based, Hough Transform)

Image gradients and edges

Filtering in frequency domain

Computer Vision Lecture 6

EE795: Computer Vision and Intelligent Systems

Edges and Binary Image Analysis April 12 th, 2018

EECS 442 Computer vision. Fitting methods

Generalized Hough Transform, line fitting

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16

Model Fitting. Introduction to Computer Vision CSE 152 Lecture 11

Computer Vision I. Announcement. Corners. Edges. Numerical Derivatives f(x) Edge and Corner Detection. CSE252A Lecture 11

Feature Matching + Indexing and Retrieval

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis

Announcements. Edge Detection. An Isotropic Gaussian. Filters are templates. Assignment 2 on tracking due this Friday Midterm: Tuesday, May 3.

Issues with Curve Detection Grouping (e.g., the Canny hysteresis thresholding procedure) Model tting They can be performed sequentially or simultaneou

Does everyone have an override code?

Types of Edges. Why Edge Detection? Types of Edges. Edge Detection. Gradient. Edge Detection

Lecture 8 Fitting and Matching

Edge Detection. CS664 Computer Vision. 3. Edges. Several Causes of Edges. Detecting Edges. Finite Differences. The Gradient

Fitting. Fitting. Slides S. Lazebnik Harris Corners Pkwy, Charlotte, NC

CS 558: Computer Vision 4 th Set of Notes

Computer Vision Lecture 6

Lecture 9 Fitting and Matching

Feature Matching and Robust Fitting

CPSC 425: Computer Vision

Fitting. Instructor: Jason Corso (jjcorso)! web.eecs.umich.edu/~jjcorso/t/598f14!! EECS Fall 2014! Foundations of Computer Vision!

Practical Image and Video Processing Using MATLAB

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Segmentation I: Edges and Lines

Computer Vision 6 Segmentation by Fitting

Ulrik Söderström 16 Feb Image Processing. Segmentation

Edge linking. Two types of approaches. This process needs to be able to bridge gaps in detected edges due to the reason mentioned above

Local Image preprocessing (cont d)

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

E0005E - Industrial Image Analysis

Digital Image Processing. Image Enhancement - Filtering

Instance-level recognition

Transcription:

Lecture 4: Finding lines: from detection to model fitting Professor Fei Fei Li Stanford Vision Lab 1

What we will learn today Edge detection Canny edge detector Line fitting Hough Transform RANSAC (Problem Set 2 (Q5)) 2

(A) (B) (C) (D) Cave painting at Chauvet, France, about 30,000 B.C.; Aerial photograph of the picture of a monkey as part of the Nazca Lines geoplyphs, Peru, about 700 200 B.C.; Shen Zhou (1427 1509 A.D.): Poet on a mountain top, ink on paper, China; Line drawing by 7 year old I. Lleras (2010 A.D.). 3

We know edges are special from human (mammalian) vision studies Hubel & Wiesel, 1960s 4

We know edges are special from human (mammalian) vision studies 5

Walther, Chai, Caddigan, Beck & Fei Fei, PNAS, 2011 6

Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded in the edges More compact than pixels Ideal: artist s line drawing (but artist is also using object level knowledge) Source: D. Lowe 7

Origin of Edges surface normal discontinuity depth discontinuity surface color discontinuity illumination discontinuity Edges are caused by a variety of factors Source: Steve Seitz 8

What we will learn today Edge detection Canny edge detector Line fitting Hough Transform RANSAC 9

Characterizing edges An edge is a place of rapid change in the image intensity function image intensity function (along horizontal scanline) first derivative edges correspond to extrema of derivative 10

Image gradient The gradient of an image: The gradient points in the direction of most rapid increase in intensity The gradient direction is given by how does this relate to the direction of the edge? The edge strength is given by the gradient magnitude Source: Steve Seitz 11

Differentiation and convolution Recall, for 2D function, f(x,y): f x lim f x, y 0 This is linear and shift invariant, so must be the result of a convolution. f x,y We could approximate this as f x f x, y n 1 f x n, y x (which is obviously a convolution) -1 1 Source: D. Forsyth, D. Lowe 12

Finite difference filters Other approximations of derivative filters exist: Source: K. Grauman 13

Finite differences: example Which one is the gradient in the x direction? How about y direction? 14

Effects of noise Consider a single row or column of the image Plotting intensity as a function of position gives a signal Where is the edge? Source: S. Seitz 15

Effects of noise Finite difference filters respond strongly to noise Image noise results in pixels that look very different from their neighbors Generally, the larger the noise the stronger the response What is to be done? Smoothing the image should help, by forcing pixels different to their neighbors (=noise pixels?) to look more like neighbors Source: D. Forsyth 16

Effects of noise Finite difference filters respond strongly to noise Image noise results in pixels that look very different from their neighbors Generally, the larger the noise the stronger the response What is to be done? Smoothing the image should help, by forcing pixels different to their neighbors (=noise pixels?) to look more like neighbors Source: D. Forsyth 17

Solution: smooth first f g f * g d dx ( f g) To find edges, look for peaks in ( f g) d dx 18 Source: S. Seitz

Derivative theorem of convolution Differentiation is convolution, and convolution is associative: d d ( f dx g) This saves us one operation: f g dx f d dx g f d dx g Source: S. Seitz 19

Derivative of Gaussian filter * [1-1] = Is this filter separable? 20

Derivative of Gaussian filter x-direction y-direction Which one finds horizontal/vertical edges? 21

Tradeoff between smoothing and localization 1 pixel 3 pixels 7 pixels Smoothed derivative removes noise, but blurs edge. Also finds edges at different scales. Source: D. Forsyth 22

Implementation issues The gradient magnitude is large along a thick trail or ridge, so how do we identify the actual edge points? How do we link the edge points to form curves? Source: D. Forsyth 23

Designing an edge detector Criteria for an optimal edge detector: Good detection: the optimal detector must minimize the probability of false positives (detecting spurious edges caused by noise), as well as that of false negatives (missing real edges) Good localization: the edges detected must be as close as possible to the true edges Single response: the detector must return one point only for each true edge point; that is, minimize the number of local maxima around the true edge 24

Designing an edge detector Criteria for an optimal edge detector: Good detection Good localization Single response 25

Canny edge detector This is probably the most widely used edge detector in computer vision Theoretical model: step edges corrupted by additive Gaussian noise Canny has shown that the first derivative of the Gaussian closely approximates the operator that optimizes the product of signal to noise ratio and localization J. Canny, A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679 714, 1986. 26

Canny edge detector 1. Filter image with derivative of Gaussian 2. Find magnitude and orientation of gradient 3. Non maximum suppression: Thin multi pixel wide ridges down to single pixel width 4. Linking and thresholding (hysteresis): Define two thresholds: low and high Use the high threshold to start edge curves and the low threshold to continue them MATLAB: edge(image, canny ) 27

Example original image (Lena) 28

Example norm of the gradient 29

Example thresholding 30

Example Thinning (non maximum suppression) 31

Non maximum suppression At q, we have a maximum if the value is larger than those at both p and at r. Interpolate to get these values. Source: D. Forsyth 32

Edge linking Assume the marked point is an edge point. Then we construct the tangent to the edge curve (which is normal to the gradient at that point) and use this to predict the next points (here either r or s). Source: D. Forsyth 33

Hysteresis thresholding Check that maximum value of gradient value is sufficiently large drop outs? use hysteresis use a high threshold to start edge curves and a low threshold to continue them. Source: S. Seitz 34

Hysteresis thresholding original image high threshold (strong edges) low threshold (weak edges) hysteresis threshold 35

Effect of (Gaussian kernel spread/size) original Canny with Canny with The choice of depends on desired behavior large detects large scale edges small detects fine features Source: S. Seitz 36

Edge detection is just the beginning image human segmentation gradient magnitude Berkeley segmentation database: http://www.eecs.berkeley.edu/research/projects/cs/vision/grouping/segbench/ 37

What we will learn today Edge detection Canny edge detector Line fitting Hough Transform RANSAC (Problem Set 2 (Q5)) 38

Fitting as Search in Parametric Space Choose a parametric model to represent a set of features Membership criterion is not local Can t tell whether a point belongs to a given model just by looking at that point. Three main questions: What model represents this set of features best? Which of several model instances gets which feature? How many model instances are there? Computational complexity is important It is infeasible to examine every possible set of parameters and every possible combination of features Source: L. Lazebnik 39

Example: Line Fitting Why fit lines? Many objects characterized by presence of straight lines Wait, why aren t we done just by running edge detection? Slide credit: Kristen Grauman 40

Difficulty of Line Fitting Extra edge points (clutter), multiple models: Which points go with which line, if any? Only some parts of each line detected, and some parts are missing: How to find a line that bridges missing evidence? Noise in measured edge points, orientations: How to detect true underlying parameters? Slide credit: Kristen Grauman 41

Voting It s not feasible to check all combinations of features by fitting a model to each possible subset. Voting is a general technique where we let the features vote for all models that are compatible with it. Cycle through features, cast votes for model parameters. Look for model parameters that receive a lot of votes. Noise & clutter features will cast votes too, but typically their votes should be inconsistent with the majority of good features. Ok if some features not observed, as model can span multiple fragments. Slide credit: Kristen Grauman 42

Fitting Lines Given points that belong to a line, what is the line? How many lines are there? Which points belong to which lines? Hough Transform is a voting technique that can be used to answer all of these Main idea: 1. Record all possible lines on which each edge point lies. 2. Look for lines that get many votes. Slide credit: Kristen Grauman 43

Finding Lines in an Image: Hough Space y b b 0 Image space x m 0 m Hough (parameter) space Connection between image (x,y) and Hough (m,b) spaces A line in the image corresponds to a point in Hough space. To go from image space to Hough space: Given a set of points (x,y), find all (m,b) such that y = mx + b What does a point (x 0, y 0 ) in the image space map to? Answer: the solutions of b = -x 0 m + y 0 This is a line in Hough space Slide credit: Steve Seitz 44

Finding Lines in an Image: Hough Space y b y 0 x 0 Image space x m Hough (parameter) space Connection between image (x,y) and Hough (m,b) spaces A line in the image corresponds to a point in Hough space. To go from image space to Hough space: Given a set of points (x,y), find all (m,b) such that y = mx + b What does a point (x 0, y 0 ) in the image space map to? Answer: the solutions of b = -x 0 m + y 0 This is a line in Hough space Slide credit: Steve Seitz 45

Finding Lines in an Image: Hough Space y y 0 (x 0, y 0 ) (x 1, y 1 ) b x 0 Image space x b = x 1 m + y 1 m Hough (parameter) space What are the line parameters for the line that contains both (x 0, y 0 ) and (x 1, y 1 )? It is the intersection of the lines b = x 0 m + y 0 and b = x 1 m + y 1 Slide credit: Steve Seitz 46

Finding Lines in an Image: Hough Space y b Image space x m Hough (parameter) space How can we use this to find the most likely parameters (m,b) for the most prominent line in the image space? Let each edge point in image space vote for a set of possible parameters in Hough space Accumulate votes in discrete set of bins; parameters with the most votes indicate line in image space. Slide credit: Steve Seitz 47

Polar Representation for Lines Issues with usual (m,b) parameter space: can take on infinite values; undefined for vertical lines. [0,0] y d x x cos y sin Point in image space sinusoid segment in Hough space d : perpendicular distance from line to origin : angle the perpendicular line makes with the x-axis where 0, and d R d Slide credit: Steve Seitz 48

Hough Transform Algorithm Using the polar parameterization: x cos y sin Basic Hough transform algorithm 1. Initialize H[d, ] = 0. 2. For each edge point (x,y) in the image for 0, // some quantization H[d, ] += 1 3. Find the value(s) of (d, ) where H[d, ] is maximum. 4. The detected line in the image is given by d x cos y sin Time complexity (in terms of number of votes)? d Hough line demo H: accumulator array (votes) d Slide credit: Steve Seitz 49

Example: HT for Straight Lines y d x Image space edge coordinates Votes Bright value = high vote count Black = no votes Slide credit: Steve Seitz 50

Example: HT for Straight Lines Square: Slide credit: David Lowe 51

Example: HT for Straight Lines Slide credit: David Lowe 52

Real World Examples Slide credit: Kristen Grauman 53

Slide credit: Kristen Grauman Showing longest segments found 54

Impact of Noise on Hough Transform y d x Image space edge coordinates Votes What difficulty does this present for an implementation? Slide credit: David Lowe 55

Impact of Noise on Hough Transform Image space edge coordinates Votes Here, everything appears to be noise, or random edge points, but we still see peaks in the vote space. Slide credit: David Lowe 56

Generalized Hough Transform What if want to detect arbitrary shapes defined by boundary points and a reference point? x a At each boundary point, compute displacement vector: r = a p i. p 1 θ Image space θ p 2 For a given model shape: store these vectors in a table indexed by gradient orientation θ. [Dana H. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, 1980] Slide credit: Kristen Grauman 57

Example: Detecting Circles with Hough Original Edges Votes: Penny Note: a different Hough transform (with separate accumulators) was used for each circle radius (quarters vs. penny). Slide credit: Kristen Grauman Coin finding sample images from: Vivek Kwatra 58

Example: Detecting Circles with Hough Combined detections Original Edges Votes: Quarter Slide credit: Kristen Grauman Coin finding sample images from: Vivek Kwatra 59

Voting: Practical Tips Minimize irrelevant tokens first (take edge points with significant gradient magnitude) Choose a good grid / discretization Too coarse: large votes obtained when too many different lines correspond to a single bucket Too fine: miss lines because some points that are not exactly collinear cast votes for different buckets Vote for neighbors, also (smoothing in accumulator array) Utilize direction of edge to reduce free parameters by 1 To read back which points voted for winning peaks, keep tags on the votes. Slide credit: Kristen Grauman 60

Hough Transform: Pros and Cons Pros All points are processed independently, so can cope with occlusion Some robustness to noise: noise points unlikely to contribute consistently to any single bin Can detect multiple instances of a model in a single pass Cons Complexity of search time increases exponentially with the number of model parameters Non target shapes can produce spurious peaks in parameter space Quantization: hard to pick a good grid size Slide credit: Kristen Grauman 61

Another model fitting strategy: RANSAC [Fischler & Bolles 1981] RANdom SAmple Consensus Approach: we want to avoid the impact of outliers, so let s look for inliers, and use only those. Intuition: if an outlier is chosen to compute the current fit, then the resulting line won t have much support from rest of the points. Slide credit: Kristen Grauman 62

RANSAC RANSAC loop: 1. Randomly select a seed group of points on which to base transformation estimate (e.g., a group of matches) 2. Compute transformation from seed group 3. Find inliers to this transformation 4. If the number of inliers is sufficiently large, re compute least squares estimate of transformation on all of the inliers Keep the transformation with the largest number of inliers Slide credit: Kristen Grauman 63

RANSAC Line Fitting Example Task: Estimate the best line How many points do we need to estimate the line? Slide credit: Jinxiang Chai 64

RANSAC Line Fitting Example Task: Estimate the best line Sample two points Slide credit: Jinxiang Chai 65

RANSAC Line Fitting Example Task: Estimate the best line Fit a line to them Slide credit: Jinxiang Chai 66

RANSAC Line Fitting Example Task: Estimate the best line Total number of points within a threshold of line. Slide credit: Jinxiang Chai 67

RANSAC Line Fitting Example Task: Estimate the best line 7 inlier points Total number of points within a threshold of line. Slide credit: Jinxiang Chai 68

RANSAC Line Fitting Example Task: Estimate the best line Repeat, until we get a good result. Slide credit: Jinxiang Chai 69

RANSAC Line Fitting Example Task: Estimate the best line 11 inlier points Repeat, until we get a good result. Slide credit: Jinxiang Chai 70

RANSAC: How many samples? How many samples are needed? Suppose w is fraction of inliers (points from line). n points needed to define hypothesis (2 for lines) k samples chosen. Prob. that a single sample of n points is correct: w n Prob. that all k samples fail is: ( 1 n k w ) Choose k high enough to keep this below desired failure rate. Slide credit: David Lowe 72

RANSAC: Computed k (p=0.99) Sample size n Proportion of outliers 5% 10% 20% 25% 30% 40% 50% 2 2 3 5 6 7 11 17 3 3 4 7 9 11 19 35 4 3 5 9 13 17 34 72 5 4 6 12 17 26 57 146 6 4 7 16 24 37 97 293 7 4 8 20 33 54 163 588 8 5 9 26 44 78 272 1177 Slide credit: David Lowe 73

After RANSAC RANSAC divides data into inliers and outliers and yields estimate computed from minimal set of inliers. Improve this initial estimate with estimation over all inliers (e.g. with standard least squares minimization). But this may change inliers, so alternate fitting with re classification as inlier/outlier. Slide credit: David Lowe 74

RANSAC: Pros and Cons Pros: General method suited for a wide range of model fitting problems Easy to implement and easy to calculate its failure rate Cons: Only handles a moderate percentage of outliers without cost blowing up Many real problems have high rate of outliers (but sometimes selective choice of random subsets can help) The Hough transform can handle high percentage of outliers

What we have learned today Edge detection Canny edge detector Line fitting Hough Transform RANSAC (Problem Set 2 (Q5)) 76

Supplementary materials 77

Generalized Hough Transform To detect the model shape in a new image: For each edge point Index into table with its gradient orientation θ Use retrieved r vectors to vote for position of reference point Peak in this Hough space is reference point with most supporting edges Assuming translation is the only transformation here, i.e., orientation and scale are fixed. Slide credit: Kristen Grauman 78

Example: Generalized Hough Transform Say we ve already stored a table of displacement vectors as a function of edge orientation for this model shape. Model shape Slide credit: Svetlana Lazebnik 79

Example: Generalized Hough Transform Now we want to look at some edge points detected in a new image, and vote on the position of that shape. Displacement vectors for model points Slide credit: Svetlana Lazebnik 80

Example: Generalized Hough Transform Range of voting locations for test point Slide credit: Svetlana Lazebnik 81

Example: Generalized Hough Transform Range of voting locations for test point Slide credit: Svetlana Lazebnik 82

Example: Generalized Hough Transform Votes for points with θ = Slide credit: Svetlana Lazebnik 83

Example: Generalized Hough Transform Displacement vectors for model points Slide credit: Svetlana Lazebnik 84

Example: Generalized Hough Transform Range of voting locations for test point Slide credit: Svetlana Lazebnik 85

Example: Generalized Hough Transform Votes for points with θ = Slide credit: Svetlana Lazebnik 86

Extensions to Hough Transform 87

Extensions Extension 1: Use the image gradient 1. same 2. for each edge point I[x,y] in the image = gradient at (x,y) d x cos y sin H[d, ] += 1 3. same 4. same (Reduces degrees of freedom) Slide credit: Kristen Grauman 88

Extensions Extension 1: Use the image gradient 1. same 2. for each edge point I[x,y] in the image compute unique (d, ) based on image gradient at (x,y) H[d, ] += 1 3. same 4. same (Reduces degrees of freedom) Extension 2 Give more votes for stronger edges (use magnitude of gradient) Extension 3 Change the sampling of (d, ) to give more/less resolution Extension 4 The same procedure can be used with circles, squares, or any other shape Slide credit: Kristen Grauman 89

Extension: Cascaded Hough Transform Let s go back to the original (m,b) parametrization A line in the image maps to a pencil of lines in the Hough space What do we get with parallel lines or a pencil of lines? Collinear peaks in the Hough space! So we can apply a Hough transform to the output of the first Hough transform to find vanishing points T. Tuytelaars, M. Proesmans, L. Van Gool "The cascaded Hough transform, ICIP 97. Slide credit: Svetlana Lazebnik 90

Raphael, The School of Athens, 1511 Finding Vanishing Points 91

Cascaded Hough Transform Issue: Dealing with the unbounded parameter space T. Tuytelaars, M. Proesmans, L. Van Gool "The cascaded Hough transform, ICIP 97. 92

Cascaded Hough Transform T. Tuytelaars, M. Proesmans, L. Van Gool "The cascaded Hough transform, ICIP 97. 93

Hough Transform for Circles Circle: center (a,b) and radius r 2 2 2 ( xi a) ( yi b) r For a fixed radius r, unknown gradient direction b Image space Hough space a Slide credit: Kristen Grauman 94

Hough Transform for Circles Circle: center (a,b) and radius r 2 2 2 ( xi a) ( yi b) r For a fixed radius r, unknown gradient direction Image space Hough space Intersection: most votes for center occur here. Slide credit: Kristen Grauman 95

Hough Transform for Circles Circle: center (a,b) and radius r 2 2 2 ( xi a) ( yi b) r For an unknown radius r, unknown gradient direction r Slide credit: Kristen Grauman Image space a Hough space b 96

Hough Transform for Circles Circle: center (a,b) and radius r 2 2 2 ( xi a) ( yi b) r For an unknown radius r, unknown gradient direction r Slide credit: Kristen Grauman Image space a Hough space b 97

Hough Transform for Circles Circle: center (a,b) and radius r 2 2 2 ( xi a) ( yi b) r For an unknown radius r, known gradient direction Slide credit: Kristen Grauman θ Image space x Hough space 98

Hough Transform for Circles For every edge pixel (x,y) : For each possible radius value r: For each possible gradient direction θ: // or use estimated gradient a = x r cos(θ) b = y + r sin(θ) H[a,b,r] += 1 end end Slide credit: Kristen Grauman 99

Example: Detecting Circles with Hough Crosshair indicates results of Hough transform, bounding box found via motion differencing. Slide credit: Kristen Grauman 100