经过本章之前的分析,焊接机器人在得到三种焊缝的特征值之后,经过一个模型可以将混杂的特征值进行分类,从而间接识别该特征值对应的焊缝种类。模式识别就是对应该过程,将物体特征值进行处理与分析从而对物体进行描述、辨认与分类。典型的模式识别过程为采集信号、特征提取、建模、训练和评价。在获取到三种典型焊缝处理后图像的Hu不变矩后,可以将此作为特征,加入分类器中进行训练,得到一个分类模型,其中分类器中得以广泛使用的特征训练方法为人工神经网络(ANN)和支持向量机(SVM)。
在模式识别领域,对人工神经网络的研究起步于20世纪60年代,后在20世纪80年代提出了基于人工神经网络的反正传播算法,又称为BP神经网络算法,该算法可使分类器从大量样本特征值中找出规律,从而对事物特征进行分选与预测,该算法基于统计学理论,相较之前的ANN算法具有一定的优越性。20世纪90年代,又提出了一种基于有监督学习的模型SVM,同时该算法在小样本的模式识别中精确性较高,从而在理论分析和实际运用中得到了广泛的使用。
BP神经网络算法作为ANN中的重要模型之一,由David Rumelhart和JamesMcClelland在1986年提出。在表述BP神经网络之前,先描述神经网络的生物模型。神经元主要用来传导兴奋,是人的神经系统的组成墓元,神经元之间相互联系组成的密集网络构成了人脑的神经网络。人脑对于内、外界刺激的回应基于刺激在神经元之间的传导,如图4-11所示,单个神经元对于刺激的输出取决于与之相连接的神经元输出刺激的权重和,Out表示该神经元的输出,Inn表示与该神经元相邻的神经元传递给该神经元的输入刺激,Wn表示该神经元接收输入刺激Inn的权重,则参照下图,可得式(4.17),该式也被称为激活函数。
在经过了单个神经元分析之后,开始对神经网络进行详述。BP神经网络由输入、隐含和输出层组成,其中隐含层的数量是由具体情况确定,可以是一层或多次。该算法主要是通过对误差的反馈修正调整神经网络中的参数,从而令下次误差小于给定允许误差,其结构如图4-12所示:
BP神经网络的具体实施算法步骤如下:
(1)变量规范化。
如图4-12所示,x1到xn为输入向量,y1到yn为输出向量,首先对向量进行规范化。令规划化后的输入、输出为xn 、Yn,原始数据分别为INn、OUTn,换算公式如((4.18)、(4.19)所示:
式中n为各输入和输出向量的序号。
(2)循环计算网络各节点中的输入输出值。
隐含层各节点的输入值输出值
依次如式(4.20)和式(4.21)所示:
输出层各节点的输入值输出值
依次如式(4.22)和式(4.23 )所示:
式中t=1, 2, ... q,为输出神经元数量。
(3)误差计算并进行误差逆传播。
先利用式(4.24)计算神经网络的希望和计算输出均方差Ek:
再利用式(4.25 )计算输出节点误差:
最后利用式(4.26)计算隐含节点误差:
(4)运算参数修正。
利用输出层、隐含层各节点误差修正各层的权重和阂值。
公式(4.27)到(4.30)中的N为修正次数。
(5)循环退出比较。
将计算的全局误差与预设值进行比较,若大于预设值则返回第2步循环执行,直至全局误差小于预设值,则退出循环,进入第6步。
(6)计算输出层节点输出值。
焊接机器人