40、相机标定
Camera Calibration相机标定是视觉高精度测量的必要过程,每个镜头的畸变程度各不相同,通过相机标定可以矫正这种镜头畸变。在相机标定后就可以得到世界坐标系中物体米制单位的坐标,例如米、毫米、甚至微米。相机标定其实就是确定相机的内参和外参的过程。
一、相机外参
- 一个点从世界坐标系到相机坐标系的变换书序刚性变换,也就是由平移和旋转组成。即:在世界坐标系的点: ;在相机坐标系的点为:,则他们之间的关系为:。
注:
上式中T=是一个平移量;是一个旋转矩阵,这个旋转矩阵由旋转角度确定,分别绕相机坐标系Z轴旋转角度,绕Y轴旋转角度,绕X轴旋转角度。
- 在R和T中的6个参数被称为相机外参(外方位参数或相机位姿),它们决定了相机坐标系和世界坐标系的相对应关系。在Halcon中外参顺序为
- 将相机进行标定并且得到相机与测量平面的位姿关系,就可以使用该平面上的单幅图像进行高精度测量,需要注意的是这些测量结果是世界坐标系中测量平面上的二维测量。由于我们使用的是平面是标定的对象,可以通过相机标定得到放置被测物体的测量平面的位姿。如果在用来标定的其中一幅图像中标定板直接放在测量平面(如传送带)上,那么这幅图像中标定板的外参基本等同于测量平面的位姿。
二、相机内参
- 相机内参确定世界坐标系三维空间点到相机坐标系二维图像点的投影关系。世界坐标系点投影到成像平面,因受畸变影响,导致相机坐标系点坐标发生了变化,可以通过相机内参来进行畸变矫正。
- Halcon中支持两种畸变矫正模型:Dicision模型和Polynomial模型
- Division模型适用于简单的径向畸变:
- Polynomial模型适用于各种复杂畸变(径向畸变、切线畸变、透视投影畸变、纵横比畸变)
- 两种 矫正模型的效果对比:
注:从效果图中可以看出Polynomial模型效果更好,因此在实际应用中,强力推荐适用Polynomial模型校正。
三、标定过程以及应用
- 为了进行相机标定,必须已知世界坐标系中足够多的三维空间点坐标,找到这些点在图像中的投影点的二维图像坐标,并建立对应关系,可以适用halcon标定板进行标定。
- 适用一个halcon标定板,在平面上有 m * n个圆形标志点,在这些标志点外面有个黑色矩形边界框:
- 他们非常易操作
- 他们尺寸可以做的非常精确
- 他们可以非常方便地应用在背光照明中,只需要适用透明材料制作放置标志点底盘即可
- 在标志点周围的黑色矩形框边界框可以一个"三角形"的标志很容易被提取出来并得到其方向
- 在标定板表面适用圆形标志点主要因为可以非常提取圆的中心坐标
- 所有圆形标志按照行列呈矩形阵列,这样可以使相机标定算法在图像中提取与这些标志点对应的像素点坐标时更加简单
- 由于标定板上的黑色矩形框边界框容易将标定板的内部与背景区分开来,因此我们可以利用标定板这个特点在图像中提取标定板位置。在图像中只需要通过一个简单的阈值分割操作就可以找到标定板内部区域。由于正确的阈值取决于图像中标定板的亮度,因此可以在图像中自动尝试不同的阈值,直到做到图一个含m * n个空洞(标定板上的圆形标志点)的区域
- 一旦找到标定板上的内部区域,就可以利用亚像素边缘提取方法来提取标定板各个圆形的边缘。因为圆形标志点投影为椭圆,可以用拟合椭圆的算法把所有提取出来的边缘拟合为椭圆,该拟合算法已经非常健壮。它可以抑制边缘中孤立点对边缘拟合的影响而提高准确度。
- 基于拟合椭圆,可以非常容易的确定标志点与它们在图像中投影之间对应关系
- 基于标定板矩形外接框角落上有个小三角形标志来唯一确定标定板方向。如果没有这个标志,对于正方形的标定对象得到方向只能是一90度为模。对于长方形的标定对象得到的方向只能是以180度为模。
- 在确定标定标记与它们在图像中投影对应关系之后,就可以进行相机标定了。我们将标志点在世界坐标系中的坐标表示为Mi。因为标定板是平面,我们可认为我们的标定板放置在世界坐标系中Z = 0 的平面上。最后我们将相机参数表示为向量C,C包含了相应相机模型的外参和内参,这里必须注意的是外参数对应的世界坐标系在标定板上,例如坐标原点在标定板的最中心的标志点中心,坐标系X轴和坐标系Y轴分别与标志点的排列行方向和列方向一致。在标定板与成像平面平行时,Z轴与光轴方向一致。然后通过是提取出的标志点中心坐标Mi与通过投影计算得到的坐标π(Mi,C)之间的距离最小化来确定相机的最佳参数(包括内参和外参):
式中,k=mn是标定板上标志点的数量。这是一个非常复杂的非线性最优化问题,因此,需要为这些参数提供更好的初始值。相机内参需要设置这些初始值,可以在相机以及镜头说明书得到。
- 标定后,可以将图像中的某些点转换到世界坐标系中,例如将一维边缘位置或亚像素精度轮廓线转换到世界坐标中。除此之外,有些情况下将图像本身转换到世界坐标中也是非常有价值的。这个转换得到的图像就相当于相机在于相机平面绝对垂直且镜头不存在任何畸变的情况下拍照得到的图像,这种图像校正需要适用图像本身进行处理中非常有用,例如在校正后的图像中进行区域处理、OCR、模板匹配等。