1 / 73

Recognising Panoramas

M. Brown and D. Lowe, University of British Columbia. Recognising Panoramas. 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.

Download Presentation

Recognising Panoramas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. Why “Recognising Panoramas”?

  6. Why “Recognising Panoramas”? • 1D Rotations () • Ordering  matching images

  7. Why “Recognising Panoramas”? • 1D Rotations () • Ordering  matching images

  8. Why “Recognising Panoramas”? • 1D Rotations () • Ordering  matching images

  9. 2D Rotations (, ) • Ordering  matching images Why “Recognising Panoramas”? • 1D Rotations () • Ordering  matching images

  10. 2D Rotations (, ) • Ordering  matching images Why “Recognising Panoramas”? • 1D Rotations () • Ordering  matching images

  11. 2D Rotations (, ) • Ordering  matching images Why “Recognising Panoramas”? • 1D Rotations () • Ordering  matching images

  12. Why “Recognising Panoramas”?

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

  14. Outline Bundle Adjustmentand Multi-band Blending Feature Extraction Image Matching Input Images

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

  16. Overview • Feature Matching • SIFT Features • Nearest Neighbour Matching • Image Matching • Bundle Adjustment • Multi-band Blending • Results • Conclusions

  17. Overview • Feature Matching • SIFT Features • Nearest Neighbour Matching • Image Matching • Bundle Adjustment • Multi-band Blending • Results • Conclusions

  18. 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

  19. SIFT Features – Location Extrema of DoG Discard Low Contrast Discard Edge Points Output: x,y,σ Picture Credit: http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

  20. SIFT Features – Orientation • Difference of Gaussian Function: • G(x, y, kσ) = Gaussian Kernel with SD = kσ • L(x, y, kσ) = I(x, y) * G(x, y, kσ) • D(x, y, σ) = L(x, y, kiσ) – L(x, y, kjσ) • Gradient Magnitude: • m(x,y) = √{ (L(x + 1, y) – L(x - 1, y))2 + (L(x, y + 1) – L(x, y - 1))2 } • Θ(x, y) = tan-1{ (L(x, y + 1) – L(x, y - 1)) / (L(x + 1, y) – L(x - 1, y)) }

  21. SIFT Features – Orientation Local Gradients Adjusted Gradients Gaussian Weighting Orientation Histogram – 36 bins with 10 degrees each

  22. θ SIFT Features – Orientation Local Gradients Adjusted Gradients Gaussian Weighting Orientation Histogram – 36 bins with 10 degrees each

  23. SIFT Features – Descriptor Vector • 4 x 4 region around point oriented according to θ • Take 8 versions of the gradient image corresponding to 8 different directions. • Each version has only gradients that fall in corresponding direction range • Concatenate the 8 versions (each 4 x 4) together to get 128 dimensional descriptor vector

  24. 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

  25. Overview • Feature Matching • SIFT Features • Nearest Neighbour Matching • Image Matching • Bundle Adjustment • Multi-band Blending • Results • Conclusions

  26. 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)

  27. Overview • Feature Matching • SIFT Features • Nearest Neighbour Matching • Image Matching • Bundle Adjustment • Multi-band Blending • Results • Conclusions

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

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

  30. Overview • Feature Matching • Image Matching • RANSAC for Homography • Probabilistic model for verification • Bundle Adjustment • Multi-band Blending • Results • Conclusions

  31. Overview • Feature Matching • Image Matching • RANSAC for Homography • Probabilistic model for verification • Bundle Adjustment • Multi-band Blending • Results • Conclusions

  32. Homography Defn – Homography: A one-to-one mapping between two images. In computer vision, it is typically used to describe the correspondence between two images taken of the same scene from different camera angles. For Images: Homography has four parameters, θ1θ2θ3 f, corresponding to the three angles of camera rotation and the focal length. Picture Credit: http://weboflife.nasa.gov/learningResources/vestibularbrief.htm

  33. RANSAC(RANdom SAmple Consensus) bestH = 0% success While i < max iterations: - Select a random sample of the data - currentH = solve for the homography using sample data - for each pair of points, test to see if currentH is a suitable solution - if more points work with currentH than with bestH set bestH = currentH

  34. RANSAC for Homography

  35. RANSAC for Homography

  36. RANSAC for Homography

  37. Overview • Feature Matching • Image Matching • RANSAC for Homography • Probabilistic model for verification • Bundle Adjustment • Multi-band Blending • Results • Conclusions

  38. Probabilistic model for verification

  39. Probabilistic model for verification • Want to solve for the probability that the image match is correct given the set of RANSAC inliers and outliers. • p( match | inliers ) • Using Bayes’ Rule: • p( match | inliers ) = p( inliers | match ) * p( match ) / p( inliers ) • This can be simplified if we make some assumptions • p( inliers | match ) = B( ni; nf, p1) • p( inliers | ~match ) = B( ni; nf, p0) (B is a binomial distribution function)

  40. 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

  41. Finding the panoramas

  42. Finding the panoramas

  43. Finding the panoramas

  44. Finding the panoramas

  45. Overview • Feature Matching • Image Matching • RANSAC for Homography • Probabilistic model for verification • Bundle Adjustment • Multi-band Blending • Results • Conclusions

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

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

  48. Bundle Adjustment • Overlay the images together one at a time. • For each image, solve for the camera parameters θ1θ2θ3 f to align it with the current compilation using Levenberg-Marquardt to minimize an error function.

  49. Overview • Feature Matching • Image Matching • Bundle Adjustment • Error function • Multi-band Blending • Results • Conclusions

  50. Overview • Feature Matching • Image Matching • Bundle Adjustment • Error function • Multi-band Blending • Results • Conclusions

More Related