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

Similar documents
Finding 2D Shapes and the Hough Transform

Lecture 9: Hough Transform and Thresholding base Segmentation

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

Lecture 8: Fitting. Tuesday, Sept 25

Lecture 4: Finding lines: from detection to model fitting

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

Fitting: The Hough transform

Fitting: The Hough transform

Fitting: The Hough transform

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

Straight Lines and Hough

Model Fitting: The Hough transform I

Prof. Kristen Grauman

HOUGH TRANSFORM CS 6350 C V

Fitting. Choose a parametric object/some objects to represent a set of tokens Most interesting case is when criterion is not local

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

Edge Detection. EE/CSE 576 Linda Shapiro

Model Fitting: The Hough transform II

EECS 442 Computer vision. Fitting methods

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

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

Hough Transform and RANSAC

Elaborazione delle Immagini Informazione Multimediale. Raffaella Lanzarotti

Lecture 15: Segmentation (Edge Based, Hough Transform)

Fitting D.A. Forsyth, CS 543

Computer Vision Lecture 6

Computer Vision 6 Segmentation by Fitting

Lecture: RANSAC and feature detectors

Feature Matching and Robust Fitting

Fitting: Voting and the Hough Transform

Other Linear Filters CS 211A

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

Lecture 9 Fitting and Matching

Feature Detectors and Descriptors: Corners, Lines, etc.

Lecture 8 Fitting and Matching

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

Computer Vision Lecture 6

CPSC 425: Computer Vision

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

Generalized Hough Transform, line fitting

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

INFO0948 Fitting and Shape Matching

Segmentation (Part 2)

CS 664 Image Matching and Robust Fitting. Daniel Huttenlocher

Announcements. Segmentation (Part 2) Image Segmentation. From images to objects. Image histograms. What do histograms look like?

Template Matching Rigid Motion

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

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

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

6.801/866. Segmentation and Line Fitting. T. Darrell

RANSAC and some HOUGH transform

Edge and corner detection

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

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

Part-based and local feature models for generic object recognition

Template Matching Rigid Motion. Find transformation to align two images. Focus on geometric features

Instance-level recognition

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

Instance-level recognition

Why is computer vision difficult?

CS 558: Computer Vision 4 th Set of Notes

CAP 5415 Computer Vision Fall 2012

Model Fitting. Introduction to Computer Vision CSE 152 Lecture 11

OBJECT detection in general has many applications

Image warping and stitching

Pattern recognition systems Lab 3 Hough Transform for line detection

CS5670: Computer Vision

Segmentation and Grouping April 19 th, 2018

Image warping and stitching

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

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

EE795: Computer Vision and Intelligent Systems

Image warping and stitching

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58

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

E0005E - Industrial Image Analysis

From Szymon Rusinkiewicz, Princeton

Outline. Segmentation & Grouping. Examples of grouping in vision. Grouping in vision. Grouping in vision 2/9/2011. CS 376 Lecture 7 Segmentation 1

Perception IV: Place Recognition, Line Extraction

Segmentation (continued)

Beyond Bags of Features

Edge detection. Gradient-based edge operators

Edge Detection CSC 767

Instance-level recognition II.

Segmentation I: Edges and Lines

The goals of segmentation

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

Segmentation and Grouping April 21 st, 2015

Feature Matching + Indexing and Retrieval

Instance-level recognition part 2

Segmentation & Grouping Kristen Grauman UT Austin. Announcements

Image Analysis. Edge Detection

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

Feature Tracking and Optical Flow

CPSC 425: Computer Vision

CS231A Midterm Review. Friday 5/6/2016

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

Multi-stable Perception. Necker Cube

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Image Processing and Computer Vision

Transcription:

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

Fitting We want to associate a model with observed features [Fig from Marszalek & Schmid, 2007] For example, the model could be a line, a circle, or an arbitrary shape. We use a model to produce compact representations that capture the relevant image structures we seek.

Example: Line fitting Why fit lines? Many objects characterized by presence of straight lines

Example: Line fitting Why fit lines? Many objects characterized by presence of straight lines Why aren t we done just by running edge detection?

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?

Voting It is not easy to check all combinations of features by fitting a model to each possible subset (but see later RANSAC) Voting is a general technique where we let the features vote for all models that are compatible with them Cycle through features, cast votes for model parameters. Look for model parameters that receive a lot of votes. Noise and clutter features will cast votes too, but typically their votes should be inconsistent with the majority of good features. Hence they will have less support. Ok if some features not observed, as model can span multiple fragments. The voting process is distributed (each individual feature casts a vote for a possible model, so they can work independently)

Hough transform algorithm Using the polar parameterization: x cos y sin H: accumulator array (votes) Basic Hough transform algorithm 1. Initialize H[, ]=0 2. for each edge point I[x,y] in the image for = 0 to 180 // some quantization x cos H[, ] += 1 y sin 3. Find the value(s) of (, ) where H[, ] is maximum 4. The detected line in the image is given by x cos y sin Complexity (in terms of number of votes)? Source: Steve Seitz

tokens Note that most points in the vote array are very dark, because they get only one vote.

tokens votes What difficulty does this present for an implementation?

tokens votes Here, everything appears to be noise, or random edge points, but we still see peaks in the vote space.

Extensions Extension 1: Use the image gradient 1. same 2. for each edge point I[x,y] in the image = gradient at (x,y) x cos y sin H[, ] += 1 3. same 4. same (Reduces degrees of freedom) Extension 2 give more votes for stronger edges 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

Extensions Extension 1: Use the image gradient 1. same 2. for each edge point I[x,y] in the image compute unique (, ) based on image gradient at (x,y) H[, ] += 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 (, ) to give more/less resolution Extension 4 The same procedure can be used with circles, squares, or any other shape

Showing longest segments found

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) To read back which points voted for winning peaks, keep tags on the votes.

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

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.

Example Say we ve already stored a table of displacement vectors as a function of edge orientation for this model shape. model shape Source: L. Lazebnik

Example 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

Example range of voting locations for test point

Example range of voting locations for test point

Example votes for points with θ =

Example displacement vectors for model points

Example range of voting locations for test point

Example votes for points with θ =

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Robustness As we have seen, squared error can be a source of bias in the presence of noise points One fix is EM we ll do this shortly Another is an M estimator Square nearby, threshold far away A third is RANSAC Search for good points Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Too small Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Too large Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

Computer Vision A Modern Approach Set: Fitting Slides by D.A. Forsyth

as the noise increases in a picture without a line, the number of points in the max cell goes up, too