Geometry in Computer Vision a Vector Space a Projective Space A

Geometry in Computer Vision a Vector Space a Projective Space A

A vector space • A vector space V consists of a set of vectors – Two vectors can be added – A vector can be multiplied by a scalar – Both operations result again in a vector in V Geometry in Computer Vision – Sets of vectors can be linearly combined into a new vector • The dimension of V = maximal number of vectors which are linear independent Spring 2010 • Basis exists Lecture 1 • Orthogonality between two vectors defined if we have a scalar product Projective Geometry • Linear mappings are well-defined 1 2 A projective space A projective space • A projective space can be defined from V • The projective space generated from V consist in terms of equivalence classes: of all such projective elements – Any projective element correspond to a 1D subspace – Two vectors u and v are equivalent if there of V – Any projective element has a non-unique exists a non-zero scalar s such that u = s v representation of non-zero vectors in V ⇒ u and v must be non-zero vectors – Any non-zero element of V corresponds to a unique – All vectors which are equivalent correspond to projective element an element of the projective space (a projective element) • The projective space is (here) denoted P(V) – Projective equivalence is denoted u ∼ v 3 4 A projective space Projective representation • Dimension of P(V) = dim(V) – 1 •The n-dimensional vector space Rn can be • Addition and scalar multiplications are undefined given a projective representation by the operations in P(V), no linear combinations projective space P(Rn+1) • No basis exists • Orthogonality is well-defined! The homogeneous – Two projective elements are orthogonal iff their coordinates of y representative vectors are orthogonal •A linear mapping M : V U Is represented by the produces a well-defined mapping P(V) P(U) projective element corresponding to 5 6 Example Homogeneous normalization • Given an a vector u∈Rn+1 we can scale it so that the last element = 1 ⇒ normalization (can we always do this?) • The first n elements in the normalized homogeneous vector are the vector in Rn that u represents • This makes it possible to know which All these vectors in R3 represent the vector in Rn a specific projective element same projective element in P(Rn+1) represents 7 8 Projective representation of the Projective representation of the Euclidean space Euclidean space • The elements of vectors in R2 and R3 are Motivation the coordinates of points in 2D or 3D • A corresponding representation can be found Euclidean spaces relative to some specific also for lines in 2D and lines + planes in 3D. • Operations on these geometric object are much coordinate systems easier to describe algebraically in a projective • We use the projective representation of R2 space than in standard Euclidean coordinates given by P2 = P(R3) – Find the point of intersection between a 3D plane and a 3D line 3 • We use the projective representation of R • “Exceptional cases” can be included in the same given by P3 = P(R4) representations – Example: All 2D lines intersect at one point, except if 9 the lines are parallel or identical 10 A homogeneous representation of A homogeneous representation of lines in 2D lines in 2D L and are well-defined • Let y = (y1,y2) be the Euclidean also for a vertical line. coordinates of a 2D point Compare to y2=k y1 + a • Any 2D line is characterized by an angle and a scalar L such that a normal vector (L cos , L sin ) which points from the origin to the line y lies on the line ⇔ y1 cos + y2 sin = L Origin The defining equation of a line L = shortest distance from the line to the origin 11 12 A homogeneous representation of A homogeneous representation of lines in 2D lines in 2D • Suggests a homogeneous representation of the line: • y lies on the line ⇔ y1 cos + y2 sin = L H • y lies on the line ⇔ yH · l = 0 • lH is the (dual) homogeneous coordinates Homogeneous coordinates of y of the line 13 14 Dual homogeneous normalization The cross product • Given a non-zero vector in R3 we can • The cross product a × b for a, b ∈ R3 determine which line it represents by scaling it such that a × b is orthogonal to a and b – The norm of elements 1 and 2 equals 1 – Third element is non-positive ( 0) a × b = 0 if a = b • The elements of the normalized vector directly gives and L a × b = - (b × a) ∼ (b × a) 15 16 The cross product operator The intersection of two lines H H • For a fix vector a, the cross product with b • Let l1 and l2 be the dual homogeneous is a linear mapping on b representation of two lines in 2D •The “a ×” mapping can be represented by • Wanted: the intersection point x between the lines an anti-symmetric 3 × 3 matrix [a]×: • Its homogeneous representation yH must satisfy H H yH · l1 = yH · l2 = 0 H H ⇒ yH is orthogonal to both l1 and l2 l 1 y H H such that a b = [a]b yH = l1 × l2 17 18 l2 Special case 1 Special case 2 • If the two lines are identical • If the two lines are distinct but parallel, y is – y is not unique “undefined”, but … – any point on the line is an intersection point Cannot be normalized H H to represent a 2D point • In this case: l1 × l2 = 0 • We can use the result = 0 to flag that the lines are identical, i.e., the result is not a specific point Result = 0 multiple solutions exist 19 Assuming the lines are distinct 20 Points at infinity Line intersecting two points • The result in this case can be used to represent • Let y1H and y2H be the homogeneous a “point at infinity” coordinates of two points in 2D – The normalization suggests that the corresponding • We want to find the line which intersects both 2D point lies at infinite distance from the origin points • This is a single point even though there are two • Its dual homogeneous representation lH must directions to look for this point satisfy – An abstraction of an orientation of a line in 2D H H yH1 · l = yH2 · l = 0 2 • Given “for free” as elements in P H ⇒ l is orthogonal to yH1 and yH2 • The result of an operation which maps onto P2 is y either a proper 2D point or a point at infinity l 2 H l = yH1 × yH2 21 22 y1 Special case 1 Special case 2 • If the two points are identical, the line is • This operation still works also when only not unique: any line going through one one of the two points is a point at infinity: point goes through the other – The resulting line goes through the first point • In this case: yH1 × yH2 = 0 – In the orientation given by the second point • We can (again) use the result = 0 to flag (the point at infinity) that the points are identical, i.e., the result is not a specific line but rather a set of lines 23 24 Special case 3 The line at infinity • The operation even works when both • The result in this case can be used to represent points are points at infinity: a “line at infinity” – The normalization suggests that the corresponding 2D line lies at infinite distance from the origin Cannot be normalized • There is only one single line at infinity to represent a 2D line – Represents the line which intersects with any distinct pair of points at infinity – An abstraction of a circle at infinite distance from the origin – Given “for free” as an element of P2 – The result of an operation which maps onto P2 can be either a proper 2D line or the line at infinity Assuming the points at inifity are distinct 25 26 Notation Affine coordinate transformations • In the following, most vectors are • A 2D point y is transformed to y’ such that homogeneous representations of points or the corresponding Euclidean 2D lines coordinates are related as – Drop the H –Use y to denote homogeneous coordinates of a 2D point. y is then an element of P2 – The corresponding 2D point is also called y ! –Use l to denote dual homogeneous coordinates of a 2D line. l is then an element of P2 • This transformation is called affine – The corresponding line is also called l ! 27 28 Affine coordinate transformations Affine coordinate transformations • Translation: • Rotation: y2 y’2 y2 y’2 y1 y’1 Note: rotation y1 y’1 29 around the origin! 30 Coordinate transformations Coordinate transformations • Scaling • Mirroring y2 y’2 y2 y’2 y1 y’1 y1 y’1 31 32 Affine coordinate transformations Affine coordinate transformations • Skewing • In homogeneous coordinates: y2 y’2 y1 y’1 All these transformations are represented as linear 33 mappings T onto the homogeneous coordinates 34 Coordinate transformations 2D coordinate transformations • The composition of two such matrices is again a • Let y ∈ P2 homogeneous coordinates of a matrix of this type: a matrix group – Rotation around an arbitrary point can be represented 2D point as a composition of translation-rotation-translation • Let T be a 3 × 3 matrix which represents • The 3 × 3 transformation matrix is itself an element of a projective space some coordinate transformation: y’ = T y – A multiplication by a non-zero scalar onto the matrix – Note that y’ represent the same point as y but can be moved to either of the two homogeneous vectors y or y’ which gives equivalent homogeneous in a different coordinate system!! vectors • Let l be a line that includes y: l·y = 0 • The transformation matrix can be more general (why?) than described here • If then follows that l transforms to l’=(TT)-1 l – More on this after the 3D case has been described •(TT)-1 is called the dual transformation of T 35 36 A homogeneous representation of A homogeneous representation of planes in 3D planes in 3D • Let (x1,x2,x3) be the Euclidean coordinates of a 3D point x • Any 3D plane is characterized by a unit (L n1, Ln2, Ln3) vector n=(n1,n2,n3) and a scalar L such a normal vector that

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    21 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us