基于改进遗传优化算法的线阵相机标定方法
2020-09-15王向周陈冬清郑戍华乔亚军
王向周,陈冬清,郑戍华,乔亚军
(北京理工大学 自动化学院,北京 100081)
在手机玻璃盖板的生产过程中,需要对玻璃盖板进行缺陷检测. 盖板的缺陷具有特征微弱、面积占比小的特点,导致缺陷在图像上难以有效呈现. 为了获取缺陷特征明显的图像,应使用线阵相机扫描成像. 与面阵相机相比,线阵扫描型相机拥有更高的分辨率和更大的视场,线扫描相机通过线性行列扫描获得相应的盖板图像. 相机扫描检测需要进行平面高精度的测量,要对线扫描相机进行高精度的标定. 当前存在的线阵相机标定方法标定的精度不够高,也不能满足实际扫描检测对实时性的要求. Horaud等[1]在传统的2D相机校准技术基础上提出了一种单扫描相机模型,估计参数分两步进行,最终标定的结果取决于校准的图像相对于空间的偏移位移. Michaelis等[2]提出了新的三维校准方法进行标定,减少了摄像机模型的维数,解决了观察平面的标定问题,2D校准之后将摄像机模型转化成3D. Hui等[3]提出通过把线扫描相机刚性耦合到已知内参数的辅助相机,采用这种方法外辅助相机也会在精度上受到干扰. Roy等[4]使用新型的线性方法估计相机的内外参数,但是不能根据获得到的图像坐标求解相对应的世界坐标. 廖瑞英等[5]提出了利用带有空心条纹的立体目标进行线阵相机标定的标定方法.
当前线阵相机标定方法都对相机的标定环境和辅助相机标定的物体有严格的要求,在实际的流水线检测环境下很难实现. 为了适应不同的相机标定环境,本文利用线扫描相机的高分辨率特性,采用平面二维棋盘格进行标定. 相机标定首先推导线阵相机的图像坐标系和世界坐标系转化关系,其次矫正标定棋盘格的图像畸变,在求解标定参数时,引入改进的遗传优化算法优化求解过程,遗传算法相比其他优化算法具有全局最优的优点[6],提高成像系统的标定精度.
1 图像采集系统
为了实现二维高精度的视觉测量,整个图像采集系统由线阵扫描相机、平面运动平台两部分组成. 线阵扫描相机包括CCD相机、相机镜头、光源和图像采集卡等[7]. 平面运动平台由线性高精度的控制器驱动. 线阵扫描相机能通过不断的扫描来获取超高分辨率的图像.
整个图像采集系统包括3个坐标系,图像坐标系、相机坐标系和世界坐标系[8],如图1所示. 世界坐标系OwXwYwZw在标定图像的采集平面上,标定图像采集平面与Xw和Yw重合,与Zw垂直. 相机
坐标系为OCXCYCZC,OCZC平行于OwZw,ouv是图像坐标系,ou和ov平行于OCXC和OCYC. 进行平面上二维高精度测量,要推导采集到的图像坐标系到世界坐标系之间的关系,如图2所示,要进行测量的标定板放置在平面运动平台上. 由于实际安装放置标定板过程中不能保证完全水平,要考虑矫正标定板不平行造成的图像畸变.
2 图像畸变坐标关系分析与推导
理想平行状态下的相机模型,标定板运动方向平行于安装平面. 不同于传统的面阵相机对应的小孔成像模型,需要重新推导线阵相机内在参数模型和外在参数模型. 线扫描相机的理想内在参数模型写成
(1)
式中:(u,v)为线阵相机通过线性扫描得到的每一个点在对应图像坐标系中的坐标;(xc,yc,zc)为扫描得到的点在相机坐标系中的坐标;参数kx为对应的线阵相机使用的球面镜头的焦距,确定图像成像位置;坐标v由参数ky确定,该参数是由高精度平面运动平台的运动速度确定.
摄像机坐标(xc,yc,zc)到世界坐标(xw,yw,zw),也就是外在参数模型如式(2),其中,R和T代表旋转矩阵和平移向量[9]
(2)
将内参数模型和外参数模型结合起来即得到线阵相机的理想参数模型为
(3)
在实际标定平面中,世界坐标系中的Zw是0,代入上式可以得到理想中的等式参数模型
(4)
把参数写成如下形式
(5)
不加入畸变矫正的线阵相机的标定模型,标定问题可以写成如下的形式[9]
Ab=B,
(6)
式中:矩阵A为标定采样到n个点,
A=
(7)
矩阵B为包括采样到的n对点的(u,v)坐标
(8)
由于线扫描相机在获取扫描图像时,标定板的运动方向和平面运动平台之间是不平行的,因此,得到的图像就会产生畸变. 由于非平行产生的畸变,实际中的图像坐标(ur,vr)和理想中的图像坐标(u,v),之间的变换关系为
(9)
式中a,b为畸变参数.
加入畸变矫正之后相机的理想参数模型如下
(10)
随着标定板厚度的变化,需要进行新的标定,为了避免每次都要重复标定,提取出标定板的厚度参数,得到新的标定模型
(11)
最终每次标定需要获取参数x,
(12)
在不加入矫正的相机模型中,需求解式(5)中的8个参数用作系统的标定参数,其求解可采用式(6)中的线性解析解的最小二乘法获得. 在加入畸变矫正的相机模型中,需求解式(12)中的12个标定参数. 从上述两种标定模型可以看出,加入畸变矫正的模型需要额外求解参数a,b,这是一个非线性求解问题,不能使用最小二乘法. 求解非线性方程一般有牛顿法、粒子群算法、遗传优化算法. 本文采用遗传优化算法,既有牛顿法在设置初始值寻优的长处,又具有粒子群算法全局搜索的精确性. 考虑到线阵相机采集图像有千余对采样点,为了简化计算,将与标定板厚度相关联的参数t3及参数u0单独计算;考虑到一般遗传算法计算迭代计算量庞大,结合系统实际情况对遗传算法进行改进以提高求解速度.
3 改进的遗传算法
3.1 遗传算法概述
遗传算法(genetic algorithm,GA)是一种通过模拟自然进化过程来搜索最优解的方法,已经在实际工程中得到了广泛应用[10-11]. 遗传算法在求解问题时将待求解参数编码,随机初始化初始种群,按照需要优化的适应度函数计算每代的适应度,选择具有最高适应度子代保留到下一代. 同时以一定的概率交叉子代种群,使用较小的变异的概率保持子代的多样性. 本文提出的改进遗传算法优化了初始种群的生成策略,选择动态调节的交叉和变异概率. 整体算法流程如图3所示.
3.2 算法数学模型
① 确定优化参数.
根据上述分析,采样棋盘格的点获得点的图像坐标系和世界坐标系坐标,使用遗传算法优化参数x,获得最佳标定参数.
② 确定优化目标函数.
图像采样得到的n对点可以得到对应的2n个等式,如式(13). 对应的等式为需要优化的目标函数.
(13)
式中:
(14)
3.3 算法改进
① 编码方式.
编码方式选择二进制编码,根据稳定的定义域设定编码的位数. 通过迭代法求解的向量x的解范围区间为[-10,4500]. 编码精度C=(b-a)/(2L-1),L是编码位数,问题的定义域在[a,b]. 通过计算编码位数为35位满足求解的精度要求.
② 初始种群改进.
没有加入畸变矫正的解析解b=[0.31-2.59×10-31.940.6182.734201.672.4×10-74.99×10-9]T,加入畸变矫正的求解问题是非线性的. 本文采用遗传优化算法求解新标定参数,一般遗传算法随机生成初代种群拖累搜索速度,考虑到非线性标定参数x是在线性解的基础上添加了畸变矫正得到,为了缩小搜索范围,把解析解做为初始种群的一部分,并将参数x中的x7,x8,x9,x10初始值设置为0. 图4(a)4(b)分别为本文采用的方法和一般遗传算法随机生成种群的对比. 可以看出采用改进的初始种群策略明显迭代速度快,考虑现场实际实时性要求,确定遗传算法终止条件是迭代200代,在此条件下,所改进的遗传算法可达到要求的精度.
③ 适应度函数.
采样的n对点对应2n个等式,需要求解超定方程. 转换成求解下式的最小值.
(15)
求解最小值,将θ(x)的倒数设置为种群的适应度函数. 适应度函数f=1/θ(x).
④ 遗传算子改进.
传统遗传算法定义固定值进行交叉和变异操作,造成运算量庞大,计算时间长. 上述标定采样共1 760个点,有3 520个优化等式. 由于标定数量过于庞大,不能采用固定值的交叉和变异概率,要加快收敛速度可采取动态调节的交叉和变异策略. 本文提出一种随着迭代代数增长自适应调节交叉和变异概率的方法. 随着不断遗传迭代,将其中种群适应度最高的个体的选择率逐步提高,将适应度最低的个体选择率逐渐降低. 在后续的实验验证中证明了该方法在求解标定参数时的精确性. 改进后的自适应调节选择概率公式如下
θ=π(d-1)2/2(N-1)2,
(16)
(17)
(18)
式中:d为当前迭代代数;N为终止迭代次数;kc和km为[0,1]区间的常数;fc为两个交叉子代中拥有更大适应度值的个体;fa为种群平均适应度值;fmax为种群最大适应度值;fm为变异个体适应度值;Pc和Pm分别为交叉和变异概率.
引入指数函数,自适应算子随着迭代次数增加变化的更快. 初始迭代时,有余弦函数的存在,高适应度值的子种群以更高的概率被选择. 迭代后期以较小的交叉和变异概率加快收敛.
4 实验验证
为了验证提出优化算法的效果,需要在硬件平台进行相应的实验. 图1中平面运动平台由高精度的线性平台驱动,相机可以获取完整的二维图像,相机的像素尺寸为12 μm×12 μm,传感器尺寸为每行8 192像素,线扫描的景深深度为1 mm. 测试使用不种厚度的平面棋盘格. 表1中给出了相应的棋盘格的规格.
表1 测试用棋盘格规格
在2号标定板测试提出的改进遗传算法算子测量角点距离的误差,和使用一般遗传算法算子获得的解对比. 改进遗传算法得到的标定参数x1=[84.84-0.36268.180.4884.744192.116.16×10-51.04×10-65.40×10-93.14×10-8268.180.99]T,传统遗传优化算法得到的标定参数x2=[82.98-0.35266.870.4583.654190.136.20×10-51.10×10-65.39×10-93.311×10-8266.351.21]T. 2号标定板的测量误差如图6所示,通过采样标定图片,得到最后的标定结果. 改进遗传优化算法的误差范围在[-0.004,-0.001] mm,采用一般遗传优化算法误差范围为[-0.006,-0.001] mm. 通过改进遗传优化解算的解误差范围更小,误差范围更加集中,可以满足多数条件下工业的测量要求.
测试改进遗传算法在3号标定板的测量误差. 改进遗传算法得到的标定参数x1,传统遗传优化算法得到的标定参数x2. 分别使用两种参数测量标准板长度,实验结果如表2所示,所提出的改进遗传算法有更小的测量误差,误差范围也更小.
表2 标准板测量误差对比
5 结 论
本文提出了一种改进的遗传算法,改进的算法优化了初始种群的生成策略,采用动态调节种群进化过程中的交叉和变异策略,加快搜索速度提高了搜索精度,用于求解线阵相机标定过程中的非线性问题. 同时考虑到实际安装平面的不平状态,引入了对线性采集图像的畸变矫正. 实际实验平台的实验结果表明,加入图像畸变矫正比没有矫正具有更高的测量精度,优化的种群生成策略具有更快的收敛速度,优化进化策略的改进遗传算法解算得到的标定参数比一般遗传算法具有更高的标定精度,更小的误差范围,最终测量的误差控制在4 μm内,满足了实际测量的要求,具有很强的工业实用价值.