56 Views

Download Presentation
##### CS 395/495-26: Spring 2003

**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. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**CS 395/495-26: Spring 2003**IBMR: Week 2 B2-D Projective Geometry Jack Tumblin jet@cs.northwestern.edu**Admin; Starter Code**• Website Ready: Plans evolving... • Starter Code Ready: also evolves... • About Your Projects: • Simple directory-based version control: • Save & Number everything that works:NEVER edit an unsaved working program • Always, Always: One Little Step at a Time! • Explain it as you write it (comments)“Writing IS thinking”**Admin; Starter Code**• Website Ready: Plans evolving... • Starter Code Ready: also evolves... • About Your Projects: • Simple directory-based version control: • What works well for me: • One master directory for the project • All files of latest version in one directory • Numbered previous versions: ‘snapshot’ copies • Copy master directory EVERY time something works. • Program is ALWAYS working; one step at a time... • > 1 hour without compile/run? too big a step!**2D Homogeneous Coordinates**‘Central Image Plane’ (x,y,1) x2 An ‘Ideal Point’ (0,0,0) at Center of Projection Ray -x3 y x1 x • 3 coords, but only 2 degrees of freedom (2DOF)(x1 / x3), (x2 / x3) • Ideal points == (x,y,0) • Line Intersections = point: (a 3D cross-product) • Point ‘Intersections’ = line: • Duality: P2 theorem for lines P2 theorem for points! l1 l2 = x x1 x2 = l**2D Homogeneous Coordinates**‘Central Image Plane’ (x,y,1) x2 An ‘Ideal Point’ (0,0,0) at Center of Projection Ray -x3 y x1 x Left-Handed: use –x3 or (x,y,-1) image ctr, or... • 3 coords, but only 2 degrees of freedom (2DOF)(x1 / x3), (x2 / x3) • Ideal points == (x,y,0) • Line Intersections = point: (a 3D cross-product) • Point ‘Intersections’ = line: • Duality: P2 theorem for lines P2 theorem for points! l1 l2 = x x1 x2 = l**Useful 3D Graphics Ideas**• Every xy point describes a 3D ray in (x1,x2,x3) • ‘Phantom’ dimension x3 is the ‘z-buffer’ value • Homogeneous coords allows translation matrix: • (BUT a 3x3 transform in R3Euclidean Space (x,y,z) can’t translate—only rotate,scale, skew!) ‘Central Image Plane’ (x,y,1) 1 0 3 0 1 5 0 0 1 x y = 1 x+3 y+5 1 x2 An ‘Ideal Point’ (0,0,0) at Center of Projection Ray -x3 y x1 x 1 0 3 0 1 5 0 0 1 x y = z x+z y+z z**Projective Transform: H**• Matrix H transforms Points: • Given a point x: (x1,x2,x3) (or in P2 : (x1/x3, x2/x3)) x’ = Hx • And H-T can also transform Lines: • Recall point x is on line l iff xTl =0 = • Lines transform ‘covariantly’ (points: ‘contravariantly’: x’ = Hx) l’ = H-T l ‘Line Homographies’ of many kinds are often denoted by a star: H***Projective Transform H**x y Apply the 3x3 matrix HHx = x’ 2D image (x,y)Homog. coords [x,y,1]T = x Homog. coordsx’ =[x’,y’,1]T 2D image (x’,y’) x x x2 (x,y) y x y y’ y x3 x x’ x’ y (x’,y’) x2 x**Projective Transform: Hx = x’**h11 x + h12 y + h13 h31 x + h32 y + h33 h21 x + h22 y + h21 h31 x + h32 y + h33 x’2 x’3 x’1 x’3 Finding H from point pairs (correspondences) h11 h12 h13 h21 h22 h21 h31 h32 h33 x1 x2 x3 x’1 x’2 x’3 x1 x2 x3 x y 1 Input (or output) image is on central plane = = x’ = = y’ = = Write R2 expressions;(for each x,x’ pair) x’ (h31 x + h32 y + h33) = (h11 x + h12 y + h13) Rearrange, solve as a matrix problem… y’ (h31 x + h32 y + h33) = (h11 x + h12 y + h13)**Projective Transform: Hx = x’**h11 x + h12 y + h13 h31 x + h32 y + h33 h21 x + h22 y + h21 h31 x + h32 y + h33 x’2 x’3 x’1 x’3 Finding H from point pairs (correspondences) h11 h12 h13 h21 h22 h21 h31 h32 h33 x1 x2 x3 x’1 x’2 x’3 x1 x2 x3 x y 1 Input (or output) image is on central plane = = —!STOP! — You get Easier, Robust, but Partial results using l or conics methods! Let’s try them first. Later we’ll return to this method (called ‘DLT’: direct linear xfm.) x’ = = y’ = = Write R2 expressions; (for each x,x’ pair) x’ (h31 x + h32 y + h33) = (h11 x + h12 y + h13) Rearrange, solve as a matrix problem… y’ (h31 x + h32 y + h33) = (h11 x + h12 y + h13)**Projective Transform: H**• Comp. Graphics ‘View interpolation’ notion • Fixed, rigid 2D viewing point, viewing plane • Rigid 2D world plane positioned in 3D (x1 x2 x3) • only 6 DOF: world plane rotate & position. • Comp. Vision ‘Projective Transform’ notion • Fixed, rigid 2D viewing point, viewing plane • ‘Stretchy’ 2D world plane: allow affine changes • result: (up to) 8 DOF**The bits and pieces of H**H has 8 independent variables (DOF) • Computer Graphics method (3x3 matrix): 2D Translation(tx, ty)3D Scale (sx,sy,sz)3D Rotation (x,y,z) • Computer Vision method(2D projective): Isometry --3DOF (2D translate tx,ty; 2Drotate z; ) Similarity --4DOF (add uniform scale s;) Affine --6DOF (add orientable scale s,/s, s/s) Projective--8DOF (changes x3; 3D-rotation-like)**The bits and pieces of H**H has 8 independent variables (DOF) • Computer Graphics method (3x3 matrix): 2D Translation(tx, ty)3D Scale (sx,sy,sz)3D Rotation (x,y,z) • Computer Vision method(2D projective): Isometry --3DOF (2D translate tx,ty; 2Drotate z; ) Similarity --4DOF (add uniform scale s;) Affine --6DOF (add orientable scale s,/s, s/s) Projective--8DOF (changes x3; 3D-rotation-like) Affects only x1,x2**The bits and pieces of H**H has 8 independent variables (DOF), not 9! • Decomposable into 3 useful parts: (pg 22) H = HS HA HP = • Similarity HS: • 2D translate, rotate, uniform scale only (4DOF) • Affine HA: • non-uniform scale (2DOF) • Projective HP: • Projective coupling for x3 (2DOF) sR t 0T 1 K 0 0T 1 I 0 vT v **The bits and pieces of H**H has 8 independent variables (DOF), not 9! • Decomposable into 3 useful parts: (pg 22) H = HS HA HP = • Similarity HS: • 2D translate, rotate, uniform scale only (4DOF) • Affine HA: • non-uniform scale (2DOF) • Projective HP: • Projective coupling for x3 (2DOF) s cos -s sintx s sin s cos ty 0 0 1 1 0 0 0 1 0 v1 v2vS 1 k2 0 k3 1 0 0 01**1-D Projective Geometry**(?Why? we use it later) • A ‘side’ view of 2D projective geometry • Convert R1 scalar b to a 2-vector inP1 • As with P2, we can transform points: • (use various H2x2 s to change cyan lines below) b 1 H2b H2a**1-D Projective Geometry**a1 a2 b1 b2 What is invariant here? all the positions, lengths and ratios change with each transform… Answer: ‘Cross Ratio’: cross(a,b,c,d) • let a= , b= … • THEN: cross = |ab||cd| |ac||bd| a’ b’ c’ d’ a b c d**Image Rectifying: Undo parts of H**x’ = H x where H = HS HA HP GOAL: Put world plane x’ into view plane • Affine Rect.; (find only HP(2DOF)); • Similarity Rect.; (find only HA HP (6DOF)); • Full Rect.; (find all of H (8DOF)); METHODS:(mix & match?) • Full: 4-point correspondence • ‘Vanishing Point’, Infinity line methods • Conics and circular points**Image Rectifying: Undo parts of H**x’ = H x where H = HS HA HP GOAL: Put world plane x’ into view plane • Affine Rect.; (find only HP(2DOF)); • Similarity Rect.; (find only HA HP (6DOF)); • Full Rect.; (find all of H (8DOF)); METHODS:(mix & match?) • Full: 4-point correspondence • ‘Vanishing Point’, Infinity line methods • Conics and circular points Other DOF? make assumptions, or ignore**Vanishing-Point Methods: 1**• In 2D image, find two pairs of lines that are parallel in ‘world’ space. H world space 2D image**Vanishing-Point Methods: 1**• Find intersection (vanishing points) p1, p2 (compute line intersections with 3D cross-products (see last lecture) • Horizon line Ih connects p1, p2. Ih p1 p2 H world space 2D image**Vanishing-Point Methods: 1**• H-T transforms world infinity linel (0,0,1)Tto Ih • Answer (see book)find, copy the lh coordinates! Hp= 1 0 0 0 1 0 lh1 lh2 lh3 Ih p1 p2 H world space 2D image**Vanishing-Point Methods: 1**Limitations: • Accurate point, line-finding can be tricky • Can have high error sensitivity: ‘twitchy’ • Only rectifies Hp-- but what if HA, HS needed? Ih p1 p2 H world space 2D image**Vanishing-Point Methods: 2**No parallel lines? • find 2D image line with a known distance ratio • Use Cross-Ratio (in P1along that line) to • Find vanishing point distance at point d’ Ih p1 p2 d’ c’ H b’ a b c d(at infinity) a’ 2D image world space**END**--Please download the starter code, compile and run. --Then you can get started on Project 1 right away.**Conic Methods**• Better-behaved, easier to use (? maybe...) • DeterminesHA HP (4DOF) (all but 2D trans, rot, scale) Must go back and review conics first (pg.8) • ‘Conics’ == intersection of cone & plane: • Many possible shapes:circles, ellipses, parabola, hyperbola, degenerates (lines & points**Conic Methods**• Equation of any/all conics solve a 2D quadratic: ax2 + bxy + cy2 +dx +ey +f = 0 • Write in homogeneous coordinates: xTCx = 0 • C is symmetric, 5DOF (not 6, because x3 scaling) • Find any C from 5 homogeneous points(solve for null space—see book pg 9) x1 x2 x3 a b/2 d/2 b/2 c e/2 d/2 e/2 f x1 x2 x3 = 0 a ‘Point Conic’**Conic Methods**• Matrix C makes conics from points: xTCx = 0 C is a ‘point conic’ • Given a point x on a conic curve, the homog. tangent line l is given by l = C x • Matrix C* makes conics from lines: lTC*l = 0C* is a ‘Dual Conic’ defined by tangent lineslinstead of points.**Conic Methods**• If C is non-singular (rank 3), then C* = C-1 • If C (or C*) has… Rank 3: it is an ellipse, circle, parab., hyperb. Rank 2: it is a pair of lines (forms an ‘x’) THE BIG IDEA---MOST USEFUL PROPERTYProjective transform of a conic C is conic C’: C’ = H-T C H-1