首页> 中国专利> 结构光三维双视觉模型建模方法

结构光三维双视觉模型建模方法

摘要

本发明涉及一种用于工业检测和视觉导引的结构光三维双视觉模型建模立法。径向基函数神经网络(RBF神经网络)由三层组成,输入层有两个节点,输出层有三个节点,隐层节点中的作用函数采用高斯核函数,利用全局坐标系下的标定点数据对双视觉神经网络进行训练。本发明基于RBF神经网络,建立了结构光三维双视觉模型,解决了BP网络中局部极小和训练速度慢的问题,较常规建模方法和BP网络法有较高的精度,同时解决了单视觉检测系统的“盲区”问题。

著录项

  • 公开/公告号CN1387167A

    专利类型发明专利

  • 公开/公告日2002-12-25

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN01118302.0

  • 发明设计人 张广军;魏振忠;李鑫;贺俊吉;

    申请日2001-05-22

  • 分类号G06N3/02;

  • 代理机构11008 中国航空专利中心;

  • 代理人李建英

  • 地址 100083 北京市海淀区学院路37号

  • 入库时间 2023-12-17 14:32:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2007-07-25

    专利权的终止未缴年费专利权终止

    专利权的终止未缴年费专利权终止

  • 2004-09-22

    授权

    授权

  • 2003-03-19

    实质审查的生效

    实质审查的生效

  • 2002-12-25

    公开

    公开

  • 2001-10-03

    实质审查的生效

    实质审查的生效

说明书

本发明涉及一种用于工业检测和视觉导引的结构光三维双视觉模型建模立法。

视觉检测技术以其大量程、大视场、测量速度快、光条图像易于提取及较高精度等特点在工业环境中得到了愈来愈广泛的应用。结构光三维视觉检测广泛地应用于工件的完整性、表面平整度的测量;微电子器件(IC芯片、PC板、BGA)等的自动检测;软质、易脆零部件的检测;各种模具三维形状的检测;机器人的视觉导引等。这种系统柔性好;测量为非接触式、动态响应快,能满足大量生产“节拍”短的要求,而且整个测量过程高度自动化。

建立合理的视觉检测模型是结构光三维视觉检测过程中的重要步骤,目前视觉检测模型的建模方法主要有两种:常规建模方法和基于BP(BackPropagation)神经网络的建模方法。

(1)常规建模方法是基于摄像机针孔成像理论的方法,但针孔成像理论只是一种近似,否则在摄像机感光面上不会有任何光强。因此,视觉检测通用模型从严格意义上讲是不准确的,尤其在远光轴的情况下这种近似更为严重。

另外,视觉检测系统精密而复杂,影响系统精度的参数,除了数学模型误差外,还包括许多系统参数及摄像机内部、外部参数,如光学系统调整误差、CCD光敏元非均匀误差、视频信号转换误差等。其中一部分可以用数学模型描述,而有些则很难用模型描述。因此,采用常规方法建立起来的结构光三维视觉检测模型与实际系统所具有的数学模型仍存在一定的差异。如果忽略了这些微小的误差和干扰,将会降低系统的测量精度。目前结构光三维多视觉检测精度在0.5-1mm左右。

(2)基于BP神经网络的视觉模型建模方法:这种方法国内外都有相关的文献报道,比如Ming Cheng等人(Optical Engineering,Vol.34,No.12,1995,pp3572-3576),邓文怡等人(华中理工大学学报,Vol.27,No.1,1999,pp78-80)均采用了该方法。但这些报道都采用常用的BP网络,而且是用于单视觉检测模型。然而,BP网络存在一些无法克服的缺点和不足,主要表现在:结构上BP网络通常使用较多的隐层,使得网络变得复杂,训练速度缓慢。实际训练上,BP网络存在局部最优问题,并且收敛速度慢、效率低,其精度往往不高,报道文献中给出的精度只有0.31-0.34mm。

本发明的目的是建立以少的隐层、高的精度、收敛速度快的双视觉检测模型。

本发明的技术解决方案是,径向基函数神经网络(RBF神经网络)由三层组成,输入层设置两个节点,输出层设置三个节点,隐层节点中的作用函数采用高斯核函数,为 >>>u>j>>=>exp>[>->>>>>(>X>->>C>j>>)>>T>>>(>X>->>C>j>>)>>>>2sup>>σ>j>2sup>>>>]>>>j=1,2,...,Nh网络的输出为隐层节点输出的线性组合,即 >>>y>i>>=>>Σ>>j>=>1>>>N>h>>>>ω>ij>>>u>j>>->θ>=sup>>W>i>Tsup>>U>>>i=1,2,3;

网络结构确定后,利用全局坐标系下采集的标定点数据对双视觉神经网络进行训练,其训练步骤为:

(1)启动训练,初始化网络结构参数,包括高斯核函数的中心值,方差σ以及隐层—输出层权值阵W。

(2)设置网络训练参数学习率μ(k),动量项α(k)以及期望的网络总体最小训练误差

(3)从内存中按顺序从N个训练样本中取出一组,将其中的输入训练样本(x1i,x2i)输入到网络的输入层。

(4)计算网络输出层三个节点的实际输出(yo1i,yo2i,yo3i),并分别计算其与网络期望输出(ye1i,ye2i,ye3i)即输出训练样本的残差的平方和,累加到SUM中,即 >>SUM>=>SUM>+>>Σ>>j>=>1>>3>>>>(>>y>eji>>->>y>oji>>)>>2>>;>>>

(5)按带动量项的梯度下降法来调整各个网络结构参数,具体的调整算法如下:定义准则函数计算准则函数J(E)对各个网络结构参数的偏导数值, >>∂>J>>(>E>)>>/>∂>E>>|>>E>=>E>>(>k>)>>>>,>>>并按下列公式来调整各个网络结构参数的值:

隐层-输出层连接权值矩阵W的调整式为 >>W>>(>k>+>1>)>>=>W>>(>k>)>>+>μ>>(>k>)>>×>>(>->>>∂>J>>>∂>W>>>)>>>|>>W>=>W>>(>k>)>>>>+>α>>(>k>)>>×>[>W>>(>k>)>>->W>>(>k>->1>)>>]>>>隐层中心值矩阵C的调整式为 >>C>>(>k>+>1>)>>=>C>>(>k>)>>+>μ>>(>k>)>>×>>(>->>>∂>J>>>∂>C>>>)>>>|>>C>=>C>>(>k>)>>>>+>α>>(>k>)>>×>[>C>>(>k>)>>->C>>(>k>->1>)>>]>>>隐层方差矩阵σ的调整式为 >>σ>>(>k>+>1>)>>=>σ>>(>k>)>>+>μ>>(>k>)>>×>>(>->>>∂>J>>>∂>σ>>>)>>>|>>σ>=>σ>>(>k>)>>>>+>α>>(>k>)>>×>[>σ>>(>k>)>>->σ>>(>k>->1>)>>]>>>

(6)判断是否N组训练样本全都输入训练了一遍。如果不是,则回到(3);如果是,则计算网络总体训练误差即均方根差 >>>E>RMS>>=>>SUM>/>N>>;>>>

(7)判断ERMS是否小于期望的值。如果不是,则回到(3),并根据观察适当调整网络训练参数学习率μ(k)和动量项α(k);如果是,则利用当前的网络模型,使用网络测试样本集合计算网络输出层各节点输出的测试误差。测试误差的计算按下式进行:

(8)判断测试误差,如果测试误差不能满足要求,则可以减小期望的网络总体最小训练误差返回到(3)继续训练或者返回到(1)重新开始训练;如果已经达到要求,则保存网络结构参数,结束训练。

本发明首次基于RBF神经网络,建立了结构光三维双视觉模型,不仅有效地克服了常规建模方法存在的不足,还解决了BP网络中单视觉检测系统的盲区问题,而且较大地提高了网络的收敛速度,避免了局部极小点问题,具有全局最佳逼近性能,提高了模型建模精度,由于本发明采用了带动量项的梯度下降法来训练网络,因此,建模的收敛速度快,稳定性好,训练精度高,训练方法快速易行。

图1为本发明的网络结构图;

图2为本发明的训练流程图;

图3为本发明所采用的双视觉标定点发生装置示意图。

网络的结构为三层,输入层设置两个节点,分别代表二维图像坐标(x1,x2),输出层设置三个节点,分别代表三维物坐标(y1,y2,y3)。隐层节点中的作用函数采用高斯核函数(Gauss Kernel Function),如下式所示: >>>u>j>>=>exp>[>->>>>>(>X>->>C>j>>)>>T>>>(>X>->>C>j>>)>>>>2sup>>σ>j>2sup>>>>]>j>=>1,2>…>…>>N>h>>->->->->->>(>1>)>>>>

其中,uj是第j个隐层节点的输出,x=(x1,x2)r是输入样本,即二维图像坐标,Cj是高斯函数的中心值,σj是方差,Nh是隐层节点数。

网络的输出为隐层节点输出的线性组合,即 >>>y>i>>=>>Σ>>j>=>1>>>N>h>>>>ω>ij>>>u>j>>->θ>=sup>>W>i>Tsup>>U>->->->i>=>1,2,3>->->->->->>(>2>)>>>>

其中, >>>W>1>>=>>(>>ω>>i>1>>>,>>ω>>i>2>>>,>K>,>>ω>>i>>N>h>>>>,>->θ>)>>>>为隐层和输出层的权值阵, >>U>=>>>(>>u>1>>,>>u>2>>,>K>,>>u>>N>h>>>,>1>)>>T>>>>为隐层的输出向量。

双视觉RBF网络模型结构确定后,接下来就是利用全局坐标系下采集的标定点数据对双视觉RBF神经网络进行训练,以建立双视觉模型。

基于RBF神经网络双视觉模型的训练实现过程如图2所示,详细的步骤如下:

(1)启动训练,初始化网络结构参数,包括高斯核函数的中心值,方差σ以及隐层—输出层权值阵W。

(2)设置网络训练参数学习率μ(k),动量项α(k)以及期望的网络总体最小训练误差

(3)从内存中按顺序从N个训练样本中取出一组,将其中的输入训练样本(x1i,x2i)输入到网络的输入层。

(4)计算网络输出层三个节点的实际输出(yo1i,yo2i,yo3i),并分别计算其与网络期望输出(ye1i,ye2i,ye3i)即输出训练样本的残差的平方和,累加到SUM中,即 >>SUM>=>SUM>+>>>>>Σ>>j>=>1>>3>>>>(>>y>eji>>->>y>oji>>)>>2>>>>。

(5)按带动量项的梯度下降法来调整各个网络结构参数,具体的调整算法如下:

定义准则函数

其中,Y(k)代表希望输出,(E,k)为网络的实际输出,E是网络所有参数组成的向量,包括隐层中心值、隐层方差和输出权值,ε(E,k)为(E,k)对Y(k)的残差。

计算准则函数J(E)对各个网络结构参数的偏导数值, >>∂>J>>(>E>)>>/>∂>E>>|>>E>=>E>>(>k>)>>>>,>>>并按下列公式来调整各个网络结构参数的值:

隐层-输出层连接权值矩阵W的调整式为 >>W>>(>k>+>1>)>>=>W>>(>k>)>>+>μ>>(>k>)>>×>>(>->>>∂>J>>>∂>W>>>)>>>|>>W>=>W>>(>k>)>>>>+>α>>(>k>)>>×>[>W>>(>k>)>>->W>>(>k>->1>)>>]>>>隐层中心值矩阵C的调整式为 >>C>>(>k>+>1>)>>=>C>>(>k>)>>+>μ>>(>k>)>>×>>(>->>>∂>J>>>∂>C>>>)>>>|>>C>=>C>>(>k>)>>>>+>α>>(>k>)>>×>[>C>>(>k>)>>->C>>(>k>->1>)>>]>>>隐层方差矩阵σ的调整式为 >>σ>>(>k>+>1>)>>=>σ>>(>k>)>>+>μ>>(>k>)>>×>>(>->>>∂>J>>>∂>σ>>>)>>>|>>σ>=>σ>>(>k>)>>>>+>α>>(>k>)>>×>[>σ>>(>k>)>>->σ>>(>k>->1>)>>]>>>。

其中,k为调整的次数,μ(k)为学习率,α(k)为k时刻的遗忘因子,又称动量项或阻尼项。当前次即第k+1次的网络参数值由上一次即第k次的网络参数值获得,即第k次的参数值加上μ(k)与该参数的准则函数负梯度的乘积,再加上α(k)与第k次和第k-1次参数值残差的乘积。μ(k)的作用是用于调整网络的训练速度,μ(k)较大时,参数调整的幅度大,反之则小。α(k)的作用相当于阻尼力,当网络的训练误差迅速下降时,它使网络收敛逐渐平稳,当网络训练误差迅速增大时,它使网络发散的越来越缓慢。这样,使得网络的收敛过程不致出现过大的振荡,有利于网络的平稳收敛。

(6)判断是否N组训练样本全都输入训练了一遍。如果不是,则回到(3);如果是,则计算网络总体训练误差即均方差 >>>E>RMS>>=>>SUM>/>N>>>>。

(7)判断ERMS是否小于期望的值。如果不是,则回到(3),并根据观察适当调整网络训练参数学习率μ(k)和动量项α(k);如果是,则利用当前的网络模型,使用网络测试样本集合计算网络输出层各节点输出的测试误差。测试误差的计算按下式进行:其中,N1为测试样本总数,Yxi为第i个测试样本的x坐标的期望输出,为神经网络的x坐标的实际输出,其余类推。

(8)测试误差即为网络模型的最终精度。如果测试误差不能满足要求,则可以减小期望的网络总体最小训练误差返回到(3)继续训练或者返回到(1)重新开始训练。如果已经达到要求,则保存网络结构参数,结束训练。

获取用于网络训练的标定点数据,包括二维图像坐标(x1,x2)和三维物坐标(y1,y2,y3)。这一过程是由一个高精度三维双视觉标定点发生装置完成的,如图3所示。其中1、2为激光投射器。3、4为CCD摄像机,实现场景图像的获取。5为双向光电瞄准装置。6为三维移动台。7为图像采集卡。8为计算机,控制及数据处理。(该发生装置的技术内容在申请号为01115655.4专利中已公开,此处不再对其做详细陈述)对于左侧视觉检测系统,控制该装置分别在x方向和z方向以步长4mm移动,采集光平内60mm×60mm范围的标定点,标定点个数共为256个。其中的64个做测试样本,192个做训练样本。对于右侧视觉检测系统,同样控制该装置分别在x方向和z方向以步长4mm移动,采集光平内60mm×60mm范围的标定点,标定点个数共为256个。其中的64个做测试样本,192个做训练样本。

对于该基于RBF神经网络的结构光双视觉模型,利用上述获取的训练样本及测试样本,对左右两侧的视觉检测系统分别采用5.2步骤进行耐心充分的训练,最终得到了最佳结构光三维双视觉RBF神经网络模型如下:

(1)右侧视觉检测系统的最佳RBF神经网络模型的结构参数(网络测试精度为0.080mm)

采用三层RBF网络,输入节点数为2,隐层节点数为16,输出节点数为3。则各个调整参数阵的结构如下:①隐层方差矩阵σ16×1=[σ0,σ1,Λ,σ15]T②隐层中心值矩阵 >>>C>>2>×>16>>>=> >>>>C>0,0>>>>>C>0,1>>>>Λ>>>>C>0,15>>>>>>>C>1,0>>>>>C>>1>,>1>>>>>Λ>>>>C>1,15>>> >>>>③隐层---输出层权值矩阵 >>>W>>3>×>16>>>=> >>>>w>0,0>>>>>w>0,1>>>>Λ>>>>w>0,15>>>>>>>w>1,0>>>>>w>1,1>>>>Λ>>>>w>1,15>>>>>>>w>2,0>>>>>w>2,1>>>>Λ>>>>w>2,15>>> >>>>

各网络训练参数,网络结构参数初始化值以及最终训练值如下:

学习率μ的初始值0.1,终止值0.003。动量项α的初始值0.01,终止值0。隐层—输出层连接权值W的初始化区间[-0.1,0.1],隐层方差σ的初始化区间[-1,1],隐层中心值的初始化区间为[-1,1]。对网络训练到13500次,得到的网络各模型结构参数如下:①隐层方差矩阵σ16×1=[2.525,0.665,-0.914,2.369,-1.679,-0.160,1.987,-0.057,-0.067,1.443,-1.125-1.395,1.415,-0.592,0.629,-0.327]T②隐层中心值矩阵C2×16                  ③隐层---输出层权值矩阵C3×16

(2)左侧视觉检测系统的最佳RBF神经网络模型的结构参数(网络测试精度为0.081mm)

采用三层RBF网络,输入节点数为2,隐层节点数为20,输出节点数为3。则各个调整参数阵的结构如下:①隐层方差矩阵σ20×1=[σ0,σ1,Λ,σ19]T②隐层中心值矩阵 >>>C>>2>×>20>>>=> >>>>C>0,0>>>>>C>0,1>>>>Λ>>>>C>0,19>>>>>>>C>1,0>>>>>C>1,1>>>>Λ>>>>C>1,19>>> >>>>③隐层---输出层权值矩阵 >>>W>>3>×>20>>>=> >>>>w>0,0>>>>>w>0,1>>>>Λ>>>>w>0,19>>>>>>>w>1,0>>>>>w>1,1>>>>Λ>>>>w>1,19>>>>>>>w>2,0>>>>>w>2,1>>>>Λ>>>>w>2,19>>> >>>>各网络训练参数,网络结构参数初始化值以及最终训练值如下:

学习率μ的初始值0.1,终止值0.003。动量项α的初始值0.01,终止值0。隐层—输出层连接权值W的初始化区间[-0.1,0.1],隐层方差σ的初始化区间[-1,1],隐层中心值的初始化区间为[-1,1]。对网络训练到15800次,得到的网络各模型结构参数如下:

①隐层方差矩阵

σ20×1=[-0.493,-1.376,-2.769,-3.075,-0.370,-3.025,-0.069,-0.013,2.464,

3.272,-0.251,0.207,0.575,0.011,-0.001,0.368,-0.003,0.198,0.431,0.276]T②隐层中心值矩阵C2×20                         ③隐层---输出层权值矩阵      

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号