基于改进遗传算法的单目相机标定
Monocular Camera Calibration Based on an Improved Genetic Algorithm
DOI:10.12677/AIRR.2016.53006,PDF,HTML,XML,被引量下载: 2,507浏览: 7,440
作者:张梦洋,秦瑞康,李福东,杨月全*:扬州大学信息工程学院自动化系,江苏 扬州
关键词:单目相机相机标定角点提取遗传算法Monocular CameraCamera CalibrationCorner Point ExtractionGenetic Algorithm
摘要: 针对张正友标定方法中相机内参数的求解可能陷入局部最优解的问题,考虑镜头的三阶径向畸变和二阶离心畸变,提出一种基于改进遗传算法的单目相机内参数优化标定方案。该方法可显著提高相机标定中内参数的精度,并能避免陷入局部最优。最后,实验验证了所提方案的有效性和可行性。
Abstract:In the Zhang Zhengyou calibration method, the solution of the camera intrinsic parameters has the drawback of the possibility of falling into local optimal solution. Considering the third order radial distortion and second-order centrifugal distortion of the lens, a scheme based on an improved genetic algorithm is proposed to solve the intrinsic parameters of the monocular camera. The proposed method can significantly increase the precision of the intrinsic parameters and can avoid falling into local optimal solution. Finally, the experiments demonstrate the effectiveness and feasibility of the proposed method.
文章引用:张梦洋, 秦瑞康, 李福东, 杨月全. 基于改进遗传算法的单目相机标定[J]. 人工智能与机器人研究, 2016, 5(3): 53-62. http://dx.doi.org/10.12677/AIRR.2016.53006

1. 引言

计算机视觉技术具有非接触、低成本和易实现的特点,因而在实际工程应用中得到了越来越广泛的应用。计算机视觉技术前期大多应用在二维测量和平面缺陷检测,近些年随着处理器速度的提高和计算机视觉的发展,计算机视觉技术在三维重建和三维测量中的应用也越来越多。计算机视觉三维重建或三维测量是从一幅或多幅二维图形中获取目标物的三维模型或者三维位姿信息,在此过程中,相机的内外参数是影响三维重建精度和三维测量精度的重要因素,因而相机标定的精度直接影响计算机视觉测量的精度。计算机视觉测量系统根据相机数目通常分为三种:单目视觉系统,双目视觉系统和多目视觉系统。其中,双目视觉测量系统和多目视觉测量系统是不同位置的固定相机对同一特征点拍摄得到图像,由确定的两相机之间的精确相对位置,从而得到该特征点在任意相机坐标系中的位置 [1] 。相较于双目相机,单目视觉测量系统是利用目标点之间的约束关系进行求解,单目视觉具有结构简单,标定步骤少,实时性好等特点 [2] 。朱枫 [3] 等在试验中证明了由于在特征点坐标计算过程中引入了目标模型的约束,基于模型的单目视觉方法对误差的鲁棒性明显优于双目立体视觉方法。

在计算机视觉,机器人学,摄影测量学以及其他领域中,相机标定是从图像中提取精确三维信息的先决条件,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性,故提高相机标定精度是提高视觉系统测量精度的第一步 [4] 。

相机标定的方法可以分为如下几类:依据有无参照物,可分为传统相机标定方法 [5] [6] 、相机自标定方法 [7] 和基于主动视觉的相机标定方法 [8] 等。传统相机标定是通过结构已知且精密度高的模块,用来确定相机点与空间点之间的关系。相机自标定是指不需要标定块,仅仅通过图像点之间的对应关系对摄像机进行标定的过程。基于主动视觉的相机标定是指相机绕某轴平移或旋转,通过这种确定的运动信息以求解相机参数。依据成像模型,可分为基于小孔成像模型的标定方法和基于非线性模型的标定方法,为了准确的标定目标,一般需要考虑相机标定的非线性的特性,如相机的径向畸变,离心畸变和薄棱镜畸变。依据所使用标定物的不同,有传统的三维标定块 [9] 、二次曲线的平面模板 [10] 、圆形点方阵模板 [11] 和圆环模板 [12] 等。

考虑三阶径向畸变和二阶离心畸变参数情形,本文提出了一种改进的遗传算法实现相机的内参标定。首先,用张正友方法 [13] 给出内参种群的个体初始值,然后,基于Boltzmann选择、自适应交叉率和变异率的机制,进行迭代优化运算,最终实现相机的内部参数标定。

2. 相机成像模型

2.1. 相关坐标系

相机标定过程主要涉及三个坐标系,如图1所示,分别为图像坐标系、相机坐标系和世界坐标系,如图1所示。

图像坐标系:投影平面上包括像素坐标系和物理坐标系,像素坐标系指的是以图像左上角为原点

Figure 1. Coordinates relationship in camera calibration

图1. 相机标定中各坐标系关系图

,横纵坐标为的坐标系,它的横纵坐标单位为像素。另外一个物理坐标系在理想模型下以图像中心为原点,轴分别平行于轴。

点在图像坐标中的坐标为,在物理坐标系中的坐标为,二者的齐次变换关系为

(1)

其中,分别表示每个像素在物理坐标系的轴和轴方向的物理尺寸,倾斜因子,通常取为0。

相机坐标系:相机坐标系轴为像机的光轴,另外的两个轴取与图像轴分别平行,坐标原点为镜头的光心。

世界坐标系:世界坐标系是3D空间的一个基准坐标系,用来表示目标物的位姿坐标,一般在目标物的显著特征点处选取。

下式为点在世界坐标系中的坐标与其在相机坐标系中坐标的齐次变换关系式

(2)

其中,为相机的旋转矩阵,为旋转向量,为平移向量。

2.2. 相机标定参数

不考虑镜头的各种畸变,相机的线性模型为

(3)

其中,分别表示在图像坐标系轴和轴的尺度因子,为图像坐标系两轴在非正交下的倾斜因子,一般情况下取为0。

虽然线性模型的使用很简单方便,但在实际成像过程中,线性模型不能满足精度的要求,需要考虑镜头的失真,考虑非线性畸变的影响,可用下式表示 [14]

(4)

其中,为线性模型下的坐标,为畸变条件下的坐标。

一般,镜头畸变存在三种:径向畸变,切向畸变和薄棱镜畸变,以下是各畸变的模型 [14] 。

1) 径像畸变的特点是,成像仪中心畸变为零,随着向边缘移动,畸变越来越严重,畸变可以表示为

(5)

其中,分别表示两个坐标轴的径向畸变量,分别表示一阶,二阶和三阶径向畸变系数。

2) 切向畸变是由透镜制造上的缺陷和安装时的误差造成的,畸变取为

(6)

其中,分别表示一阶和二阶项切向畸变系数。

3) 薄棱镜畸变是由于相机的镜头并未完全对准或者是相机的光轴并非正交。它可由以下的数学表达式表示为

(7)

其中,分别为模型的畸变系数。

二阶切向畸变和三阶径向畸变,这两种畸变已经能够很好的描述相机的实际情况,过多考虑畸变参数不仅不能提高精度,反而会影响标定的稳定性。考虑这两种畸变的实际坐标值与理想坐标值的函数关系

(8)

其中,为畸变系数,

3. 相机内参初值的确定

一般常采用张正友 [6] 的方法确定相机内参的初值。令图像上点的齐次坐标为,该点在世界坐标系中的齐次坐标,则三维点与图像上的投影点的关系为

(9)

其中,,不失一般性,设标定板的平面位于世界坐标系的处,故旋转向量只考虑,上式可写为

(10)

其中,,由上式,对任意给出的标定图像,可得到对应单应性矩阵,这里得到的单应性矩阵与真正的单应性矩阵相差一个比例因子,即

由旋转矩阵的标准正交性质,可得约束条件

(11)

矩阵的列向量表示为。设

(12)

为对称矩阵,其向量形式,有

(13)

其中,

最后,根据内参数限制条件

(14)

从而求得值,进而得到内参的初值。

4. 基于改进遗传算法的内参优化

遗传算法适用于多参数,大范围和非线性的优化过程,为提高相机标定内参数的求解精度,本文采用改进的遗传算法对相机内参求解。设目标函数为

(15)

其中,为角点提取的特征点坐标,为对应网格点投影到图像上的坐标,。由于二进制编码会产生较大的Hamming距离,另二进制编码会使编码长度过长,影响搜索效率,所以本文采用浮点编码的方式。个体的适应度函数定义为

(16)

在文 [15] [16] 研究基础上,本文给出基于改进的遗传算法的内参标定算法如下。标定算法流程,如图2所示。

基于改进的遗传算法内参标定算法描述如下:

{

Step 1 基于张正友的相机标定算法,确定相机内参种群个体的初值。根据初始值,在一定范围内随机生成N个个体。

Step 2 计算个体的适应度函数值。

Step 3 采用Boltzmann法进行选择操作。使得早期阶段的选择压力较小,较差个体有生存的机会,以保持个体的多样性;随着后期选择压力变大,可缩短搜索邻域以加快优化速度。具体选择策略是,采用Boltzmann法 [15] ,具体选择的概率取为

(17)

其中,是退火温度,为第个个体。随着迭代的进行逐渐缩小,选择压力随之升高。

Figure 2. Flow diagram of the improved GA

图2. 基于改进的遗传算法流程图

Step 4 按自适应交叉率对选中的两个体的相应基因位进行交叉,由此产生了新的个体。交叉策略是:采用自适应的方法设定交叉率为,使交叉率随着适应度和迭代次数而变化,自适应交叉率取为 [16]

(18)

其中,为当前个体最大的适应度值,为当前平均适应度值,为交叉个体中适应度值大的个体,设为最大的交叉率,为取值为区间参数。

当交叉个体的适应度值小于平均值时,采用最大的交差率交叉。对于进化初期,交叉率偏大,增加个体多样性;对于后期,交叉率偏小,使进化趋于稳定。

对任意两两个体,在0到1之间产生一个随机数,若该数小于,则进行交叉,生成新个体;否则,保留原父代个体。其中,交叉的位置为个体基因上随机任选的一个基因位。

Step 5采用自适应变异率以选中的个体的某基因位进行变异操作。采用自适应变异率,使变异率随个体适应度函数值和迭代次数变化而作相应变化。自适应变异率取为 [16]

(19)

其中,为变异个体的适应度值,设为最大的变异率,为取值区间的参数。

与交叉类似,当变异个体的适应度值小于平均值时,采用最大的变异率变异。当变异个体中有个体适应度值大于平均适应度值,通过调节变异参数,在进化初期,变异率偏大以增加个体多样性;对于后期,变异率偏小使进化趋于稳定。

对所有种群个体,在0到1之间产生一个随机数,若该数小于,则进行变异;否则,保留原个体。其中,变异的位置为个体基因上随机任选的一个基因位。

Step 6 当迭代次数未达到设定的值,且最优值不满足给定的阈值,则转向Step3。

Step7 迭代结束,算法终止。

}//基于改进的遗传算法内参标定算法。

5. 实验

本文用到的是基于MATLB的相机标定工具箱Toolbox中的图像载入、角点提取和相机标定功能,其中原工具箱使用的标定模板为30 mm ´ 30 mm的棋盘格,使用的是张正友的相机标定方法,内参的优化采用最速下降法。在原工具箱的基础上对内参进行初始化,使用改进的遗传算法对内参优化。这里选择提取角点的窗口大小为5 mm ´ 5 mm,图像上逆时针四个棋盘格角点,以第一个点为图像原点,X轴和Y轴,如图3所示,水平和垂直方向小方格的尺寸dX和dY的尺寸都别为30 mm。

通过实验平台,对所提标定方法进行验证。任选图例中的两幅图像进行标定,采用Harris的方法提取角点,利用张正友的相机标定方法,获得内参的初始值,如表1所示。

当获得内参后,进行二次投影到图像坐标系中,与原图像进行比较,分别获得误差图。基于Toolbox最速下降法得到的投影误差,如图4所示。基于Toolbox标准遗传算法得到的投影误差图,如图5所示。基于本文改进的遗传算法的投影误差图,如图6所示。

三种算法所对应的二次投影后与原图像提取角点的误差平均值,如表2所示,第一维是X方向轴平均误差,第二维是Y轴方向平均误差。可以看出,基于改进的遗传算法内参标定有较好的标定精度。

Figure 3. Corner extraction

图3. 角点提取

Figure 4. Projection error with gradient method in the Toolbox

图4. 基于Toolbox最速下降算法的投影误差

Figure 5. Projection error with GA in the Toolbox

图5. 基于Toolbox遗传算法的投影误差

Figure 6. Projection error with the improved GA

图6. 基于改进的遗传算法的投影误差

Table 1. Initialization of inner parameters

表1. 内参的初始化

Table 2. Search areas of the improved GA

表2. 改进遗传算法的搜索区间

6. 结论

针对张正友方法求解相机内参数的过程中有陷入局部最优的可能和传统非线性的精度不高的情况,首先用张正友的方法确定初始值,然后基于改进的遗传算法对相机参数优化。由相机标定实验结果看,所提方法明显可提高对相机内参数标定的精度和稳定性。

参考文献

[1] 庄光明, 崔建伟, 彭作祥. 基于双目定位原理的系统标定算法[J]. 计算机工程与应用, 2010, 46(8): 45-47.
[2] 姚楠. 基于单目视觉的运动目标跟踪定位技术研究[D]: [博士学位论文]. 上海: 上海交通大学, 2014.
[3] 朱枫, 何雷, 郝颖明. 视觉位姿测量中单目视觉与双目立体视觉测量精度比较[J]. 仪器仪表学报, 2007, 28(4): 165-169.
[4] Ulrich, M. (2003) Hierarchical Real-Time Recognition of Compound Objects in Images. Fakultät für Bauingenieur- und Vermessungswesen, Technische Universität München, Deutsche Geodätische Kommision, Reihe C, Heft Nr. 568, München. Ph.D. Thesis, Germany.
[5] Tsai, R. (1986) An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision. Proceeding of Computer Vision and Pattern Recognition, Miami Beach, 22-26 June 1986, 364-374.
[6] Zhang, Z.Y. (1999) Flexible Camera Calibration by Viewing a Plane from Unknown Orientations. Proceeding of the 7th International Conference on Computer Vision, Kerkyra, 20 September-27 September 1999, 666-673.http://dx.doi.org/10.1109/iccv.1999.791289
[7] Hartley, R. (1997) Self-Calibration of Stationary Cameras. International Journal of Computer Vision, 22, 5-23.http://dx.doi.org/10.1023/A:1007957826135
[8] 冯春. 基于单目视觉的目标识别与定位研究[D]: [博士学位论文]. 南京: 南京航空航天大学, 2013.
[9] 祝海江, 李仕刚. 基于2D模板余3D包围式标定块的鱼眼相机标定[J]. 仪器仪表学报, 2008, 29(7): 1512-1516.
[10] 龚俊斌, 田金文. 基于二次曲线的线阵相机标定技术[J]. 计算机工程学报, 2013, 39(1): 283-286.
[11] 夏瑞雪, 卢荣胜, 刘宁, 等. 基于圆点阵列靶标的特征点坐标自动提取方法[J]. 中国机械工程, 2010, 21(16): 1906-1910.
[12] 李龙, 何明, 李娜. 椭圆拟合的圆环模板摄像机标定[J]. 西安电子科技大学学报, 2010, 37(6): 1148-1154.
[13] Zhang, Z. (2000) A Flexible New Technique for Camera Calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22, 1330-1334.http://dx.doi.org/10.1109/34.888718
[14] 郑全新. 基于单目视觉的目标识别与定位[D]: [硕士学位论文]. 济南: 山东大学, 2013.
[15] 李敏强, 寇纪淞, 林丹, 等. 遗传算法的基本理论与应用[M]. 北京: 科学出版社, 2002: 35-39.
[16] Srinvivas, M. and Patnaik, L.M. (1994) Adaptive Probabilities of Crossover and Mutation in Genetic Algorithms. IEEE Transaction on Systems, Man, and Cybernetics, 24, 656-657.http://dx.doi.org/10.1109/21.286385

为你推荐



Baidu
map