本发明涉及摄影测量,尤其是涉及一种相机标定方法。
背景技术:
1、相机自标定法主要是利用相机运动的约束或场景中的约束进行相机参数的估计。比如利用场景中的平行线或正交信息,通过计算消失点来估计相机参数。自标定方法灵活性强,可对相机进行在线定标。但由于它是基于绝对二次曲线或曲面的方法,其算法鲁棒性差。
2、传统相机标定法需要使用尺寸已知的标定物,如棋盘格或圆形标定板,通过建立标定物上坐标已知的点与其图像点之间的对应,利用一定的算法获得相机模型的内外参数。根据标定物的不同可分为三维标定物和平面型标定物。三维标定物可由单幅图像进行标定,标定精度较高,但高精密三维标定物的加工和维护较困难。平面型标定物比三维标定物制作简单,精度易保证,但标定时必须采用两幅或两幅以上的图像。在传统的标定方法中,由于线性求解得到的外参不够精确,通常是在非线性优化中将外参一同优化。这样虽然能一步到位地求解,但会使最优化问题非凸,即优化函数存在多个局部最小值,导致优化可能陷入局部最小值。在弱畸变情况下,用线性求解得到的外参作为非线性优化中的初值可避免优化陷入局部最小,但在强畸变情况下不适用。
3、张正友标定法:张正友标定法是一种介于传统标定方法和自标定方法之间的方法。它使用一张打印的棋盘格标定板,通过拍摄不同角度的标定板图像,利用图像中的角点信息来求解相机的内外参数。专利cn113920201a提出了基于极线几何约束的标定方法。但是该标定方法需要首先建立室内三维标定场,对场中的人工标志点进行测量,部署操作较为不便。
技术实现思路
1、为了解决上述问题,本发明提供一种相机标定方法,继承了张正友标定法的易用性特点,只需拍摄棋盘格图像即可自动进行标定,操作方便,使用棋盘格标定板进行相机标定,通过角点检测、单应矩阵估计、最小化重投影误差、畸变校正、反畸变迭代等步骤来精确地确定相机的内参、外参以及畸变参数,具体包括以下步骤:
2、s1、用待标定相机拍摄多张棋盘格图像;
3、s2、通过角点检测提取采样点,角点对应于棋盘格的交叉点;
4、s3、读取采样点,利用单应矩阵进行相机参数估计,相机参数包括:相机内参、相机外参;
5、s4、构建最小化重投影误差,估计得到相机畸变参数;
6、s5、如果s4中得到的重投影误差很小,则输出相机参数,否则进入s6;
7、s6、对采样点进行畸变校正,循环s3-s5。
8、进一步地,所述s2中具体为:使用角点检测,从用户采集的s1中的原始的棋盘格图像中提取角点作为采样点,并将所提取的采样点保存为指定文件以便后续处理。
9、进一步地,所述s3中利用单应矩阵进行相机内参、相机外参估计具体为:
10、单应矩阵h定义为:
11、h=sk(r1,r2,t)
12、其中,其为3*3矩阵,s为尺度缩放系数,k为相机内参矩阵,r1,r2分别为外参旋转矩阵的第一、第二列,t为外参的位移向量;m=hp代入不同的采样点求解,记采样点为m(u,v),u和v为归一化后点的坐标,设置对象点p(x,y,0)作为世界坐标系下棋盘格采样点的位置,求解出单应矩阵后,代入旋转矩阵的约束分别求解出相机内参与相机外参。
13、进一步地,所述s4中利用构建最小化重投影误差具体为:
14、
15、其中,α,β为扩展统一相机模型中的畸变参数,设定初始值α=0,β=1,并限定参数范围α∈[0,1],β≥0,mij为采样的第i行第j列的点,为摄像头模型,rj,tj,为像素偏移的距离,pij为像素在原始棋盘格上的位置,n为棋盘格角点的行数,k为棋盘格角点的列数。
16、进一步地,所述s6中对采样点进行畸变校正具体为:
17、将采样点通过s4中估计得到的相机畸变参数进行反畸变迭代,再次进行相机内参、相机外参的求解,更新估计得到的相机畸变参数,提示参数标定的精度。
18、进一步地,所述反畸变迭代具体为:利用更新的估计得到的相机畸变参数对原始采样点进行反畸变,使得原始采样点与重投影后的对象点之间的重投影误差最小化。
19、进一步地,所述反畸变迭代具体包括以下步骤:
20、s61、根据s4中得到的相机畸变参数进行反畸变迭代,将相机内参作为固定值代入,对相机外参进行最小化重投影误差的求解,更新相机畸变参数;
21、s62、将上一步中得到的相机外参、更新后的相机畸变参数作为固定值代入,对相机内参进行最小化重投影误差的求解,更新相机畸变参数;
22、s63、将上一步中得到的相机内参、更新后的相机畸变参数作为固定值代入,再次对相机外参进行最小化重投影误差的求解,更新相机畸变参;
23、s64、循环s62-s63,直至原始采样点与重投影后的对象点之间的重投影误差最小化。
24、进一步地,所述s1中拍摄的棋盘格图像为棋盘格标定板,包含已知大小和位置的棋盘格。
25、进一步地,所述s3中相机内参包括:包括焦距、主点坐标,相机外参包括:旋转矩阵和平移向量。
26、本发明的有益效果是:
27、1、准确性高:通过使用棋盘格标定板和角点检测算法,能够精确地提取出用于参数估计的特征点。最小化重投影误差的方法能够精确地估计出相机的内参、外参以及畸变参数,从而提高相机标定的准确性。
28、2、鲁棒性强:这种方法能够适应不同角度和位置的棋盘格图像,因此具有较强的鲁棒性。即使在一些复杂的场景下,如光照变化、噪声干扰等,该方法也能够得到较为准确的相机参数估计结果。有效减少了非线性优化中需要估计的参数,将问题化为凸优化问题,提升了标定的鲁棒性。
29、3、迭代优化:引入迭代优化的过程,对采样点进行畸变校正并重新估计相机参数,能够有效减小畸变对参数估计的影响,提高标定的精度。对相机内参和外参分别交替逐渐进行迭代,逐步逼近使其最优,不断更新相机畸变参数,通过不断迭代,可以逐渐减小重投影误差,直至满足要求或达到最大迭代次数。利用反畸变迭代,交替优化相机内外参和畸变参数,有效降低参数优化陷入局部最小值的可能,增加了标定的鲁棒性与通用性。
30、4、适用范围广:该方法不仅适用于普通相机,也适用于广角相机、鱼眼相机等特殊类型的相机。它可以为各种计算机视觉任务提供准确的相机参数,如三维重建、目标定位、增强现实等。
31、5、易于实现:这种方法基于成熟的图像处理算法和数学优化方法,易于实现和编程。可以通过使用开源的计算机视觉库来简化实现过程。该方法的基本框架可以很容易地扩展到其他类型的标定板或特征点提取算法上。可以根据具体需求对算法进行优化和改进,以适应不同的应用场景和相机类型。
1.一种相机标定方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的一种相机标定方法,其特征在于,所述s2中具体为:使用角点检测,从用户采集的s1中的原始的棋盘格图像中提取角点作为采样点,并将所提取的采样点保存为指定文件以便后续处理。
3.根据权利要求1所述的一种相机标定方法,其特征在于,所述s3中利用单应矩阵进行相机内参、相机外参估计具体为:
4.根据权利要求1所述的一种相机标定方法,其特征在于,所述s4中利用构建最小化重投影误差具体为:
5.根据权利要求1所述的一种相机标定方法,其特征在于,所述s6中对采样点进行畸变校正具体为:
6.根据权利要求5所述的一种相机标定方法,其特征在于,所述反畸变迭代具体为:利用更新的估计得到的相机畸变参数对原始采样点进行反畸变,使得原始采样点与重投影后的对象点之间的重投影误差最小化。
7.根据权利要求6所述的一种相机标定方法,其特征在于,所述反畸变迭代具体包括以下步骤:
8.根据权利要求1所述的一种相机标定方法,其特征在于,所述s1中拍摄的棋盘格图像为棋盘格标定板,包含已知大小和位置的棋盘格。
9.根据权利要求1所述的一种相机标定方法,其特征在于,所述s3中相机内参包括:包括焦距、主点坐标,相机外参包括:旋转矩阵和平移向量。