图像处理之相机标定(—)

      1.相机标定的意义

      在进行图像处理的过程中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。相机的标定过程其实就是找一个合适的数学模型,求出这个模型的参数,实现从三维到二维的过程。相机的标定是一个关键的环节,它能有效的计算目标物。相机的自标定法得到的相机参数会使结果误差较大。标定参照物,由相机成像,并通过数字图像处理的方法,以及后期的空间算术运算计算相机的内参和外参。这种方法标定的精度高,适用于对精度要求高的应用场合。相机的标定就是将真实的图像的数学意义转化到可计算可操作的数字化的实现过程。这是图像处理的第一步。

      1.1针孔相机模型

      相机的成像可以简化为针孔相机的成像过程。笔者把它称为针孔相机模型, 针孔相机模型是一个理想的相机模型。相机的透镜中心近似等效为一个小孔,实际在小孔后方的像面上成倒立像。为了直观的研究,将像面置于小孔前面,像面到小孔的距离为焦距f,与原来的小孔成像模型是等价的,但不是等同的,只不过成的是正像。如下图所示:    

       小孔成像的原理:

 2.坐标变换

2.1 像素坐标系

       像素坐标系\LARGE (uov)表示图像在像素水平的位置,原点\LARGE o_{p}位于图像的左上角,水平向右为U轴,垂直向下为V轴。图像中,某点的像素位置坐标可表示为(Ui,Vi)。像素坐标系中坐标轴的单位是像素(整数)。

2.2 图像物理坐标系

      在像素坐标系中,像素坐标有利于对图像的计算。但不利于坐标变换,不能反应图像中物体的大小。把像素坐标系的原点位置移动到图像的中心点,即为图像坐标系的原点\LARGE o_{i},其x轴与像素坐标系的u轴平行,方向相同,y轴与像素坐标系的v轴平行,方向相同。实现将像素坐标转换为图像坐标,如图所示。

 

          在图中,图像坐标系\LARGE (xo_{i}y)的原点是\LARGE (u_{o},v_{o})\LARGE dx\LARGE dy分别为像素在\LARGE x\LARGE y轴方向上的物理尺寸,图像坐标系的坐标为\LARGE (x,y),与像素坐标系的坐标\LARGE (u,v)之间的关系可以表示为(图像物理坐标与图像像素坐标系的转换关系),坐标轴的单位通常为毫米(mm):

                                                                               \LARGE \left\{\begin{matrix} x = udx - u_{o}dx\\ y=vdy - v_{o}dy\end{matrix}\right.

矩阵的形式为:

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

齐次坐标的形式为:

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

也可表示为:

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

2.3世界坐标系

      世界坐标系\LARGE ({X_{w}}O{Y_{w}})是真实空间的一个普通三维直角坐标系。世界坐标系可以根据需要任意选取。 在单目视觉中,世界坐标系是图像与真实物体之间的一个映射关系。多目视觉需要知道多个相机之间在同一个坐标系下的换算关系。理想条件下,当像平面刚好和焦平面重合时,此时所成的像是最清晰的。所以,相机坐标系的原点到图像坐标系的原点的距离就是焦距\LARGE f。在下图中,世界坐标系到相机坐标系的变换,实际上就是一个刚体变换,世界坐标系不是与其他坐标系平行的。可以由旋转矩阵\LARGE R和平移矩阵矢量\LARGE t来表示。这里要注意的是\LARGE Z轴为镜头光轴,与像平面垂直。假设下图中\LARGE P点的世界坐标系的坐标为\LARGE (X_{w}2_{1})\LARGE (X_{w},Y_{w},Z_{w})\LARGE (X_{c},Y_{c},Z_{c})\LARGE P点在相机坐标系中的点,通过投影关系将其投影到图像平面上,在图像物理坐标系的坐标为\LARGE p(x,y),在相机坐标系下的坐标为\LARGE (x,y,f)\LARGE (x,y,f)。坐标轴的单位通常为米(m),于是世界坐标系与相机坐标系之间的转化关系为:

                                                                             \LARGE \begin{bmatrix} X_{c}\\ Y_{c}\\ z_{c} \end{bmatrix}=R\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w} \end{bmatrix}+t

                                                                 \LARGE \Rightarrow \begin{bmatrix} X_{c}\\ Y_{c}\\ z_{c}\\1 \end{bmatrix}=\begin{bmatrix} R_{3x3}& t_{3x1}\\ 0_{1x3} &1_{1x1} \end{bmatrix}\begin{bmatrix} X_{w}\\ Y_{w}\\ Z_{w}\\1 \end{bmatrix}

2.4相机坐标系

      相机坐标系\LARGE (x_{c}o_{c}y_{c})和世界坐标系一样也是一个三维直角坐标系,特殊之处在于它是建立在相机上的坐标系。原点位置位于透镜的中心点,相机坐标系的水平轴Xc与垂直轴Yc分别与图像坐标系的x轴和y轴分别平行。Z轴为镜头的光轴,与像平面垂直。在图中,相机坐标系的原点与图像坐标系的原点之间的距离OcOi之间的距离为f(也就是焦距)。单位为m。

如图所示,选取某一自然点的成像过程,研究其在坐标系下的转换(B点是相机坐标系中物体的点坐标,P是图像坐标系重成像的坐标):

相机坐标系与图像物理坐标系的关系为:

                       \LARGE \frac{O_{c}O_{i}}{O_{c}D}=\frac{O_{i}C}{DA}=\frac{O_{c}C}{O_{c}A}\Rightarrow\LARGE \frac{f}{Z_{c}}=\frac{x}{X_{C}}=\frac{y}{Y_{c}}

                                                                                     \LARGE \Rightarrow X_{c} = \frac{xZ_{c}}{f}    

                                                                                    \LARGE \Rightarrow Y_{C}=\frac{yZ_{c}}{f}

                                                                                   \LARGE \Rightarrow \begin{bmatrix} X_{c}\\ Y_{c}\\ Z_{c}\\ 1 \end{bmatrix}=\begin{bmatrix} \frac{Z_{c}}{f}&0 & 0\\ 0& \frac{Z_{c}}{f} &0 \\ 0& 0& Z_{c}\\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} x\\ y\\ 1 \end{bmatrix}

世界坐标系转换为相机坐标系为:

                                                                         \huge \begin{bmatrix} x_{c}\\ y_{c}\\ z_{c}\\ 1\\ \end{bmatrix} =\begin{bmatrix} R &t \\ 0& 1\\ \end{bmatrix}\begin{bmatrix} x_{w}\\ y_{w}\\ z_{w}\\ 1\\ \end{bmatrix}

其中:
\LARGE R\LARGE 3*3的旋转矩阵,是\LARGE x,y,z三个轴向旋转矩阵的乘积,即\LARGE R=R_{x}*R_{y}*R_{z}\LARGE t\LARGE 3*1平移向量,表示三个轴向上的平移距离,即\LARGE t=\begin{bmatrix} t_{x},& t_{y}, & t_{z} \end{bmatrix}^{T}(上标表转置)。

由上述对三个坐标系之间的转换可以推导得到图像像素坐标系和世界坐标系的转换关系为:

                      \LARGE ^{Z_{c}}\begin{bmatrix} u\\ v\\ 1 \end{bmatrix}=\begin{bmatrix} \frac{1}{dx}& 0 & u_{0}\\ 0&\frac{1}{dy} &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\\ Y\\ Z\\ 1 \end{bmatrix}

则相机的内部参数矩阵为:

                                         \LARGE \begin{bmatrix} \frac{1}{dx}& 0 & u_{0}\\ 0&\frac{1}{dy} &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} f_{x} &0 & u_{o} &0 \\ 0& f_{y} &v_{o} &0 \\ 0& 0 & 1 &0 \end{bmatrix}

相机的外部参数矩阵为:

                                         \LARGE \begin{bmatrix} R &t \\ 0^{t}& 1 \end{bmatrix}

透视投影矩阵为:

                                         \LARGE \begin{bmatrix} \frac{1}{dx}& 0 & u_{0}\\ 0&\frac{1}{dy} &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}

发布了10 篇原创文章 · 获赞 4 · 访问量 1903

猜你喜欢

转载自blog.csdn.net/enjoybocai/article/details/105193075