相机校准模型

小孔成像模型

各坐标系定义及相机的内参和外参

像素坐标系

像素坐标就是像素在图像中的位置。一般像素坐标系的左上角的顶点就是原点,水平向右是 u,垂直向下是 v 轴。

图像坐标系

在像素坐标系中,每个像素的坐标是用像素来表示的,然而,像素的表示方法却不能反应图像中物体的物理尺寸,因此,有必要将像素坐标转换为图像坐标。将像素坐标系的原点平移到图像的中心,就定为图像坐标系的原点,图像坐标系的 x 轴与像素坐标系的 u 轴平行,方向相同,而图像坐标系的 y 轴与像素坐标系的 v 轴平行,方向相同。

在图中,假设在像素坐标系下图像中心的像素坐标是(u0,v0),相机中感光器件每个像素的物理尺寸是 dx * dy,那么,图像坐标系的坐标(x,y)与像素坐标系的坐标(u,v)之间的关系可以表示为:

u=xdx+u0v=ydy+v0

写成矩阵的形式就为:

[uv]=[1dx001dy][xy]+[u0v0]

改写为齐次坐标的形式:

[uv1]=[1dx0001dy0000][xy0]+[uovo1]=[1dx0uo01dyv0001][xy1]

相机坐标系

相机坐标系是以相机的光轴作为 Z 轴,光线在相机光学系统的中心位置就是原点 Oc(实际上就是透镜的中心), 相机坐标系的水平轴 Xc 与垂直轴 Yc 分别于图像坐标系的 X 轴和 Y 轴平行。在图中,相机坐标系的原点与图像坐标系的原点之间的距离 OcOi 之间的距离为 f(也就是焦距)。

假设,三维空间中点 P, 其在相机坐标系下坐标为Pc=[xc,yc,zc]T; 其像点 p,在图像坐标系中坐标为。

由相似三角形原理,得到

fzc=xxc=yycx=fxczc,y=fyczc

用向量表示为:

[xy1]=1zc[f000f0001][xcyczc]

进一步可以写为:

[uv1]=[1dx0uo01dyv0001][xy1]=1zc[fdx0uo0fdyv0001][xcyczc]

到这里[fdx0uo0fdyv0001] 就是相机的内参矩阵,跟相机的焦距和传感器的大小等参数有关

世界坐标系

界坐标系是图像与真实物体之间的一个映射关系。如果是单目视觉的话,主要就是真实物体尺寸与图像尺寸的映射关系。如果是多目视觉的话,那么就需要知道多个相机之间的关系,这个关系就需要在同一个坐标系下进行换算。在下图中,世界坐标系的原点是 Ow, 而 Xw,Yw,Zw 轴并不是与其他坐标系平行的,而是有一定的角度,并且有一定的平移。

对于世界坐标系到相机坐标系的转换是刚体变换,是旋转动作和平移动作的结果,如下:

[xcyczc1]=[Rt01][xwywzw1]

这里[Rt01]就是相机的外参矩阵,R 是相机相对世界坐标系的旋转关系,t 是相机相对于世界坐标系的平移关系,当相机位姿发生变化,该参数也相应的发生变化**。

图像畸变及畸变矫正

径向畸变

径向畸变:是由于透镜形状的制造工艺导致,且越向透镜边缘移动径向畸变越严重,实际情况中我们常用 r=0 处的泰勒级数展开的前几项来近似描述径向畸变,矫正径向畸变前后的坐标关系为:

径向畸变的矫正公式如下:

xrad=x(1+k1r2+k2r4+k3r6)yrad=y(1+k1r2+k2r4+k3r6)

切向畸变

切向畸变:是由于透镜和 CMOS 或者 CCD 的安装位置误差导致,切向畸变需要两个额外的畸变参数来描述,矫正前后的坐标关系为:

切向畸变的矫正公式如下(这里不给出推导过程,直接使用):

xtan=x+2p1xy+p2(r2+2x2)ytan=y+p1(r2+2y2)+2p2xy

畸变矫正

综合以上两种畸变,得到相机的畸变模型(纠正后的图像像素坐标系的坐标):

r2=x2+y2xdistorted=x(1+k1r2+k2r4+k3r6)+2p1xy+p2(r2+2x2)ydistorted=y(1+k1r2+k2r4+k3r6)+p1(r2+2y2)+2p2xy

其中 x,y 是是去畸变后的图像坐标,它是归一化的坐标,以图像中心为原点。r 为半径。xdistortedydistorted是具有畸变得图像坐标。