基于蝙蝠算法优化BP神经网络双目视觉标定的制作方法

文档序号:17931803发布日期:2019-06-15 00:56阅读:759来源:国知局
基于蝙蝠算法优化BP神经网络双目视觉标定的制作方法

本发明属于光学测量与视觉检测领域,具体涉及一种蝙蝠算法优化bp神经网络双目视觉标定方法。



背景技术:

近年来,机器视觉与视觉检测技术已经应用在许多领域中,如大型零部件测量、工业流水线检测等领域,视觉检测不但能减少人工费用,同时也能提高检测精度,避免了由检测人员产生的过失误差。

在通常的大型结构视觉标定研究中,研究重心主要放在构建复杂的数学模型的理论上,而摄像机标定的本质是使得像素点与物方点对应,其标定过程中的内参数是非线性函数,当求解非线性函数时采用数学模型的方法计算量大且标定精度不高。因此,在视觉标定中,有必要寻找到一种即能够避免复杂的计算又能保证精度的标定方法。

为了实现更有效、快速、精确的标定方法,本次发明提出一种基于蝙蝠算法优化的bp神经网络的双目视觉标定,蝙蝠算法具有结构简单、参数少、鲁棒性强、易于理解和实现等优点,将蝙蝠算法应用于神经网络优化中,效果更加明显。



技术实现要素:

针对上述问题,本发明公开了一种基于蝙蝠算法优化bp神经网络双目视觉标定方法,该发明包括测量任务与目标分析,每个环节都对视觉标定的稳定性、精准度与通用性等方面产生影响。

本发明的目的是这样实现的:

基于蝙蝠优化bp神经网络双目视觉标定方法,其特征在于包括以下步骤:

步骤a:确定bp神经网络隐含层层数、输入、输出节点数;

步骤b:利用经验公式确定隐含层节点数范围,通过单因素方差分析法确定最佳隐含层节点数;

步骤c:利用蝙蝠算法对bp神经网络的权重与偏置选取最优值;

步骤d:确定bp神经网络结构的各参数值,使像素点数据分布学习物方点数据分布,完成标定。

上述蝙蝠算法优化bp神经网络双目视觉标定方法,所述步骤a具体为:

建立四种不同层数的bp神经网络双目视觉模型,采用实验法确定bp神经网络最佳的隐含层层数为3。根据双目视觉标定模型,如下所示,确定双目视觉标定时像素点为4个,物方点为3个。

在上式中i为摄像机的数量,1≤i≤2,i∈z+,f为摄像机的焦距,ri、ti为世界坐标系到两台摄像机坐标系转换的旋转矩阵与平移矩阵,u0i、v0i是图像坐标系原点在像素坐标系中的坐标,dx、dy分别是像素坐标系在x方向和y方向相邻像素间的距离。

上述蝙蝠算法优化bp神经网络双目视觉标定方法,所述步骤b具体为:

bp神经网络视觉标定中隐含层节点数范围确定公式为经验公式,是:

其中n为输入层节点数,m为输出层节点数、l为隐含层节点数,a为常数。

bp神经网络视觉标定中隐含层节点确定方法为单因素方差分析法,分布函数为f分布,是:

其中s1、s2为比较的两个样本间的标准差,k为第一组样本中的自由度,m为第二组样本的自由度。

单因素方差分析的样本为bp神经网络的性能参数,是:

(1)迭代次数;(2)运行时间;(3)标定误差。

上述蝙蝠算法优化bp神经网络双目视觉标定方法,所述步骤c具体为:

应用蝙蝠算法对神经网络视觉标定进行优化时,选择训练数据,产生输入层和隐含层之间的权值wij与阀值bj,设定蝙蝠数量m、蝙蝠个体i、最大脉冲频度r(i)和最大脉冲声音强度a(i),蝙蝠频度增加系数设为γ、声音强度衰减系数α、最大迭代次数nmax和搜索精度ε,随机初始化蝙蝠个体所在位置xi(i=1,2,…,m),并搜寻位于最佳位置x*蝙蝠个体;生成随机数r1,假如r1小于r(i)时,利用vt+1i=vti+(xti-*x)qi更新蝙蝠当前位置,其中qi表示第i只蝙蝠发出的声波,vti表示在t时刻第i只蝙蝠的速度,xti表示在t时刻第i只蝙蝠的位置;否则对蝙蝠当前位置进行扰动,扰动后位置代替当前位置;生成随机数r2,假定r2小于a(i)同时蝙蝠当前位置得到优化和改变,那么蝙蝠个体飞至更新后的位置;假如更新位置后蝙蝠个体i优于个体中最佳蝙蝠,那么更换掉目前的最佳蝙蝠个体,并根据公式at+1(i)=αat(i)与rt+1(i)=r0(i)×(1-e-γt)调整蝙蝠脉冲频度r(i)和脉冲音强a(i);经过一段时间运行,对新的蝙蝠群体进行评估判定,找出当前位置最佳蝙蝠个体及对应地最优位置;输出函数全局最优解和最优个体值,输出函数的全局最优解,作为bp神经网络的权值和阀值。

上述蝙蝠算法优化bp神经网络双目视觉标定方法,所述步骤d具体为:

蝙蝠算法优化bp神经网络视觉标定中隐含层激活函数为对数几率函数,是:

蝙蝠算法优化bp神经网络视觉标定中训练方法为最速下降法,其作用是:通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

蝙蝠算法优化bp神经网络视觉标定中学习速率选取原则为经验选取原则,学习率越小,学习会越精细,但同时学习速度也会降低,学习率越大,学习速度会越快,但同时学习精度也会降低。

有益效果:

本发明提出了一种蝙蝠算法优化的bp神经网络双目视觉标定方法,研究了神经网络标定方法的隐含层节点数确定原则与蝙蝠算法对bp神经网络的权值与阀值的最优选取问题,考虑了神经网络误差作为蝙蝠算法的适应度,应用智能算法与bp神经网络结构的特点,完成对双目视觉高精度标定。本发明解决了当前bp神经网络标定隐含层节点数无法具体确定、运行时易陷入局部最优且收敛速度慢的问题,通过本发明的方法可以实现视觉标定的准确性与快速性,为实现大尺寸装备的视觉标定研究奠定了基础。

附图说明

图1是本发明基于蝙蝠算法优化bp神经网络双目视觉标定的算法流程图;

图2是本发明基于蝙蝠算法优化bp神经网络双目视觉标定的结构图;

图3是本发明仿真所用棋格盘角点提取图;

图4是本发明单因素方差分析法所用均值处理后的数据示意图;

图5是本发明ba-bp(a)与bp-nn(b)的均方误差对比图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步详细描述。

具体实施例一

本实施例的蝙蝠算法优化bp神经网络标定方法,流程图如图1所示,该方法包括以下步骤:

步骤a:确定bp神经网络隐含层层数、输入、输出节点数;

步骤b:利用经验公式确定隐含层节点数范围,通过单因素方差分析法确定最佳隐含层节点数;

步骤c:利用蝙蝠算法对bp神经网络的权重与偏置选取最优值;

步骤d:确定bp神经网络结构的各参数值,使像素点数据分布学习物方点数据分布,完成标定。

具体实施例二

本实例的蝙蝠算法优化bp神经网络标定方法,在具体实施例一的基础上,进一步限定步骤a、步骤b、步骤c、步骤d的具体操作步骤。其中:

所述步骤a具体为:

建立四种不同层数的bp神经网络双目视觉模型,采用实验法确定bp神经网络最佳的隐含层层数为3。根据双目视觉标定模型,如下所示,确定双目视觉标定时像素点为4个,物方点为3个。

在上式中i为摄像机的数量,1≤i≤2,i∈z+,f为摄像机的焦距,ri、ti为世界坐标系到两台摄像机坐标系转换的旋转矩阵与平移矩阵,u0i、v0i是图像坐标系原点在像素坐标系中的坐标,dx、dy分别是像素坐标系在x方向和y方向相邻像素间的距离。

所述步骤b具体为:

bp神经网络视觉标定中隐含层节点数范围确定公式为经验公式,是:

其中n为输入层节点数,m为输出层节点数、l为隐含层节点数,a为常数。

bp神经网络视觉标定中隐含层节点确定方法为单因素方差分析法,分布函数为f分布,是:

其中s1、s2为比较的两个样本间的标准差,k为第一组样本中的自由度,m为第二组样本的自由度。

单因素方差分析的样本为bp神经网络的性能参数,是:

(1)迭代次数;(2)运行时间;(3)标定误差。

所述步骤c具体为:

应用蝙蝠算法对神经网络视觉标定进行优化时,选择训练数据,产生输入层和隐含层之间的权值wij与阀值bj,设定蝙蝠数量m、蝙蝠个体i、最大脉冲频度r(i)和最大脉冲声音强度a(i),蝙蝠频度增加系数设为γ、声音强度衰减系数α、最大迭代次数nmax和搜索精度ε,随机初始化蝙蝠个体所在位置xi(i=1,2,…,m),并搜寻位于最佳位置x*蝙蝠个体;生成随机数r1,假如r1小于r(i)时,利用vt+1i=vti+(xti-*x)qi更新蝙蝠当前位置,其中qi表示第i只蝙蝠发出的声波,vti表示在t时刻第i只蝙蝠的速度,xti表示在t时刻第i只蝙蝠的位置;否则对蝙蝠当前位置进行扰动,扰动后位置代替当前位置;生成随机数r2,假定r2小于a(i)同时蝙蝠当前位置得到优化和改变,那么蝙蝠个体飞至更新后的位置;假如更新位置后蝙蝠个体i优于个体中最佳蝙蝠,那么更换掉目前的最佳蝙蝠个体,并根据公式at+1(i)=αat(i)与rt+1(i)=r0(i)×(1-e-γt)调整蝙蝠脉冲频度r(i)和脉冲音强a(i);经过一段时间运行,对新的蝙蝠群体进行评估判定,找出当前位置最佳蝙蝠个体及对应地最优位置;输出函数全局最优解和最优个体值,输出函数的全局最优解,作为bp神经网络的权值和阀值。

所述步骤d具体为:

蝙蝠算法优化bp神经网络视觉标定中隐含层激活函数为对数几率函数,是:

蝙蝠算法优化bp神经网络视觉标定中训练方法为最速下降法,其作用是:通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

蝙蝠算法优化bp神经网络视觉标定中学习速率选取原则为经验选取原则,学习率越小,学习会越精细,但同时学习速度也会降低,学习率越大,学习速度会越快,但同时学习精度也会降低。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1