Basic Stereo & Epipolar Geometry
Total Page:16
File Type:pdf, Size:1020Kb
Basic Stereo & Epipolar Geometry EECS 598-08 Fall 2014! Instructor: Jason Corso (jjcorso)! Foundations of Computer Vision! web.eecs.umich.edu/~jjcorso/t/598F14! ! ! Readings: FP 7; SZ 11.1; TV 7! Date: 10/22/14! ! Materials on these slides have come from many sources in addition to myself; individual slides reference specific sources.! 2 Plan •" Basic Stereo! –" Why is more than one view useful?! –" Triangulation! •" Epipolar Geometry! On to Shape •" What cues help us to perceive 3d shape and depth? Shading [Figure from Prados & Faugeras 2006] Focus/Defocus [Figure from H. Jin and P. Favaro, 2002] Texture [From A.M. Loh. The recovery of 3-D structure using visual texture patterns. PhD thesis] Perspective effects Image credit: S. Seitz Motion Figures from L. Zhang http://www.brainconnection.com/teasers/?main=illusion/motion-shape Estimating scene shape •" Shape from X: Shading, Texture, Focus, Motion… •" Stereo: –" shape from “motion” between two views –" infer 3d shape of scene from two (multiple) images from different viewpoints 10 Can Structure Be Recovered from a Single View? P! p! Ow! Scene! C! Calibration rig! Camera K! From calibration rig! → location/pose of the rig, K! From points and lines at infinity ! + orthogonal lines and planes! → structure of the scene, K! Knowledge about scene (point correspondences, geometry of lines & planes, etc…! Slide source: S. Savarese.! 11 Can Structure Be Recovered from a Single View? Pinhole perspective projection! P! p! Ow! Scene! C! Calibration rig! Camera K! Why is it so difficult?! Intrinsic ambiguity of the mapping from 3D to image (2D)! Slide source: S. Savarese.! 12 Can Structure Be Recovered from a Single View? Intrinsic ambiguity of the mapping from 3D to image (2D)! Courtesy slide S. Lazebnik! Slide source: S. Savarese.! 13 Two Eyes Help! Slide source: S. Savarese.! Fixation, convergence Slide source: K. Grauman.! Human stereopsis: disparity Disparity occurs when eyes fixate on one object; others appear at different visual angles Human Stereopsis; Disparity d=0 Disparity: d = r-l = D-F. Adapted from M. Pollefeys Random dot stereograms •" Julesz 1960: Do we identify local brightness patterns before fusion (monocular process) or after (binocular)? •" To test: pair of synthetic images obtained by randomly spraying black dots on white objects Slide source: K. Grauman.! Random dot stereograms Forsyth & Ponce Random dot stereograms Slide source: K. Grauman.! Random dot stereograms From Palmer, “Vision Science”, MIT Press Slide source: K. Grauman.! Random dot stereograms •" When viewed monocularly, they appear random; when viewed stereoscopically, see 3d structure. •" Conclusion: human binocular fusion not directly associated with the physical retinas; must involve the central nervous system •" Imaginary “cyclopean retina” that combines the left and right image stimuli as a single unit Slide source: K. Grauman.! Autostereograms Exploit disparity as depth cue using single image (Single image random dot stereogram, Single image stereogram) Images from magiceye.com Slide source: K. Grauman.! Autostereograms Images from magiceye.com Slide source: K. Grauman.! Stereo photography and stereo viewers Take two pictures of the same subject from two slightly different viewpoints and display so that each eye sees only one of the images. Invented by Sir Charles Wheatstone, 1838 Image courtesy of fisher-price.com Slide source: K. Grauman.! http://www.johnsonshawmuseum.org Slide source: K. Grauman.! http://www.johnsonshawmuseum.org Slide source: K. Grauman.! Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923 Slide source: K. Grauman.! 28 Two Eyes Help! X = l ×lʹ X?! l' l x1! x2! K =known! K =known! R, T! O2! O1! This is called triangulation! Slide source: S. Savarese.! 29 Triangulation X! Y X Y! x2! y1! x1! y2! Although geometrically correct,! O2! O1! invalid correspondences lead ! to incorrect triangulation! 30 Triangulation • Find X that minimizes! 2 2 d (x1, M1 X ) + d (x2 , M 2 X ) X! x2! x1! O Slide source: S. Savarese.! O1! 2! 31 Triangulation Geometry in Simple Stereo X Z! u2! u1! c2! x c1! x2! 1! f! T! O2! O1! Depth from disparity image I(x,y) Disparity map D(x,y) image I´(x´,y´) (x´,y´)=(x+D(x,y), y) Slide source: K. Grauman.! 33 Core Problems in Stereo •" Correspondence: Given a point in one image, how can I find the corresponding point x’ in another one ?# ! •" Camera geometry: Given corresponding points in two images, find camera matrices, position and pose.! •" Scene geometry: Find coordinates of 3D point from its projection into 2 or multiple images.! Slide source: S. Savarese.! 34 Epipolar Geometry X! x1! x2! e1! e2! O1! O2! •" Epipolar Plane! •" Epipoles e1, e2! •" Baseline! = intersections of baseline with image planes ! = projections of the other camera center! •" Epipolar Lines! = vanishing points of camera motion direction! Slide source: S. Savarese.! Epipolar Geometry Terms •" Baseline: line joining the camera centers •" Epipole: point of intersection of baseline with the image plane •" Epipolar plane: plane containing baseline and world point •" Epipolar line: intersection of epipolar plane with the image plane •" All epipolar lines intersect at the epipole •" An epipolar plane intersects the left and right image planes in epipolar lines Slide source: K. Grauman.! 36 Example: Converging image planes Slide source: S. Savarese, K. Grauman; Figure from Hartley and Zisserman.! 37 Example: Parallel Image Planes X! e 2! x 1! x2! e2! O1! O2! •" Baseline intersects the image plane at infinity! •" Epipoles are at infinity! •" Epipolar lines are parallel to x axis! Slide source: S. Savarese.! 38 Example: Parallel Image Planes Slide source: S. Savarese, K Grauman; Figure from Hartley and Zisserman.! 39 Example: Forward translation e2! O2! e1! O2! •" The epipoles have same position in both images! •" Epipole called FOE (focus of expansion)! Slide source: S. Savarese, K Grauman; Figure from Hartley and Zisserman.! 40 The Epipolar Constraint -" Two views of the same object ! -" Suppose I know the camera positions and camera matrices! - Given a point on left image, how can I find the corresponding point on right image?! Slide source: S. Savarese.! Image Examples of the Epipolar Constraint Slide source: K. Grauman.! 42 Epipolar Geometry X! How do we represent the epipolar x x geometry1! algebraically?2! e2! O1! O2! •" Epipolar Plane! •" Epipoles e1, e2! •" Baseline! = intersections of baseline with image planes ! = projections of the other camera center! •" Epipolar Lines! = vanishing points of camera motion direction! Slide source: S. Savarese.! 43 Epipolar Constraint! •" Potential matches for p have to lie on the corresponding ! epipolar line l’.! •" Potential matches for p’ have to lie on the corresponding ! epipolar line l.! Slide source: S. Savarese.! 44 The Epipolar Constraint P! p’! p! O! R, T! O’! M = K[I 0] M'= K[R T] ⎡u⎤ ⎡uʹ⎤ P M P ⎢v⎥ P → Mʹ P = ⎢vʹ⎥ → = ⎢ ⎥ ⎢ ⎥ ⎢1⎥ ⎢ 1 ⎥ Slide source: S. Savarese.! ⎣ ⎦ ⎣ ⎦ 45 The Epipolar Constraint P! p’! p! O! R, T! O’! K is known! M = K[I 0] (canonical cameras)! M'= K[R T] ⎡1 0 0 ⎤ K ⎢0 1 0 ⎥ = ⎢ ⎥ M = [I 0] ⎣⎢0 0 1 ⎦⎥ M'= [R T] Slide source: S. Savarese.! 46 The Epipolar Constraint P! p’! p! O! R, T! O’! p’ in first camera reference system is! = R pʹ T ×(R pʹ) is perpendicular to epipolar plane! → pT ⋅ [T ×(R pʹ)]= 0 Slide source: S. Savarese.! 47 Cross product as matrix multiplication ⎡ 0 − az ay ⎤⎡bx ⎤ ⎢ ⎥ a×b = a 0 − a ⎢b ⎥ = [a ]b ⎢ z x ⎥⎢ y ⎥ × ⎢ a a 0 ⎥ b ⎣− y x ⎦⎣⎢ z ⎦⎥ Slide source: S. Savarese.! 48 The Epipolar Constraint P! p’! p! O! R, T! O’! T T p ⋅ [T×(R pʹ)]= 0 → p ⋅ [T× ]⋅R pʹ = 0 E = essential matrix! (Longuet-Higgins, 1981)! Slide source: S. Savarese.! 49 The Epipolar Constraint T P! p1 ⋅ E p2 = 0 p 1! p2! l1! l2! e e1! 2! O1! O2! •" E p2 is the epipolar line associated with p2 (l1 = E p2)! T T •" E p1 is the epipolar line associated with p1 (l2 = E p1)! T •" E e2 = 0 and E e1 = 0! •" E is 3x3 matrix; 5 DOF! •" E is singular (rank two)! ! Slide source: S. Savarese.! 50 The Epipolar Constraint P! p’! p! R, T! O! O’! K is unknown! M = K[I 0] M'= K[R T] Slide source: S. Savarese.! 51 The Epipolar Constraint P! p → K −1 p pʹ → K'−1 pʹ p’! p! O! O’! T (K−1 p)T T R K −1 p 0 p ⋅ [T× ]⋅R pʹ = 0 → ⋅ [ × ]⋅ ʹ ʹ = T −T −1 → pT F pʹ = 0 p K ⋅ [T× ]⋅R Kʹ pʹ = 0 Slide source: S. Savarese.! 52 The Epipolar Constraint P! p’! p! O! O’! pT F pʹ = 0 −T −1 F = K ⋅ [T× ]⋅ R Kʹ F = Fundamental Matrix! (Faugeras and Luong, 1992)! Slide source: S. Savarese.! 53 The Epipolar Constraint T P! p1 ⋅ F p2 = 0 p 1! p2! e e1! 2! O1! O2! •" F p2 is the epipolar line associated with p2 (l1 = F p2)! T T •" F p1 is the epipolar line associated with p1 (l2 = F p1)! T •" F e2 = 0 and F e1 = 0! •" F is 3x3 matrix; 7 DOF ! •" F is singular (rank two)! Slide source: S. Savarese.! 54 Why F is useful? T x! l’ = F x! -" Suppose F is known! -" No additional information about the scene and camera is given! - Given a point on left image, how can I find the corresponding point on right image?! Slide source: S. Savarese.! 55 Why is F Useful? •" F captures information about the epipolar geometry of 2 views + camera parameters ! •" MORE IMPORTANTLY: F gives constraints on how the scene changes under view point transformation (without reconstructing the scene!)! •" Powerful tool in:! •" 3D reconstruction! •" Multi-view object/scene matching ! Slide source: S. Savarese.! 56 Estimating F The Eight-Point Algorithm! (Longuet-Higgins, 1981)! (Hartley, 1995)! P! p’! p! O! O’! ⎡u⎤ ⎡uʹ⎤ P p ⎢v⎥ P pʹ ⎢vʹ⎥ T → = ⎢ ⎥ → = ⎢ ⎥ p F pʹ = 0 ⎣⎢1⎦⎥ ⎣⎢ 1 ⎦⎥ Slide source: S.