Title: Automatic Image Stitching using Invariant Features
1Automatic Image Stitching using Invariant Features
- Matthew Brown and David Lowe,
- University of British Columbia
2Introduction
- Are you getting the whole picture?
- Compact Camera FOV 50 x 35
3Introduction
- Are you getting the whole picture?
- Compact Camera FOV 50 x 35
- Human FOV 200 x 135
4Introduction
- Are you getting the whole picture?
- Compact Camera FOV 50 x 35
- Human FOV 200 x 135
- Panoramic Mosaic 360 x 180
5Recognising Panoramas
6Recognising Panoramas
- 1D Rotations (q)
- Ordering ? matching images
7Recognising Panoramas
- 1D Rotations (q)
- Ordering ? matching images
8Recognising Panoramas
- 1D Rotations (q)
- Ordering ? matching images
9Recognising Panoramas
- 1D Rotations (q)
- Ordering ? matching images
10Recognising Panoramas
- 1D Rotations (q)
- Ordering ? matching images
11Recognising Panoramas
- 1D Rotations (q)
- Ordering ? matching images
12Recognising Panoramas
13Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
14Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
15Overview
- Feature Matching
- SIFT Features
- Nearest Neighbour Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
16Overview
- Feature Matching
- SIFT Features
- Nearest Neighbour Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
17Invariant 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
18SIFT Features
- Invariant Features
- Establish invariant frame
- Maxima/minima of scale-space DOG ? x, y, s
- Maximum of distribution of local gradients ? q
- 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
19Overview
- Feature Matching
- SIFT Features
- Nearest Neighbour Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
20Nearest Neighbour Matching
- Nearest neighbour matching
- 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(n log
n) - Find k-NN for each feature
- k ? number of overlapping images (we use k 4)
Beis Lowe 1997, Nene Nayar 1997, Gray Moore
2000, Shakhnarovich 2003
21K-d tree
22K-d tree
23Overview
- Feature Matching
- SIFT Features
- Nearest Neighbour Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
24Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
25Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
26Overview
- Feature Matching
- Image Matching
- RANSAC for Homography
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
27Overview
- Feature Matching
- Image Matching
- RANSAC for Homography
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
28RANSAC for Homography
29RANSAC for Homography
30RANSAC for Homography
31RANSAC 1D Line Fitting
32RANSAC 1D Line Fitting
33RANSAC 1D Line Fitting
34The RANSAC Algorithm
function H RANSAC(points, nIterations) bestIn
liers 0 bestH zeros(3, 3) for (i 0 i
lt nIterations i) samplePoints
RandomSample(points) H ComputeTransform(sampl
ePoints) nInliers Consistent(H) if
(nInliers gt bestInliers) bestInliers
nInliers bestH H // end if // end
for // end RANSAC
352D Transforms
- Linear (affine)
- Homography
36Finding the panoramas
37Finding the panoramas
38Finding the panoramas
39Finding the panoramas
40Connected Components
41Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
42Bundle Adjustment
- Adjust rotation, focal length of each image to
minimise error in matched features
43Bundle Adjustment
- Adjust rotation, focal length of each image to
minimise error in matched features
44Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
45Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
46Multi-band Blending
- Burt Adelson 1983
- Blend frequency bands over range ? l
472-band Blending
Low frequency (l gt 2 pixels)
High frequency (l lt 2 pixels)
48Linear Blending
492-band Blending
50(No Transcript)
51(No Transcript)
52Multi-band Blending
53Multi-band Blending
- Linear blending
- Each pixel is a weighted sum
54Multi-band Blending
- Multi-band blending
- Each pixel is a weighted sum (for each band)
55Multi-band Blending
56Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
57Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
58Results
59Results
60Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
61Overview
- Feature Matching
- Image Matching
- Bundle Adjustment
- Multi-band Blending
- Results
- Conclusions
62Conclusions
- 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. PhotoTourism.
http//www.autostitch.net