Projective 2D geometry course 2 Multiple View Geometry Comp 290-089 Marc Pollefeys Content • Background: Projective geometry (2D, 3D), Parameter estimation, Algorithm evaluation. • Single View: Camera model, Calibration, Single View Geometry. • Two Views: Epipolar Geometry, 3D reconstruction, Computing F, Computing structure, Plane and homographies. • Three Views: Trifocal Tensor, Computing T. • More Views: N-Linearities, Multiple view reconstruction, Bundle adjustment, autocalibration, Dynamic SfM, Cheirality, Duality Multiple View Geometry course schedule (tentative) Jan. 7, 9 Intro & motivation Projective 2D Geometry Jan. 14, 16 (no course) Projective 2D Geometry Jan. 21, 23 Projective 3D Geometry Parameter Estimation Jan. 28, 30 Parameter Estimation Algorithm Evaluation Camera Models Camera Calibration Feb. 11, 13 Single View Geometry Epipolar Geometry Feb. 18, 20 3D reconstruction Fund. Matrix Comp. Feb. 25, 27 Structure Comp. Planes & Homographies Trifocal Tensor Three View Reconstruction Mar. 18, 20 Multiple View Geometry MultipleView Reconstruction Mar. 25, 27 Bundle adjustment Papers Apr. 1, 3 Auto-Calibration Papers Apr. 8, 10 Dynamic SfM Papers Apr. 15, 17 Cheirality Papers Apr. 22, 24 Duality Project Demos Feb. 4, 6 Mar. 4, 6 Projective 2D Geometry • Points, lines & conics • Transformations & invariants • 1D projective geometry and the Cross-ratio Homogeneous coordinates Homogeneous representation of lines ax by c 0 a,b,c T (ka) x (kb) y kc 0, k 0 a,b,c T ~ k a,b,c T equivalence class of vectors, any vector is representative Set of all equivalence classes in R3(0,0,0)T forms P2 Homogeneous representation of points T T x x, y on l a,b,c if and only if ax by c 0 x,y,1a,b,c T x,y,1 l 0 x, y,1T ~ k x, y,1T , k 0 The point x lies on the line l if and only if xTl=lTx=0 Homogeneous coordinates x1 , x2 , x3 T Inhomogeneous coordinates x, y T but only 2DOF Points from lines and vice-versa Intersections of lines The intersection of two lines l and l' is x l l' Line joining two points The line through two points x and x' is l x x' Example y 1 x 1 Ideal points and the line at infinity Intersections of parallel lines l a, b, c and l' a, b, c' T T Example l l' b,a,0 T b,a tangent vector a, b normal direction x 1 x 2 Ideal points Line at infinity x1 , x2 ,0T T l 0,0,1 P 2 R 2 l Their inner product is zero Note that in P2 there is no distinction between ideal points and others In projective plane, two distinct lines meet in a single point and Two distinct points lie on a single line not true in R^2 A model for the projective plane Points in P^2 are represented by rays passing through origin in R^3. Lines in P^2 are represented by planes passing through origin Points and lines obtained by intersecting rays and planes by plane x3 = 1 Lines lying in the x1 – x2 plane are ideal points; x1-x2 plane is l_{infinity} Duality Roles of points and lines can be interchanged x l x Tl 0 lT x 0 x l l' l x x' Duality principle: To any theorem of 2-dimensional projective geometry there corresponds a dual theorem, which may be derived by interchanging the role of points and lines in the original theorem Conics Curve described by 2nd-degree equation in the plane ax 2 bxy cy 2 dx ey f 0 or homogenized x x1 x , y x2 x 3 3 ax1 bx1 x2 cx2 dx1 x3 ex2 x3 fx32 0 2 2 or in matrix form b / 2 d / 2 a e / 2 x T C x 0 with C b / 2 c d / 2 e / 2 f 5DOF: a : b : c : d : e : f Five points define a conic For each point the conic passes through axi2 bxi yi cyi2 dxi eyi f 0 or x , x y , y , x , y , f c 0 2 i i i 2 i i i stacking constraints yields x12 2 x2 x32 2 x4 x2 5 x1 y1 x2 y 2 x3 y3 x4 y 4 x5 y5 y12 y22 y32 y42 y52 x1 x2 x3 x4 x5 y1 y2 y3 y4 y5 1 1 1c 0 1 1 c a, b, c, d , e, f T Tangent lines to conics The line l tangent to C at point x on C is given by l=Cx x l C Dual conics Conic C, also called, “point conic” defines an equation on points Apply duality: dual conic or line conic defines an equation on lines A line tangent to the conic C satisfies l T C* l 0 C* is the adjoint of Mtrix C; defined in Appendix 4 of H&Z In general (C full rank): C* C 1 x Dual conics = line conics = conic envelopes Points conic xT Cx 0 lie on a point lines l C l 0 are tangent to the point conic C; conic C is the envelope of lines l T * Degenerate conics A conic is degenerate if matrix C is not of full rank m l e.g. two lines (rank 2) C lm T ml T e.g. repeated line (rank 1) C ll T l Degenerate line conics: 2 points (rank 2), double point (rank1) Note that for degenerate conics C * * C Projective transformations Definition: A projectivity is an invertible mapping h from P2 to itself such that three points x1,x2,x3 lie on the same line if and only if h(x1),h(x2),h(x3) do. ( i.e. maps lines to lines in P2) Theorem: A mapping h:P2P2 is a projectivity if and only if there exist a non-singular 3x3 matrix H such that for any point in P2 reprented by a vector x it is true that h(x)=Hx Definition: Projective transformation: linear transformation on homogeneous 3 vectors represented by a non singular matrix H x'1 h11 h12 x'2 h21 h22 x' h 3 31 h32 h13 x1 h23 x2 h33 x3 or x' H x 8DOF •projectivity=collineation=projective transformation=homography •Projectivity form a group: inverse of projectivity is also a projectivity; so is a composition of two projectivities. Projection along rays through a common point, (center of projection) defines a mapping from one plane to another Central projection maps points on one plane to points on another plane Projection also maps lines to lines : consider a plane through projection Center that intersects the two planes lines mapped onto lines Central projection is a projectivity central projection may be expressed by x’=Hx (application of theorem) Removing projective distortion Central projection image of a plane is related to the originial plane via a projective transformation undo it by apply the inverse transformation select four points in a plane with know coordinates h x h12 y h13 h x h22 y h23 x' x' x' 1 11 y ' 2 21 x'3 h31 x h32 y h33 x'3 h31x h32 y h33 x' h31x h32 y h33 h11x h12 y h13 y' h31x h32 y h33 h21x h22 y h23 (linear in hij) (2 constraints/point, 8DOF 4 points needed) Remark: no calibration at all necessary, better ways to compute (see later) Sections of the image of the ground are subject to another projective distortion need another projective transformation to correct that. More examples Projective transformation between two images Induced by a world plane concatenation of two Pojective transformations is also a proj. trans. Proj. trans. Between the image of a plane (end of the building) and the image of its Shadow onto another plane (ground plane) Proj. trans. Between two images with the same camera center e.g. a camera rotating about its center Transformation of lines and conics For points on a line l, the transformed points under proj. trans. also lie on a line; if point x is on line l, then transforming x, transforms l For a point transformation x' H x Transformation for lines l' H -T l Transformation for conics C' H -T CH -1 Transformation for dual conics C'* HC*H T A hierarchy of transformations Group of invertible nxn matrices with real element general linear group GL(n); Projective linear group: matrices related by a scalar multiplier PL(n) • Affine group (last row (0,0,1)) • Euclidean group (upper left 2x2 orthogonal) • Oriented Euclidean group (upper left 2x2 det 1) Alternative, characterize transformation in terms of elements or quantities that are preserved or invariant e.g. Euclidean transformations (rotation and translation) leave distances unchanged Similarity Affine projective Similarity: circle imaged as circle; square as square; parallel or perpendicular lines have same relative orientation Affine: circle becomes ellipse; orthogonal world lines not imaged as orthogonoal; But, parallel lines in the square remain parallel Projective: parallel world lines imaged as converging lines; tiles closer to camera larger image than those further away. Class I: Isometries: preserve Euclidean distance (iso=same, metric=measure) x' cos y ' sin 1 0 sin cos 0 t x x t y y 1 1 1 •orientation preserving: 1 Euclidean transf. i.e. composition of translation and rotation forms a group •orientation reversing: 1 reflection does not form a group R t x' H E x T x RTR I 0 1 R is 2x2 rotation matrix; (orthogonal, t is translation 2-vector, 0 is a null 2-vector 3DOF (1 rotation, 2 translation) trans. Computed from two point correspondences special cases: pure rotation, pure translation Invariants: length (distance between 2 pts) , angle between 2 lines, area Class II: Similarities: isometry composed with an isotropic scaling x' s cos y ' s sin 1 0 s sin s cos 0 t x x t y y (isometry + scale) 1 1 sR t x' H S x T x 0 1 RTR I 4DOF (1 scale, 1 rotation, 2 translation) 2 point correspondences Scalar s: isotropic scaling also known as equi-form (shape preserving) metric structure = structure up to similarity (in literature) Invariants: ratios of length, angle, ratios of areas, parallel lines Class III: Affine transformations: non singular linear transformation followed by a translation x' a11 a12 t x x y' a21 a22 t y y 1 0 1 0 1 A t x' H A x T x 0 1 A R R DR Rotation by theta R(-phi) D R(phi) scaling directions in the deformation are orthogonal 1 0 D 0 2 6DOF (2 scale, 2 rotation, 2 translation) 3 point correspondences non-isotropic scaling! (2DOF: scale ratio and orientation) Invariants: parallel lines, ratios of parallel lengths, ratios of areas Affinity is orientation preserving if det (A) is positive depends on the sign of the scaling Class IV: Projective transformations: general non singular linear transformation of homogenous coordinates A x' H P x T v t x v v v1 , v2 T Hp has nine elements; only their ratio significant 8 Dof 4 correspondences Not always possible to scale the matrix to make v unity: might be zero Action non-homogeneous over the plane Invariants: cross-ratio of four points on a line (ratio of ratio) Action of affinities and projectivities on line at infinity Affiine A 0 T x1 x1 t A x2 x2 v 0 0 Line at infinity stays at infinity, but points move along line Proj. trans. A vT x1 x t A 1 x x2 2 v 0 v1 x1 v2 x2 Line at infinity becomes finite, allows to observe/model vanishing points, horizon, Decomposition of projective transformations sR t K H H S H AH P T T 0 1 0 0 I 1 v T Decomposition valid if v not zero, and unique (if chosen s>0) Useful for partial recovery of a transformation 0 A T v v A sRK tv T K upper-triangular, det K 1 Example: 1.707 0.586 1.0 H 2.707 8.242 2.0 1.0 2.0 1.0 2 cos 45 H 2 sin 45 0 2 sin 45 2 cos 45 0 t v 1.0 0.5 1 0 1 0 0 2.0 0 2 0 0 1 0 1 0 0 1 1 2 1 Overview transformations Projective 8dof Affine 6dof Similarity 4dof Euclidean 3dof h11 h 21 h31 a11 a 21 0 h12 h22 sr11 sr 21 0 r11 r 21 0 sr12 t x sr22 t y 0 1 r12 t x r22 t y 0 1 h32 a12 a22 0 h13 h23 h33 Concurrency, collinearity, order of contact (intersection, tangency, inflection, etc.), cross ratio tx t y 1 Parallellism, ratio of areas, ratio of lengths on parallel lines (e.g midpoints), linear combinations of vectors (centroids). The line at infinity l∞ Ratios of lengths, angles. The circular points I,J lengths, areas. Number of invariants? The number of functional invariants is equal to, or greater than, the number of degrees of freedom of the configuration less the number of degrees of freedom of the transformation e.g. configuration of 4 points in general position has 8 dof (2/pt) and so 4 similarity, 2 affinity and zero projective invariants