Panorama Stitching and Augmented Reality Local feature matching - - PowerPoint PPT Presentation

panorama stitching and augmented reality local feature
SMART_READER_LITE
LIVE PREVIEW

Panorama Stitching and Augmented Reality Local feature matching - - PowerPoint PPT Presentation

Panorama Stitching and Augmented Reality Local feature matching with large datasets Examples: Identify all panoramas and objects in an image set Identify all products in a supermarket Identify any location for robot


slide-1
SLIDE 1

Panorama Stitching and Augmented Reality

slide-2
SLIDE 2

Local feature matching with large datasets

Examples: Identify all panoramas and

  • bjects in an image set

Identify all products in a

supermarket

Identify any location for

robot localization or augmented reality

slide-3
SLIDE 3

Matching in large unordered datasets

slide-4
SLIDE 4

Matching in large unordered datasets

slide-5
SLIDE 5

Nearest-neighbor matching

Solve following problem for all feature vectors, x: Nearest-neighbour matching is the major computational

bottleneck

Linear search performs dn2 operations for n features

and d dimensions

No exact methods are faster than linear search for d>10 Approximate methods can be much faster, but at the

cost of missing some correct matches. Failure rate gets worse for large datasets.

slide-6
SLIDE 6

4 7 6 5 1 3 2 9 8 10 11 l5 l1 l9 l6 l3 l10 l7 l4 l8 l2

l1 l8 1 l2 l3 l4 l5 l7 l6 l9 l10 3 2 5 4 11 9 10 8 6 7

Slide credit: Anna Atramentov

K-d tree construction

Simple 2D example

slide-7
SLIDE 7

4 7 6 5 1 3 2 9 8 10 11 l5 l1 l9 l6 l3 l10 l7 l4 l8 l2

l1 l8 1 l2 l3 l4 l5 l7 l6 l9 l10 3 2 5 4 11 9 10 8 6 7

q

K-d tree query

Slide credit: Anna Atramentov

slide-8
SLIDE 8

Approximate k-d tree matching

Key idea:

Search k-d tree bins in

  • rder of distance from

query

Requires use of a

priority queue

slide-9
SLIDE 9

Fraction of nearest neighbors found

100,000

uniform points in 12 dimensions. Results:

Speedup by

several orders

  • f magnitude
  • ver linear

search

slide-10
SLIDE 10

Panorama stitching (with Matthew Brown)

slide-11
SLIDE 11

Panorama stitching (with Matthew Brown)

slide-12
SLIDE 12

Bundle Adjustment

New images initialised with rotation, focal length

  • f best matching image
slide-13
SLIDE 13

Bundle Adjustment

New images initialised with rotation, focal length

  • f best matching image
slide-14
SLIDE 14

Multi-band Blending

Burt & Adelson 1983

Blend frequency bands over range ∝ λ

slide-15
SLIDE 15

λ λ

2-band Blending

slide-16
SLIDE 16

Multi-band Blending

  • Linear blending
  • Multi-band blending
slide-17
SLIDE 17

Automatic Straightening

slide-18
SLIDE 18

Automatic Straightening

  • Heuristic: user does not twist camera relative to

horizon

  • Up-vector perpendicular to plane of camera x

vectors

slide-19
SLIDE 19

Automatic Straightening

slide-20
SLIDE 20

Gain Compensation

  • No gain compensation
slide-21
SLIDE 21

Gain Compensation

  • Gain compensation

– Single gain parameter gi for each image

slide-22
SLIDE 22

Free working demo available: Autostitch Commercial products: Serif, Kolor, others coming Show in Java applet: Browser demo

Panoramas from handheld consumer cameras

slide-23
SLIDE 23

Autostitch usage in www.flickr.com

  • Over 20,000 panoramas posted by users of free Autostitch demo
slide-24
SLIDE 24

Public images from Flickr

Surprise: Many users want borders to be visible

slide-25
SLIDE 25

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

slide-26
SLIDE 26

Augmented Reality

(David Lowe & Iryna Gordon) Solve for 3D structure from multiple images Recognize scenes and insert 3D objects

Shows one of 20 images taken with handheld camera

slide-27
SLIDE 27

29

System overview

slide-28
SLIDE 28

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 pixels 50 iterations: error = 0.2 pixels

slide-29
SLIDE 29

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

slide-30
SLIDE 30

3D Structure and Virtual Object Placement

Solve for cameras and 3D points:

Uses bundle adjustment (solution for camera

parameters and 3D point locations)

Initialize all cameras at the same location and points at

the same depths

Solve depth-reversal ambiguity by trying both options

Insert object into scene:

Set location in one image, move along epipolar in other, adjust orientation

slide-31
SLIDE 31

Augmentation Example