Feature Matching and RANSAC

Similar documents
Automatic Image Alignment (feature-based)

Automatic Image Alignment

Automatic Image Alignment

Homographies and RANSAC

Image Stitching. Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi

Object Recognition with Invariant Features

Image stitching. Announcements. Outline. Image stitching

Image stitching. Digital Visual Effects Yung-Yu Chuang. with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Today s lecture. Image Alignment and Stitching. Readings. Motion models

CSE 527: Introduction to Computer Vision

Image stitching. Digital Visual Effects Yung-Yu Chuang. with slides by Richard Szeliski, Steve Seitz, Matthew Brown and Vaclav Hlavac

Feature Based Registration - Image Alignment

Mosaics. Today s Readings

Image-based Modeling and Rendering: 8. Image Transformation and Panorama

CS6670: Computer Vision

Local features and image matching. Prof. Xin Yang HUST

Image warping and stitching

Image warping and stitching

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

Instance-level recognition

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

Local features: detection and description May 12 th, 2015

Local features: detection and description. Local invariant features

Instance-level recognition

Automatic Image Alignment (direct) with a lot of slides stolen from Steve Seitz and Rick Szeliski

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

E27 Computer Vision - Final Project: Creating Panoramas David Nahmias, Dan Spagnolo, Vincent Stigliani Professor Zucker Due 5/10/13

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

CS4670: Computer Vision

Image correspondences and structure from motion

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

CS5670: Computer Vision

Local Feature Detectors

CSE 252B: Computer Vision II

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

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

Image warping and stitching

Image Warping. Many slides from Alyosha Efros + Steve Seitz. Photo by Sean Carroll

Edge and corner detection

Local features and image matching May 8 th, 2018

Feature Detectors and Descriptors: Corners, Lines, etc.

Prof. Noah Snavely CS Administrivia. A4 due on Friday (please sign up for demo slots)

Multi-Image Matching using Multi-Scale Oriented Patches

Stitching and Blending

EE795: Computer Vision and Intelligent Systems

Local Features: Detection, Description & Matching

CHAPTER 1 INTRODUCTION

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

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

Panoramic Image Stitching

Image Warping and Mosacing

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

Feature Matching and Robust Fitting

Stereo and Epipolar geometry

Local invariant features

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

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

Targil 10 : Why Mosaic? Why is this a challenge? Exposure differences Scene illumination Miss-registration Moving objects

Local Patch Descriptors

Prof. Feng Liu. Spring /26/2017

Patch Descriptors. EE/CSE 576 Linda Shapiro

Photo by Carl Warner

Wikipedia - Mysid

Midterm Examination CS 534: Computational Photography

Instance-level recognition part 2

Invariant Features from Interest Point Groups

Scale Invariant Feature Transform

Combining Appearance and Topology for Wide

Deep Learning: Image Registration. Steven Chen and Ty Nguyen

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

Local Image Features

A Systems View of Large- Scale 3D Reconstruction

Local Image Features

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

Feature Detection and Matching

More Mosaic Madness. CS194: Image Manipulation & Computational Photography. Steve Seitz and Rick Szeliski. Jeffrey Martin (jeffrey-martin.

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

Image processing and features

Automatic Panoramic Image Stitching. Dr. Matthew Brown, University of Bath

A New Representation for Video Inspection. Fabio Viola

Lecture: RANSAC and feature detectors

6.098 Digital and Computational Photography Advanced Computational Photography. Panoramas. Bill Freeman Frédo Durand MIT - EECS

Scale Invariant Feature Transform

CS664 Lecture #16: Image registration, robust statistics, motion

Panoramas. Why Mosaic? Why Mosaic? Mosaics: stitching images together. Why Mosaic? Olivier Gondry. Bill Freeman Frédo Durand MIT - EECS

SURF applied in Panorama Image Stitching

Motion illusion, rotating snakes

The SIFT (Scale Invariant Feature

Motion Estimation and Optical Flow Tracking

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

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

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253

Global Flow Estimation. Lecture 9

Dense 3D Reconstruction. Christiano Gava

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

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

Computer Vision for HCI. Topics of This Lecture

Image Stitching using Harris Feature Detection

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

Implementation of an Image Stitching Algorithm to a Low-Cost Digital Microscope

Transcription:

Feature Matching and RANSAC Recognising Panoramas. [M. Brown and D. Lowe,ICCV 2003] [Brown, Szeliski, Winder, CVPR 2005] with a lot of slides stolen from Steve Seitz, Rick Szeliski, A. Efros

Introduction Are you getting the whole picture? Compact Camera FOV = 50 x 35

Introduction Are you getting the whole picture? Compact Camera FOV = 50 x 35 Human FOV = 200 x 135

Introduction Are you getting the whole picture? Compact Camera FOV = 50 x 35 Human FOV = 200 x 135 Panoramic Mosaic = 360 x 180

Why Recognising Panoramas?

Why Recognising Panoramas? 1D Rotations (q) Ordering matching images

Why Recognising Panoramas? 1D Rotations (q) Ordering matching images

Why Recognising Panoramas? 1D Rotations (q) Ordering matching images

Why Recognising Panoramas? 1D Rotations (q) Ordering matching images 2D Rotations (q, f) Ordering matching images

Why Recognising Panoramas? 1D Rotations (q) Ordering matching images 2D Rotations (q, f) Ordering matching images

Why Recognising Panoramas? 1D Rotations (q) Ordering matching images 2D Rotations (q, f) Ordering matching images

Why Recognising Panoramas?

Overview Feature Matching Image Matching Multi-band Blending Results

Overview Feature Matching Image Matching Multi-band Blending Results

Overview Feature Matching Corner Features Nearest Neighbour Matching Image Matching Multi-band Blending Results

Overview Feature Matching Corner Features Nearest Neighbour Matching Image Matching Bundle Adjustment Multi-band Blending Results Conclusions

Feature descriptors We know how to detect points Next question: How to match them?? Point descriptor should be: 1. Invariant 2. Distinctive

Descriptors Invariant to Rotation Find local orientation Dominant direction of gradient Extract image patches relative to this orientation

Multi-Scale Oriented Patches Interest points Multi-scale Harris corners Orientation from blurred gradient Geometrically invariant to rotation Descriptor vector Bias/gain normalized sampling of local patch (8x8) Photometrically invariant to affine changes in intensity [Brown, Szeliski, Winder, CVPR 2005]

Descriptor Vector Orientation = blurred gradient Rotation Invariant Frame Scale-space position (x, y, s) + orientation (q)

Detections at multiple scales

MOPS descriptor vector 8x8 oriented patch Sampled at 5 x scale Bias/gain normalisation: I = (I )/ 8 pixels

Invariant Features

Feature matching?

Overview Feature Matching corner Features Nearest Neighbour Matching Image Matching Bundle Adjustment Multi-band Blending Results Conclusions

Nearest Neighbour Matching Find k-nn for each feature k number of overlapping images (we use k = 4) Use k-d tree k-d tree recursively bi-partitions data at mean in the dimension of maximum variance Approximate nearest neighbours found in O(nlogn)

What about outliers??

Feature-space outlier rejection Let s not match all features, but only these that have similar enough matches? How can we do it? SSD(patch1,patch2) < threshold How to set threshold?

Feature-space outlier rejection Let s not match all features, but only these that have similar enough matches? How can we do it? SSD(patch1,patch2) < threshold How to set threshold? Too low, miss many good matches Too high, too many false matches

Feature-space outlier rejection A better way [Lowe, 1999]: 1-NN: SSD of the closest match 2-NN: SSD of the second-closest match Look at how much better 1-NN is than 2-NN, e.g. 1-NN/2-NN That is, is our best match so much better than the rest?

Feature-space outliner rejection Can we now compute H from the blue points? No! Still too many outliers What can we do?

Overview Feature Matching Corner Features Nearest Neighbour Matching Image Matching Multi-band Blending Results

Overview Feature Matching Image Matching Multi-band Blending Results

Overview Feature Matching Image Matching Multi-band Blending Results

Overview Feature Matching Image Matching RANSAC for Homography Probabilistic model for verification Multi-band Blending Results

Overview Feature Matching Image Matching RANSAC for Homography Multi-band Blending Results

RANSAC for Homography

RANSAC for Homography

RANSAC for Homography

Matching features What do we do about the bad matches?

RAndom SAmple Consensus Select one match, count inliers

RAndom SAmple Consensus Select one match, count inliers

Least squares fit Find average translation vector

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) < thresh 4. Keep largest set of inliers 5. Re-compute least-squares H estimate on all of the inliers

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) < thresh 4. Keep largest set of inliers 5. Re-compute least-squares H estimate on all of the inliers

Image warping with homographies image plane in front black area where no pixel maps to image plane below

Panoramas Pick one image (red) Warp the other images towards it (usually, one by one) blend

4 point algorithm x = Hx

y x y x = How many independent para? Can we always set h33 = 1?

4 points direct solution For each point x_i, we have Since Satisfies: and

4 points algorithm Rewrite the equation as: 1 point gives two independent equations, H has 8 independent parameters => need 4 points

4 point algorithm A= Compute [v,d] = Eig(A^T A), set h = eigenvector with the smallest eigenvalue

Overview Feature Matching Image Matching RANSAC for Homography Multi-band Blending Results

Finding the panoramas

Finding the panoramas

Finding the panoramas

Finding the panoramas

Multi-band Blending Burt & Adelson 1983 Blend frequency bands over range l

High frequency (l < 2 pixels) 2-band Blending Low frequency (l > 2 pixels)

Linear Blending

2-band Blending

Overview Feature Matching Image Matching Bundle Adjustment Multi-band Blending Results Conclusions

Results