630 likes | 1.21k Views
Image Stitching. Shangliang Jiang Kate Harrison. What is image stitching?. What is image stitching?. 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°
E N D
Image Stitching Shangliang Jiang Kate Harrison
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°
Recognizing Panoramas • 1D Rotations (q) • Ordering matching images
Recognizing Panoramas • 1D Rotations (q) • Ordering matching images
Recognizing Panoramas • 1D Rotations (q) • Ordering matching images
2D Rotations (q, f) • Ordering matching images Recognizing Panoramas • 1D Rotations (q) • Ordering matching images
2D Rotations (q, f) • Ordering matching images Recognizing Panoramas • 1D Rotations (q) • Ordering matching images
2D Rotations (q, f) • Ordering matching images Recognizing Panoramas • 1D Rotations (q) • Ordering matching images
Overview • Feature Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • SIFT Features • Nearest Neighbor Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
SIFT Features • SIFT features are… • Geometrically invariant to similarity transforms, • some robustness to affine change • Photometrically invariant to affine changes in intensity
Overview • Feature Matching • SIFT Features • Nearest Neighbor Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Nearest Neighbor Matching • Find k nearest neighbors 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 neighbors found in O(nlogn)
Overview • Feature Matching • SIFT Features • Nearest Neighbor Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Random Sample Consensus (RANSAC) for Homography • Probabilistic model for verification • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Random Sample Consensus (RANSAC) for Homography • Probabilistic model for verification • Bundle Adjustment • Image Compositing • Conclusions
RANSAC for Homography • SIFT features of two similar images
RANSAC for Homography • SIFT features common to both images
RANSAC for Homography • Select random subset of features (e.g. 6) • Compute motion estimate • Apply motion estimate to all SIFT features • Compute error: feature pairs not described by motion estimate • Repeat many times (e.g. 500) • Keep estimate with best error
Overview • Feature Matching • Image Matching • Random Sample Consensus (RANSAC) for Homography • Probabilistic model for verification • Bundle Adjustment • Image Compositing • Conclusions
Probabilistic model for verification • Potential problem: • Two images don’t match… • … but RANSAC found a motion estimate • Do a quick check to make sure the images do match • MAP for inliers vs. outliers
Overview • Feature Matching • Image Matching • RANSAC for Homography • Probabilistic model for verification • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Error function • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Error function • Image Compositing • Conclusions
Bundle Adjustment • New images initialised with rotation, focal length of best matching image
Bundle Adjustment • New images initialised with rotation, focal length of best matching image
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
Overview • Feature Matching • Image Matching • Bundle Adjustment • Error function • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
Overview • Feature Matching • Image Matching • Bundle Adjustment • Image Compositing • Conclusions
How do we blend? Linear blending Multi-band blending
Multi-band Blending • Burt & Adelson 1983 • Blend frequency bands over range l