Projective Geometry Lecture slides by Steve Seitz (mostly) Lecture presented by Rick Szeliski CSE 576, Spring 2008 Projective Geometry 1 Final project ideas Discussion by Steve Seitz and Rick Szeliski … CSE 576, Spring 2008 Projective Geometry 2 Projective geometry Ames Room Readings • Mundy, J.L. and Zisserman, A., Geometric Invariance in Computer Vision, Appendix: Projective Geometry for Machine Vision, MIT Press, Cambridge, MA, 1992, (read 23.1 - 23.5, 23.10) – available online: http://www.cs.cmu.edu/~ph/869/papers/zisser-mundy.pdf CSE 576, Spring 2008 Projective Geometry 3 Projective geometry—what’s it good for? Uses of projective geometry • • • • • • • Drawing Measurements Mathematics for projection Undistorting images Focus of expansion Camera pose estimation, match move Object recognition CSE 576, Spring 2008 Projective Geometry 4 Applications of projective geometry Vermeer’s Music Lesson Reconstructions by Criminisi et al. CSE 576, Spring 2008 Projective Geometry 5 Measurements on planes 4 3 2 1 1 2 Approach: unwarp then measure What kind of warp is this? CSE 576, Spring 2008 Projective Geometry 3 4 6 Image rectification p’ p To unwarp (rectify) an image • solve for homography H given p and p’ • solve equations of the form: wp’ = Hp – linear in unknowns: w and coefficients of H – H is defined up to an arbitrary scale factor – how many points are necessary to solve for H? CSE 576, Spring 2008 Projective Geometry 7 work out on board Solving for homographies CSE 576, Spring 2008 Projective Geometry 8 Solving for homographies A 2n × 9 h 9 0 2n Defines a least squares problem: • Since h is only defined up to scale, solve for unit vector ĥ • Solution: ĥ = eigenvector of ATA with smallest eigenvalue • Works with 4 or more points CSE 576, Spring 2008 Projective Geometry 9 The projective plane Why do we need homogeneous coordinates? • represent points at infinity, homographies, perspective projection, multi-view relationships What is the geometric intuition? • a point in the image is a ray in projective space -y (sx,sy,s) (x,y,1) (0,0,0) -z x image plane • Each point (x,y) on the plane is represented by a ray (sx,sy,s) – all points on the ray are equivalent: (x, y, 1) (sx, sy, s) CSE 576, Spring 2008 Projective Geometry 10 Projective lines What does a line in the image correspond to in projective space? • A line is a plane of rays through origin – all rays (x,y,z) satisfying: ax + by + cz = 0 in vector notation : x 0 a b c y z l p • A line is also represented as a homogeneous 3-vector l CSE 576, Spring 2008 Projective Geometry 11 Point and line duality • A line l is a homogeneous 3-vector • It is to every point (ray) p on the line: l p=0 l p1 p2 l1 p l2 What is the line l spanned by rays p1 and p2 ? • l is to p1 and p2 l = p1 p2 • l is the plane normal What is the intersection of two lines l1 and l2 ? • p is to l1 and l2 p = l1 l2 Points and lines are dual in projective space CSE 576,• Spring 2008any given Projective Geometry formula, can switch the meanings of points and lines to get another formula 12 Ideal points and lines -y -z (a,b,0) -y (sx,sy,0) x image plane -z image plane x Ideal point (“point at infinity”) • p (x, y, 0) – parallel to image plane • It has infinite image coordinates Ideal line • l (a, b, 0) – parallel to image plane • Corresponds to a line in the image (finite coordinates) – goes CSE 576, Spring 2008 through imageProjective origin Geometry (principle point) 13 Homographies of points and lines Computed by 3x3 matrix multiplication • To transform a point: p’ = Hp • To transform a line: lp=0 l’p’=0 – 0 = lp = lH-1Hp = lH-1p’ l’ = lH-1 – lines are transformed by postmultiplication of H-1 CSE 576, Spring 2008 Projective Geometry 14 3D projective geometry These concepts generalize naturally to 3D • Homogeneous coordinates – Projective 3D points have four coords: P = (X,Y,Z,W) • Duality – A plane N is also represented by a 4-vector – Points and planes are dual in 3D: N P=0 • Projective transformations – Represented by 4x4 matrices T: P’ = TP, CSE 576, Spring 2008 Projective Geometry N’ = N T-1 15 3D to 2D: “perspective” projection Matrix Projection: wx * * * * X p wy * * * * YZ ΠP w * * * * 1 What is not preserved under perspective projection? What IS preserved? CSE 576, Spring 2008 Projective Geometry 16 Vanishing points image plane vanishing point v camera center C line on ground plane Vanishing point • projection of a point at infinity CSE 576, Spring 2008 Projective Geometry 17 Vanishing points image plane vanishing point v camera center C line on ground plane line on ground plane Properties • Any two parallel lines have the same vanishing point v • The ray from C through v is parallel to the lines • An image may have more than one vanishing point – in fact every pixel is a potential vanishing point CSE 576, Spring 2008 Projective Geometry 18 Vanishing lines v1 v2 Multiple Vanishing Points • Any set of parallel lines on the plane define a vanishing point • The union of all of vanishing points from lines on the same plane is the vanishing line – For the ground plane, this is called the horizon CSE 576, Spring 2008 Projective Geometry 19 Vanishing lines Multiple Vanishing Points • Different planes define different vanishing lines CSE 576, Spring 2008 Projective Geometry 20 Computing vanishing points V P0 D PX P Pt Y PZ CSE 576, Spring 2008 P P0 tD tDX tDY tDZ 1 Projective Geometry 21 Computing vanishing points V P0 D PX P Pt Y PZ Properties tDX PX tDY PY tDZ PZ 1 / t DX / t DY / t DZ 1/ t t P P0 tD DX D P Y DZ 0 v ΠP • P is a point at infinity, v is its projection • They depend only on line direction • Parallel lines P0 + tD, PProjective at P 1 + tD intersect CSE 576, Spring 2008 Geometry 22 Computing the horizon C l ground plane Properties • l is intersection of horizontal plane through C with image plane • Compute l from two sets of parallel lines on ground plane • All points at same height as C project to l – points higher than C project above l • Provides way of comparing height of objects in the scene CSE 576, Spring 2008 Projective Geometry 23 CSE 576, Spring 2008 Projective Geometry 24 Fun with vanishing points CSE 576, Spring 2008 Projective Geometry 25 Perspective cues CSE 576, Spring 2008 Projective Geometry 26 Perspective cues CSE 576, Spring 2008 Projective Geometry 27 Perspective cues CSE 576, Spring 2008 Projective Geometry 28 Comparing heights Vanishing Point CSE 576, Spring 2008 Projective Geometry 29 Measuring height 5 4 3 5.4 Camera height 3.3 2.8 2 1 What is the height of the camera? CSE 576, Spring 2008 Projective Geometry 30 Computing vanishing points (from lines) v q2 q1 p2 p1 Intersect p1q1 with p2q2 Least squares version • Better to use more than two lines and compute the “closest” point of intersection • See notes by Bob Collins for one good way of doing this: – http://www-2.cs.cmu.edu/~ph/869/www/notes/vanishing.txt CSE 576, Spring 2008 Projective Geometry 31 Measuring height without a ruler C Z ground plane Compute Z from image measurements • Need more than vanishing points to do this CSE 576, Spring 2008 Projective Geometry 32 The cross ratio A Projective Invariant • Something that does not change under projective transformations (including perspective projection) The cross-ratio of 4 collinear points P3 P2 P1 P4 P3 P1 P4 P2 P3 P2 P4 P1 Xi Y Pi i Zi 1 P1 P3 P4 P2 Can permute the point ordering P1 P2 P4 P3 • 4! = 24 different orders (but only 6 distinct values) This is the fundamental invariant of projective geometry CSE 576, Spring 2008 Projective Geometry 33 Measuring height TB R R B T H R scene cross ratio T (top of object) t b vZ r t r C vZ b R H (reference point) R B r b vZ t H R image cross ratio (bottom of object) ground plane X x Y scene points represented as P image points as p y Z 1 CSE 576, Spring 2008 Projective Geometry 1 34 Measuring height vz r vanishing line (horizon) t0 vx t vy v H R H b0 b t b vZ r H r b vZ t R image cross ratio CSE 576, Spring 2008 Projective Geometry 35 Measuring height vz r vanishing line (horizon) t0 t0 vx vy v m0 t1 b1 b0 b What if the point on the ground plane b0 is not known? • Here the guy is standing on the box, height of box is known • Use one side of the box to help find b0 as shown above CSE 576, Spring 2008 Projective Geometry 36 Computing (X,Y,Z) coordinates CSE 576, Spring 2008 Projective Geometry 37 3D Modeling from a photograph CSE 576, Spring 2008 Projective Geometry 38 Camera calibration Goal: estimate the camera parameters • Version 1: solve for projection matrix wx * * * * X x wy * * * * YZ ΠX w * * * * 1 • Version 2: solve for camera parameters separately – intrinsics (focal length, principle point, pixel size) – extrinsics (rotation angles, translation) – radial distortion CSE 576, Spring 2008 Projective Geometry 39 Vanishing points and projection matrix * Π * * π1 * * * π2 * * * π3 * * π1 * π4 π1 Π 1 0 0 0 T π2 π3 π4 = vx (X vanishing point) similarly, π 2 v Y , π 3 v Z π 4 Π0 0 0 1 projection of world origin T Π v X vY vZ o Not So Fast! We only know v’s and o up to a scale factor Π a v X • Spring Need2008 a bit CSE 576, bvY cv Z do more workProjective to getGeometry these scale factors… 40 Finding the scale factors… Let’s assume that the camera is reasonable • Square pixels • Image plane parallel to sensor plane • Principal point in the center of the image r11 r12 1 0 0 1 0 0 0 Π 0 1 0 0 1 0 0 r21 r22 r r 0 0 1 / f 0 0 1 0 31 32 0 0 r11 r21 r31 / f a v X CSE 576, Spring 2008 r12 r13 r22 r32 / f r23 r33 / f bvY cv Z r13 0 1 0 r23 0 0 1 r33 0 0 0 0 1 0 0 t '1 t '2 t '3 / f 0 t1 0 t 2 1 t3 0 1 t '1 r11 r12 t ' r 2 21 r22 t '3 r31 r32 r13 t1 r23 t 2 r33 t3 do Projective Geometry 41 Solving for f v x1 v x 2 vx 3 vX v x1 vx 2 fvx 3 o1 r11 / a o2 r21 / a o3 r31 / af v y1 vy2 vy3 v z1 vz 2 vz 3 vY vZ v y1 vy2 fvy 3 r12 / b r22 / b r32 / bf o v z1 vz 2 fvz 3 t '1 / d t '2 / d t '3 / df o1 r11 / a r12 / b r13 / c t '1 / d o2 r21 / a r22 / b r23 / c t '2 / d fo3 r31 / a r32 / b r33 / c t '3 / d Orthogonal vectors Orthogonal vectors vx1v y1 vx 2v y 2 f vx3v y 3 0 2 CSE 576, Spring 2008 r13 / c r23 / c r33 / cf Projective Geometry f v x1v y1 v x 2 v y 2 v x 3v y 3 42 Solving for a, b, and c v x1 / f v x 2 / f vx3 v y1 / f vy2 / f vy3 v z1 / f vz 2 / f vz 3 Norm = 1/a o1 / f r11 / a r12 / b r13 / c t '1 / d o2 / f r21 / a r22 / b r23 / c t '2 / d o3 r31 / a r32 / b r33 / c t '3 / d Norm = 1/a Solve for a, b, c • Divide the first two rows by f, now that it is known • Now just find the norms of the first three columns • Once we know a, b, and c, that also determines R How about d? • Need a reference point in the scene CSE 576, Spring 2008 Projective Geometry 43 Solving for d wu r11 r12 wv r 21 r22 w r31 r32 r13 r23 r33 0 t '1 / d 0 t '2 / d H t '3 / d 1 Suppose we have one reference height H • E.g., we known that (0, 0, H) gets mapped to (u, v) r13 H t '1 / d u r33 H t '3 / d t '1 ut '3 d ur33 H r13 H Finally, we can solve for t t1 r11 r12 t r 2 21 r22 t3 r31 r32 CSE 576, Spring 2008 Projective Geometry r13 T t '1 r23 t '2 r33 t '3 44 Calibration using a reference object Place a known object in the scene • identify correspondence between image and scene • compute mapping from scene to image Issues • must know geometry very accurately CSE 576, Projective Geometry • Spring must2008 know 3D->2D correspondence 45 Chromaglyphs Courtesy of Bruce Culbertson, HP Labs http://www.hpl.hp.com/personal/Bruce_Culbertson/ibr98/chromagl.htm CSE 576, Spring 2008 Projective Geometry 46 Estimating the projection matrix Place a known object in the scene • identify correspondence between image and scene • compute mapping from scene to image CSE 576, Spring 2008 Projective Geometry 47 Direct linear calibration CSE 576, Spring 2008 Projective Geometry 48 Direct linear calibration Can solve for mij by linear least squares • use eigenvector trick that we used for homographies CSE 576, Spring 2008 Projective Geometry 49 Direct linear calibration Advantage: • Very simple to formulate and solve Disadvantages: • • • • Doesn’t tell you the camera parameters Doesn’t model radial distortion Hard to impose constraints (e.g., known focal length) Doesn’t minimize the right error function For these reasons, nonlinear methods are preferred • Define error function E between projected 3D points and image positions – E is nonlinear function of intrinsics, extrinsics, radial distortion • Minimize E using nonlinear optimization techniques – e.g., variants of Newton’s method (e.g., Levenberg Marquart) CSE 576, Spring 2008 Projective Geometry 50 Alternative: multi-plane calibration Images courtesy Jean-Yves Bouguet, Intel Corp. Advantage • • • Only requires a plane Don’t have to know positions/orientations Good code available online! – Intel’s OpenCV library: http://www.intel.com/research/mrl/research/opencv/ – Matlab version by Jean-Yves Bouget: http://www.vision.caltech.edu/bouguetj/calib_doc/index.html CSE 576, Spring 2008 Projective Geometry 51 – Zhengyou Zhang’s web site: http://research.microsoft.com/~zhang/Calib/ Some Related Techniques Image-Based Modeling and Photo Editing • Mok et al., SIGGRAPH 2001 • http://graphics.csail.mit.edu/ibedit/ Single View Modeling of Free-Form Scenes • Zhang et al., CVPR 2001 • http://grail.cs.washington.edu/projects/svm/ Tour Into The Picture • Anjyo et al., SIGGRAPH 1997 • http://koigakubo.hitachi.co.jp/little/DL_TipE.html CSE 576, Spring 2008 Projective Geometry 52
© Copyright 2024