Multiple View Geometry in Computer Vision

advertisement
Projective 2D geometry
course 2
Multiple View Geometry
Comp 290-089
Marc Pollefeys
Content
• Background: Projective geometry (2D, 3D),
Parameter estimation, Algorithm evaluation.
• Single View: Camera model, Calibration, Single
View Geometry.
• Two Views: Epipolar Geometry, 3D
reconstruction, Computing F, Computing
structure, Plane and homographies.
• Three Views: Trifocal Tensor, Computing T.
• More Views: N-Linearities, Multiple view
reconstruction, Bundle adjustment, autocalibration, Dynamic SfM, Cheirality, Duality
Multiple View Geometry course schedule
(tentative)
Jan. 7, 9
Intro & motivation
Projective 2D Geometry
Jan. 14, 16
(no course)
Projective 2D Geometry
Jan. 21, 23
Projective 3D Geometry
Parameter Estimation
Jan. 28, 30
Parameter Estimation
Algorithm Evaluation
Camera Models
Camera Calibration
Feb. 11, 13
Single View Geometry
Epipolar Geometry
Feb. 18, 20
3D reconstruction
Fund. Matrix Comp.
Feb. 25, 27
Structure Comp.
Planes & Homographies
Trifocal Tensor
Three View Reconstruction
Mar. 18, 20
Multiple View Geometry
MultipleView Reconstruction
Mar. 25, 27
Bundle adjustment
Papers
Apr. 1, 3
Auto-Calibration
Papers
Apr. 8, 10
Dynamic SfM
Papers
Apr. 15, 17
Cheirality
Papers
Apr. 22, 24
Duality
Project Demos
Feb. 4, 6
Mar. 4, 6
Projective 2D Geometry
• Points, lines & conics
• Transformations & invariants
• 1D projective geometry and
the Cross-ratio
Homogeneous coordinates
Homogeneous representation of lines
ax  by  c  0
a,b,c T
(ka) x  (kb) y  kc  0, k  0
a,b,c T ~ k a,b,c T
equivalence class of vectors, any vector is representative
Set of all equivalence classes in R3(0,0,0)T forms P2
Homogeneous representation of points
T
T
x  x, y  on l  a,b,c  if and only if ax  by  c  0
x,y,1a,b,c T  x,y,1 l  0
x, y,1T ~ k x, y,1T , k  0
The point x lies on the line l if and only if xTl=lTx=0
Homogeneous coordinates x1 , x2 , x3 
T
Inhomogeneous coordinates  x, y 
T
but only 2DOF
Points from lines and vice-versa
Intersections of lines
The intersection of two lines l and l' is x  l l'
Line joining two points
The line through two points x and x' is l  x x'
Example
y 1
x 1
Ideal points and the line at infinity
Intersections of parallel lines
l  a, b, c  and l'  a, b, c'
T
T
Example
l l'  b,a,0
T
b,a tangent vector
a, b normal direction
x 1 x  2
Ideal points
Line at infinity
x1 , x2 ,0T
T
l   0,0,1
P 2  R 2  l
Their inner product is zero
Note that in P2 there is no distinction
between ideal points and others
In projective plane, two distinct lines meet in a single point and
Two distinct points lie on a single line  not true in R^2
A model for the projective plane
Points in P^2 are represented by rays passing through origin in R^3.
Lines in P^2 are represented by planes passing through origin
Points and lines obtained by intersecting rays and planes by plane x3 = 1
Lines lying in the x1 – x2 plane are ideal points; x1-x2 plane is l_{infinity}
Duality
Roles of points and lines can be interchanged
x
l
x Tl  0
lT x  0
x  l l'
l  x x'
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
Conics
Curve described by 2nd-degree equation in the plane
ax 2  bxy  cy 2  dx  ey  f  0
or homogenized x  x1 x , y  x2 x
3
3
ax1  bx1 x2  cx2  dx1 x3  ex2 x3  fx32  0
2
2
or in matrix form
b / 2 d / 2
 a
e / 2 
x T C x  0 with C   b / 2 c
d / 2 e / 2
f 
5DOF:
a : b : c : d : e : f 
Five points define a conic
For each point the conic passes through
axi2  bxi yi  cyi2  dxi  eyi  f  0
or
x , x y , y , x , y , f c  0
2
i
i
i
2
i
i
i
stacking constraints yields
 x12
 2
 x2
 x32
 2
 x4
x2
 5
x1 y1
x2 y 2
x3 y3
x4 y 4
x5 y5
y12
y22
y32
y42
y52
x1
x2
x3
x4
x5
y1
y2
y3
y4
y5
1

1
1c  0

1
1
c  a, b, c, d , e, f 
T
Tangent lines to conics
The line l tangent to C at point x on C is given by l=Cx
x
l
C
Dual conics
Conic C, also called, “point conic” defines an equation on points
Apply duality: dual conic or line conic defines an equation on lines
A line tangent to the conic C satisfies
l T C* l  0
C* is the adjoint of Mtrix C; defined in Appendix 4 of H&Z
In general (C full rank): C*  C 1
x
Dual conics = line conics
= conic envelopes
Points
conic
xT Cx  0
lie on a point
lines l C l  0 are tangent
to the point conic C; conic
C is the envelope of lines
l
T
*
Degenerate conics
A conic is degenerate if matrix C is not of full rank
m
l
e.g. two lines (rank 2)
C  lm T  ml T
e.g. repeated line (rank 1)
C  ll T
l
Degenerate line conics: 2 points (rank 2), double point (rank1)
Note that for degenerate conics
C 
* *
C
Projective transformations
Definition:
A projectivity is an invertible mapping h from P2 to itself
such that three points x1,x2,x3 lie on the same line if and
only if h(x1),h(x2),h(x3) do. ( i.e. maps lines to lines in
P2)
Theorem:
A mapping h:P2P2 is a projectivity if and only if there
exist a non-singular 3x3 matrix H such that for any point
in P2 reprented by a vector x it is true that h(x)=Hx
Definition: Projective transformation: linear transformation on homogeneous 3
vectors represented by a non singular matrix H
 x'1   h11 h12
  
 x'2   h21 h22
 x'   h
 3   31 h32
h13  x1 
 

h23  x2 
h33  x3 
or
x'  H x
8DOF
•projectivity=collineation=projective transformation=homography
•Projectivity form a group: inverse of projectivity is also a
projectivity; so is a composition of two projectivities.
Projection along rays through a common point,
(center of projection) defines a mapping from one
plane to another
Central projection maps points on one plane to points on another plane
Projection also maps lines to lines : consider a plane through projection
Center that intersects the two planes  lines mapped onto lines 
Central projection is a projectivity 
central projection may be expressed by x’=Hx
(application of theorem)
Removing projective distortion
Central projection image of a plane is related to the originial plane
via a projective transformation  undo it by apply the inverse transformation
select four points in a plane with know coordinates
h x  h12 y  h13
h x  h22 y  h23
x'
x'
x'  1  11
y '  2  21
x'3 h31 x  h32 y  h33
x'3 h31x  h32 y  h33
x' h31x  h32 y  h33   h11x  h12 y  h13
y' h31x  h32 y  h33   h21x  h22 y  h23
(linear in hij)
(2 constraints/point, 8DOF  4 points needed)
Remark: no calibration at all necessary, better ways to compute (see later)
Sections of the image of the ground are subject to another projective distortion 
need another projective transformation to correct that.
More examples
Projective transformation between two images
Induced by a world plane  concatenation of two
Pojective transformations is also a proj. trans.
Proj. trans. Between the image of a plane
(end of the building) and the image of its
Shadow onto another plane (ground plane)
Proj. trans. Between two images with the same camera center
e.g. a camera rotating about its center
Transformation of lines and conics
For points on a line l, the transformed points under proj. trans.
also lie on a line; if point x is on line l, then transforming x, transforms l
For a point transformation
x'  H x
Transformation for lines
l'  H -T l
Transformation for conics
C'  H -T CH -1
Transformation for dual conics
C'*  HC*H T
A hierarchy of transformations
Group of invertible nxn matrices with real element  general linear group GL(n);
Projective linear group: matrices related by a scalar multiplier PL(n)
•
Affine group (last row (0,0,1))
• Euclidean group (upper left 2x2 orthogonal)
• Oriented Euclidean group (upper left 2x2 det 1)
Alternative, characterize transformation in terms of elements or quantities that
are preserved or invariant
e.g. Euclidean transformations (rotation and translation) leave distances
unchanged
Similarity
Affine
projective
Similarity: circle imaged as circle; square as square; parallel or perpendicular lines have same
relative orientation
Affine: circle becomes ellipse; orthogonal world lines not imaged as orthogonoal; But, parallel lines
in the square remain parallel
Projective: parallel world lines imaged as converging lines; tiles closer to camera larger image than
those further away.
Class I: Isometries: preserve Euclidean
distance
(iso=same, metric=measure)
 x'   cos 
  
 y '     sin 
1  0
  
 sin 
cos 
0
t x  x 
 

t y  y 
1  1 
  1
•orientation preserving:   1  Euclidean transf. i.e.
composition of translation and rotation  forms a group
•orientation reversing:   1  reflection  does not
form a group
 R t
x'  H E x   T  x
RTR  I
0 1
R is 2x2 rotation matrix; (orthogonal, t is translation 2-vector, 0 is a null 2-vector
3DOF (1 rotation, 2 translation)  trans. Computed from two point correspondences
special cases: pure rotation, pure translation
Invariants: length (distance between 2 pts) , angle between 2 lines, area
Class II: Similarities: isometry composed with an
isotropic scaling
 x'   s cos 
  
 y '    s sin 
1  0
  
 s sin 
s cos 
0
t x  x 
 

t y  y (isometry + scale)
1  1 
 sR t 
x'  H S x   T
x

 0 1
RTR  I
4DOF (1 scale, 1 rotation, 2 translation)  2 point
correspondences
Scalar s: isotropic scaling
also known as equi-form (shape preserving)
metric structure = structure up to similarity (in literature)
Invariants: ratios of length, angle, ratios of areas,
parallel lines
Class III: Affine transformations: non singular linear
transformation followed by a translation
 x'   a11 a12 t x  x 
  
 

 y'   a21 a22 t y  y 
1  0
1

0
1
  
 
 A t
x'  H A x   T  x
0 1
A  R R  DR 
Rotation by theta R(-phi) D R(phi)
scaling directions
in the deformation
are orthogonal
1 0 
D

0

2

6DOF (2 scale, 2 rotation, 2 translation) 3 point correspondences
non-isotropic scaling! (2DOF: scale ratio and orientation)
Invariants: parallel lines, ratios of parallel lengths,
ratios of areas
Affinity is orientation preserving if det (A) is positive  depends
on the sign of the scaling
Class IV: Projective transformations: general non
singular linear transformation of homogenous
coordinates
A
x'  H P x   T
v
t
x

v
v  v1 , v2 
T
Hp has nine elements; only their ratio significant  8 Dof  4 correspondences
Not always possible to scale the matrix to make v unity: might be zero
Action non-homogeneous over the plane
Invariants: cross-ratio of four points on a line
(ratio of ratio)
Action of affinities and projectivities
on line at infinity
Affiine
A
0 T

 x1    x1  
t     A  
 x2     x2  

v   

0  0 
Line at infinity stays at infinity,
but points move along line
Proj. trans.
A
vT

 x1  
x  
t     A 1  
x  
 x2   

 2
v   

 0   v1 x1  v2 x2 
Line at infinity becomes finite,
allows to observe/model vanishing points, horizon,
Decomposition of projective
transformations
 sR t   K
H  H S H AH P   T
 T
 0 1 0
0  I
1  v T
Decomposition valid if v not zero, and unique (if chosen s>0)
Useful for partial recovery of a transformation
0  A
 T

v  v
A  sRK  tv T
K
upper-triangular, det K  1
Example:
1.707 0.586 1.0 
H  2.707 8.242 2.0
 1.0
2.0 1.0 
2 cos 45

H   2 sin 45
 0

 2 sin 45
2 cos 45
0
t
v 
1.0  0.5 1 0 1 0 0

2.0  0 2 0 0 1 0
1   0 0 1 1 2 1
Overview transformations
Projective
8dof
Affine
6dof
Similarity
4dof
Euclidean
3dof
 h11
h
 21
h31
 a11
a
 21
 0
h12
h22
 sr11
 sr
 21
 0
 r11
r
 21
 0
sr12 t x 
sr22 t y 
0 1 
r12 t x 
r22 t y 
0 1 
h32
a12
a22
0
h13 
h23 
h33 
Concurrency, collinearity,
order of contact (intersection,
tangency, inflection, etc.),
cross ratio
tx 
t y 
1 
Parallellism, ratio of areas,
ratio of lengths on parallel
lines (e.g midpoints), linear
combinations of vectors
(centroids).
The line at infinity l∞
Ratios of lengths, angles.
The circular points I,J
lengths, areas.
Number of invariants?
The number of functional invariants is equal to, or greater than,
the number of degrees of freedom of the configuration less the
number of degrees of freedom of the transformation
e.g. configuration of 4 points in general position has 8 dof (2/pt)
and so 4 similarity, 2 affinity and zero projective invariants
Download