Content deleted Content added
→Example: fixed missing for k=1,...,N |
Undid revision 1252197754 by 213.176.68.212 (talk) |
||
(48 intermediate revisions by 27 users not shown) | |||
Line 1:
'''Direct linear transformation'''
: <math> \mathbf{x}_{k} \
where <math> \mathbf{x}_{k} </math> and <math> \mathbf{y}_{k} </math> are known vectors, <math> \, \
This type of relation
== Introduction ==
An ordinary [[system of linear
: <math> \mathbf{x}_{k} = \mathbf{A} \, \mathbf{y}_{k} </math> for <math> \, k = 1, \ldots, N </math>
can be solved, for example, by rewriting it as a matrix equation <math> \mathbf{X} = \mathbf{A} \, \mathbf{Y} </math> where matrices <math> \mathbf{X} </math> and <math> \mathbf{Y} </math> contain the vectors <math> \mathbf{x}_{k} </math> and <math> \mathbf{y}_{k} </math> in their respective columns. Given that there exists a unique solution, it is given by
: <math> \mathbf{A} = \mathbf{X} \, \mathbf{Y}^{T} \, (\mathbf{Y} \, \mathbf{Y}^{T})^{-1} .</math>
Solutions can also be described in the case that the equations are over or under determined.
What makes the direct linear transformation problem distinct from the above standard case is the fact that the left and right sides of the defining equation can differ by an unknown multiplicative factor which is dependent on ''k''. As a consequence, <math> \mathbf{A} </math> cannot be computed as in the standard case. Instead, the similarity relations are rewritten as proper linear homogeneous equations which then can be solved by a standard method. The combination of rewriting the similarity equations as homogeneous linear equations and solving them by standard methods is referred to as a '''direct linear transformation algorithm''' or '''DLT algorithm'''. DLT is attributed to Ivan Sutherland.
<ref name="Sutherland">{{Citation | last=Sutherland| first=Ivan E. | title=Three-dimensional data input by tablet | journal=Proceedings of the IEEE | volume=62 | number=4 |date=April 1974 | pages=453–461 | doi=10.1109/PROC.1974.9449 }}</ref>
== Example ==
: <math> \alpha_{k} \, \mathbf{x}_{k} = \mathbf{A} \, \mathbf{y}_{k}
where <math> \alpha_{k} \neq 0 </math> is the unknown scalar factor related to equation ''k''.
Line 35 ⟶ 36:
and multiply both sides of the equation with <math> \mathbf{x}_{k}^{T} \, \mathbf{H} </math> from the left
:<math> \begin{align}
(\mathbf{x}_{k}^{T} \, \mathbf{H}) \, \alpha_{k} \, \mathbf{x}_{k} &= (\mathbf{x}_{k}^{T} \, \mathbf{H}) \, \mathbf{A} \, \mathbf{y}_{k} \\
\ </math> : <math>
In order to solve <math> \mathbf{A} </math> from this set of equations, consider the elements of the vectors <math> \mathbf{x}_{k} </math> and <math> \mathbf{y}_{k} </math> and matrix <math> \mathbf{A} </math>:
Line 50 ⟶ 52:
and the above homogeneous equation becomes
: <math> 0 = a_{11} \, x_{2k} \, y_{1k} - a_{21} \, x_{1k} \, y_{1k} + a_{12} \, x_{2k} \, y_{2k} - a_{22} \, x_{1k} \, y_{2k} + a_{13} \, x_{2k} \, y_{3k} - a_{23} \, x_{1k} \, y_{3k} </math> for <math> \, k = 1, \ldots, N. </math>
This can also be written in the matrix form:
▲|<math> 0 = \mathbf{b}_{k}^{T} \, \mathbf{a} </math> for <math> \, k = 1, \ldots, N </math>
where <math> \mathbf{b}_{k} </math> and <math> \mathbf{a} </math> both
: <math> \mathbf{b}_{k} = \begin{pmatrix} x_{2k} \, y_{1k} \\ -x_{1k} \, y_{1k} \\ x_{2k} \, y_{2k} \\ -x_{1k} \, y_{2k} \\ x_{2k} \, y_{3k} \\ -x_{1k} \, y_{3k} \end{pmatrix} </math> and <math> \mathbf{a} = \begin{pmatrix} a_{11} \\ a_{21} \\ a_{12} \\ a_{22} \\ a_{13} \\ a_{23} \end{pmatrix}. </math>
▲|<math> \mathbf{0} = \mathbf{B} \, \mathbf{a} </math>
where <math> \mathbf{B} </math> is a <math>
In practice the vectors <math> \mathbf{x}_{k} </math> and <math> \mathbf{y}_{k} </math> may contain noise which means that the similarity equations are only approximately valid. As a consequence, there may not be a vector <math> \mathbf{a} </math> which solves the homogeneous equation <math> \mathbf{0} = \mathbf{B} \, \mathbf{a} </math> exactly. In these cases, a [[total least squares]] solution can be used by choosing <math> \mathbf{a} </math> as a right singular vector corresponding to the smallest singular value of <math> \mathbf{B}. </math>
== More
The above example has <math> \mathbf{x}_{k} \in \mathbb{R}^{2} </math> and <math> \mathbf{y}_{k} \in \mathbb{R}^{3} </math>, but the general strategy for rewriting the similarity
If <math> \mathbf{x}_{k} \in \mathbb{R}^{2} </math> and <math> \mathbf{y}_{k} \in \mathbb{R}^{q} </math> the previous expressions can still lead to an equation
Line 82 ⟶ 78:
: <math> 0 = \mathbf{x}_{k}^{T} \, \mathbf{H} \, \mathbf{A} \, \mathbf{y}_{k} </math> for <math> \, k = 1, \ldots, N </math>
where <math> \mathbf{A} </math> now is <math> 2 \times q. </math>
In the most general case <math> \mathbf{x}_{k} \in \mathbb{R}^{p} </math> and <math> \mathbf{y}_{k} \in \mathbb{R}^{q} </math>. The main difference compared to previously is that the matrix <math> \mathbf{H} </math> now is <math> p \times p </math> and anti-symmetric. When <math> p >
: <math> M = \frac{p\,(p-1)}{2}. </math>
This means that each value of ''k'' provides ''M'' homogeneous equations of the type
Line 92 ⟶ 88:
: <math> 0 = \mathbf{x}_{k}^{T} \, \mathbf{H}_{m} \, \mathbf{A} \, \mathbf{y}_{k} </math> for <math> \, m = 1, \ldots, M </math> and for <math> \, k = 1, \ldots, N </math>
where <math> \mathbf{H}_{
=== Example ''p'' = 3 ===
In the case that ''p'' = 3 the
: <math> \mathbf{H}_{1} = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{pmatrix} </math>, <math> \mathbf{H}_{2} = \begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{pmatrix} </math>, <math> \mathbf{H}_{3} = \begin{pmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} .</math>
In this particular case, the homogeneous linear equations can be written as
Line 104 ⟶ 100:
: <math> \mathbf{0} = [\mathbf{x}_{k}]_{\times} \, \mathbf{A} \, \mathbf{y}_{k} </math> for <math> \, k = 1, \ldots, N </math>
where <math> [\mathbf{x}_{k}]_{\times} </math> is the [[Cross product#Conversion to matrix multiplication|matrix representation of the vector cross product]]. Notice that this last equation is
The linear dependence between the resulting homogeneous linear equations is a general concern for the case ''p'' > 2
== References ==
{{Reflist}}
*{{cite book |
author=Richard Hartley and Andrew Zisserman |
Line 117 ⟶ 113:
publisher=Cambridge University Press|
year=2003 |
== External links ==
* [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.186.4411 Homography Estimation] by Elan Dubrofsky (§2.1 sketches the "Basic DLT Algorithm")
* [http://www.mathworks.com/matlabcentral/fileexchange/65030-direct-linear-transformation--dlt--solver A DLT Solver based on MATLAB] by Hsiang-Jen (Johnny) Chien
[[Category:Geometry in computer vision]]
|