专栏名称: 新机器视觉
最前沿的机器视觉与计算机视觉技术
目录
相关文章推荐
51好读  ›  专栏  ›  新机器视觉

汽车智驾中的机器视觉之相机标定解析

新机器视觉  · 公众号  ·  · 2025-01-07 11:40

正文

PART. 0 1
为什么要进行相机标定
随着机器视觉的迅猛发展,我们已经不满足于使用摄像机进行监控、抓拍这种较为简单的功能。更多的用户青睐于它在非接触三维尺寸测量上的应用。
我们所谓的三维测量是广义的三维测量,它不仅包括三维物体的重构与测量,还包括在三维空间中识别任意二维平面上的尺寸以及位置。
这种技术目前已被应用在高精度的工业模具以及装配测量中,其中任意二维平面上的尺寸检测技术应用得更为广泛。

图一
如图1当被测平面和像平面平行且成像模型为理想的小孔成像模型,我们设焦距为 、工作距离为 ,则 被测物 和它的像 关系 可简单的表示为:
但是在实际应用中并非如此,我们无法严格控制像平面和被测平面的位置,所用的镜头也不是严格的小孔模型。如果直接使用【1】式计算将会产生极大的误差。因此,为了获取更高的测量精度,我们需要通过标定来实现坐标平面的转换以及图像的校正。


PART. 0 2
什么是相机标定
在实际应用中,被测平面的不确定性以及镜头的畸变使我们已经无法简单的使用【1】式计算出实际距离,但是我们可以将目前能够获得的数据进行转换,使这些数据符合【1】式的使用条件。
也就是将任意坐标平面通过旋转和平移映射到理想坐标平面上,对有畸变的图像进行校正,让它成为符合小孔成像模型的像平面。
有了这种方法,我们只要确定转换算法、校正算法以及【1】式中的参数就可以实现三维空间中任意平面上尺寸与位置的测量。我们将这种确定参数的过程称之为标定。


PART. 0 3
相机单目标定
相机标定的方法根据摄像机的数目可分为单目标定、双目标定以及多目标定。其中单目相机标定是双目标定的基础,而多目相机的标定则是双目相机的扩展。因此,我们今天首先来为大家介绍单目标定。
在平面测量中影响我们拍摄图像形变的因素有两个:镜头和相机姿态。根据这两个因素我们将摄像机的参数分为两组,相机内参和相机外参。
3.1 相机内参
内参一般包括镜头的焦距 、镜头畸变参数 、光轴中心坐标 以及像元尺寸 ,当摄像机和镜头确定时,这些参数唯一确定。下面我 们来详细介绍一下各参数的数学模型。
1) 焦距
根据镜头类型不同焦距的计算可分为针孔模型和远心模型。如图3我们假设世界坐标系有任一点 ,在摄像机靶面所成的像为 ,根据不同的光路模型它们之间有如下的对应关系
a) 针孔模型
b) 远心模型
由于远心镜头特殊的光路设计使得像的大小与拍摄距离无关,因此表达式比针孔模型更为简单。
2) 镜头畸变
受到镜头的制作和安装精度的影响,我们所获得图像会产生非线性失真。我们称这种失真为镜头畸变。镜头畸变产生的误差使得理想针孔模型已不再适用。因此我们需要先将所得图像进行校正,再应用理想的针孔模型。假设我们所获取的原始图像坐标 、校正后的结果 ,其畸变模型坐标关系为:
a) 径向畸变
径向畸变主要由透镜制作过程中表面曲率引起,它会使图像发生桶形畸变和枕形畸变(如图4)。其数学模型如下:
其中,如果对精度要求不是很高我们可以令将上式简化为如下表达式:
b) 离心畸变
离心变量又称偏心变量,它的误差来源于透镜的安装精度,这主要是因为所有镜片的光学中心并不能严格的保证在同一条直线上。这种误差除了在引入径向畸变同时还会引入切向畸变。由于之前我们已经进行了径向畸变的校正,因此我们在此基础上只需加入切向畸变校正即可。其数学模型如下:
c) 薄棱镜畸变
影响薄棱镜畸变的主要因素的是透镜以及摄像机靶面的平行度,镜片与摄像机靶面夹角越大畸变就越严重。其数学表达式如下:
d) 畸变校正
在实际的应用中,大多数工业摄像机的厂商可以通过摄像机接口螺纹的机械精度来保证镜头透镜与靶面的平行性,而且这种畸变产生的误差较小,因此在一般的图像标定中不作考虑。至此,我们已经基本掌握了大多数情况下畸变产生的原因以及数学模型。结合【5】、【7】两式我们可以推导出镜头畸变校正模型:
3.2 相机外参
相机外参是指摄像机坐标系与世界坐标系的转换参数它主要由旋转矩阵R和平移矩阵T组成。对于任意三维坐标系,我们都可以通过这两个矩阵将其转换到摄像机坐标系中。其数学模型为 【10】
1) 旋转矩阵
如图5所示,我们通过沿坐标轴 分别旋转 来实现坐标系的转换。因此,旋转矩阵R可分解为 三个矩阵相乘的形式。我们以 轴为例,假设 轴夹角为 ,且到 原点距离为 通过旋转矩阵 坐标系沿 轴旋转 后得到点 ,我们可得方程组:
由三角函数展开得:
轴夹角为
将【15】式带入【13】式、【16】式带入【14】式得:
因此
以此类推求得 将它们与 相乘得:
2) 平移矩阵
通过旋转矩阵运算后,世界坐标系的三个坐标轴会与摄像机坐标系对应的坐标轴相平行。此时我们已经离我们的目标又近了一步。如图7所示我们现在只要沿各坐标轴做平移运算即可,由此得:
3) 参数求解
根据【2】、【9】、【20】、【21】这几个数学模型,我们可以得知,若想确定一个摄像机与被测平面的相对位置,则需要确定包括内参、外参在内的14个参数 ,其中是已知的。因此,我们至少需要9个坐标点,构成9个方程才可以解出剩余的9个未知数。在通常情况下,点的分布以覆盖大部分视场为准,获得的数据点越多,统计的参数就越准确。我们一般采用最小二乘法或者线性规划等统计算法来求解相应参数。下面我们以HALCON为例演示一个标定的全过程。
HALCON是德国MVTEC Software GmbH公司开发的一套完善的机器视觉算法软件包。它除了拥有亚像素精度的算法以及高效的处理性能外,在三维重构方面它也有卓越的表现。它的开发环境中自带相机标定工具,可以轻松的完成相机标定工作。同时,您还可以使用HALCON生成可打印的标定板文件。下面我们就来介绍一下相机标定的整个流程。
a) 生成标定板
i. 创建标定板
使用HALCON开发环境HDevelop创建标定板






请到「今天看啥」查看全文