Homography from point pairs Projective transformation, Collineation Revision: 1.4, dated: September 18, 2006 Tom´ aˇs Svoboda Czech Technical University, Faculty of Electrical Engineering Center for Machine Perception, Prague, Czech Republic
[email protected] http://cmp.felk.cvut.cz/~svoboda
Where are the homographies?
01 x
image 1
1111111 0000000
10 01 01
R,t
image 2
01
01 10
0110 01 10X
01 01 01
x
00111100
image 1
01X
01
01
planar surface
induced by a world plane to cameras
0110
01 x10 10101010 10 10x10 10
00111100 image 2
camera rotating around its center Sketches borrowed from [2]
2/10
Problem 3/10
How are the images related?
2D Projective transformation 4/10
Sometimes called homography or collineation. A projective transformation is a special transformation which relates the coordinate system x = [x1, x2]> with u = [u1, u2]> by a11u1 + a12u2 + a13 a21u1 + a22u2 + a23 x1 = and x2 = . a31u1 + a32u2 + a33 a31u1 + a32u2 + a33
2D Projective transformation 4/10
Sometimes called homography or collineation. A projective transformation is a special transformation which relates the coordinate system x = [x1, x2]> with u = [u1, u2]> by a11u1 + a12u2 + a13 a21u1 + a22u2 + a23 x1 = and x2 = . a31u1 + a32u2 + a33 a31u1 + a32u2 + a33 Such expressions can be written in a compact way as x1 = where
> > A1 u , 1 >
A3[u>, 1]
,
x2 =
> > A2 u , 1 >
A3[u>, 1]
A1 a11 a12 a13 A = A2 = a21 a22 a23 . A3 a31 a32 a33
,
Computation of A from point correspondences 5/10
Computation of A from point correspondences arranging equations Let us have n corresponding point pairs (xi, ui). We know that for each pair should hold h
xi1
i>
i>
A1 u , 1 = i> , h > A3 ui , 1
h
xi2
i>
i>
A2 u , 1 = i> . h > A3 ui , 1
We may manipulate the equations to get h
i>
i>
h
i>
i>
A3 u 1 xi1 − A1 u 1 = 0, h > i> h > i> A3 ui 1 xi2 − A2 ui 1 = 0. Each pair (xi, ui) creates thus a pair of homogenous equations. Manipulation continues . . .
6/10
Computation of A from point correspondences LSQ formulation
7/10
We form a vector a from elements of the matrix A: > a = [A1, A2, A3] = [a11, a12, a13, a21, a22, a23, a31, a32, a33] . Using all correspondences having at hand, the homogeneous equations are written as u11 u12 1 0 0 0 −x11u11 −x11u12 −x11 0 0 0 u1 u1 1 −x1u1 −x1u1 −x1 1 2 2 1 2 2 2 · · · · · · · · · a = Ca = 0 . · · · · · · · · · n n n n n n n u1 u2 1 0 0 0 −x1 u1 −x1 u2 −x1 0 0 0 un1 un2 1 −xn2 un1 −xn2 un2 −xn2
LSQ formulation a = argmin kCa∗k2 ka∗k=1
Solution of the above problem is covered by the constrained lsq1 talk. 1
http://cmp.felk.cvut.cz/cmp/courses/EZS/Lectures/constrained lsq.pdf
Application—Image Panoramas! 8/10
If the images are taken by a camera which rotates around its center of projection than they are related by exactly the same transformation we have just described.
Application—Image Panoramas! 9/10
Further reading
The textbook [3] provides readable explanation of the homography and its computation.
10/10
Mathematical book [1] gives you more insight into the matrix manipulation and solution of the constrained LSQ problem.
[1] Gene H. Golub and Charles F. Van Loan. Matrix Computation. Johns Hopkins Studies in the Mathematical Sciences. Johns Hopkins University Press, Baltimore, USA, 3rd edition, 1996. [2] R. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, Cambridge, UK, 2000. On-line resources at: http://www.robots.ox.ac.uk/~vgg/hzbook/hzbook1.html. [3] Richard Hartley and Andrew Zisserman. Multiple view geometry in computer vision. Cambridge University, Cambridge, 2nd edition, 2003.
01 x
image 1
1111111 0000000
1 0 1 0 10
R,t
01X
01
image 2
01 01 01
x
01
planar surface
01
0110
01 01 10 10X 00111100
image 1
0110
0110 x10 1010 10 10 x 10 10 10
00111100 image 2