Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective...

10
Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic HZ 2.2

Transcript of Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective...

Page 1: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Day x: Infinity

DLT algHZ 4.1

Rectification

HZ 2.7

Hierarchy of maps

InvariantsHZ 2.4

Projectivetransform

HZ 2.3

Behaviourat infinity

Primitivespt/line/conic

HZ 2.2

Page 2: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Ideal points

• points at infinity now have a natural representation: set w = 0– (x,y,0) represents the point at infinity in the direction (x,y)

• points at infinity (x,y,0) are called ideal points– no different in treatment than finite points

• all one happy family (finite and infinite points)– in a projective transform (linear map of projective space), points at

infinity can be mapped to finite points, which is exactly what happens in photography

• intersection of parallel lines is consistent (not a special case)– e.g., x=1 and x=2

Page 3: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Line at infinity

• all of the ideal points in 2-space combine to form the line at infinity• it is the line (0,0,1)

– after all, it contains all the points (x,y,0)• (0,0,1) . (x,y,0) = 0

• HZ28• the line at infinity is often mapped to a finite line in the act of

photography• finding the line at infinity in the image is crucial to removal of

distortion (rectification)• Exercise: where does the line (a,b,c) meet the line at infinity? take

2 minutes to discuss in pairs

Page 4: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Answer to exercise

• line (a,b,c) meets line (0,0,1) at the point (b,-a,0) [apply the intersection rule]– this encodes its tangent vector or direction– recall that (a,b) is the normal of the line

ax+by+c = 0

Page 5: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Circular points

• two special points at infinity are the circular points (1,i,0) and (1,-i,0)

• they are also crucial in rectification (getting true measurements from an image)

• every circle contains the circular points– proof: a circle has the implicit representation (x-aw)^2 + (y-bw)^2 –

r^2w^2 = 0: the circular points satisfy this equation– also note that setting w=0 in this equation yields x^2+y^2=0; w=0

and the circular points are the solutions of this equation

• explains why circle is defined by 3 points, rather than 5• explains why 2 circles have 2 intersections, not 4• HZ5, HZ52

Page 6: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Finding the line at infinity

• the line at infinity can be mapped to a finite line in an image, which is one of the sources of distortion in the image

• vanishing line = imaged line at infinity• let’s find it; good example is Houckgeest image (FL206)• we shall intersect the images of parallel lines to find

vanishing points (imaged points at infinity)• prerequisite: 2 pairs of identified parallel lines in the image,

the 1st pair not parallel to the 2nd pair• 2 minute exercise: develop an algorithm to find the

vanishing line and answer ‘how many cross products are required’?

• HZ50

Page 7: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Translate into projective geometry: how many cross products?

Page 8: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Algorithm for vanishing line

1. mark 2 points on 1st parallel line, say P1 and P2

2. mark 2 points on 2nd parallel line, say Q1 and Q2

3. parallel lines are L=P1xP2 and M=Q1xQ2

4. a point A on the vanishing line = LxM (intersection)

5. find another point B on the vanishing line using the same approach with a 2nd pair of parallel lines (not parallel to the 1st pair)

6. vanishing line = AxB (join)7. 2 to get lines, 1 to get

intersection, 3 more for B, 1 for join = 7

Page 9: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

Removal of projective distortion

• now map vanishing line (L1,L2,L3) to (0,0,1), using the projective transformation represented by the matrix M = [1,0,0; 0,1,0; L1,L2,L3] to map points (see below for relationship of line transformation and point transformation)– actually any affine transformation can be added to this

projective transform (H_a M)

– HZ49

• motivates an understanding of projective transforms

Page 10: Day x: Infinity DLT alg HZ 4.1 Rectification HZ 2.7 Hierarchy of maps Invariants HZ 2.4 Projective transform HZ 2.3 Behaviour at infinity Primitives pt/line/conic.

HW1

See handout.

This homework has a dual purpose: it is a warmup for building metric reconstructions in 3D (we will do it in 2D) and it is an exploration of some of the key ideas of projective geometry through implementation.

• suggested warmup: input lines and intersect (the first stage of affine rectification)– does not require an image– allows you to develop your functions for projective geometry (either C functions or C++ class)– allows you to explore OpenGL mouse reading

1. affine rectification: implement algorithm described above (and Example 2.18 HZ50) to find a vanishing line and map it to the line at infinity (0,0,1) in order to affinely rectify an image

• should work with any image• use image of Figure 2.13 for preliminary testing (available at my website)

2. metric rectification: move circular points to their proper position using Algorithm of Example 2.26 (described in detail next lecture); advise delaying start until Monday

3. Prove that if a projective transform fixes the circular points, then it must be a similarity. [we proved the other direction]