<<

Robot Vision: Projective

Ass.Prof. Friedrich Fraundorfer

SS 2018

1 Learning goals

. Understand

. Understand points, , parameters and interpret them geometrically

. Understand , line, plane interactions geometrically

. Analytical calculations with lines, points and planes

. Understand the difference between Euclidean and

. Understand the properties of lines and planes in projective space

. Understand the concept of the line and plane at

2 Outline

. 1D . 2D projective geometry ▫ Homogeneous coordinates ▫ Points, Lines ▫ . 3D projective geometry ▫ Points, Lines, Planes ▫ Duality ▫

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 – 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 vs. projective geometry

Definitions: . Geometry is the teaching of points, lines, planes and their relationships and properties () . are defined based on invariances (what is changing if you transform a 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

. = 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 : x   0  a b cy 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 ) 푥푇푙 = 푦푇푙 = 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

-v (wx,wy,0)

-w u image plane

. Ideal point (“”) ▫ 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==projective transformation=

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, , 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 ), linear 6dof  21 22 y  combinations of vectors  0 0 1  (). 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 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 of geometry can be applied to 3D as well . 3D projective space = 3D + 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 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 , 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