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
. 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
36