Multiple View GeometryOur GoalThe Plenoptic FunctionStereo ReconstructionWhy do we have two eyes?1. Two is better than one2. Depth from Convergence3. Depth from binocular disparityStereoStereoStereo correspondenceStereo image rectificationStereo image rectificationStereo RectificationYour basic stereo algorithmWindow sizeStereo resultsResults with window searchBetter methods exist...Depth from disparityStereo reconstruction pipelineStereo matchingActive stereo with structured lightActive stereo with structured lightLaser scanningReal-time stereoStructure from MotionView-Dependant Texture MappingFaçade (Debevec et al) inputsFaçade (Debevec et al)Multiple View Geometry15-463: Computational PhotographyAlexei Efros, CMU, Fall 2005© Martin Quinn …with a lot of slides stolen from Steve Seitz and Jianbo ShiOur GoalThe Plenoptic FunctionP(θ,φ,λ,t,VX,VY,VZ)How can we compress this into something manageable?Stereo ReconstructionThe Stereo Problem• Shape from two (or more) images• Biological motivationknownknowncameracameraviewpointsviewpointsWhy do we have two eyes?Cyclope vs. Odysseus1. Two is better than one2. Depth from ConvergenceHuman performance: up to 6-8 feet3. Depth from binocular disparitySign and magnitude of disparityP: converging pointC: object nearer projects to the outside of the P, disparity = +F: object farther projects to the inside of the P, disparity = -Stereoscene pointscene pointoptical centeroptical centerimage planeimage planeStereoBasic Principle: Triangulation• Gives reconstruction as intersection of two rays• Requires – calibration– point correspondenceStereo correspondenceDetermine Pixel Correspondence• Pairs of points that correspond to same scene pointEpipolar Constraint• Reduces correspondence problem to 1D search along conjugateepipolar linesepipolar planeepipolar lineepipolar lineepipolar lineepipolar lineStereo image rectificationStereo image rectificationImage Reprojection• reproject image planes onto common plane parallel to line between optical centers• a homography (3x3 transform)applied to both input images• pixel motion is horizontal after this transformation• C. Loop and Z. Zhang. Computing Rectifying Homographies for Stereo Vision. IEEE Conf. Computer Vision and Pattern Recognition, 1999.Stereo RectificationYour basic stereo algorithmFor each epipolar lineFor each pixel in the left image• compare with every pixel on same epipolar line in right image• pick pixel with minimum match costImprovement: match windows• This should look familar...• Can use Lukas-Kanade or discrete search (latter more common)Window size• Smaller window+–• Larger window+–W = 3 W = 20Effect of window sizeStereo resultsGround truthScene• Data from University of Tsukuba• Similar results on other images without ground truthResults with window searchWindow-based matching(best window size)Ground truthBetter methods exist...State of the art methodBoykov et al., Fast Approximate Energy Minimization via Graph Cuts, International Conference on Computer Vision, September 1999.Ground truthDepth from disparityfx x’baselinezCC’Xfinput image (1 of 2)[Szeliski & Kang ‘95]depth map 3D rendering• Camera calibration errors• Poor image resolution• Occlusions• Violations of brightness constancy (specular reflections)• Large motions• Low-contrast image regionsWhat will cause errors?Stereo reconstruction pipelineSteps• Calibrate cameras• Rectify images• Compute disparity• Estimate depthStereo matchingNeed texture for matchingJulesz-style Random Dot StereogramActive stereo with structured lightProject “structured” light patterns onto the object• simplifies the correspondence problemcamera 2camera 1projectorcamera 1projectorLi Zhang’s one-shot stereoActive stereo with structured lightLaser scanningOptical 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 scanningDirection of travelObjectCCDCCD image planeLaserCylindrical lensLaser sheetDigital Michelangelo Projecthttp://graphics.stanford.edu/projects/mich/Portable 3D laser scanner (this one by Minolta)Real-time stereoUsed for robot navigation (and other tasks)• Several software-based real-time stereo techniques have been developed (most based on simple discrete search)Nomad robot searches for meteorites in Antarticahttp://www.frc.ri.cmu.edu/projects/meteorobot/index.htmlStructure from MotionReconstruct • Scene geometry• Camera motionUnknownUnknowncameracameraviewpointsviewpointsThree approachesThree approachesOutline of a simple algorithm (1)Outline of a simple algorithm (1)• Based on constraints• Input to the algorithm (1): two imagesOutline of a simple algorithm (2)Outline of a simple algorithm (2)• Input to the algorithm (2): User select edges and cornersOutline of a simple algorithm (3)Outline of a simple algorithm (3)• Camera Position and OrientationDetermine the position and orientation of cameraOutline of a simple algorithm (4)Outline of a simple algorithm (4)• Computing projection matrix and ReconstructionOutline of a simple algorithm (5)Outline of a simple algorithm (5)• Compute 3D textured trianglesView-Dependant Texture MappingFacade Facade SFMOMA (San Francisco Museum of Modern Art) by Yizhou Yu,Façade (Debevec et al) inputsFaçade (Debevec et
View Full Document