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

63
Recognising Panoramas M. Brown and D. Lowe, University of British Columbia

Transcript of Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Page 1: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Recognising Panoramas

M. Brown and D. Lowe, University of British Columbia

Page 2: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Introduction

• Are you getting the whole picture?– Compact Camera FOV = 50 x 35°

Page 3: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Introduction

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

Page 4: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Introduction

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

Page 5: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Why “Recognising Panoramas”?

Page 6: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Why “Recognising Panoramas”?

• 1D Rotations ()– Ordering matching images

Page 7: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Why “Recognising Panoramas”?

• 1D Rotations ()– Ordering matching images

Page 8: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Why “Recognising Panoramas”?

• 1D Rotations ()– Ordering matching images

Page 9: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Why “Recognising Panoramas”?

• 2D Rotations (, )– Ordering matching images

• 1D Rotations ()– Ordering matching images

Page 10: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Why “Recognising Panoramas”?

• 1D Rotations ()– Ordering matching images

• 2D Rotations (, )– Ordering matching images

Page 11: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Why “Recognising Panoramas”?

• 1D Rotations ()– Ordering matching images

• 2D Rotations (, )– Ordering matching images

Page 12: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Why “Recognising Panoramas”?

Page 13: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 14: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 15: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching– SIFT Features– Nearest Neighbour Matching

• Image Matching• Bundle Adjustment• Multi-band Blending• Results• Conclusions

Page 16: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching– SIFT Features– Nearest Neighbour Matching

• Image Matching• Bundle Adjustment• Multi-band Blending• Results• Conclusions

Page 17: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Invariant Features

• Schmid & Mohr 1997, Lowe 1999, Baumberg 2000, Tuytelaars & Van Gool 2000, Mikolajczyk & Schmid 2001, Brown & Lowe 2002, Matas et. al. 2002, Schaffalitzky & Zisserman 2002

Page 18: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

SIFT Features

• Invariant Features– Establish invariant frame

• Maxima/minima of scale-space DOG x, y, s• Maximum of distribution of local gradients

– Form descriptor vector• Histogram of smoothed local gradients• 128 dimensions

• SIFT features are…– Geometrically invariant to similarity transforms,

• some robustness to affine change

– Photometrically invariant to affine changes in intensity

Page 19: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching– SIFT Features– Nearest Neighbour Matching

• Image Matching• Bundle Adjustment• Multi-band Blending• Results• Conclusions

Page 20: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

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)

Page 21: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching– SIFT Features– Nearest Neighbour Matching

• Image Matching• Bundle Adjustment• Multi-band Blending• Results• Conclusions

Page 22: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 23: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 24: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching• Image Matching

– RANSAC for Homography– Probabilistic model for verification

• Bundle Adjustment• Multi-band Blending• Results• Conclusions

Page 25: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching• Image Matching

– RANSAC for Homography– Probabilistic model for verification

• Bundle Adjustment• Multi-band Blending• Results• Conclusions

Page 26: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

RANSAC for Homography

Page 27: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

RANSAC for Homography

Page 28: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

RANSAC for Homography

Page 29: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching• Image Matching

– RANSAC for Homography– Probabilistic model for verification

• Bundle Adjustment• Multi-band Blending• Results• Conclusions

Page 30: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Probabilistic model for verification

Page 31: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Probabilistic model for verification

• Compare probability that this set of RANSAC inliers/outliers was generated by a correct/false image match

– ni = #inliers, nf = #features

– p1 = p(inlier | match), p0 = p(inlier | ~match)

– pmin = acceptance probability

• Choosing values for p1, p0 and pmin

Page 32: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Finding the panoramas

Page 33: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Finding the panoramas

Page 34: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Finding the panoramas

Page 35: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Finding the panoramas

Page 36: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching• Image Matching

– RANSAC for Homography– Probabilistic model for verification

• Bundle Adjustment• Multi-band Blending• Results• Conclusions

Page 37: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 38: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 39: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching• Image Matching• Bundle Adjustment

– Error function

• Multi-band Blending• Results• Conclusions

Page 40: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching• Image Matching• Bundle Adjustment

– Error function

• Multi-band Blending• Results• Conclusions

Page 41: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Error function

• Sum of squared projection errors

– n = #images– I(i) = set of image matches to image i– F(i, j) = set of feature matches between images i,j

– rijk = residual of kth feature match between images i,j

• Robust error function

Page 42: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

• Parameterise each camera by rotation and focal length

• This gives pairwise homographies

Homography for Rotation

Page 43: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Bundle Adjustment

• New images initialised with rotation, focal length of best matching image

Page 44: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Bundle Adjustment

• New images initialised with rotation, focal length of best matching image

Page 45: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

• Feature Matching• Image Matching• Bundle Adjustment

– Error function

• Multi-band Blending• Results• Conclusions

Page 46: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 47: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 48: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Multi-band Blending

• Burt & Adelson 1983– Blend frequency bands over range

Page 49: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Low frequency ( > 2 pixels)

High frequency ( < 2 pixels)

2-band Blending

Page 50: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Linear Blending

Page 51: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

2-band Blending

Page 52: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.
Page 53: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.
Page 54: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 55: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 56: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Results

Page 57: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Results

Page 58: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 59: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Overview

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

Page 60: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Conclusions

• Fully automatic panoramas– A recognition problem…

• Invariant feature based method– SIFT features, RANSAC, Bundle Adjustment, Multi-

band Blending– O(nlogn)

• Future Work– Advanced camera modelling

• radial distortion, camera motion, scene motion, vignetting, exposure, high dynamic range, flash …

– Full 3D case – recognising 3D objects/scenes in unordered datasets

http://www.cs.ubc.ca/~mbrown/panorama/panorama.htmlhttp://www.cs.ubc.ca/~mbrown/panorama/panorama.html

Page 61: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Questions?

http://www.cs.ubc.ca/~mbrown/panorama/panorama.htmlhttp://www.cs.ubc.ca/~mbrown/panorama/panorama.html

Page 62: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Analytical computation of derivatives

Page 63: Recognising Panoramas M. Brown and D. Lowe, University of British Columbia.

Levenberg-Marquardt

• Iteration step of form