最近公司标定程序出现了一些问题,为了排查。学习了相机标定的原理。查询相关资料,分享如下:

原文 计算机视觉基础——相机标定

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。

进行摄像机标定的目的:求出相机的内、外参数,以及畸变参数。

标定相机后通常是想做两件事:一个是由于每个镜头的畸变程度各不相同,通过相机标定可以校正这种镜头畸变矫正畸变,生成矫正后的图像;另一个是根据获得的图像重构三维场景。

1.1 浅谈标定

首先谈谈相机为什么需要标定?任何理论物理模型都是在特定假设上对真实事物的近似,然而在实际应用中存在误差,普通相机的成像模型也不例外(透视投影)。实际中,普通相机成像误差的主要来源有两部分,第一是sensor制造产生的误差,比如sensor成像单元不是正方形,sensor歪斜;第二是镜头制造和安装产生的误差,镜头一般存在非线性的径向畸变;镜头与相机sensor安装不平行,还会产生切向畸变。

1.2透视投影模型

普通相机的成像模型一采用小孔成像,初中的物理知识告诉我们,没错,就是那个蜡烛成像实验,物体经小孔后,在成像平面成倒立的像。为了更好的进行理论阐述,一般默认采用虚拟成像平面(virtual image plane)进行分析。虽没有明文规定,但大家(不,是大佬)都是这么做的。Matlab官方有张很形象的图片。

img

将小孔成像模型简化成几何表达的形式,图2来自多目几何第二版。

preview

在理想情况下,根据简单的相似三角形几何知识,可以推出3D目标点在相机坐标系下的坐标与图像像素坐标之间的关系, 如公式1-1:

preview

f是焦距,X、Y、Z是3D点在相机坐标系坐标,u,v是图像坐标;

上述公式写成齐次坐标为:

preview

λ为尺度因子,同一条投影线上的点都满足上述关系,只是λ不同而已;在不换sensor情况下,想增大物体分辨率,其实只要把相机靠近一点就行。

1.3主点偏移

主点是光轴和相机成像平面的交点,1.2节考虑的是理想成像情况,图像坐标系和相机坐标系原点重合,因此不存在坐标系偏移。但是在实际情况中,图像坐标系往往在图片的左上角,光轴过图像中心,因此图像坐标系和相机坐标系不重合。两个坐标系之间存在一个平移运动(如图)。

preview

考虑主点偏移后,图像坐标和3D在相机坐标系坐标的关系为:

preview

主点偏移后,透视投影模型的的齐次坐标表达为:

preview

1.4 图像传感器特性

图像传感器像原尺寸在制造过程可能不是正方形,同时可能存在歪斜(skewed),因此需要考虑这些影响因素,传感器歪斜和不是正方形主要对相机x和y方向的焦距产生影响,数学表达见公式(1-5)。

preview

preview

在不考虑畸变的情况下,考虑主点偏移、图像传感器的特性,3D目标点成像数学模型用公式(1-5)可完全表达。这就是相机内部参数对成像的影响,因此K称为内参矩阵,相机内参标定主要是标定相机的焦距、主点、歪斜等内部参数。

1.4镜头畸变对成像的影响

小孔成像模型虽然充分考虑了相机内部参数对成像的影响,但没有考虑成像系统另一个重要的部分,镜头。镜头常用的有普通镜头、广角镜头、鱼眼镜头等,在无人驾驶和视觉slam领域,鱼眼镜头和广角镜头用的很多,主要是视角很大,可以观测到更多的信息。任何镜头都存在不同程度的畸变,不同类型的镜头用到的畸变模型也不相同。根据镜头制造和成像的物理特性,普通镜头主要考虑径向畸变和切向畸变,且畸变模型都可以用多项式来近似。而对于大广角、鱼眼镜头,普通镜头的物理模型不能适用了。

1.4.1径向畸变

透过镜头边缘的光线很容易产生径向畸变,光线离镜头中心越远,畸变越大。

preview

从图像可以看出,径向畸变以某一个中心往外延伸,且越往外,畸变越大;显然畸变与距离成一种非线性的变换关系,参考众多文献,可以用多项式来近似。

preview

x,y是归一化的图像坐标,即坐标原点已经移动到主点,并且像素坐标除以焦距。K1,k2,k3是径向畸变系数,r2=x2+y2(2表示2次方)。

1.4.2切向畸变

切向畸变主要发生在相机sensor和镜头不平行的情况下;因为有夹角,所以光透过镜头传到图像传感器上时,成像位置发生了变化。

preview

preview

x,y是归一化的图像坐标,即坐标原点已经移动到主点,并且像素坐标除以焦距。p1、p2是径向畸变系数,r2=x2+y2。

1.5相机外参

上述讨论的范畴全是在相机坐标下发生的事情,然而实际情况是,相机往往装在机械臂末端,移动小车前方,车辆四周,当我们需要知道成像平面内的物体在机器人或者车辆坐标系下的位置时,需要进行一个坐标转换,称为外参(Extrinsic parameters),它与相机制造、镜头畸变没有任何关系,只与相机在世界坐标系内的安装位置和角度有关。从纯数学的角度来说,刚体运动和坐标变换总是可以分解为一个旋转运动和一个平移运动。

preview

因此世界坐标系下的点P与图像坐标的关系可以表达为:

preview

相机标定就是标定内参和外参,通过一种理论数学模型和优化的手段来近似实际的物理成像关系。

参考文章

原文 https://zhuanlan.zhihu.com/p/87334006

https://www.cnblogs.com/lhx0814/p/12653219.html

相机标定(Camera calibration)

相机标定的原理及实现