返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 扫码关注

焊接机器人焊缝图像识别基于BP模型的训练

时间:2017-06-21 来源:机器人在线 阅读:8111 原创

焊接机器人焊缝图像识别基于BP模型的训练,利用BP神经网络进行焊缝图像分类,运算工具为MATLAB模式识别工具箱nntool。步骤如下:

(1)采用经过预处理后的图片经特征提取形成如表4-2所示的Hu不变矩作为特征向量。

(2)将提取到的双目视觉系统中左目相机采集到的三种焊缝的各20幅总共60幅图像的Hu不变矩形成的特征向量作为BP神经网络的输入数据A1。

(3)导入期望数据B1,由于需要区分的焊缝种类为三种,也就是说对应于输入的特征向量,也要从中区分中三种类型出来。根据工具箱的输入期望数据格式要求,期望数据用二进制表示,分别为100, 010,001对应于对接、搭接和T形角接三种焊缝。

(4)建立一个新的训练网络。创建界面如图4-14所示:

本项目中选择BP神经网络模型,所以图4-14中的Network Type选择Feed-forward backprop, Input data选择A1,是一个7x60的矩阵,Target data选择B1 3X60矩阵。其中A1矩阵每一个子列阵都是一副图片的Hu不变矩,子列阵中每个元素都是对应图片Hu不变矩中的一个数据,B1矩阵为期望划分的Hu不变矩的类型。Training function是训练函数,由于Levenberg-Marquardt算法针对中等规模的网络收敛速度快且为系统默认算法,所以选择该算法作为训练函数,在创建界面该项下拉菜单中选择TRAINLM。Adaption learning function是适应性学习函数,本项目中选择LEARNGDM,有动量的梯度下降法,可以提高学习速度并降低误差细节的敏感性。performance function为性能分析函数,这里选默认的均方差函数MSEo Numbers of layers由于输入层不参与基数,在隐含层为1层时加上输出层,则本次训练选择2,同时 Layerl中的Number of neurons即隐含层中的节点数,根据经验公式确定,这里取7。

(5)训练获取结果。

本次待训练的神经网络如图4-15所示。训练过程系数如图4-16所示,同时从图中可以,预设的训练次数为1000,而本次训练次数达到19次时就满足了误差要求,且到达满足误差要求的训练次数所花的时间近乎为0,说明本次训练选择的特征参数和网络训练函数都是比较适合要求的,具体的误差逼近图如下:

基于BP模型训练的结果分析

经过如小节4.2.3所示的训练之后,本次识别训练针对三种不同的焊缝,需要产生三种不同的输出结果,其中目标结果分别为[1,0,0],[0,1,0]和[0,0,1]。而训练后,可以从模式识别工具箱中导出network_output结果矩阵,这是本次训练产生的实际结果,通过实际结果与目标结果进行对比,可以判断出该次训练是否合理。下面分别用表4-3和图4-18来描述这次的训练结果,其中表4-3中的实际输出因为实际结果的量较多,考虑的篇幅的问题不一一列出,表中的数字为实际输出的均值。

从表4-3中,可以看出三种焊缝的实际输出的矩阵相较于期望输出矩阵,基本符合期望输出矩阵的取值规律。又在图4-18中,其中蓝色线条代表着结果矩阵的第一行,橙色代表第二行,黄色代表第三行,横轴为列数,从图中可以看出,在0-20范围内,蓝色几乎为1,橙色和黄色趋近于0,满足期望输出的要求,同样在20-40,和40-60也依次满足相应的期望要求。之后再分别取三种焊缝各50幅处理后的图片生成的Hu不变矩作为测试数据,可以得到下列结果:

焊接机器人如果将误差大于0.05就作为识别不准确答案的话,从图4-19中可以看出未识别点的数据量为6,则本次识别的正确率为96%,基本满足要求。因此,本项目的模式识别环节将图像的Hu不变矩与BP神经网络相结合取得了较好的效果,在实际工程中可以通过图像很好的对焊缝进行分类。

焊接机器人 基于双目视觉的机器人焊缝轨迹检测的研究 技术干货

好的文章,需要您的鼓励

16

  • 最新资讯
  • 最新问答