540 likes | 710 Views
776 Computer Vision. Jan-Michael Frahm Spring 2012. Binocular stereo. Given a calibrated binocular stereo pair, fuse it to produce a depth image. Where does the depth information come from?. Binocular stereo. Given a calibrated binocular stereo pair, fuse it to produce a depth image
E N D
776 Computer Vision Jan-Michael Frahm Spring 2012
Binocular stereo • Given a calibrated binocular stereo pair, fuse it to produce a depth image Where does the depth information come from?
Binocular stereo • Given a calibrated binocular stereo pair, fuse it to produce a depth image • Humans can do it Stereograms: Invented by Sir Charles Wheatstone, 1838
Binocular stereo • Given a calibrated binocular stereo pair, fuse it to produce a depth image • Humans can do it Autostereograms: www.magiceye.com
Binocular stereo • Given a calibrated binocular stereo pair, fuse it to produce a depth image • Humans can do it Autostereograms: www.magiceye.com
Real-time stereo Used for robot navigation (and other tasks) Software-based real-time stereo techniques • Nomad robot searches for meteorites in Antartica • http://www.frc.ri.cmu.edu/projects/meteorobot/index.html slide: R. Szeliski
Stereo image pair slide: R. Szeliski
Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923 Anaglyphs http://www.rainbowsymphony.com/freestuff.html (Wikipedia for images) slide: R. Szeliski
Stereo: epipolar geometry epipolar line epipolar plane viewing ray • Match features along epipolar lines slide: R. Szeliski
Simplest Case: Parallel images • Image planes of cameras are parallel to each other and to the baseline • Camera centers are at same height • Focal lengths are the same slide: S. Lazebnik
Simplest Case: Parallel images • Image planes of cameras are parallel to each other and to the baseline • Camera centers are at same height • Focal lengths are the same • Then, epipolar lines fall along the horizontal scan lines of the images slide: S. Lazebnik
Essential matrix for parallel images Epipolar constraint: R = I t = (T, 0, 0) x x’ t
Essential matrix for parallel images Epipolar constraint: R = I t = (T, 0, 0) x x’ t The y-coordinates of corresponding points are the same!
Depth from disparity X z x x’ f f BaselineB O O’ Disparity is inversely proportional to depth!
Depth Sampling Depth sampling for integer pixel disparity Quadratic precision loss with depth!
Depth Sampling Depth sampling for wider baseline
Depth Sampling Depth sampling is in O(resolution6)
Stereo: epipolar geometry • for two images (or images with collinear camera centers), can find epipolar lines • epipolar lines are the projection of the pencil of planes passing through the centers • Rectification: warping the input images (perspective transformation) so that epipolar lines are horizontal slide: R. Szeliski
Rectification • Project each image onto same plane, which is parallel to the epipole • Resample lines (and shear/stretch) to place lines in correspondence, and minimize distortion • [Loop and Zhang, CVPR’99] slide: R. Szeliski
Rectification BAD! slide: R. Szeliski
Rectification GOOD! slide: R. Szeliski
Problem: Rectification for forward moving cameras • Required image can become very large (infinitely large) when the epipole is in the image • Alternative rectifications are available using epipolar lines directly in the images • Pollefeys et al. 1999, “A simple and efficient method for general motion”, ICCV
Your basic stereo algorithm For each epipolar line For each pixel in the left image • Improvement: match windows • This should look familar... • compare with every pixel on same epipolar line in right image • pick pixel with minimum match cost slide: R. Szeliski
Finding correspondences • apply feature matching criterion (e.g., correlation or Lucas-Kanade) at all pixels simultaneously • search only over epipolar lines (many fewer candidate positions) slide: R. Szeliski
Correspondence search Left Right • Slide a window along the right scanline and compare contents of that window with the reference window in the left image • Matching cost: SSD or normalized correlation scanline Matching cost disparity slide: S. Lazebnik
Correspondence search Left Right scanline SSD slide: S. Lazebnik
Correspondence search Left Right scanline Norm. corr slide: S. Lazebnik
Neighborhood size • Smaller neighborhood: more details • Larger neighborhood: fewer isolated mistakes • w = 3 w = 20 slide: R. Szeliski
Matching criteria • Raw pixel values (correlation) • Band-pass filtered images [Jones & Malik 92] • “Corner” like features [Zhang, …] • Edges [many people…] • Gradients [Seitz 89; Scharstein 94] • Rank statistics [Zabih & Woodfill 94] • Intervals [Birchfield and Tomasi 96] • Overview of matching metrics and their performance: • H. Hirschmüller and D. Scharstein, “Evaluation of Stereo Matching Costs on Images with Radiometric Differences”, PAMI 2008 slide: R. Szeliski
Failures of correspondence search Occlusions, repetition Textureless surfaces Non-Lambertian surfaces, specularities slide: S. Lazebnik
Stereo: certainty modeling • Compute certainty map from correlations • input depth map certainty map slide: R. Szeliski
Results with window search Data Window-based matching Ground truth slide: S. Lazebnik
Better methods exist... Ground truth Graph cuts • Y. Boykov, O. Veksler, and R. Zabih, Fast Approximate Energy Minimization via Graph Cuts, PAMI 2001 • For the latest and greatest: http://www.middlebury.edu/stereo/ slide: S. Lazebnik
How can we improve window-based matching? • The similarity constraint is local (each reference window is matched independently) • Need to enforce non-local correspondence constraints slide: S. Lazebnik
Non-local constraints • Uniqueness • For any point in one image, there should be at most one matching point in the other image slide: S. Lazebnik
Non-local constraints • Uniqueness • For any point in one image, there should be at most one matching point in the other image • Ordering • Corresponding points should be in the same order in both views slide: S. Lazebnik
Non-local constraints • Uniqueness • For any point in one image, there should be at most one matching point in the other image • Ordering • Corresponding points should be in the same order in both views Ordering constraint doesn’t hold slide: S. Lazebnik
Non-local constraints • Uniqueness • For any point in one image, there should be at most one matching point in the other image • Ordering • Corresponding points should be in the same order in both views • Smoothness • We expect disparity values to change slowly (for the most part) slide: S. Lazebnik
Scanline stereo Left image Right image • Try to coherently match pixels on the entire scanline • Different scanlines are still optimized independently slide: S. Lazebnik
“Shortest paths” for scan-line stereo Left image Right image Right occlusion q Left occlusion t s p correspondence • Can be implemented with dynamic programming • Ohta & Kanade ’85, Cox et al. ‘96 Slide credit: Y. Boykov
Coherent stereo on 2D grid • Scanline stereo generates streaking artifacts • Can’t use dynamic programming to find spatially coherent disparities/ correspondences on a 2D grid slide: S. Lazebnik
Stereo matching as energy minimization I2 D I1 • Energy functions of this form can be minimized using graph cuts W1(i) W2(i+D(i)) D(i) data term smoothness term • Y. Boykov, O. Veksler, and R. Zabih, Fast Approximate Energy Minimization via Graph Cuts, PAMI 2001 slide: S. Lazebnik
Active stereo with structured light camera projector • Project “structured” light patterns onto the object • Simplifies the correspondence problem • Allows us to use only one camera L. Zhang, B. Curless, and S. M. Seitz. Rapid Shape Acquisition Using Color Structured Light and Multi-pass Dynamic Programming.3DPVT 2002 slide: S. Lazebnik
Active stereo with structured light L. Zhang, B. Curless, and S. M. Seitz. Rapid Shape Acquisition Using Color Structured Light and Multi-pass Dynamic Programming.3DPVT 2002 slide: S. Lazebnik
Active stereo with structured light http://en.wikipedia.org/wiki/Structured-light_3D_scanner slide: S. Lazebnik
Kinect: Structured infrared light http://bbzippo.wordpress.com/2010/11/28/kinect-in-infrared/ slide: S. Lazebnik
Laser scanning • Optical triangulation • Project a single stripe of laser light • Scan it across the surface of the object • This is a very precise version of structured light scanning • Digital Michelangelo Project • Levoy et al. • http://graphics.stanford.edu/projects/mich/ Source: S. Seitz
Laser scanned models • The Digital Michelangelo Project, Levoy et al. Source: S. Seitz
Laser scanned models • The Digital Michelangelo Project, Levoy et al. Source: S. Seitz
Laser scanned models • The Digital Michelangelo Project, Levoy et al. Source: S. Seitz