Lecture: RANSAC and feature detectors

Similar documents
Lecture 6: Finding Features (part 1/2)

Local invariant features

Computer Vision for HCI. Topics of This Lecture

Local features: detection and description. Local invariant features

Automatic Image Alignment (feature-based)

CS5670: Computer Vision

Prof. Feng Liu. Spring /26/2017

Wikipedia - Mysid

Feature Based Registration - Image Alignment

Local features and image matching. Prof. Xin Yang HUST

Image matching. Announcements. Harder case. Even harder case. Project 1 Out today Help session at the end of class. by Diva Sian.

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

Image Features. Work on project 1. All is Vanity, by C. Allan Gilbert,

Automatic Image Alignment

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

Local Features: Detection, Description & Matching

Motion Estimation and Optical Flow Tracking

Multi-modal Registration of Visual Data. Massimiliano Corsini Visual Computing Lab, ISTI - CNR - Italy

Lecture 4: Finding lines: from detection to model fitting

CS 558: Computer Vision 4 th Set of Notes

Local features: detection and description May 12 th, 2015

Automatic Image Alignment

Midterm Wed. Local features: detection and description. Today. Last time. Local features: main components. Goal: interest operator repeatability

Lecture 10 Detectors and descriptors

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

A NEW FEATURE BASED IMAGE REGISTRATION ALGORITHM INTRODUCTION

Edge and corner detection

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

Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town

Object Recognition with Invariant Features

Lecture 9: Hough Transform and Thresholding base Segmentation

Local Image preprocessing (cont d)

Feature Matching and Robust Fitting

Evaluation and comparison of interest points/regions

Motion illusion, rotating snakes

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

School of Computing University of Utah

Finding 2D Shapes and the Hough Transform

Local features and image matching May 8 th, 2018

AK Computer Vision Feature Point Detectors and Descriptors

CS 556: Computer Vision. Lecture 3

Feature Detection and Matching

Local Image Features

Feature Detectors and Descriptors: Corners, Lines, etc.

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Instance-level recognition

Local Image Features

Instance-level recognition part 2

Prof. Kristen Grauman

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

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

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

Local Feature Detectors

Stitching and Blending

Patch Descriptors. EE/CSE 576 Linda Shapiro

CS 1674: Intro to Computer Vision. Midterm Review. Prof. Adriana Kovashka University of Pittsburgh October 10, 2016

Bias-Variance Trade-off (cont d) + Image Representations

Instance-level recognition

Patch-based Object Recognition. Basic Idea

Local Image Features

The SIFT (Scale Invariant Feature

Instance-level recognition II.

Feature Detection. Raul Queiroz Feitosa. 3/30/2017 Feature Detection 1

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

Building a Panorama. Matching features. Matching with Features. How do we build a panorama? Computational Photography, 6.882

Problems with template matching

Hough Transform and RANSAC

CS 556: Computer Vision. Lecture 3

Image warping and stitching

Model Fitting. Introduction to Computer Vision CSE 152 Lecture 11

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

Lecture: k-means & mean-shift clustering

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Lecture: k-means & mean-shift clustering

Image warping and stitching

A Comparison of SIFT, PCA-SIFT and SURF

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

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

Lecture 8 Fitting and Matching

Patch Descriptors. CSE 455 Linda Shapiro

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Outline 7/2/201011/6/

CAP 5415 Computer Vision Fall 2012

EECS 442 Computer vision. Fitting methods

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

Computer Vision I - Filtering and Feature detection

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

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

Implementation and Comparison of Feature Detection Methods in Image Mosaicing

Model Fitting, RANSAC. Jana Kosecka

Digital Image Processing (CS/ECE 545) Lecture 5: Edge Detection (Part 2) & Corner Detection

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

Image correspondences and structure from motion

Vision and Image Processing Lab., CRV Tutorial day- May 30, 2010 Ottawa, Canada

Photo by Carl Warner

Feature Matching and RANSAC

Anno accademico 2006/2007. Davide Migliore

Low-level Vision Processing Algorithms Speaker: Ito, Dang Supporter: Ishii, Toyama and Y. Murakami

DETECTORS AND DESCRIPTORS FOR PHOTOGRAMMETRIC APPLICATIONS

Transcription:

Lecture: RANSAC and feature detectors Juan Carlos Niebles and Ranjay Krishna Stanford Vision and Learning Lab 1

What we will learn today? A model fitting method for edge detection RANSAC Local invariant features Motivation Requirements, invariances Keypoint localization Harris corner detector 2

What we will learn today A model fitting method for line detection RANSAC Local invariant features Motivation Requirements, invariances Keypoint localization Harris corner detector 3

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 4

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 5

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 6

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 7

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 8

RANSAC [Fischler & Bolles 1981] 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 9

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

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

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

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

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 14

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

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

17

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: n w 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 18

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 19

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 20

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) A voting strategy, The Hough transform, can handle high percentage of outliers 21

What we will learn today? A model fitting method for edge detection RANSAC Local invariant features Motivation Requirements, invariances Keypoint localization Harris corner detector Some background reading: Rick Szeliski, Chapter 4.1.1; David Lowe, IJCV 2004 22

Image matching: a challenging problem 23

Image matching: a challenging problem by Diva Sian by swashford Slide credit: Steve Seitz 24

Harder Case by Diva Sian by scgbt Slide credit: Steve Seitz 25

Harder Still? NASA Mars Rover images Slide credit: Steve Seitz 26

Answer Below (Look for tiny colored squares) NASA Mars Rover images with SIFT feature matches (Figure by Noah Snavely) Slide credit: Steve Seitz 27

Motivation for using local features Global representations have major limitations Instead, describe and match only local regions Increased robustness to Occlusions Articulation d d q Intra-category variations θ φ θ q φ 28

General Approach 1. Find a set of distinctive keypoints A 1 A 2 A 3 2. Define a region around each keypoint 3. Extract and normalize the region content N pixels N pixels f A e.g. color Similarity measure d( f A, fb) < T f B e.g. color 4. Compute a local descriptor from the normalized region 5. Match local descriptors Slide credit: Bastian Leibe 29

Problem 1: Common Requirements Detect the same point independently in both images No chance to match! We need a repeatable detector! Slide credit: Darya Frolova, Denis Simakov 30

Problem 1: Common Requirements Detect the same point independently in both images Problem 2: For each point correctly recognize the corresponding one? We need a reliable and distinctive descriptor! Slide credit: Darya Frolova, Denis Simakov 31

Invariance: Geometric Transformations Slide credit: Steve Seitz 32

Levels of Geometric Invariance CS131 CS231a Slide credit: Bastian Leibe 33

Invariance: Photometric Transformations Often modeled as a linear transformation: Scaling + Offset Slide credit: Tinne Tuytelaars 34

Requirements Region extraction needs to be repeatable and accurate Invariant to translation, rotation, scale changes Robust orcovariant to out-of-plane (»affine) transformations Robust to lighting variations, noise, blur, quantization Locality: Features are local, therefore robust to occlusion and clutter. Quantity: We need a sufficient number of regions to cover the object. Distinctiveness: The regions should contain interesting structure. Efficiency: Close to real-time performance. Slide credit: Bastian Leibe 35

Many Existing Detectors Available Hessian & Harris [Beaudet 78], [Harris 88] Laplacian, DoG [Lindeberg 98], [Lowe 99] Harris-/Hessian-Laplace [Mikolajczyk & Schmid 01] Harris-/Hessian-Affine [Mikolajczyk & Schmid 04] EBR and IBR [Tuytelaars & Van Gool 04] MSER [Matas 02] Salient Regions [Kadir & Brady 01] Others Those detectors have become a basic building block for many recent applications in Computer Vision. Slide credit: Bastian Leibe 36

What we will learn today? A model fitting method for edge detection RANSAC Local invariant features Motivation Requirements, invariances Keypoint localization Harris corner detector Some background reading: Rick Szeliski, Chapter 4.1.1; David Lowe, IJCV 2004 37

Keypoint Localization Goals: Repeatable detection Precise localization Interesting content Þ Look for two-dimensional signal changes Slide credit: Bastian Leibe 38

Finding Corners Key property: In the region around a corner, image gradient has two or more dominant directions Corners are repeatable and distinctive C.Harris and M.Stephens. "A Combined Corner and Edge Detector. Proceedings of the 4th Alvey Vision Conference, 1988. Slide credit: Svetlana Lazebnik 39

Corners as Distinctive Interest Points Design criteria We should easily recognize the point by looking through a small window (locality) Shifting the window in any direction should give a large change in intensity (good localization) flat region: no change in all directions edge : no change along the edge direction corner : significant change in all directions 40 Slide credit: Alyosha Efros

Corners versus edges Large Large Corner Small Large Edge Small Small Nothing 41

Corners versus edges???? Corner 42

Harris Detector Formulation Change of intensity for the shift [u,v]: E(u,v) = w(x, y) " # I(x + u, y + v) I(x, y) $ % x,y 2 Window function Shifted intensity Intensity Window function w(x,y) = 1 in window, 0 outside or Gaussian Slide credit: Rick Szeliski 43

Harris Detector Formulation Slide credit: Rick Szeliski This measure of change can be approximated by: E ( u, v)» [ u v] éuù ê ú ëvû where M is a 2 2 matrix computed from image derivatives: M M M 2 é Ix IxI ù y = åw(, x y) 2 xy, êëii x y Iy úû Sum over image region the area we are checking for corner Gradient with respect to x, times gradient with respect to y 44

Harris Detector Formulation Slide credit: Rick Szeliski Image I I x where M is a 2 2 matrix computed from image derivatives: M Sum over image region the area we are checking for corner M 2 é Ix IxI ù y = åw(, x y) 2 xy, êëii x y Iy úû I y I x I y Gradient with respect to x, times gradient with respect to y 45

What Does This Matrix Reveal? First, let s consider an axis-aligned corner: M = é ê êë å å I I x 2 x I y å å I I x y 2 I y ù ú úû = él1 ê ë 0 0 ù l ú 2û This means: Dominant gradient directions align with x or y axis If either λ is close to 0, then this is not a corner, so look for locations where both are large. What if we have a corner that is not aligned with the image axes? Slide credit: David Jacobs 46

What Does This Matrix Reveal? First, let s consider an axis-aligned corner: M = é ê êë å å I I x 2 x I y å å I I x y 2 I y ù ú úû = él1 ê ë 0 0 ù l ú 2û This means: Dominant gradient directions align with x or y axis If either λ is close to 0, then this is not a corner, so look for locations where both are large. What if we have a corner that is not aligned with the image axes? Slide credit: David Jacobs 47

General Case Since M is symmetric, we have (Eigenvalue decomposition) él ù = R - 1 0 1 ê úr ë 0 l2 û We can visualize M as an ellipse with axis lengths determined by the eigenvalues and orientation determined by R Direction of the fastest change M (l max ) -1/2 (l min ) -1/2 Direction of the slowest change adapted from Darya Frolova, Denis Simakov 48

Interpreting the Eigenvalues Classification of image points using eigenvalues of M: l 2 Edge l 2 >> l 1 Corner l 1 and l 2 are large, l 1 ~ l 2 ; E increases in all directions Slide credit: Kristen Grauman l 1 and l 2 are small; E is almost constant in all directions Flat region Edge l 1 >> l 2 l 1 49

Corner Response Function θ = det(m ) α trace(m ) 2 = λ 1 λ 2 α(λ 1 + λ 2 ) 2 l 2 Edge θ < 0 Corner θ > 0 Slide credit: Kristen Grauman Fast approximation Avoid computing the eigenvalues α: constant (0.04 to 0.06) Flat region Edge θ < 0 l 1 50

Window Function w(x,y) M Option 1: uniform window Sum over square window Problem: not rotation invariant 2 é Ix IxI ù y = åw(, x y) 2 xy, êëii x y Iy úû 2 é Ix IxI ù y M = å 2 xy, êëii x y Iy úû 1 in window, 0 outside Option 2: Smooth with Gaussian Gaussian already performs weighted sum 2 Ix IxIy M = g( s )*ê é ù 2 êëii x y Iy úû Result is rotation invariant Gaussian Slide credit: Bastian Leibe 51

Summary: Harris Detector [Harris88] Compute second moment matrix (autocorrelation matrix) 2 é Ix( sd) IxIy( s ) ù D M( si, sd) = g( si) *ê 2 êëii x y( sd) Iy( sd) úû 2. Square of derivatives 1. Image derivatives I x I x 2 I y 2 I x I y I y Slide credit: Krystian Mikolajczyk 3. Gaussian filter g(s I ) 4. Cornerness function two strong eigenvalues θ = det[m (σ I,σ D )] α[trace(m (σ I,σ D ))] 2 = gi ( ) gi ( )-[ gii ( )] - a[ gi ( ) + gi ( )] 2 2 2 2 2 2 x y x y x y 5. Perform non-maximum suppression g(i x2 ) g(i y2 ) g(i x I y ) 52 R

Harris Detector: Workflow Slide adapted from Darya Frolova, Denis Simakov 53

Harris Detector: Workflow - computer corner responses θ Slide adapted from Darya Frolova, Denis Simakov 54

Harris Detector: Workflow - Take only the local maxima of θ, where θ>threshold Slide adapted from Darya Frolova, Denis Simakov 55

Harris Detector: Workflow - Resulting Harris points Slide adapted from Darya Frolova, Denis Simakov 56

Harris Detector Responses [Harris88] Effect: A very precise corner detector. Slide credit: Krystian Mikolajczyk 57

Harris Detector Responses [Harris88] Slide credit: Krystian Mikolajczyk 58

Harris Detector Responses [Harris88] Results are well suited for finding stereo correspondences Slide credit: Kristen Grauman 59

Harris Detector: Properties Translation invariance? Slide credit: Kristen Grauman 60

Harris Detector: Properties Translation invariance Rotation invariance? Ellipse rotates but its shape (i.e. eigenvalues) remains the same Corner response θ is invariant to image rotation Slide credit: Kristen Grauman 61

Harris Detector: Properties Translation invariance Rotation invariance Scale invariance? Corner Not invariant to image scale! All points will be classified as edges! Slide credit: Kristen Grauman 62

What we are learned today? A model fitting method for edge detection RANSAC Local invariant features Motivation Requirements, invariances Keypoint localization Harris corner detector 63