Panorama Stitching and Augmented Reality. Local feature matching with large datasets n Examples: l Identify all panoramas and objects in an image set.

Slides:



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

Distinctive Image Features from Scale-Invariant Keypoints David Lowe.
The fundamental matrix F
For Internal Use Only. © CT T IN EM. All rights reserved. 3D Reconstruction Using Aerial Images A Dense Structure from Motion pipeline Ramakrishna Vedantam.
Summary of Friday A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging planes or.
Object Recognition using Invariant Local Features Applications l Mobile robots, driver assistance l Cell phone location or object recognition l Panoramas,
Low Complexity Keypoint Recognition and Pose Estimation Vincent Lepetit.
Multiple View Reconstruction Class 24 Multiple View Geometry Comp Marc Pollefeys.
Photo Stitching Panoramas from Multiple Images Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/28/12.
Image alignment Image from
IBBT – Ugent – Telin – IPI Dimitri Van Cauwelaert A study of the 2D - SIFT algorithm Dimitri Van Cauwelaert.
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Fast High-Dimensional Feature Matching for Object Recognition David Lowe Computer Science Department University of British Columbia.
CPSC 425: Computer Vision (Jan-April 2007) David Lowe Prerequisites: 4 th year ability in CPSC Math 200 (Calculus III) Math 221 (Matrix Algebra: linear.
Structure from motion.
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Recognising Panoramas
SIFT Guest Lecture by Jiwon Kim
Structure from motion. Multiple-view geometry questions Scene geometry (structure): Given 2D point matches in two or more images, where are the corresponding.
Automatic Panoramic Image Stitching using Local Features Matthew Brown and David Lowe, University of British Columbia.
Distinctive Image Feature from Scale-Invariant KeyPoints
Lecture 11: Structure from motion CS6670: Computer Vision Noah Snavely.
Computer Vision A Hand-Held “Scanner” for Large-Format Images COMP 256 Adrian Ilie Steps Towards.
Image Stitching and Panoramas
Automatic Image Stitching using Invariant Features Matthew Brown and David Lowe, University of British Columbia.
Fitting a Model to Data Reading: 15.1,
NIPS 2003 Tutorial Real-time Object Recognition using Invariant Local Image Features David Lowe Computer Science Department University of British Columbia.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
CSE473/573 – Stereo Correspondence
Sebastian Thrun CS223B Computer Vision, Winter Stanford CS223B Computer Vision, Winter 2005 Lecture 3 Advanced Features Sebastian Thrun, Stanford.
Global Alignment and Structure from Motion Computer Vision CSE455, Winter 2008 Noah Snavely.
FLANN Fast Library for Approximate Nearest Neighbors
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.
Matthew Brown University of British Columbia (prev.) Microsoft Research [ Collaborators: † Simon Winder, *Gang Hua, † Rick Szeliski † =MS Research, *=MS.
WP3 - 3D reprojection Goal: reproject 2D ball positions from both cameras into 3D space Inputs: – 2D ball positions estimated by WP2 – 2D table positions.
Internet-scale Imagery for Graphics and Vision James Hays cs195g Computational Photography Brown University, Spring 2010.
Object Tracking/Recognition using Invariant Local Features Applications l Mobile robots, driver assistance l Cell phone location or object recognition.
Image Stitching Shangliang Jiang Kate Harrison. What is image stitching?
Example: line fitting. n=2 Model fitting Measure distances.
Computer Science Department Pacific University Artificial Intelligence -- Computer Vision.
CVPR 2003 Tutorial Recognition and Matching Based on Local Invariant Features David Lowe Computer Science Department University of British Columbia.
stereo Outline : Remind class of 3d geometry Introduction
Mosaics part 3 CSE 455, Winter 2010 February 12, 2010.
Photo VR Editor: A Panoramic and Spherical Environment Map Authoring Tool for Image-Based VR Browsers Jyh-Kuen Horng, Ming Ouhyoung Communications and.
Lecture 9 Feature Extraction and Motion Estimation Slides by: Michael Black Clark F. Olson Jean Ponce.
776 Computer Vision Jan-Michael Frahm Spring 2012.
Recognizing specific objects Matching with SIFT Original suggestion Lowe, 1999,2004.
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching.
Correspondence and Stereopsis. Introduction Disparity – Informally: difference between two pictures – Allows us to gain a strong sense of depth Stereopsis.
SIFT.
Image Stitching II Linda Shapiro EE/CSE 576.
SIFT Scale-Invariant Feature Transform David Lowe
Nearest-neighbor matching to feature database
RANSAC and mosaic wrap-up
Modeling the world with photos
Image Stitching Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi.
Nearest-neighbor matching to feature database
SIFT Demo Heather Dunlop March 20, 2006.
Idea: projecting images onto a common plane
Image Stitching II Linda Shapiro EE/CSE 576.
Image Stitching II Linda Shapiro CSE 455.
Feature Matching and RANSAC
Noah Snavely.
SIFT.
Announcements Project 1 artifact voting Project 2 out today
Image Stitching II Linda Shapiro EE/CSE 576.
Automatic Panoramic Image Stitching using Invariant Features
Lecture 15: Structure from motion
Image Stitching II Linda Shapiro ECE P 596.
Presentation transcript:

Panorama Stitching and Augmented Reality

Local feature matching with large datasets n Examples: l Identify all panoramas and objects in an image set l Identify all products in a supermarket l Identify any location for robot localization or augmented reality

Matching in large unordered datasets

Nearest-neighbor matching Solve following problem for all feature vectors, x : n Nearest-neighbour matching is the major computational bottleneck l Linear search performs dn 2 operations for n features and d dimensions l No exact methods are faster than linear search for d>10 l Approximate methods can be much faster, but at the cost of missing some correct matches. Failure rate gets worse for large datasets.

l5l5 l1l1 l9l9 l6l6 l3l3 l 10 l7l7 l4l4 l8l8 l2l2 l1l1 l8l8 1 l2l2 l3l3 l4l4 l5l5 l7l7 l6l6 l9l Slide credit: Anna Atramentov K-d tree construction Simple 2D example

l5l5 l1l1 l9l9 l6l6 l3l3 l 10 l7l7 l4l4 l8l8 l2l2 l1l1 l8l8 1 l2l2 l3l3 l4l4 l5l5 l7l7 l6l6 l9l q K-d tree query Slide credit: Anna Atramentov

Approximate k-d tree matching Key idea: n Search k-d tree bins in order of distance from query n Requires use of a priority queue

Fraction of nearest neighbors found n 100,000 uniform points in 12 dimensions. Results: n Speedup by several orders of magnitude over linear search

Panorama stitching (with Matthew Brown)

Bundle Adjustment n New images initialised with rotation, focal length of best matching image

Bundle Adjustment n New images initialised with rotation, focal length of best matching image

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

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

Multi-band Blending Linear blendingMulti-band blending

Automatic Straightening

Heuristic: user does not twist camera relative to horizon Up-vector perpendicular to plane of camera x vectors

Automatic Straightening

Gain Compensation No gain compensation

Gain Compensation Gain compensation –Single gain parameter g i for each image

n Free working demo available: Autostitch n Commercial products: Serif, Kolor, others coming n Show in Java applet: Browser demoBrowser demo Panoramas from handheld consumer cameras

Autostitch usage in n Over 20,000 panoramas posted by users of free Autostitch demo

Public images from Flickr Surprise: Many users want borders to be visible

27 Applications: – Film production (already in use) – Heads-up display for cars – Tourism – Medicine, architecture, training What is needed: – Recognition of scene – Accurate sub-pixel 3-D pose – Real-time, low latency Augmented Reality

Augmented Reality (David Lowe & Iryna Gordon) n Solve for 3D structure from multiple images n Recognize scenes and insert 3D objects Shows one of 20 images taken with handheld camera

29 System overview

30 Bundle adjustment: an example 20 input images 0 iterations: error = 62.5 pixels 10 iterations: error = 4.2 pixels 20 iterations: error = 1.7 pixels50 iterations: error = 0.2 pixels

31 Incremental model construction Problems: – computation time increases with the number of unknown parameters – trouble converging if the cameras are too far apart (> 90 degrees) Solutions: – select a subset of about 4 images to construct an initial model – incrementally update the model by resectioning and triangulation – images processed in order determined by the spanning tree

3D Structure and Virtual Object Placement n Solve for cameras and 3D points: l Uses bundle adjustment (solution for camera parameters and 3D point locations) l Initialize all cameras at the same location and points at the same depths l Solve depth-reversal ambiguity by trying both options n Insert object into scene: Set location in one image, move along epipolar in other, adjust orientation

Augmentation Example The virtual object is rendered with OpenGL, using the computed camera parameters.