全景拼接之相机参数标定

因为近期在做基于surf特征的全景拼接,所以不可避免地要做相机标定;在此,作为自己的笔记记录下来。


理论根据: 本文是基于张正友专家的论文理论而来,论文地址--提取码:ch6m。


一、坐标系变换

1. 世界坐标系与相机坐标系的变换关系

如图:

全景拼接之相机参数标定_第1张图片

       如图所示建立坐标系统,其中照相机坐标系Oxyz的原点也是照相机的光心,OO_{1}为焦距 f(像距)。

从世界坐标系转换为相机坐标系的变换为:

                                                          \begin{pmatrix} X\\ Y\\ Z \end{pmatrix}=R\begin{pmatrix} X_{w}\\ Y_{w}\\ Z_{w} \end{pmatrix}+T=\begin{pmatrix} r_{1} & r_{2} & r_{3} \\ r_{4} & r_{5} & r_{6} \\ r_{7} & r_{8} & r_{9} \end{pmatrix} * \begin{pmatrix} X_{w}\\ Y_{w}\\ Z_{w} \end{pmatrix} + \begin{pmatrix} T_{x}\\ T_{y}\\ T_{z} \end{pmatrix} (1)

其中

                                                        R=\begin{pmatrix} r_{1} & r_{2} & r_{3} \\ r_{4} & r_{5} & r_{6} \\ r_{7} & r_{8} & r_{9} \end{pmatrix}

R为从世界坐标系到相机坐标系的旋转矩阵,

                                                       T=\begin{pmatrix} T_{x}\\ T_{y}\\ T_{z} \end{pmatrix}

T为世界坐标原点到相机坐标原点的平移矩阵

将(1)式写成齐次坐标形式:

                                                     \begin{bmatrix} X\\ Y\\ Z\\ 1 \end{bmatrix}=\begin{bmatrix} R & T \\ 0^{T} & 1 \end{bmatrix}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\ 1 \end{bmatrix}=M_{1}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\ 1 \end{bmatrix}

其逆变换为:

                                                    \begin{pmatrix} X_{w}\\ Y_{w}\\ Z_{w} \end{pmatrix}=R^{-1}\begin{pmatrix} X\\ Y\\ Z \end{pmatrix}-R^{-1}\begin{pmatrix} T_{x}\\ T_{y}\\ T_{z} \end{pmatrix}(2)

写为齐次形式:

                                                   \begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\ 1 \end{bmatrix} = \begin{bmatrix} R^{-1} & -R^{-1}T \\ 0^{T} & 1 \end{bmatrix}\begin{bmatrix} X\\ Y\\ Z\\ 1 \end{bmatrix}

2. 相机坐标系与图像坐标系的变换关系

      考虑图中照相机坐标的任意一点P(x,y,z),根据中心投影几何关系,有如下比例关系:

                                                    \left\{\begin{matrix} x=fX/Z\\ y=fY/Z \end{matrix}\right.

写为齐次坐标形式:

                                                    s\begin{bmatrix} x\\ y\\ 1 \end{bmatrix}=\begin{bmatrix} f&0&0&0\\ 0&f&0&0\\ 0&0&1&0 \end{bmatrix}\begin{bmatrix} X\\ Y\\ Z\\1 \end{bmatrix}

其中比例因子s=Z

逆变换关系为:

                                                   \left\{\begin{matrix} X=Zx/f\\ Y=Zy/f \end{matrix}\right.

齐次坐标:

                                                   \begin{bmatrix} X\\ Y\\ Z \end{bmatrix}=s\begin{bmatrix} f^{-1}&0&0\\ 0&f^{-1}&0\\ 0&0&1 \end{bmatrix}\begin{bmatrix} x\\ y\\ 1 \end{bmatrix}

3. 图像坐标系与像素坐标系的变换关系

如图:

                                                                 全景拼接之相机参数标定_第2张图片

        假设相机像素坐标为\left ( u,v \right ),单位是像素,照相机光轴与像面的交点坐标为\left ( u_{0},v_{0} \right ),一般在像面中心附近。以\left ( u_{0},v_{0} \right )为坐标原点O_{1}建立新坐标系O_{1}xy,并且设像素单位为dxdy,则像素坐标系与图像坐标系之间的变换关系为:

                                                                        \left\{\begin{matrix} u=x/dx+u_{0}\\ v=y/dy+v_{0} \end{matrix}\right.

写作齐次坐标形式:

                                                                         \begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=\begin{bmatrix} dx^{-1}&0&u_{0}\\0&dy^{-1}&v_{0} \\0&0&1 \end{bmatrix}\begin{bmatrix} x\\ y\\ 1 \end{bmatrix}

逆关系:

                                                                        \begin{bmatrix} x\\ y\\ 1 \end{bmatrix}=\begin{bmatrix} dx&0&-u_{0}dx\\0&dy&-v_{0}dy \\0&0&1 \end{bmatrix}\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}

4. 从世界坐标系到像素坐标系的总体变换

 s\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=\begin{bmatrix} dx^{-1}&0&u_{0}\\0&dy^{-1}&v_{0} \\0&0&1 \end{bmatrix}\begin{bmatrix} x\\ y\\ 1 \end{bmatrix}=\begin{bmatrix} dx^{-1}&0&u_{0}\\0&dy^{-1}&v_{0} \\0&0&1 \end{bmatrix}\begin{bmatrix} f&0&0&0\\0&f&0&0 \\0&0&1&0 \end{bmatrix}\begin{bmatrix} X\\ Y\\Z\\ 1 \end{bmatrix}

                =\begin{bmatrix} dx^{-1}&0&u_{0}\\0&dy^{-1}&v_{0} \\0&0&1 \end{bmatrix}\begin{bmatrix} f&0&0&0\\0&f&0&0 \\0&0&1&0 \end{bmatrix}\begin{bmatrix} R & T \\ 0^{T} & 1 \end{bmatrix}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\ 1 \end{bmatrix}

               =\begin{bmatrix} dx^{-1}f&0&u_0&0\\0&dy^{-1}f&v_0&0 \\0&0&1&0 \end{bmatrix}\begin{bmatrix} R & T \\ 0^{T} & 1 \end{bmatrix}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\ 1 \end{bmatrix}=\begin{bmatrix} \alpha _{x}&0&u_0&0\\0& \alpha_{y}&v_0&0 \\0&0&1&0 \end{bmatrix}\begin{bmatrix} R & T \\ 0^{T} & 1 \end{bmatrix}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\ 1 \end{bmatrix}

               =AM_{1}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\ 1 \end{bmatrix}

其中,\alpha_{x}=dx^{-1}f,\alpha_{y}=dy^{-1}f为两个轴上的尺度因子(或者成为归一化焦距)。

且,                                 M_{1}=\begin{bmatrix} R & T \\ 0^{T} & 1 \end{bmatrix}

为相机外部参数。

                                      A=\begin{bmatrix} \alpha _{x}&0&u_0&0\\0& \alpha_{y}&v_0&0 \\0&0&1&0 \end{bmatrix}

为相机内部参数。

考虑到照相机的的不垂直度,照相机内部参数矩阵写作:

                                    A=\begin{bmatrix} \alpha _{x}&\gamma &u_0&0\\0& \alpha_{y}&v_0&0 \\0&0&1&0 \end{bmatrix}

其中\gamma为两个轴的不垂直度因子。

二、参数标定

1. 封闭解

1.1 标定综合参数 H

由式:

         s\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=AM_{1}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\ 1 \end{bmatrix}

对于两维标定模板,可以规定Z_{w}\equiv 0,则

         s\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=A\begin{bmatrix}r_{1}&r_{2}& r_{3}&T\end{bmatrix}\begin{bmatrix} X_{w}\\ Y_{w}\\ 0\\ 1 \end{bmatrix}

简化为:

        s\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=A\begin{bmatrix}r_{1}&r_{2}& T\end{bmatrix}\begin{bmatrix} X_{w}\\ Y_{w}\\ 1 \end{bmatrix}

假设

         H\equiv \begin{bmatrix} h_{1}& h_{2} &h_{3} \end{bmatrix}=\lambda A \begin{bmatrix} r_{1}& r_{2} & r_{3} \end{bmatrix}

使得

         \begin{bmatrix} u\\ v\\ 1 \end{bmatrix} = H\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w} \end{bmatrix}

注意这里的\lambdas的关系。

使用最小二乘法计算H,即使得根据上式计算得到图像坐标\tilde{m}与实际图像坐标m之间的残差最小,目标函数为:

        J=\sum_{i}^{n}\left \| m_{i} - \tilde{m_{i}}\right \|^{2}

 

你可能感兴趣的:(全景拼接)