基于改进遗传模拟退火算法的BP神经网络的畸变校正研究
2019-05-27
(安徽大学 计算智能与信号处理教育部重点实验室,合肥 230039)
0 引言
光学器件由于在实际的生产过程中的失误导致成像原理无法满足小孔成像模型,因此采集得到的图像往往存在畸变现象[1]。镜头畸变对相机的标定精度存在直接的影响,从而影响着后续的测量与三维重建的精度。
现如今,为了得到更好的校正效果,国内外的学者们在该方面做了很多研究。Tsai两步法中首先通过线性标定求解出初始参数,在通过非线性优化求得最终的标定参数与畸变系数[2]。张正友标定法[3]首先通过建立畸变的数学模型,在利用多幅不同位姿的标定板图像完成对畸变参数的标定,但该算法需要通过考虑畸变的种类来建立数学模型。叶峰等对Tsai两步法进行改进,首先选取畸变较小的图像中心位置进行参数的求解,再将焦距和平移分量作为变量,采用迭代的方法逼近精确值。该算法计算较为繁琐,求解过程较为复杂[4]。杨麟等人基于直线的投影还是直线的特性提出利用直线投影特征来对图像进行校正,但该算法需要保证实际场景中必须存在直线[5]。文献[6]提出将图像中的畸变曲线提取出来,通过优化畸变参数来将曲线转化为直线,但该算法模型建立较为困难。以上的这些算法都需要建立数学模型,但由于畸变种类较多,无法建立准确的数学模型,因此本文提出改进的遗传模拟退火的BP神经网络算法来进行畸变校正。该算法无需考虑畸变的数学模型,通过理想点与畸变点作为网络的输入与输出,通过训练得到畸变模型,同时本文采用改进的遗传模拟退火算法对BP神经网络的权值和阈值进行优化,与传统的神经网络相比,加快了网络的训练速度。
1 畸变模型原理
由于实际生产的光学器件成像原理并不满足小孔成像,导致实际投影点与理想像点并不在同一点上,即镜头存在畸变[7]。为了提高图像校正的精度,不仅仅只考虑径向畸变,同时也要考虑切向畸变[8]。因此理想像点(u,v)与实际投影点(Xd,Yd)满足关系如下:
(1)
其中:
(2)
2 基于改进的GA-SA-BP的畸变校正
2.1 改进的BP神经网络算法
传统的BP神经网络采用梯度下降法进行反向传递来对权值和阈值进行修正,但该算法收敛速度较慢,同时精度不高,而LM算法既保留了梯度下降法的优点[9],同时收敛精度较高,因而采用LM算法对BP神经网络进行改进。
BP神经网络的目标误差函数为:
(3)
其中:n代表输出层的节点总数,yi表示第i个输出节点的期望输出,ci代表第i个输出节点的实际输出,w是一个包含了BP神经网络中所有的权值与阈值的向量。
在神经网络反向传播中,LM算法对网络中权值和阈值的修正量记为Δx,可表示为:
Δx=-[JT(w)J(w)+μI]-1JT(w)e(w)
(4)
其中:J(w)为雅克比矩阵。
2.2 改进的GA-SA算法优化改进的BP神经网络
利用BP神经网络进行畸变校正,无需考虑畸变数学模型,过程简单,但BP神经网络在应用过程中存在收敛速率较慢,易收敛到局部最优解的弊端,难以满足精度上的要求[10]。因而本文采用改进的遗传模拟退火算法优化BP神经网络的权值与阈值,提高BP神经网络的性能。
改进的GA-SA算法优化操作关键性步骤如下。
2.2.1 初始化操作
根据所要优化的参数构成一个向量,然后根据该个体向量随机生成初始种群,因GA-SA算法是对网络的阈值和权值进行优化,因而按照网络的误差构造适应度函数。
(5)
2.2.2 选择操作
传统的遗传算法在选择操作中常采用轮盘选法,但该方法选择随意性太大,在满足既考虑下代种群多样性,也考虑尽可能多的选择好的个体的同时,本文采用分段选择策略与随机抽样相结合的选择操作,设计选择方法如下:
①计算种群的适应度值,同时对其按由小到大进行排序构成新的种群,由适应度函数式(5)所示,适应度值越小,个体基因越好,因而新种群中的个体是按从好到差进行排序的。
②将新种群平均分成好中差3个子种群,在分别从3个子种群中按随机抽样的方法选择一定数量的个体,构成选择操作后的种群,在本文算法中,好中差3个子种群抽取数量的比例按照5:3:2进行选择操作,其目的是为了在保证下代种群多样性的同时尽可能保留好的个体。
2.2.3 自适应交叉和变异操作
自适应交叉操作是以一定的概率Pc来对个体进行重组,生成新的个体,通过调整的值来保证在后代种群进化过程中尽可能保留好的个体基因。
(6)
其中:Pc1,Pc2分别表示初始交叉概率中较大值与较小值,fmin,fave,f分别表示当前种群中的最小适应值,平均适应值及交叉个体中较小的适应度值。
种群中两个个体的交叉方式如下[11]:
(7)
其中:x1,x2为交叉操作前选中的个体,x'1,x'2为交叉操作后产生的新个体,r为[0,1]上的随机数。
自适应变异操作是通过一定概率Pm来对选中的个体进行变异操作,保存种群的多样性,同时通过自适应概率Pm来防止优质个体发生基因突变。
(8)
其中:Pm1,Pm2分别表示初始变异概率中较大值与较小值,fmin,fave,f分别表示当前种群中的最小适应值,平均适应值及变异个体的适应度值。
在变异操作中,对个体采用随机抽样的方法确定个体X中需要变异的基因:xi,然后采用非均匀变异算子[12]对该基因进行变异。
(9)
其中:x'i为基因xi变异后得到的基因,G,Gmax分别为当前进化代数和算法中总的迭代次数;r1为(0,1)上的随机数,ai,bi为该变异基因取值范围的最小和最大值。
2.2.4 模拟退火局部优化操作
为了避免遗传算法易于收敛到局部最优的情况,在种群趋于稳定时,进行模拟退火[13]再优化操作。判断种群是否趋于稳定的条件如下: