Mimas Camera Calibration

From MMVLWiki
Revision as of 14:38, 26 June 2006 by Engjw (Talk | contribs)
Jump to: navigation, search

Contents

Calibration

Distortion-free Camera

Let <math>\vec{m}_i\in\mathbb{R}^3,\,i\in\{1,2,\ldots,N\}</math> be the homogeneous coordinate of the <math>i</math>th point on the planar calibration-object and let <math>\vec{m}^\prime_i\in\mathbb{R}^3</math> be the homogeneous coordinate of the corresponding pixel in the camera-image. Further let <math>(\mathbb{R}^n,\simeq)</math> be an equivalence relation defined by

<math> \vec{a}\simeq\vec{b}\ :\Leftrightarrow\ \exists\lambda\in\mathbb{R}/\{0\}:\,\lambda\,\vec{a}=\vec{b} </math>

If the camera-system does an ideal central projection (e.g. no distortion), the projective transformation (the Homography) can be modelled using <math>\mathcal{H}\in\mathbb{R}^{3\times 3}</math> as follows

<math> \widehat{\vec{m}}_i\simeq\mathcal{H}\vec{m}_i </math> or more elaborately <math> \lambda\,\begin{pmatrix}\widehat{m}_{i1}\\\widehat{m}_{i2}\\\widehat{m}_{i3}\end{pmatrix}= \begin{pmatrix}h_{11}&h_{12}&h_{13}\\h_{21}&h_{22}&h_{23}\\h_{31}&h_{32}&h_{33}\end{pmatrix}\, \begin{pmatrix}m_{i1}\\m_{i2}\\m_{i3}\end{pmatrix} </math> with <math>\widehat{\vec{m}}_i=\vec{m^\prime}_i+\vec{\epsilon}_i</math>, where <math>\widehat{\vec{m}}_i\in\mathbb{R}^3</math> is the ideal position of the <math>i</math>th point in the camera-image. <math>(\epsilon_{i1},\epsilon_{i2})^\top</math> is the zero-mean error-vector in the observation of the <math>i</math>th point in the camera-image.

Using <math>m_{i3}=m^\prime_{i3}=\widehat{m}_{i3}=1,\ \epsilon_{i3}=0</math> and <math>\vec{h_i}^\top=\begin{pmatrix}h_{i1}&h_{i2}&h_{i3}\end{pmatrix},\ i\in\{1,2,3\}</math> the model can be reformulated to <math> \begin{pmatrix}m^\prime_{i1}\\m^\prime_{i2}\end{pmatrix}=\cfrac{1}{\vec{h_3}^\top\cdot\vec{m}_i}\, \begin{pmatrix}\vec{h_1}^\top\\\vec{h_2}^\top\end{pmatrix}\, \begin{pmatrix}m_{i1}\\m_{i2}\\1\end{pmatrix}- \begin{pmatrix}\epsilon_{i1}\\\epsilon_{i2}\end{pmatrix} </math> or <math> \begin{pmatrix}m^\prime_{i1}\\m^\prime_{i2}\end{pmatrix}\,\big(\vec{h_3}^\top\cdot\vec{m}_i\big)= \begin{pmatrix}\vec{h_1}^\top\\\vec{h_2}^\top\end{pmatrix}\, \begin{pmatrix}m_{i1}\\m_{i2}\\1\end{pmatrix}- \begin{pmatrix}\epsilon^\prime_{i1}\\\epsilon^\prime_{i2}\end{pmatrix} </math> with <math>\vec{\epsilon^\prime}_i=\big[\vec{h_3}^\top\cdot\vec{m}_i\big]\,\vec{\epsilon}_i</math> and using <math>|\mathcal{H}|\neq 0</math>

It is assumed, that <math>\vec{h_3}^\top\cdot\vec{m}_1,\,\vec{h_3}^\top\cdot\vec{m}_2,\,\ldots\approx\mathrm{const.}</math> and that the Gauss-Markov theorem can be applied with using <math>(\epsilon^\prime_{i1},\epsilon^\prime_{i2})^\top</math> as error-vectors. Therefore the miminum least-squares estimator is the best linear estimator.

Each point-pair yields the following system of two linear equations <math> \begin{pmatrix}h_{11}\,m_{i1}+h_{12}\,m_{i2}+h_{13}\\h_{21}\,m_{i1}+h_{22}\,m_{i2}+h_{23}\end{pmatrix}- \begin{pmatrix}m^\prime_{i1}\,m_{i1}\,h_{31}+m^\prime_{i1}\,m_{i2}\,h_{32}+m^\prime_{i1}\,h_{33}\\ m^\prime_{i2}\,m_{i1}\,h_{31}+m^\prime_{i2}\,m_{i2}\,h_{32}+m^\prime_{i2}\,h_{33}\end{pmatrix}= \begin{pmatrix}\epsilon^\prime_{i1}\\\epsilon^\prime_{i2}\end{pmatrix} </math>

Isolating the elements of the unknown matrix <math>\mathcal{H}</math> gives <math> \begin{pmatrix} m_{i1}&m_{i2}&1&0&0&0&m^\prime_{i1}\,m_{i1}&m^\prime_{i1}\,m_{i2}&m^\prime_{i1}\\ 0&0&0&m_{i1}&m_{i2}&1&m^\prime_{i2}\,m_{i1}&m^\prime_{i2}\,m_{i2}&m^\prime_{i2} \end{pmatrix}\, \begin{pmatrix}h_{11}\\h_{12}\\\vdots\\h_{33}\end{pmatrix}= \begin{pmatrix}\epsilon^\prime_{i1}\\\epsilon^\prime_{i2}\end{pmatrix} </math>


<math> \begin{pmatrix} m_{11}&m_{12}&1&0&0&0&m^\prime_{11}\,m_{11}&m^\prime_{11}\,m_{12}&m^\prime_{11}\\ 0&0&0&m_{11}&m_{12}&1&m^\prime_{12}\,m_{11}&m^\prime_{12}\,m_{12}&m^\prime_{12}\\ m_{21}&m_{22}&1&0&0&0&m^\prime_{21}\,m_{21}&m^\prime_{21}\,m_{22}&m^\prime_{21}\\ 0&0&0&m_{21}&m_{22}&1&m^\prime_{22}\,m_{21}&m^\prime_{22}\,m_{22}&m^\prime_{22}\\ \vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\ m_{N1}&m_{N2}&1&0&0&0&m^\prime_{N1}\,m_{N1}&m^\prime_{N1}\,m_{N2}&m^\prime_{N1}\\ 0&0&0&m_{N1}&m_{N2}&1&m^\prime_{N2}\,m_{N1}&m^\prime_{N2}\,m_{N2}&m^\prime_{N2} \end{pmatrix}\, \begin{pmatrix}h_{11}\\h_{12}\\\vdots\\h_{33}\end{pmatrix}= \begin{pmatrix}\epsilon^\prime_{11}\\\epsilon^\prime_{12}\\\epsilon^\prime_{21}\\\epsilon^\prime_{22}\\ \vdots\\\epsilon^\prime_{N1}\\\epsilon^\prime_{N2}\end{pmatrix} </math>

To avoid the trivial solution <math>\mathcal{H}=\mathcal{O}</math> we introduce the constraint <math>||\mathcal{H}||=1</math> without loss of generality.


Working.gif Under construction ...

Other symbols: <math> \vec{0}, \neq, ||\mathcal{A}||, \mathcal{A}\in\mathbb{C}^{3\times 3}, i\in\mathbb{N}_0,0\approx 1, \begin{pmatrix}1-\lambda&0\\0&1-\lambda\end{pmatrix}, \mathbb{R}^3, i\in\{1,2,\ldots,n\}</math>

<math> \begin{pmatrix}1-\lambda&0&\cdots&\cdots&0\\0&1-\lambda&\ddots&&\vdots\end{pmatrix},V^*,a*b, \sigma, \Sigma, \lambda, \Lambda</math>

<math> \sum_{i=1}^n p^i, \prod_{i=1}^{+\infty}a_i, \cos(\omega), \widehat{i}=\mathrm{argmax}_{i\in\mathbb{N}}f(i), a\simeq b </math>


See Also

External Links

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox