GENERALIZING THE HOUGH TRANSFORM TO DETECT ARBITRARY SHAPES. D. H. Ballard Pattern Recognition Vol. 13 No

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

HOUGH TRANSFORM CS 6350 C V

Lecture 15: Segmentation (Edge Based, Hough Transform)

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

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

Fitting: The Hough transform

Edge and local feature detection - 2. Importance of edge detection in computer vision

HOUGH TRANSFORM. Plan for today. Introduction to HT. An image with linear structures. INF 4300 Digital Image Analysis

Lecture 8: Fitting. Tuesday, Sept 25

EN1610 Image Understanding Lab # 3: Edges

Lecture 9: Hough Transform and Thresholding base Segmentation

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

Model Fitting: The Hough transform II

Semi-Automatic Detection of Cervical Vertebrae in X-ray Images Using Generalized Hough Transform

Massachusetts Institute of Technology. Department of Computer Science and Electrical Engineering /6.866 Machine Vision Quiz I

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

Edge Detection. EE/CSE 576 Linda Shapiro

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

Fitting: The Hough transform

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

E0005E - Industrial Image Analysis

Elaborazione delle Immagini Informazione Multimediale. Raffaella Lanzarotti

Gradient and Directional Derivatives

F dr = f dx + g dy + h dz. Using that dz = q x dx + q y dy we get. (g + hq y ) x (f + hq x ) y da.

Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

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

EE795: Computer Vision and Intelligent Systems

Computer Vision 6 Segmentation by Fitting

Bioimage Informatics

Pattern recognition systems Lab 3 Hough Transform for line detection

Coordinate Transformations in Advanced Calculus

Edges and Lines Readings: Chapter 10: better edge detectors line finding circle finding

Anno accademico 2006/2007. Davide Migliore

Background for Surface Integration

Straight Lines and Hough

CS443: Digital Imaging and Multimedia Perceptual Grouping Detecting Lines and Simple Curves

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Fitting: The Hough transform

AP * Calculus Review. Area and Volume

Edge detection. Gradient-based edge operators

Feature Detectors and Descriptors: Corners, Lines, etc.

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

AN APPROACH FOR GENERIC DETECTION OF CONIC FORM

CS664 Lecture #21: SIFT, object recognition, dynamic programming

Feature Selection. Ardy Goshtasby Wright State University and Image Fusion Systems Research

Edges and Lines Readings: Chapter 10: better edge detectors line finding circle finding

Local Features Tutorial: Nov. 8, 04

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

Filtering Images. Contents

Algorithms for Recognition of Low Quality Iris Images. Li Peng Xie University of Ottawa

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

MAC2313 Final A. a. The vector r u r v lies in the tangent plane of S at a given point. b. S f(x, y, z) ds = R f(r(u, v)) r u r v du dv.

Math 113 Calculus III Final Exam Practice Problems Spring 2003

Finding 2D Shapes and the Hough Transform

Basic Algorithms for Digital Image Analysis: a course

On Resolving Ambiguities in Arbitrary-Shape extraction by the Hough Transform

Patch-based Object Recognition. Basic Idea

Transactions on Information and Communications Technologies vol 16, 1996 WIT Press, ISSN

Circular Hough Transform

CAP 5415 Computer Vision Fall 2012

High Level Computer Vision. Basic Image Processing - April 26, 2o17. Bernt Schiele - Mario Fritz -

Motion Estimation and Optical Flow Tracking

MATH 2023 Multivariable Calculus

Other Linear Filters CS 211A

Here are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required.

Visual Tracking (1) Pixel-intensity-based methods

Computer Vision. Image Segmentation. 10. Segmentation. Computer Engineering, Sejong University. Dongil Han

Keypoint detection. (image registration, panorama stitching, motion estimation + tracking, recognition )

LANE DEPARTURE WARNING SYSTEM FOR VEHICLE SAFETY

School of Computing University of Utah

Math 265 Exam 3 Solutions

ECG782: Multidimensional Digital Signal Processing

EN1610 Image Understanding Lab # 4: Corners, Interest Points, Hough Transform

An edge is not a line... Edge Detection. Finding lines in an image. Finding lines in an image. How can we detect lines?

OBJECT detection in general has many applications

Robotics Programming Laboratory

Generalized Hough Transform, line fitting

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

Lecture 8 Fitting and Matching

Implementing the Scale Invariant Feature Transform(SIFT) Method

EE 584 MACHINE VISION

Distance and Angles Effect in Hough Transform for line detection

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

Computer Vision I - Appearance-based Matching and Projective Geometry

Lecture 9 Fitting and Matching

IOSR Journal of Electronics and communication Engineering (IOSR-JCE) ISSN: , ISBN: , PP:

Scott Smith Advanced Image Processing March 15, Speeded-Up Robust Features SURF

EECS 442 Computer vision. Fitting methods

Example 2: Straight Lines. Image Segmentation. Example 3: Lines and Circular Arcs. Example 1: Regions

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

Example 1: Regions. Image Segmentation. Example 3: Lines and Circular Arcs. Example 2: Straight Lines. Region Segmentation: Segmentation Criteria

HOUGH TRANSFORM FOR INTERIOR ORIENTATION IN DIGITAL PHOTOGRAMMETRY

7/28/2011 SECOND HOURLY PRACTICE V Maths 21a, O.Knill, Summer 2011

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

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

The diagram above shows a sketch of the curve C with parametric equations

Model Fitting. Introduction to Computer Vision CSE 152 Lecture 11

Announcements. Hough Transform [ Patented 1962 ] Generalized Hough Transform, line fitting. Assignment 2: Due today Midterm: Thursday, May 5 in class

Topic 5.1: Line Elements and Scalar Line Integrals. Textbook: Section 16.2

Transcription:

GENERALIZING THE HOUGH TRANSFORM TO DETECT ARBITRARY SHAPES D. H. Ballard Pattern Recognition Vol. 13 No. 2 1981

What is the generalized Hough (Huff) transform used for? Hough transform is a way of encoding and detecting an arbitrary shape for later recall. Used specifically for object matching. Hough transform is invariant to scale changes, rotations, and foreground/background reversals. Hough transform can handle reasonably small occlusions. Hough transform can be easily composed form complex image recognition.

What is the procedure for a Hough transform? Transform Threshold image to get a binary shape image. Extract just the edge pixels of the shape image. Create an R-Table of edge gradients that maps gradients to parameter space in parameter space. Create and fill an accumulator with values from the shape. Recognition Perform Hough transform for test shape and compare it s accumulator to the set of possible accumulators.

Original Hough Transform (lines and circles) Quick method to determine all of the lines in an edge image. Change general equation of a line or circle into a parametric model Create a parameter space accumulator. For each point on the edge parameterize and add a vote to the histogram.

A Line Example

Another Example

General Hough Process

Now that we have lines, let s do an analytic curve An analytic curve: f(a,x) = 0, a is parameter vector, x is pixel position Let s let φ(x) be the direction of the gradient. Let s also say that changes around the pixel in the x direction are so small we don t care about them (i.e. df/dx=0 ) since we know the gradient we also know that dy/dx = tan(φ(x) - π/2). Our algorithm for finding the shape histogram in parameter is space becomes: For each x: Find a such that, f(a,x) = 0, and df/dx=0 Add 1 to a s entry in the accumulator (A[a]++).

So let s show an example for an analytic curve ( the ellipse ) b (x 0 y 0 ) a θ For every edge element calculate get edge dx and dy For every element in the parameter space (a,b,θ) Calculate gradient Get x 0 and y 0 and update accumulator A[a]++

So what about sample noise? Ballard essentially shows that smoothing the accumulator is compensates for small changes in the parameter space.

Speed of Hough But how long does this take? If we have m parameters, each of which has M values, we have M m-1 entries in our accumulator. However, if we have the gradient direction we can reduce the parameter space so it only takes O(M m-2 ) for m 2!

Now for a non-analytic curve (i.e. an arbitrary shape) Let a = (y,s,θ) where y is a reference point, s is a scale factor, θ is a rotation factor. y = (x c y c ) r φ ß x = (x,y) r = ((x- x c ) 2 +(y-y c ) 2 ) β = atan((y-y c )/(x-x c )) x c = x+rcos(β) y c = y+rsin(β) This is slightly different than Ballard but is more intuitive.

Computing R-Tables: Associating edge gradient to reference point Associate gradient direction with a set of parameters 0Δφ = 0 (r, β) 1Δφ = 10 (r, β) 2Δφ = 20 (r, β) (r, β) (r, β) (r, β) (k-1)δφ =170 (r, β) (r, β) kδφ =180 (r, β)

Generalized Hough Transform Build the R-Table Build a 4 dimensional accumulator over (x c,y c,s,θ) (A[x c ][y c ][θ][s]) For each edge point (x,y) calculate the surface normal φ. Lookup R table value for φ For each pair of (r, β) in the R-Table at φ Convert (r, β) to potential (x c,y c ) For each value of s between s max and s min in A For each value of θ between θ max and θ min in A Rotate and scale (x c,y c ) to form (x c,y c ) Add one to A[x c ][y c ][θ ][s ] = A[a]++ Local maxima in the accumulator represent the shape of the object!

Fun Facts about the Accumulator It can detect shapes that have radial symmetry like donuts!

Hough Transform for Composite Shapes Composite shape S with reference y S 1 with y 1 S 2 with y 2 S is a shape R s (φ) is the R table of shape S y is the reference point let r 1 = y y 1 let r 2 = y y 2 We can also define shape as the difference of R tables:

When R Table approaches Break Close Reference, Small Error Far Reference, Large Error Point is reference point Shaded area is error.

Another approach: smoothing template H i (y i )= Smoothing template for a reference point 1. Construct smoothing template: 2. Make R table or each point, for each value of s, for each value of θ 3. Increment each entry in the parameter histogram A 4. Our new accumulator is A s = A*H

Creating the H matrix

Accumulator Addition Strategies A[a] = A[a] + c Our regular approach A[a] = A[a] + g(x) Where g(x) is a function of the gradient magnitude. A[a] = A[a] + g(x) + c Similar to above A[a] = A[a] + K Where K is a value for local curvature. (We have a locally good fit)

Improving Performance Weight connected segments more heavily than single pixels this weight can be based on the length of the edge from a pixel. Weight more interesting sections of the image