Robot Vision: Projective Geometry
Total Page:16
File Type:pdf, Size:1020Kb
Robot Vision: Projective Geometry Ass.Prof. Friedrich Fraundorfer SS 2018 1 Learning goals . Understand homogeneous coordinates . Understand points, line, plane parameters and interpret them geometrically . Understand point, line, plane interactions geometrically . Analytical calculations with lines, points and planes . Understand the difference between Euclidean and projective space . Understand the properties of parallel lines and planes in projective space . Understand the concept of the line and plane at infinity 2 Outline . 1D projective geometry . 2D projective geometry ▫ Homogeneous coordinates ▫ Points, Lines ▫ Duality . 3D projective geometry ▫ Points, Lines, Planes ▫ Duality ▫ Plane at infinity 3 Literature . Multiple View Geometry in Computer Vision. Richard Hartley and Andrew Zisserman. Cambridge University Press, March 2004. Mundy, J.L. and Zisserman, A., Geometric Invariance in Computer Vision, Appendix: Projective Geometry for Machine Vision, MIT Press, Cambridge, MA, 1992 . Available online: www.cs.cmu.edu/~ph/869/papers/zisser-mundy.pdf 4 Motivation – Image formation [Source: Charles Gunn] 5 Motivation – Parallel lines [Source: Flickr] 6 Motivation – Epipolar constraint X world point epipolar plane x x’ x‘TEx=0 C T C’ R 7 Euclidean geometry vs. projective geometry Definitions: . Geometry is the teaching of points, lines, planes and their relationships and properties (angles) . Geometries are defined based on invariances (what is changing if you transform a configuration of points, lines etc.) . Geometric transformations of Euclidean geometry preserve distances . Geometric transformations of projective geometry do NOT preserve distances . Projective geometry was developed to explain the perspective changes of three-dimensional objects when projected to a plane. 8 Difference between Euclidean and projective transformation Euclidean transformation Projective transformation 9 1D Euclidean geometry x p1 p2 p3 p4 Euclidean coordinate: p1=[x] 10 1D projective geometry w W=1 p1 p2 p3 p4 x homogeneous coordinate: p1=[x,w] ≈ [x,1] 11 2D projective geometry . Homogeneous coordinates . Points, Lines . Duality 12 Homogeneous coordinates . projective plane = Euclidean plane + a new line of points . The projective space associated to R3 is called the projective plane P2. w y ℝ 2 O2 p x 1 v O3 u image coordinate: p=[x,y] homogeneous coordinate: p=[u,v,w] ≈ [u,v,1] 13 Points . A point in the image is a ray in projective space -y (wx,wy,w) (x,y,1) (0,0,0) x -z image plane • Each point (x,y) on the plane is represented by a ray (wx,wy,w) – all points on the ray are equivalent: (x, y, 1) (wx, wy, w) 14 Lines . A line in the image plane is defined by the equation ax + by + cz = 0 in projective space . [a,b,c] are the line parameters . A point [x,y,1] lies on the line if the equation ax + by + cz = 0 is satisfied . This can be written in vector notation with a dot product: x 0 a b cy z lT p . A line is also represented as a homogeneous 3-vector l 15 Calculations with lines and points . Defining a line by two points 푙 = 푥 × 푦 . Intersection of two lines 푥 = 푙 × 푚 . Proof: 푙 = 푥 × 푦 푥푇 푥 × 푦 = 푦푇 푥 × 푦 = 0 (scalar triple product) 푥푇푙 = 푦푇푙 = 0 16 Geometric interpretation of line parameters [a,b,c] ▫ A line l is a homogeneous 3-vector, which is a ray in projective space ▫ It is to every point (ray) p on the line: l p=0 p p 2 l 1 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 17 Point and line duality 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 x l xTl 0 lTx 0 x l l' l x x' 18 Point and line duality p p2 l1 p l 1 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 • given any formula, can switch the meanings of points and 19 lines to get another formula Intersection of parallel lines . l and m are two parallel lines 푙 = (푎, 푏, 푐)푇 푒. 푔. (−1,0,1)푇 (a line parallel to y-axis) 푚 = (푎, 푏, 푑)푇 푒. 푔. (−1,0,2)푇 (another line parallel to y-axis) . Intersection of l and m 푥 = 푙 × 푚 푎 푎 푏푑 − 푏푐 푏 x 1 x 2 푥 = 푏 × 푏 = 푎푐 − 푎푑 = 푑 − 푐 −푎 푐 푑 푎푏 − 푎푏 0 . A point (x,y,0) is called an ideal point, it does not lie in the image plane. But where does it lie then 20 Ideal points and line at infinity -v (wx,wy,0) -w u image plane . Ideal point (“point at infinity”) ▫ p (x, y, 0) – parallel to image plane ▫ It has infinite image coordinates . All ideal points lie at the line at infinity . l (0, 0, 1) – normal to the image plane . Why is it called a line at infinity? 21 Projective transformations . Mapping between planes x’=Hx x x’ O y’ 휋 y x’ x 22 Projective transformations Definition: Projective transformation x' h h h x 1 11 12 13 1 x' h h h x 2 21 22 23 2 or x' H x x'3 h31 h32 h33 x3 8DOF projectivity=collineation=projective transformation=homography 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 23 Overview 2D transformations h11 h12 h13 Concurrency, collinearity, Projective h h h order of contact (intersection, 8dof 21 22 23 tangency, inflection, etc.), cross ratio h31 h32 h33 Parallellism, ratio of areas, a11 a12 tx ratio of lengths on parallel Affine a a t lines (e.g midpoints), linear 6dof 21 22 y combinations of vectors 0 0 1 (centroids). sr sr t 11 12 x Ratios of lengths, angles. Similarity sr sr t 4dof 21 22 y 0 0 1 r11 r12 tx Euclidean r r t lengths, areas. 3dof 21 22 y 0 0 1 24 Effects of projective transformations . Foreshortening effects can be imaged easily with primitive shapes . But, how does an circle get transformed? 25 Effects of projective transformations Center of projected circle Ellipse center 2D circle Circle after projective transformation 26 3D projective geometry . Points, Lines, Planes . Duality . Plane at infinity . Image formation 27 3D projective geometry . The concepts of 2D generalize naturally to 3D ▫ The axioms of geometry can be applied to 3D as well . 3D projective space = 3D Euclidean space + plane at infinity ▫ Not so simple to visualize anymore (4D space) . Entities are now points, lines and planes ▫ Projective 3D points have four coordinates: P = (x,y,z,w) . Points, lines, and planes lead to more intersection and joining options that in the 2D case 28 Planes . Plane equation Π1푋+Π2푌 + Π3푍+Π4=0 Π푇 푋 =0 ▫ Expresses that point X is on plane Π . Plane parameters Π = [Π1, Π2, Π3, Π4] ▫ Plane parameters are normal vector + distance from origin 29 Join and incidence relations with planes . A plane is defined uniquely by the join of three points, or the join of a line and point in general position . Two distinct planes intersect in a unique line . Three distinct planes intersect in a unique point 30 Three points define a plane . X1,X2,X3 are three distinct points, each has to fullfil the incidence equation. Equations can be stacked. 푇 푋1 푇 푋2 Π = 0 (3푥4)(4푥1) 푇 푋3 ▫ Plane parameters are the solution vector to this linear equation system (e.g. SVD) . Points and planes are dual 푇 Π1 푇 Π2 푋 = 0 푇 Π3 31 Lines . Lines are complicated . Lines and points are not dual in 3D projective space . Lines are represented by a 4x4 matrix, called Plücker matrix . Computation of the line matrix from two points A,B 퐿 = 퐴퐵푇 − 퐵퐴푇 4푥4 푚푎푡푟푖푥 . Matrix is skew-symmetric . Example line of the x-axis ▫ x1 = [0 0 0 1]T x2 = [1 0 0 1]T L = x1*x2T-x2*x1T L = 0 0 0 -1 0 0 0 0 0 0 0 0 1 0 0 0 32 Lines . Points and planes are dual, we can get new equations by substituting points with planes 퐿 = 퐴퐵푇 − 퐵퐴푇 퐴, 퐵 푎푟푒 푝표푖푛푡푠 퐿∗ = 푃푄푇 − 푄푃푇 푃, 푄 푎푟푒 푝푙푎푛푒푠 . The intersection of two planes P,Q is a line . Lines are self dual, the same line L has a dual representation L* . The matrix L can be directly computed from the entries of L* 33 Point, planes and lines . A plane can be defined by the join of a point X and a line L Π = 퐿∗푋 . A point can be defined by the intersection of a plane with a line L X = LΠ 34 Plane at infinity . Parallel lines and parallel planes intersect at Π∞ . Plane parameters of Π∞ 푇 Π∞ = (0,0,0,1) . It is a plane that contains all the direction vectors 퐷 = (푥1, 푥2, 푥3,0)푇, vectors that originate from the origin of 4D space . Try to imagine an extension of the 2D case (see illustration below) to the 3D case… -v (wx,wy,0) -w u image plane 35 Recap - Learning goals . Understand homogeneous coordinates . Understand points, line, plane parameters and interpret them geometrically .