相机标定原理

144 阅读4分钟

一、相机标定目的

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

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

相机内参包括:fx、fy、cx、cy

相机外参包括:R、T

畸变参数包括:径向畸变(k1, k2, k3)和切向畸变(p1, p2)

摄像机标定过程,简单的可以描述为:通过标定板可以得到n个对应的世界坐标三维点Xi(归一化后的平面)和对应的图像坐标二维点xi(畸变后的),这些三维点到二维点的转换都可以通过上面提到的相机内参K ,相机外参 R 和t,以及畸变参数 D ,经过一系列的矩阵变换得到。

二、理想相机成像原理(无畸变)

图像处理、立体视觉等等方向常常涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。

2.1 介绍

世界坐标系,经过刚体变换(如:旋转、平移)后变为了相机坐标系,再次经过透视投影转变为了图像坐标系,最后经仿射变换转换为了像素坐标系(u,v)。

构建世界坐标系只是为了更好的描述相机的位置在哪里,在双目视觉中一般将世界坐标系原点定在左相机或者右相机或者二者X轴方向的中点。

接下来的重点,就是关于这几个坐标系的转换。也就是说,一个现实中的物体是如何在图像中成像的。

2.2 世界坐标系到相机坐标系(旋转和平移)

从世界坐标系到相机坐标系,涉及到旋转和平移(其实所有的运动也可以用旋转矩阵和平移向量来描述)。绕着不同的坐标轴旋转不同的角度(绕哪个轴旋转,哪个轴坐标保持不变),得到相应的旋转矩阵(分别绕XYZ轴旋转,得到3个旋转矩阵,最后相乘为整体旋转矩阵),如下图所示: 那么从世界坐标系到相机坐标系的转换关系如下所示:

2.3 相机坐标系到图像坐标系

从相机坐标系到图像坐标系,属于透视投影关系,从3D转换到2D,利用相似三角形求解,最后归一化平面(图像坐标系的XY轴与相机坐标系的XY轴平行)

此时投影点p的单位还是mm,并不是pixel,需要进一步转换到像素坐标系。

2.4 图像坐标系到像素坐标系

像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。图像坐标系的原点为相机光轴与成像平面的交点,通常情况下是成像平面的中点或者叫principal point。图像坐标系的单位是mm,属于物理单位,而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列。所以这二者之间的转换如下:

  1. 其中dx和dy表示每一列和每一行分别代表多少mm,即1pixel=dx mm
  2. u0和v0为平移系数

那么通过上面四个坐标系的转换就可以得到一个点从世界坐标系如何转换到像素坐标系的。

内参矩阵:只与相机本身有关,取决于相机的内部参数。

外参矩阵:相机拍摄图片不同,相应的参数会发生变化,即随着世界坐标系与相机坐标系的相对位置而变。

三、相机畸变

畸变主要分为径向畸变和切向畸变。

3.1 径向畸变

径向畸变:沿着透镜半径方向分布的畸变。

产生原因:是由透镜质量引起的,光线在远离透镜中心的地方比靠近透镜中心的地方更加弯曲。

径向畸变主要包括桶形畸变和枕形畸变两种。

3.2 切向畸变

切向畸变:切向畸变是由于透镜本身与相机传感器平面(像平面)或图像平面不平行而产生的。

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

3.3 无畸变到畸变

径向畸变模型

切向畸变模型

径向+切向畸变模型

xcorrectedx_{corrected}, ycorrectedy_{corrected})为畸变后的像素坐标,(xx,yy)为理想的无畸变的像素坐标。k1、k2、k3是径向畸变参数;p1、p2切向畸变参数。

总结:相机标定过程就是知道了畸变后的图像坐标和世界坐标、然后通过 世界坐标->相机坐标->图像坐标->无畸变像素坐标->畸变像素坐标,这个转换关系,建立起关于相机外参、内参以及畸变参数的对应方程,求解这个方程,从而得到对应的参数。

四、双目相机标定

双目相机标定目的:求出左、右相机的内、外参数矩阵以及畸变参数以及旋转矩、平移矩阵(两个相机的相对位置,一般为右相机相对于左相机的旋转和平移矩阵)。

左、右相机的内、外参数矩阵以及畸变参数的求解与单目相机类似

旋转、平移矩阵求解:

我们用旋转矩阵R和平移矩阵T来描述左右两个摄像机坐标系的相对关系,具体为:将右摄像机下的坐标转换到左摄像机下的坐标。假设空间中有一点P,其在世界坐标系下的坐标为p_{w},其在左右摄像机坐标系下的坐标可以表示为:

Pl=RlPw+TlP_{l}=R_{l}P_{w}+T_{l}
Pr=RrPw+TrP_{r}=R_{r}P_{w}+T_{r}

其中PlP_{l}PrP_{r}又有如下的关系:

Pl=RPr+TP_{l}=RP_{r}+T

RlR_{l}TlT_{l} 为左摄像头经过单目标定得到的相对标定物的旋转矩阵和平移向量,RrR_{r}TrT_{r}为右摄像头经过单目标定得到的相对标定物的旋转矩阵和平移向量。 左右相机分别进行单目标定,就可以分别得到RlR_{l}TlT_{l}RrR_{r}TrT_{r},带入上式就可以求出左右相机之间的旋转矩阵R和平移T。 求得的R和T就是立体标定要得到的结果。