Robot Vision SS 2008 Matthias Rüther 1 ROBOT VISION Lesson 2: Projective Geometry Matthias Rüther Slides courtesy of Marc Pollefeys Department of Computer
Text of Robot Vision SS 2008 Matthias Rüther 1 ROBOT VISION Lesson 2: Projective Geometry Matthias...
PowerPoint-Präsentation* Department of Computer Science * 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, auto-calibration, Dynamic SfM, Cheirality, Duality Robot Vision SS 2008 Matthias Rüther * * Given vectors v1, ..., vk and scalars c1, ..., ck, the vector v = c1v1 + c2v2 + . . . + ckvk is obtained as a linear combination of the vectors v1, ..., vk Example: all vectors in R3 are linear combinations of i = (1, 0, 0), j = (0, 1, 0), and k = (0, 0, 1) v = (a, b, c) = a(1, 0, 0) + b(0, 1, 0) + c(0, 0, 1) Spanning S=(v1, v2, . . . , vk ) spans a space W if every vector in W can be written as a linear combination of the vectors in S Linear Indepedence c1v1 + c2v2 + . . . + ck vk = 0 implies c1 = c2 = . . . = ck = 0 Robot Vision SS 2008 Matthias Rüther * Basis S=(v1, ..., vk) is a basis for a vector space W if vj are linearly indepedent Dimension All bases for W have the same number of vectors. The dimension of W is the size of its sets of basis vectors. Coordinates Relative to a Basis If S=(v1, ..., vn) is a basis for a vector space W, then any v Î W has a unique vector expansion: * * Multiplication Determinants Robot Vision SS 2008 Matthias Rüther * Properties: Pseudo-Inverse If A is mn, rank(A) <= min(m,n) If A is nn, rank(A) = n iff A nonsingular (invertible, det(A)!=0) If A is nn, rank(A) < n iff A singular Robot Vision SS 2008 Matthias Rüther * If m>n, the system is over-determined If m<n, the system is under-determined If b=0, the system is homogeneous The system has either no solutions, exactly one or infinitely many Methods for solving Amnx=b include Gauss elimination, LU factorization, computing pseudo-inverse using SVD etc. Conditions for solutions of Ax=b (A is square) If A is invertible, Ax=b has exactly one solution. A is invertible Ax=0 has only trivial solution If rank(A|b)>rank(A), the system has no solution If rank(A)<n, and rank(A|b)=rank(A), the system has infinite number of solutions Ax=0 has non-trivial solutions iff rank(A)<n Robot Vision SS 2008 Matthias Rüther * * Transformations: 1 * W=1 Representation: 1D vector: p‘ = (x‘ w‘)T, where p = (x) = (x‘/w‘) e.g. p‘ = (2 1)T = (4 2)T = (1 0,5)T are all equivalent to p = (2) Robot Vision SS 2008 Matthias Rüther * Transformations: Translation and Scaling: p‘ = M * p, where M=S*T 2DOF Projective Mapping: p‘ = P * p, where P is a 2x2 Matrix 3DOF Robot Vision SS 2008 Matthias Rüther * * * Robot Vision SS 2008 Matthias Rüther * transformations form a hierarchy, some geometric features remain unchanged under the transformations Translation (isometry) Projective Mapping (projectivity) d12*d34 = d13*d24 * Set of all equivalence classes in R3(0,0,0)T forms P2 The point x lies on the line l if and only if xTl=lTx=0 Homogeneous representation of points * Intersections of lines Example Lx = (1 0 -1) Ly = (0 1 -1) * Intersections of parallel lines between ideal points and others Example * exaclty one point at intersection of two lines Robot Vision SS 2008 Matthias Rüther * 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 Robot Vision SS 2008 Matthias Rüther * 5DOF: * For each point the conic passes through or * Tangent lines to conics The line l tangent to C at point x on C is given by l=Cx l x C * Dual conics = line conics = conic envelopes In general (C full rank): Robot Vision SS 2008 Matthias Rüther * Degenerate conics A conic is degenerate if matrix C is not of full rank e.g. two lines (rank 2) e.g. repeated line (rank 1) Degenerate line conics: 2 points (rank 2), double point (rank1) Note that for degenerate conics Robot Vision SS 2008 Matthias Rüther * Projective transformations 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. Definition: projectivity=collineation=projective transformation=homography 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 Theorem: * (application of theorem) * (linear in hij) * * Transformation for lines * 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 leave distances unchanged Robot Vision SS 2008 Matthias Rüther * 3DOF (1 rotation, 2 translation) Invariants: length, angle, area * metric structure = structure up to similarity (in literature) 4DOF (1 scale, 1 rotation, 2 translation) Invariants: ratios of length, angle, ratios of areas, parallel lines Robot Vision SS 2008 Matthias Rüther * ratios of areas * Action non-homogeneous over the plane 8DOF (2 scale, 2 rotation, 2 translation, 2 line at infinity) Invariants: cross-ratio of four points on a line (ratio of ratio) * Line at infinity becomes finite, allows to observe vanishing points, horizon, Line at infinity stays at infinity, but points move along line Robot Vision SS 2008 Matthias Rüther * Concurrency, collinearity, order of contact (intersection, tangency, inflection, etc.), cross ratio 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