day 2: structure from motion diagram

21
Day 2: Structure from motion diagram n-view geometry Calibration Three-view geometry Two-view geometry Camera geometry Projective geometry

Upload: torn

Post on 03-Feb-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Day 2: Structure from motion diagram. Projective geometry. Camera geometry. Two-view geometry. Three-view geometry. n-view geometry. Calibration. First topic: projective geometry. Projective geometry HZ 2,3. Camera geometry. Two-view geometry. Three-view geometry. n-view - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Day 2: Structure from motion diagram

Day 2: Structure from motion diagram

n-viewgeometry

Calibration

Three-viewgeometry

Two-viewgeometry

Camerageometry

Projectivegeometry

Page 2: Day 2: Structure from motion diagram

First topic: projective geometry

n-viewgeometry

Calibration

Three-viewgeometry

Two-viewgeometry

Camerageometry

ProjectivegeometryHZ 2,3

Page 3: Day 2: Structure from motion diagram

But a short introduction to the camera first

n-viewgeometry

Calibration

Three-viewgeometry

Two-viewgeometry

Camerageometry

ProjectivegeometryHZ 2,3

Page 4: Day 2: Structure from motion diagram

Introduction to the camera

• Faugeras: the camera as ‘projective engine’: “A camera is a particular geometric engine which constructs planar images of the 3-dimensional world through a projection.” [FL 174]

• we want to invert this imaging process to yield a model of the 3-dimensional world

• must understand image formation

Page 5: Day 2: Structure from motion diagram

Theory of perspective in history• pinhole cameras and the image formation process

were first explored by Renaissance painters, where it was called the theory of perspective

• Leonardo da Vinci (quoting John Pecham): “Perspective ... should be preferred above all man’s discourses and disciplines. In this subject the visual rays are elucidated by means of demonstrations which derive their glory not only from mathematics but also from physics; the one is adorned equally with the flowers of the other.” [Kemp, p. 5]

• Brunelleschi, a Florentine architect (Baptistery, Duomo) developed theory of perspective circa 1413

• theory perspective machines camera obscura daguerrotype camera

– Faugeras cover + FL176 + camera obscura FL177– need a dark room to capture just the light from the

pinhole– used by painters as a portable device (see Vermeer in

The Girl with a Pearl Earring)– lenses added at pinhole to gather light better– Daguerre replaced one wall of camera obscura with

photosensitive film, yielding first photograph (daguerrotype)

– et voila, the camera

Page 6: Day 2: Structure from motion diagram

Camera obscura

Page 7: Day 2: Structure from motion diagram

Theory of perspective 2

• behaviour at infinity immediately became of interest, as vanishing points were incorporated into paintings– vanishing point in Bosse: FL205– vanishing line in Houckgeest: FL206

• renewed interest with the invention of cameras, leading to photogrammetry (theory of measurement of 3d world from 2d images): FL174 + Pollefeys CACM02

• projective geometry developed in mathematics: a tool that can be used to understand the image formation process

Page 8: Day 2: Structure from motion diagram

Pinhole camera model

• geometrically very simple, encoding perspective projection– camera center = optical center C– image plane = retinal plane P– image x of X = intersection of XC with P

• practical setup: – two screens: image plane and focal plane– pinhole in focal plane

Page 9: Day 2: Structure from motion diagram

Camera terminology

• camera center, image plane– confusion: HZ (153) equate the image and focal planes; but for Faugeras

(F35), the focal plane passes through the optical center• focal length f = dist (C, P)• focal plane = plane through C parallel to P• principal axis = line through C normal to P = optical axis• principal point = intersection of principal axis and P

Page 10: Day 2: Structure from motion diagram

Perspective projection

• not a linear map in Euclidean geometry!• suppose

– camera center = origin– principal axis = z-axis

• (X,Y,Z) f/Z (X,Y) in image plane Z=f• this is not linear

Page 11: Day 2: Structure from motion diagram

Projective geometry simplifies

1. perspective projection will be a linear map in projective geometry• what are other motivations for using projective geometry rather than

Euclidean?2. projective geometry is a simpler generalization of Euclidean

geometry• lifting up a dimension simplifies, just as lifting from flatland to 3-space

simplifies interpretation of flatland (e.g., sphere passing through flatland)• so

(a) less special cases• e.g., translation vs. rotation/scaling

(b) algebra is often simplified (homogeneous coordinates)

3. can reason about geometry at infinity• infinity is one of those special cases for Euclidean geometry

4. points and lines are treated equivalently (dual), so they interact well

Page 12: Day 2: Structure from motion diagram

First topic: projective geometry

n-viewgeometry

Calibration

Three-viewgeometry

Two-viewgeometry

Camerageometry

ProjectivegeometryHZ 2,3

Page 13: Day 2: Structure from motion diagram

Projective geometry diagram(2-space)

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 14: Day 2: Structure from motion diagram

First topic: primitives

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 15: Day 2: Structure from motion diagram

Point/line diagram

point/pointjoin

P1 x P2

P1P2

L1L2

line/lineintersection

L1 x L2

line(a,b,c)

pointxyw

join

intersection

point on lineP . L = 0

Page 16: Day 2: Structure from motion diagram

Point-line representation• we want a new data structure (or encoding) for points and lines

– importance of representation and notation: think of pre-20th century mathematics notation (e.g., Descartes)• consider the implicit representation of a line in 2-space ax+by+c=0• the line’s homogeneous representation is (a,b,c)

– coefficients of the line’s implicit equation• for consistency with tensors later, let us treat line as a row vector (although HZ introduce as a

column); OK to treat lines and points as generic vectors at early stages

• consider a point in 2-space (x,y)• its homogeneous representation is (x,y,1)

– coordinates in the implicit equation• a column vector

• what are the ramifications of this encoding?• point/line incidence, intersection and join are all simplified

– point P lies on line L iff P.L = 0– intersection of two lines L1 and L2 is L1 x L2 (recall cross product)– join of two points P1 and P2 is P1 x P2

• HZ 26-27

Page 17: Day 2: Structure from motion diagram

Proofs

• the point P lies on the line L iff P.L = 0– after all, point satisfies line equation– dually, L intersects P iff L.P = 0

• recall that inner product = 0 encodes orthogonality• intersection of two (distinct) lines L1 and L2 is L1 x L2

– think geometrically: L1 x L2 is normal to L1 and L2– so (L1xL2) . L1 = 0 and (L1xL2) . L2 = 0– so the point L1xL2 lies on L1 and L2– e.g., what is the intersection of x=1 and y=1?

• join of two (distinct) points P1 and P2 is P1xP2– again (P1xP2) . P1 = 0 and (P1xP2) . P2 = 0, so this line contains these two points

• morals– inner product encodes incidence

• this is also simple matrix multiplication if we represent points as columns and lines as rows

– cross product encodes intersection and join

Page 18: Day 2: Structure from motion diagram

Exercise

• think of inputting lines and computing their intersections using these projective results– points lines intersections

Page 19: Day 2: Structure from motion diagram

Homogeneous coordinates

• the point and line encodings are vectors in projective space, with homogeneous representations– note that ax+by+c=0 is equivalent to kax + kby + kc = 0– (a,b,c) = k(a,b,c) for any k \neq 0

• projective space P^2 = the set of equivalence classes of vectors in R^3 – (0,0,0) under the equivalence relation (a,b,c) = k(a,b,c) for nonzero k

• in projective space, objects are only known up to a scalar multiple– therefore, both the point and line in 2-space have two degrees of freedom

(dof), not three– the two dof in a line (a,b,c) are the two independent ratios a:b:c– projective space always uses one extra dimension

• can visualize P^2 as lines through the origin in 3-space

• projective geometry is the study of the geometry of projective space

Page 20: Day 2: Structure from motion diagram

Perspective projection is now linear

• translate from homogeneous coordinates in projective space to Cartesian coordinates in Euclidean space by:– (x,y,w) (x/w, y/w)– after all, (x,y,1) (x,y) and (kx,ky,k) (x,y)– P^2 R^2– this should look familiar: perspective projection

• in projective space, perspective projection is a linear map:– Euclidean: (X,Y,Z) f/Z (X,Y)– (X,Y,Z,1) (fX,fY,Z)– this can be encoded by a matrix

• (X,Y,Z,1) (diag(f,f,1) 0) (X,Y,Z,1)

• aside: translation in 3-space is now encodable by a homogeneous 4x4 matrix

Page 21: Day 2: Structure from motion diagram

Duality

• points and lines are dual under this representation– think of ax+by+cw = 0– point representation and line representation are

interchangeable in this way• can exchange points and lines with no ramifications

– therefore, all statements about points can be replaced by statements about lines

• e.g., P.L = 0: P lies on L or L intersects P• e.g., P1xP2 maps from two points to a line, and L1xL2 maps

from two lines to a point– in general, points and hyperplanes in n-space are dual