一、什么是相机标定

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定。

1:世界坐标系:根据情况而定,可以表示任何物体,此时是由于相机而引入的。单位m。

2:相机坐标系:以摄像机光心为原点(在针孔模型中也就是针孔为关心),z轴与光轴重合也就是z轴指向相机的前方(也就是与成像平面垂直),x轴与y轴的正方向与物体坐标系平行,其中上图中的f为摄像机的焦距。单位m

3:图像物理坐标系(也叫平面坐标系):用物理单位表示像素的位置,坐标原点为摄像机光轴与图像物理坐标系的交点位置。坐标系为图上o-xy。单位是mm。单位毫米的原因是此时由于相机内部的CCD传感器是很小的,比如8mm x 6mm。但是最后图像照片是也像素为单位比如640x480.这就涉及到了图像物理坐标系与像素坐标系的变换了。下面的像素坐标系将会讲到。

4:像素坐标系:以像素为单位,坐标原点在左上角。这也是一些opencv,OpenGL等库的坐标原点选在左上角的原因。当然明显看出CCD传感器以mm单位到像素中间有转换的。举个例子,CCD传感上上面的8mm x 6mm,转换到像素大小是640x480. 假如dx表示像素坐标系中每个像素的物理大小就是1/80. 也就是说毫米与像素点的之间关系是piexl/mm.

二、如何标定

在视觉测量中,首先是要定义四个坐标系,即 摄像机坐标系图像物理坐标系像素坐标系世界坐标系(参考坐标系)。

我们的目标就是将世界坐标系转换到像素坐标系,整个流程如下图所示。

结论:

其中,\large \alpha _{x}= f/dx,\large \alpha _{y}=f/dy,称为u、v轴的尺度因子,M1称为相机的内部参数矩阵,M2称为相机的外部参数矩阵,M称为投影矩阵。

    •内参矩阵各元素意义:一个像素的物理尺寸dx和dy,焦距f,图像物理坐标的扭曲因子r,图像原点相对于光心成像点的的纵横偏移量u和v(像素为单位)。

    •外参矩阵:世界坐标系转换到相机坐标系的旋转R和平移T矩阵。

    •畸变系数:包括相机的径向畸变系数k1,k2,k3,~,和相机的切向畸变系数p1,p2,~。
 

三、标定方法

1、传统相机标定

最简单的相机标定为线性标定,即不考虑相机的畸变而只考虑空间坐标转换。每个坐标点有X,Y两个变量,可列两个方程,相机内参有5个未知数,外参平移和旋转各3个,共有11个变量,因此至少需要6个特征点来求解。

2、非线性标定

当镜头畸变明显时必须考虑畸变,一般较为便宜的网络摄像头畸变特别大,而价格较贵的工业摄像头则畸变很小,因为其中已经嵌入了许多消除畸变的程序。这时线性模型转化为非线性模型,需要通过非线性标定方法求解。有最速下降法,遗传算法,高斯牛顿法和神经网络算法等。

四、相机标定步骤

    1、打印一张棋盘格,把它贴在一个平面上,作为标定物。
    2、通过调整标定物或摄像机的方向,为标定物拍摄一些不同方向的照片。
    3、从照片中提取棋盘格角点。
    4、估算理想无畸变的情况下,五个内参和六个外参。
    5、应用最小二乘法估算实际存在径向畸变下的畸变系数。
    6、极大似然法,优化估计,提升估计精度。

具体的公式推导可以参考以下博客

[图像]摄像机标定(1) 标定中的四个坐标系_java摄像头定位物体空间坐标_祥知道的博客-CSDN博客

相机标定(Camera calibration)原理、步骤_AI人工智能科学的博客-CSDN博客

相机标定——张正友棋盘格标定法_棋盘标定_JennyBi的博客-CSDN博客

相机参数标定(camera calibration)及标定结果如何使用_相机标定参数_Aoulun的博客-CSDN博客

世界坐标系,相机坐标系,图像物理坐标系,像素坐标系的关系 - 知乎 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐