双目摄像头标定——相机标定(Camera calibration)推导过程

 参考资料来自于UIUC的计算机视觉课件:Computer Vision

一.介绍

    摄像机标定分为两部分:

    1.从世界坐标系转换到相机坐标系,由于这两个坐标系都是三维的,所以这一部分就是三维空间转到另外一个三维空间

    2.从相机坐标系转换到图像坐标系,由于图像坐标系是二维的,所以这一部分就是三维空间转到另外一个二维空间

二.世界坐标系转换到相机坐标系

    在上图中,C代表着相机坐标系的原点,O代表着世界坐标系的原点,我们只需要一个平移操作(平移到原点重合)和一个旋转操作(旋转到三个轴对齐)就可以将世界坐标系转换到相机坐标系,公式:\widetilde{X}_{cam}= R(\widetilde{X}-\widetilde{C}),其中R表示旋转矩阵,\widetilde{X}表示x点在世界坐标系中的位置,\widetilde{C}表示相机坐标系的原点C在世界坐标系中的位置,\widetilde{X}_{cam}表示x点在相机坐标系的位置。

三.相机坐标系转换到图像坐标系

    在上图中,C是相机中心,p为图像中心,相机坐标系和图像坐标系的Z轴在一条线上。将上图进行简单的投影,我们可以得到下图,其中f为相机的焦距,这里就有一个等比列对称关系,当把相机坐标系一点(X,Y,Z)投影到图像坐标系中的点(x,y),就可以通过x=f*X/Z,y=f*Y/Z来计算出来。

    通过上面的转换,只能把相机坐标系转换和像平面坐标系转换到同一个平面下,如下图所示,因此还需要一个平移操作,p在像平面坐标系的位置为(px,py),可以得到最终的变换公式:x=f*X/Z +px,y=f*Y/Z+py

    上面的公式推导完了,但没具体看到我们所需要的相机内参K和投影矩阵P,那么就接着把上面的公式进行变换:

\bigl(\begin{smallmatrix} f*X + Z*px\\ f*Y + Z*py\\ Z \end{smallmatrix}\bigr)=\begin{bmatrix} f & 0& px& 0\\ 0 & f& py& 0\\ 0 & 0& 1& 0 \end{bmatrix}\begin{pmatrix} X\\ Y\\ Z\\ 1 \end{pmatrix}=\begin{bmatrix} 1& 0& px\\ 0& f& py\\ 0& 0& 1 \end{bmatrix}\begin{bmatrix} 1& 0& 0& 0\\ 0& 1& 0& 0\\ 0& 0& 1& 0 \end{bmatrix}\begin{pmatrix} X\\ Y\\ Z\\ 1 \end{pmatrix}

公式中K为:

\begin{bmatrix} f & 0& px\\ 0 & f & py\\ 0 & 0& 1 \end{bmatrix}

,P为

\begin{bmatrix} f & 0 & px\\ 0 & f& py\\ 0 & 0& 1 \end{bmatrix}\begin{bmatrix} 1& 0& 0& 0\\ 0& 1& 0& 0\\ 0& 0 & 1& 0 \end{bmatrix}=K[I|0]

    推导到现在,有没有发现一个问题,相机坐标系和图像坐标系的衡量单位是一样的吗?相机坐标系是以m为单位,图像坐标系中是以多少个像素点为单位。假设mx为在水平方向的1m所包含像素点个数,my为在竖直方向的1m所包含像素点个数,那么K就更新为:

\begin{bmatrix} mx & 0& 0\\ 0& my& 0\\ 0& 0& 1 \end{bmatrix}\begin{bmatrix} f & 0& px\\ 0& f& py\\ 0& 0& 1 \end{bmatrix}=\begin{bmatrix} fx & 0& cx\\ 0& fy& cy\\ 0& 0& 1 \end{bmatrix}

,其中fx、fy、cx和cy就是相机内参数矩阵得到的四个参数

四.世界坐标系转换到图像坐标

    在第二节中,我们得到世界坐标系转换到相机坐标系公式:\widetilde{X}_{cam}= R(\widetilde{X}-\widetilde{C}),为了方便公式之间的转换,我们也把它用矩阵形式来表示:

    在第三节中,我们得到相机坐标系转换到图像坐标系的投影矩阵P:K[I|0]

    那么综合起来,世界坐标系转换到图像坐标的公式为:

    最终得到的P为:K[R|t],其中t为-R\widetilde{C}。总结一下,K为相机内参,是一个固有属性;R和t都为相机外参,其中R为旋转矩阵,t为平移向量。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
相机标定工具gml camera calibration是一种计算机视觉领域的工具,用于对相机进行标定,以提高图像处理和计算机视觉任务的精度和准确性。 相机标定是指通过测量相机的内部和外部参数,包括焦距、畸变等,用数学模型来描述相机的成像特性和几何关系的过程相机标定是进行三维重建、图像匹配、姿态估计等计算机视觉任务的前提。 gml camera calibration是一种相机标定工具,它能够自动提取相机的内部和外部参数,并且能够校正图像的畸变。通过使用gml camera calibration,我们可以获得更准确和稳定的相机参数,从而提高图像处理和计算机视觉任务的质量。 使用gml camera calibration进行相机标定过程一般包括以下几个步骤:首先,需要收集一组已知的二维图像点和对应的三维世界坐标点作为标定数据。然后,通过对这组数据进行处理,可以得到相机的内部参数,如焦距、主点和径向畸变系数。最后,利用得到的内部参数和其他几何信息,可以计算得到相机的外部参数,包括相机的位置和姿态。 相机标定是计算机视觉领域中非常重要的一个技术,它对于提高图像处理和计算机视觉任务的准确性和可靠性具有重要意义。gml camera calibration作为一种相机标定工具,提供了自动化的标定方法和算法,可以极大地简化了相机标定过程,并且能够获得更准确和可靠的相机参数,从而提高计算机视觉任务的成果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值