Fitting: The Hough transform

Similar documents
Fitting: The Hough transform

Fitting: The Hough transform

Model Fitting: The Hough transform I

Straight Lines and Hough

Model Fitting: The Hough transform II

Finding 2D Shapes and the Hough Transform

Hough Transform and RANSAC

Lecture 8: Fitting. Tuesday, Sept 25

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

10/03/11. Model Fitting. Computer Vision CS 143, Brown. James Hays. Slides from Silvio Savarese, Svetlana Lazebnik, and Derek Hoiem

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

Feature Matching and Robust Fitting

EECS 442 Computer vision. Fitting methods

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

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

Lecture 9 Fitting and Matching

HOUGH TRANSFORM CS 6350 C V

Lecture 8 Fitting and Matching

Lecture 9: Hough Transform and Thresholding base Segmentation

Beyond bags of features: Adding spatial information. Many slides adapted from Fei-Fei Li, Rob Fergus, and Antonio Torralba

Object Detection. Sanja Fidler CSC420: Intro to Image Understanding 1/ 1

Prof. Kristen Grauman

Patch-based Object Recognition. Basic Idea

Previously. Part-based and local feature models for generic object recognition. Bag-of-words model 4/20/2011

Perception IV: Place Recognition, Line Extraction

Lecture 4: Finding lines: from detection to model fitting

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

Feature Matching + Indexing and Retrieval

Instance-level recognition

Instance-level recognition

Part-based and local feature models for generic object recognition

Homography estimation

Elaborazione delle Immagini Informazione Multimediale. Raffaella Lanzarotti

Part based models for recognition. Kristen Grauman

Deformable Part Models

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

Multi-stable Perception. Necker Cube

Computer Vision Lecture 6

Lecture 15: Segmentation (Edge Based, Hough Transform)

Instance-level recognition part 2

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

Computer Vision Lecture 6

CS 664 Image Matching and Robust Fitting. Daniel Huttenlocher

Instance-level recognition II.

Beyond Bags of features Spatial information & Shape models

Fi#ng & Matching Region Representa3on Image Alignment, Op3cal Flow

Dense Hough transforms on gray level images using multi-scale derivatives

Other Linear Filters CS 211A

Photo by Carl Warner

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

RANSAC and some HOUGH transform

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

Edge Detection. EE/CSE 576 Linda Shapiro

Computer Vision 6 Segmentation by Fitting

The SIFT (Scale Invariant Feature

Object detection using non-redundant local Binary Patterns

Object detection. Announcements. Last time: Mid-level cues 2/23/2016. Wed Feb 24 Kristen Grauman UT Austin

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

Fitting: Voting and the Hough Transform

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

Uncertainties: Representation and Propagation & Line Extraction from Range data

CS 558: Computer Vision 4 th Set of Notes

Implementing the Scale Invariant Feature Transform(SIFT) Method

Part-based models. Lecture 10

Edge detection. Gradient-based edge operators

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

Image Processing and Computer Vision

Biomedical Image Analysis. Point, Edge and Line Detection

Detection III: Analyzing and Debugging Detection Methods

Visuelle Perzeption für Mensch- Maschine Schnittstellen

Object Category Detection. Slides mostly from Derek Hoiem

Local Features Tutorial: Nov. 8, 04

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

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

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

Lecture 6: Edge Detection

OBJECT detection in general has many applications

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

(Refer Slide Time: 0:32)

Eppur si muove ( And yet it moves )

Feature Detectors and Descriptors: Corners, Lines, etc.

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

EDGE EXTRACTION ALGORITHM BASED ON LINEAR PERCEPTION ENHANCEMENT

Methods for Representing and Recognizing 3D objects

School of Computing University of Utah

Template Matching Rigid Motion

Perception. Autonomous Mobile Robots. Sensors Vision Uncertainties, Line extraction from laser scans. Autonomous Systems Lab. Zürich.

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

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

E0005E - Industrial Image Analysis

Backprojection Revisited: Scalable Multi-view Object Detection and Similarity Metrics for Detections

CS 231A Computer Vision (Winter 2018) Problem Set 3

Lecture 10 Detectors and descriptors

HISTOGRAMS OF ORIENTATIO N GRADIENTS

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing

Matching and Tracking

EECS490: Digital Image Processing. Lecture #20

CAP 5415 Computer Vision Fall 2012

Local Image Features

CS6640: Image Processing Project 4 Hough Transform

Transcription:

Fitting: The Hough transform

Voting schemes Let each feature vote for all the models that are compatible with it Hopefully the noise features will not vote consistently for any single model Missing data doesn t matter as long as there are enough features remaining to agree on a good model

Hough transform An early type of voting scheme Discretize parameter space into bins For each feature point in the image, put a vote in every bin in the parameter space that could have generated this point Find bins that have the most votes Image space Hough parameter space P.V.C. Hough, Machine Analysis of Bubble Chamber Pictures, Proc. Int. Conf. High Energy Accelerators and Instrumentation, 1959

Parameter space representation A line in the image corresponds to a point in Hough space Image space Hough parameter space (m 0, b 0 ) Source: S. Seitz

Parameter space representation What does a point (x 0, y 0 ) in the image space map to in the Hough space? Image space Hough parameter space (x 0, y 0 )

Parameter space representation What does a point (x 0, y 0 ) in the image space map to in the Hough space? Answer: the solutions of y 0 = m x 0 + b This is a line in Hough space Image space Hough parameter space

Parameter space representation Where is the line that contains both (x 0, y 0 ) and (x 1, y 1 )? Image space Hough parameter space (x 1, y 1 ) (x 0, y 0 ) b = x 1 m + y 1

Parameter space representation Where is 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 Image space Hough parameter space (x 1, y 1 ) (x 0, y 0 ) b = x 1 m + y 1

Parameter space representation Problems with the (m,b) space: Unbounded parameter domains Vertical lines require infinite m

Parameter space representation Problems with the (m,b) space: Unbounded parameter domains Vertical lines require infinite m Alternative: polar representation x cosθ + y sinθ = ρ Each point (x,y) will add a sinusoid in the (θ,ρ) parameter space

Algorithm outline Initialize accumulator H to all zeros For each feature point (x,y) ρ in the image For θ = 0 to 180 ρ = x cos θ + y sin θ H(θ, ρ) = H(θ, ρ) + 1 θ end end Find the value(s) of (θ, ρ) where H(θ, ρ) is a local maximum The detected line in the image is given by ρ = x cos θ + y sin θ

Basic illustration features votes Hough transform demo

Other shapes Square Circle

Several lines

A more complicated image http://ostatic.com/files/images/ss_hough.jpg

Effect of noise features votes

Effect of noise features Peak gets fuzzy and hard to locate votes

Effect of noise Number of votes for a line of 20 points with increasing noise:

Random points features votes Uniform noise can lead to spurious peaks in the array

Random points As the level of uniform noise increases, the maximum number of votes increases too:

Dealing with noise 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 Increment neighboring bins (smoothing in accumulator array) Try to get rid of irrelevant features E.g., take only edge points with significant gradient magnitude

Incorporating image gradients When we detect an edge point, we also know its gradient orientation How does this constrain possible lines passing through the point? Modified Hough transform: For each edge point (x,y) θ = gradient orientation at (x,y) ρ = x cos θ + y sin θ H(θ, ρ) = H(θ, ρ) + 1 end

Hough transform for circles How many dimensions will the parameter space have? Given an unoriented edge point, what are all possible bins that it can vote for? What about an oriented edge point?

Hough transform for circles y image space Hough parameter space r ( x, y) + r I( x, y) (x,y) ( x, y) r I ( x, y) x x y

Hough transform: Pros and cons Pros Can deal with non-locality and occlusion Can detect multiple instances of a model Some robustness to noise: noise points unlikely to contribute consistently to any single bin Cons Complexity of search time increases exponentially with the number of model parameters Non-target shapes can produce spurious peaks in parameter space It s hard to pick a good grid size

Generalized Hough transform We want to find a template defined by its reference point (center) and several distinct types of landmark points in stable spatial configuration Template c

Generalized Hough transform Template representation: for each type of landmark point, store all possible displacement vectors towards the center Template Model

Generalized Hough transform Detecting the template: For each feature in a new image, look up that feature type in the model and vote for the possible center locations associated with that type in the model Test image Model

Application in recognition Index displacements by visual codeword training image visual codeword with displacement vectors B. Leibe, A. Leonardis, and B. Schiele, Combined Object Categorization and Segmentation with an Implicit Shape Model, ECCV Workshop on Statistical Learning in Computer Vision 2004

Application in recognition Index displacements by visual codeword test image B. Leibe, A. Leonardis, and B. Schiele, Combined Object Categorization and Segmentation with an Implicit Shape Model, ECCV Workshop on Statistical Learning in Computer Vision 2004

Implicit shape models: Training 1. Build codebook of patches around extracted interest points using clustering (more on this later in the course)

Implicit shape models: Training 1. Build codebook of patches around extracted interest points using clustering 2. Map the patch around each interest point to closest codebook entry

Implicit shape models: Training 1. Build codebook of patches around extracted interest points using clustering 2. Map the patch around each interest point to closest codebook entry 3. For each codebook entry, store all positions it was found, relative to object center

Implicit shape models: Testing 1. Given test image, extract patches, match to codebook entry 2. Cast votes for possible positions of object center 3. Search for maxima in voting space 4. Extract weighted segmentation mask based on stored masks for the codebook occurrences

Additional examples B. Leibe, A. Leonardis, and B. Schiele, Robust Object Detection with Interleaved Categorization and Segmentation, IJCV 77 (1-3), pp. 259-289, 2008.

Implicit shape models: Details Supervised training Need reference location and segmentation mask for each training car Voting space is continuous, not discrete Clustering algorithm needed to find maxima How about dealing with scale changes? Option 1: search a range of scales, as in Hough transform for circles Option 2: use interest points with characteristic scale Verification stage is very important Once we have a location hypothesis, we can overlay a more detailed template over the image and compare pixel-bypixel, transfer segmentation masks, etc.

These days: Mask R-CNN K. He, G. Gkioxari, P. Dollar, and R. Girshick, Mask R-CNN, ICCV 2017

Review: Hough transform Hough transform for lines Hough transform for circles Generalized Hough transform for template detection Hough transform pros and cons