• 相机标定 >> 坐标系转换@内参、外参


    1. 坐标系介绍

    为了更好的理解标定,首先应熟悉各个坐标系。(坐标系图均取自百度百科)

    1.1 像素坐标系

    • 该坐标系是以图像左上角为原点建立以像素为单位的二维坐标系u-v。(相对坐标系)
      在这里插入图片描述

    1.2 图像坐标系

    • 图像坐标系是以 O1 (是图像的主点,也即光轴与像平面的交点,一般就是像素坐标系的中点)为原点的二维坐标系x-y。(相对坐标系)

    图像坐标系和像素坐标系都是在像平面上的坐标系。
    但是像素坐标系的单位是pixel,而图像坐标系的单位是mm
    因此,从像素坐标系到图像坐标系主要是对图像实际尺寸的转化,从矩阵角度来看就是做了一次仿射变换


    在这里插入图片描述

    1.3 相机坐标系

    • 相机坐标系可以表示为一个三维坐标系Xc-Yc-Zc。(相对坐标系)

    图像坐标系到相机坐标系主要是基于小孔成像原理,以相机的光心(小孔)作为原点,X轴为水平方向,Y轴为竖直方向,Z轴垂直与像平面。


    在这里插入图片描述

    • 上图为小孔成像的原理,但由于这样显示在像平面的图像是倒置的。因此,如下图所示,将像平面移到另一边,保证像平面上的两个坐标系映射到相机坐标系中时,图像是正的。
    • 下图中O为相机光心;Xc、Yc与像平面xy坐标轴平行,Zc为相机的光轴,和像平面垂直;OO1为相机焦距。
      在这里插入图片描述

    1.4 世界坐标系

    • 世界坐标系是为了描述相机位置的一个三维坐标系Xw-Yw-Zw。(绝对坐标系)

    世界坐标系通常取:拍摄的第一张图像时相机的光心(小孔)作为原点,X轴为水平方向,Y轴为竖直方向,Z轴指向本次拍摄时相机所观察的方向。


    世界坐标系和相机坐标系类似,但世界坐标系是固定的,相机坐标系会随着相机位置的改变而改变,因此他们两个之间通常用一个旋转矩阵加一个平移矩阵就可以表示了。


    2. 相机标定

    首先应明确,相机标定是为了描述相机的二维成像到三维空间的映射关系(像素坐标系到世界坐标系)。


    而手眼标定描述的是相机坐标系、Base坐标系、机器手坐标系、工具坐标系之前的关系。因此一般是先进行相机标定,再将结果用于手眼标定。

    2.1 内参

    2.1.1 内参的意义(透视映射)

    • 内参主要是为了建立从像素坐标系到相机坐标系的变换关系(二维到三维的转换)
    • 另外相机拍摄往往会造成图片的畸变,而内参往往也承担着修复畸变的作用

    2.1.2 内参的组成

    • 相机内参详细来看可以通过F、K、Sx、Sy、Cx、Cy六个参数来表示;也可以精简为s、fx、fy、u0、v0五个参数。

    • F代表的是相机的焦距、K表示的是相机的畸变系数、Sx、Sy表示像元的大小(像元是指像素映射到三维空间的大小,即以像素表示几米)、Cx、Cy表示图像的中心。

    • fx指像距,即 fx = F / dx,这里F代表的是焦距;dx代表的是x方向一个像素对应的实际物理长度是多少(一个像素对应多少米)
    • u0、v0是指图像中心像素坐标在像素坐标系下的位置。(理论上来说应当是分辨率的一半)
    • s表示畸变系数

    综上,可以将变换总结如下:

    像素坐标系 >> 图像坐标系

    在这里插入图片描述

    图像坐标系 >> 相机坐标系

    在这里插入图片描述

    故,直接从 像素坐标系 >> 相机坐标系可以表示为:

    在这里插入图片描述

    因此,将内参矩阵K可以总结为:


    无畸变
    在这里插入图片描述


    有畸变

    在这里插入图片描述


    2.2 外参

    2.2.1 外参的意义(刚体变换)

    • 外参主要是为了建立从相机坐标系到世界坐标系的变换关系。

    2.2.2 外参的组成

    • 在坐标系介绍时,我们了解到外参实际就是由一个旋转阵和一个平移阵组成的。因此外参可以简单的表示为Tx、Ty、Tz、Rx、Ry、Rz

    其中Tx、Ty、Tz表示沿x、y、z轴的平移分量Rx、Ry、Rz表示沿x、y、z轴的旋转分量
    因此外参矩阵由Tx、Ty、Tz组成的平移矩阵T和由Rx、Ry、Rz组成的旋转矩阵R表示。


    综上,从 像素坐标系 >> 世界坐标系可以直接表示为:
    在这里插入图片描述

    3. 标定方法

    • 一般来说,相机标定技术可以分为:传统标定、自校准标定和基于主动视觉的标定

    • 传统方法优点在于可以使用任何相机型号,校准精度高,所以当应用程序需要高精度时,常常使用这类方法。缺点在于需要标定物且算法复杂。
    • 相机标定中应用广泛的张氏标定法和手眼标定中应用广泛的两步法都是传统方法

    • 自标定法优点是只利用内参,不需要固定相机位置,其灵活性高且可以在线标定。但缺点也很明显,其精度不高,鲁棒性也差。

    • 基于主动视觉标定的方法是将相机固定在一个可控平台,控制相机在该平台的可控范围内拍摄多张图片,进而获得内、外参。该方法的研究重点是相机模型参数的线性解,而最大限度地减少相机移动限制。 如果没有
      相机运动约束,标定过程是本质上是一个多元非线性优化问题,并且基于主动视觉的校准返回到自校准范围。其优点是不需要标定物、算法简单、鲁棒性高。缺点是成本高,设备昂贵。

    张式标定:
    https://blog.csdn.net/qq_40369926/article/details/89251296

    手眼标定:
    https://blog.csdn.net/weixin_41074793/article/details/89477476

    4. 总结

    • 综上,我们可以知道,相机标定就是表示从像素坐标系到世界坐标系的变换,而这主要是通过计算内参和外参得出的。
    • 因此,这里有一个非常重要的点。我们知道,在标定时,我们会拍摄很多张不同位姿的标定图片,但是我们的外参实际上只基于参考位姿下的图片,也就是说只基于一张标定图片(一般就是第一张图像)。由此可知,剩下的几次在不同位姿拍摄的标定图像主要是用来调整内参的。(而不是外参)
    • 补充:玉米大神的博客 https://blog.csdn.net/onthewaysuccess/article/details/40709947
  • 相关阅读:
    高级架构师_Docker_第3章Docker运维管理__ 第1节Swarm集群管理
    FPGA工程师是否有必要转ASIC设计工程师?哪个前景好?
    红外超声波雷达测距
    使用 OpenTracing 和 LightStep 监控无服务器功能
    为何面试官总是将你简历上的技术问题问到回答不出来为止?
    livekit 源码编译
    C. Non-coprime Split Codeforces Round 895 (Div. 3)
    2021.09青少年软件编程(Python)等级考试试卷(五级)
    【苍穹外卖 | 项目日记】第七天
    【最新面试问题记录持续更新,java,kotlin,android,flutter】
  • 原文地址:https://blog.csdn.net/m0_52785249/article/details/125973858