Example: line fitting. n=2 Model fitting Measure distances.

Slides:



Advertisements
Similar presentations
Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.
Advertisements

Summary of Friday A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging planes or.
MASKS © 2004 Invitation to 3D vision Lecture 7 Step-by-Step Model Buidling.
Object Recognition using Invariant Local Features Applications l Mobile robots, driver assistance l Cell phone location or object recognition l Panoramas,
Chapter 6 Feature-based alignment Advanced Computer Vision.
Image alignment Image from
776 Computer Vision Jared Heinly Spring 2014 (slides borrowed from Jan-Michael Frahm, Svetlana Lazebnik, and others)
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Robust and large-scale alignment Image from
Mosaics con’t CSE 455, Winter 2010 February 10, 2010.
Multiple View Geometry
Recognising Panoramas
Fitting. We’ve learned how to detect edges, corners, blobs. Now what? We would like to form a higher-level, more compact representation of the features.
Automatic Panoramic Image Stitching using Local Features Matthew Brown and David Lowe, University of British Columbia.
Lecture 11: Structure from motion CS6670: Computer Vision Noah Snavely.
Lecture 10: Cameras CS4670: Computer Vision Noah Snavely Source: S. Lazebnik.
Triangulation and Multi-View Geometry Class 9 Read notes Section 3.3, , 5.1 (if interested, read Triggs’s paper on MVG using tensor notation, see.
Fitting a Model to Data Reading: 15.1,
CS664 Lecture #19: Layers, RANSAC, panoramas, epipolar geometry Some material taken from:  David Lowe, UBC  Jiri Matas, CMP Prague
Lecture 8: Image Alignment and RANSAC
Multiple View Reconstruction Class 23 Multiple View Geometry Comp Marc Pollefeys.
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2006 with a lot of slides stolen from Steve Seitz and.
Lecture 10: Robust fitting CS4670: Computer Vision Noah Snavely.
1Jana Kosecka, CS 223b EM and RANSAC EM and RANSAC.
Sebastian Thrun CS223B Computer Vision, Winter Stanford CS223B Computer Vision, Winter 2005 Lecture 3 Advanced Features Sebastian Thrun, Stanford.
Lecture 6: Feature matching and alignment CS4670: Computer Vision Noah Snavely.
Summary of Previous Lecture A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging.
Feature Matching and RANSAC : Computational Photography Alexei Efros, CMU, Fall 2005 with a lot of slides stolen from Steve Seitz and Rick Szeliski.
Robust fitting Prof. Noah Snavely CS1114
Image Stitching Ali Farhadi CSE 455
CSE 185 Introduction to Computer Vision
Chapter 6 Feature-based alignment Advanced Computer Vision.
Advanced Computer Vision Feature-based Alignment Lecturer: Lu Yi & Prof. Fuh CSIE NTU.
Image Stitching Shangliang Jiang Kate Harrison. What is image stitching?
Lecture 4: Feature matching CS4670 / 5670: Computer Vision Noah Snavely.
Image stitching Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac.
CSCE 643 Computer Vision: Structure from Motion
18 th August 2006 International Conference on Pattern Recognition 2006 Epipolar Geometry from Two Correspondences Michal Perďoch, Jiří Matas, Ondřej Chum.
EECS 274 Computer Vision Model Fitting. Fitting Choose a parametric object/some objects to represent a set of points Three main questions: –what object.
Lecture 8: Feature matching CS6670: Computer Vision Noah Snavely.
Fitting image transformations Prof. Noah Snavely CS1114
Automatic Image Alignment : Computational Photography Alexei Efros, CMU, Fall 2011 with a lot of slides stolen from Steve Seitz and Rick Szeliski.
Last Two Lectures Panoramic Image Stitching
776 Computer Vision Jan-Michael Frahm Spring 2012.
Robust Estimation Course web page: vision.cis.udel.edu/~cv April 23, 2003  Lecture 25.
Fitting.
Summary of Monday A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging planes or.
Lecture 22: Structure from motion CS6670: Computer Vision Noah Snavely.
COS 429 PS3: Stitching a Panorama Due November 10 th.
Lecture 14: Feature matching and Transforms CS4670/5670: Computer Vision Kavita Bala.
Invariant Local Features Image content is transformed into local feature coordinates that are invariant to translation, rotation, scale, and other imaging.
776 Computer Vision Jan-Michael Frahm Spring 2012.
Fitting a transformation: feature-based alignment
Nearest-neighbor matching to feature database
Lecture 7: Image alignment
RANSAC and mosaic wrap-up
A special case of calibration
Image Stitching Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi.
Features Readings All is Vanity, by C. Allan Gilbert,
Nearest-neighbor matching to feature database
Feature Matching and RANSAC
Computational Photography
Calibration and homographies
Back to equations of geometric transformations
Lecture 15: Structure from motion
CS5760: Computer Vision Lecture 9: RANSAC Noah Snavely
Parameter estimation class 6
CS5760: Computer Vision Lecture 9: RANSAC Noah Snavely
Image Stitching Linda Shapiro ECE/CSE 576.
Image Stitching Linda Shapiro ECE P 596.
Presentation transcript:

Example: line fitting

n=2

Model fitting

Measure distances

Count inliers c=3

Another trial c=3

The best model c=15

RANSAC

RANSAC for estimating homography RANSAC loop: 1.Select four feature pairs (at random) 2.Compute homography H (exact) 3.Compute inliers where SSD(p i ’, H p i )< ε 4.Record the largest set of inliers so far 5.Re-compute least-squares H estimate on the largest set of the inliers

RANSAC in general RANSAC = Random Sample Consensus an algorithm for robust fitting of models in the presence of many data outliers Compare to robust statistics Given N data points x i, assume that mjority of them are generated from a model with parameters , try to recover .

RANSAC algorithm Run k times: (1) draw n samples randomly (2) fit parameters  with these n samples (3) for each of other N-n points, calculate its distance to the fitted model, count the number of inlier points, c Output  with the largest c How many times? How big? Smaller is better How to define? Depends on the problem.

How to determine k n: number of samples drawn each iteration p : probability of real inliers P : probability of at least 1 success after k trials n samples are all inliers a failure failure after k trials npk for P=0.99

Applications

Automatic image stitching

Correspondence Results Chum & Matas 2005

Object Recognition Results Brown & Lowe 2005

Object Recognition Results Nister & Stewenius 2006

Object Classification Results Grauman & Darrell 2006, Dorko & Schmid 2004

Geometry Estimation Results Snavely, Seitz, & Szeliski 2006

Object Tracking Results Gordon & Lowe 2005

Robotics: Sony Aibo SIFT is used for  Recognizing charging station  Communicating with visual cards  Teaching object recognition  soccer

Image Alignment Feature Detection and Matching Cylinder: Translation 2 DoF Plane: Homography 8 DoF

Plane perspective mosaics –8-parameter generalization of affine motion works for pure rotation or planar surfaces –Limitations: local minima slow convergence

Revisit Homography x (X c,Y c,Z c ) xcxc f

Estimate f from H? x (X c,Y c,Z c ) xcxc f H {

The drifting problem Error accumulation –small errors accumulate over time

Bundle Adjustment Associate each image i with Each image i has features Trying to minimize total matching residuals

Rotations How do we represent rotation matrices? 1.Axis / angle (n,θ) R = I + sinθ [n]  + (1- cosθ) [n]  2 (Rodriguez Formula), with [n]  be the cross product matrix.

Incremental rotation update 1.Small angle approximation ΔR = I + sinθ [n]  + (1- cosθ) [n]  2 ≈ I +θ [n]  = I+[ω]  linear in ω= θn 2.Update original R matrix R ← R ΔR

Recognizing Panoramas [Brown & Lowe, ICCV’03]

Finding the panoramas

Algorithm overview

Finding the panoramas

Algorithm overview

Get you own copy! [Brown & Lowe, ICCV 2003] [Brown, Szeliski, Winder, CVPR’05]

How well does this work? Test on 100s of examples…

How well does this work? Test on 100s of examples… …still too many failures (5-10%) for consumer application

Matching Mistakes: False Positive

Matching Mistakes: False Negative Moving objects: large areas of disagreement

Matching Mistakes Accidental alignment –repeated / similar regions Failed alignments –moving objects / parallax –low overlap –“feature-less” regions No 100% reliable algorithm?

How can we fix these? Tune the feature detector Tune the feature matcher (cost metric) Tune the RANSAC stage (motion model) Tune the verification stage Use “higher-level” knowledge –e.g., typical camera motions Need a large training/test data set (panoramas)