机器视觉——相机标定(摄像机标定)

1 摄像机标定

  • 摄像机标定目的:建立世界坐标中三维点与像素坐标系中二维点的相关关系。
  • 针孔模型:摄像机的线性模型是在理想情况下的成像模型,即光学中的中心投影,我们通常也称为针孔模型

机器视觉——相机标定(摄像机标定)
如果按照实际的投影关系建立坐标系,那么投影坐标和物体坐标的符号总是相反的,考虑起来不太方便,于是在“数学上”把投影平面平移到其关于小孔对称的位置,这样投影坐标和物体坐标符号就相同了,示意图如下:
机器视觉——相机标定(摄像机标定)

1.1 四大坐标系

在视觉测量中,需要进行的一个重要预备工作是定义四个坐标系的意义,即世界坐标系、摄像机坐标系 、 图像坐标系、 像素坐标系

机器视觉——相机标定(摄像机标定)

  • {world},{camera},{picture}和{pixel}坐标系的坐标用下标来区分,分别是W,c,p,pix
  • {world},{camera},{picture}坐标系单位为长度,一般为mm;{pixel}坐标系单位为像素,一般为pix
  • {world}坐标系为世界坐标系,可以任意指定,其他坐标系都有明确的定义
  • {camera}坐标系为摄像机坐标系,原点在小孔的位置,z轴与光轴重合,Xc轴和Yc轴分别和投影面两边平行
  • {picture}坐标系为图像坐标系,光轴和投影面的交点为原点,Xp轴和Yp轴分别和投影面两边平行
  • {pixel}坐标系为像素坐标系,从小孔向投影面方向看,投影面的左上角为原点Opix,uv轴和投影面两边重合

1.2 坐标系转换

1.2.1 {world}到{camera}

设某点在{world}坐标系中的坐标为
机器视觉——相机标定(摄像机标定)
该点在{camera}坐标系中的坐标为
机器视觉——相机标定(摄像机标定)
则有

机器视觉——相机标定(摄像机标定)

其中R是正交旋转矩阵:
机器视觉——相机标定(摄像机标定)

Rx Ry Rz 分别为矩阵沿着对应轴的旋转矩阵
具体推导公式列出一个 其他同理
机器视觉——相机标定(摄像机标定)
机器视觉——相机标定(摄像机标定)

机器视觉——相机标定(摄像机标定)

机器视觉——相机标定(摄像机标定)

机器视觉——相机标定(摄像机标定)

T是平移矩阵:

机器视觉——相机标定(摄像机标定)

为各个方向上的位移偏移量

确定R需要3个参数,确定T需要3个参数,共需6个参数,这6个参数称为摄像机的外部参数。(在单目相机中外参没有多少意义。只有在双目相机中,以另一个摄像头为坐标系,得出的相对另一个摄像头的旋转和平移矩阵才有实际意义)

1.2.2 {camera}到{picture}

设空间点XcX_{c}在{camera}下:Pc=[xc,yc,zc,1]TP_{c}=\left [ x_{c},y_{c},z_{c},1 \right ]^{T},其像点XpX_{p}在{picture}的齐次坐标为Pp=[xp,yp,1]TP_{p}=\left [ x_{p},y_{p},1 \right ]^{T},由图中相似三角形可得,

机器视觉——相机标定(摄像机标定)

1.2.3 {picture}到{pixel}

sxs_{x}表示Xpix方向上单位mm的像素数,单位是pix/mm,sys_{y}表示Ypix方向上单位mm的像素数,单位是pix/mm,x0x_{0}y0y_{0}表示投影平面中心在{pixel}中的坐标,设像素坐标Ppix=[u,v,1]TP_{pix}=[ u,v,1]^{T},则有
机器视觉——相机标定(摄像机标定)

机器视觉——相机标定(摄像机标定)
结合{picture}到{image}的变换,则{camera}到{pixel}的变换矩阵K为

机器视觉——相机标定(摄像机标定)

其中,fx=sxffy=syff_{x}=s_{x}f,f_{y}=s_{y}f称为相机在u轴和v轴方向上的尺度因子

fxfyx0y0f_{x},f_{y},x_{0},y_{0}这4个数叫做摄像机的内部参数,有时把焦距f也当作内部参数。因为这些参数只和摄像机有关系,和具体的摄像场景,和世界坐标系没有关系.fxfyf_{x},f_{y}的物理意义是摄像头感光芯片像素点的在两方向的尺度因子,x0y0x_{0},y_{0}的物理意义是摄像头感光芯片安装时与理论中心的水平与垂直偏移量。

1.2.3 {world}到{pixel}

综上,可得:

机器视觉——相机标定(摄像机标定)

最后等式 前一项为相机内参矩阵,后一项为相机外参

2 摄像机畸变

透镜由于制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真。镜头的畸变分为径向畸变和切向畸变两类。径向畸变来自于透镜形状,切向畸变来自于整个摄像机的组装过程。畸变还有其他类型的畸变,但是没有径向畸变、切向畸变显著。
机器视觉——相机标定(摄像机标定)

1.1 径向畸变

顾名思义,径向畸变就是沿着透镜半径方向分布的畸变,产生原因是光线在原理透镜中心的地方比靠近中心的地方更加弯曲,这种畸变在普通廉价的镜头中表现更加明显,径向畸变主要包括桶形畸变和枕形畸变两种。以下分别是枕形和桶形畸变示意图:
机器视觉——相机标定(摄像机标定)
成像仪光轴中心的畸变为0,沿着镜头半径方向向边缘移动,畸变越来越严重。畸变的数学模型可以用主点(principle point)周围的泰勒级数展开式的前几项进行描述,通常使用前两项,即k1和k2,对于畸变很大的镜头,如鱼眼镜头,可以增加使用第三项k3来进行描述,成像仪上某点根据其在径向方向上的分布位置,调节公式为:
机器视觉——相机标定(摄像机标定)
公式里(x0y0x_{0},y_{0})是畸变点在成像仪上的原始位置,(xyx,y)是产生畸变后新的位置,下图是距离光心不同距离上的点经过透镜径向畸变后点位的偏移示意图,可以看到,距离光心越远,径向位移越大,表示畸变也越大,在光心附近,几乎没有偏移。
机器视觉——相机标定(摄像机标定)

1.2 切向畸变

切向畸变是由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致。畸变模型可以用两个额外的参数p1和p2来描述:
机器视觉——相机标定(摄像机标定)
下图显示某个透镜的切向畸变示意图,大体上畸变位移相对于左下——右上角的连线是对称的,说明该镜头在垂直于该方向上有一个旋转角度。
机器视觉——相机标定(摄像机标定)
单目摄像机透镜畸变校正需要确定的就是k1,k2,k3,p1,p2这5个参数,如果“鱼眼”现象不明显的话,常常使用k1,k2来校正径向畸变。

参考文献

https://blog.csdn.net/qq_28514991/article/details/88559590
https://blog.csdn.net/baidu_38172402/article/details/81949447
https://blog.csdn.net/u012209626/article/details/46475489