基于增量学习的锚链闪光焊接质量在线检测方法与流程

文档序号:21697951发布日期:2020-07-31 22:49阅读:219来源:国知局
基于增量学习的锚链闪光焊接质量在线检测方法与流程

本发明属于焊接质量检测方法,具体涉及一种基于增量学习的锚链闪光焊接质量在线检测方法。



背景技术:

随着海洋工程和航运事业和的发展,锚链从一开始的植物绳、锻打锚链、铸造锚链发展到现在的焊接锚链。锚链由多个链环连接而成,是用来缓冲船舶和海洋工程设备所受外力的专用链条,在恶劣的海水环境中需要长期保持良好的力学性能,其质量的优劣会直接影响到相关人员生命财产的安全。目前对锚链的质量检测主要通过出厂前的拉力试验,对于一整条锚链来说,仅有一处链环因质量问题而产生断裂,整条锚链便会失效,其带来的损失将是巨大的。

在锚链的生产过程中,闪光焊接是锚链生产的核心环节,在很大程度上决定了锚链的抗拉载荷、破断载荷和冲击载荷等关键力学性能指标。由于在锚链闪光焊接时,会发生一系列复杂的物理化学反应,很难建立一个简单有效的数学模型,同时焊接后的表面特征不明显,因而对其焊接质量进行及时有效的检测是一个长期以来困扰业界的技术难题,中国专利cn109242023a的专利公开了“一种基于dtw和mds的锚链闪光焊质量在线评估方法”,该发明基于dtw和mds实现了对数据的可视化,通过狄利克雷过程混合模型实现了对锚链闪光焊接质量在线评估。缺点在于,该发明未考虑在锚链的实际生产中,合格样本的数量要远远多于不合格样本的数量,是一种典型的数据不平衡现象。中国专利cn109886298a的专利公开了“一种基于卷积神经网络的焊缝质量检测方法”,该发明基于卷积神经网络对焊缝图像进行焊接质量分析,避免了繁琐的检测步骤,能自动地对焊缝区域进行定位捕捉,实现了对焊缝质量的有效检测。缺点在于,锚链闪光焊接接头被封闭在母材内部,无法获得有效的焊缝图像,且该发明未考虑焊接的样本数量是日益增长的,新增样本会带来一些新的焊接特征,而一个固定不变的模型难以适应这些变化,不利于焊接质量的长期检测。



技术实现要素:

发明目的:本发明的目的是提供一种基于增量学习的锚链闪光焊接质量在线检测方法,解决样本不平衡,不能适应新增样本,检测准确率不够的问题。

技术方案:本发明所述的基于增量学习的锚链闪光焊接质量在线检测方法,包括以下步骤:

(1)采集m个不合格样本s={s1,s2,…,si,…,sm}与n个合格样本t={t1,t2,…,ti,…,tn};

(2)通过分段线性插值使不合格样本和合格样本的信号长度一致;

(3)对不合格样本和合格样本的信号进行归一化处理;

(4)计算不合格样本之间的距离,建立距离矩阵;

(5)从不合格样本中随机抽取样本后根据距离矩阵找到与抽取样本距离最近的样本,抽取样本和与其距离最近的样本合成新不合格样本,并计算新样本与已有不合格样本之间的距离;

(6)判断新不合格样本的数量是否与合格样本的数量相同,判断为是,则执行步骤(7);判断为否,则执行步骤(5);

(7)构建卷积神经网络,选择一半的新不合格样本和一半的合格样本作为训练集对模型进行训练,其余的新不合格样本与合格样本作为测试集代入模型中,输出模型在测试集上的预测结果;

(8)判断是否有新增样本加入,判断为是,则执行步骤(9);判断为否,则完成模型训练;

(9)利用新增样本对模型进行训练,训练完成后更新模型的参数;

(10)将测试集不合格样本与合格样本代入增量学习后的模型中,得到样本属于每个类别的预测概率,输出增量学习后模型的预测结果。

其中,所述步骤(2)具体为:

将li(1)个连续递增的整数作为不合格样本si在预热阶段的插值节点,是插值节点对应预热阶段电极位置信号ai(1)的函数值,分段线性插值函数r(x)表示为:

其中为预热阶段电极位置信号ai(1)的插值基函数,具体表示为:

若x∈[xj,xj+1],则预热阶段电极位置信号ai(1)的分段线性插值函数r(x)表示为:

其中,不合格样本s={s1,s2,…,si,…,sm}与合格样本t={t1,t2,…,ti,…,tn}的信号均由电极位置信号和电流信号组成,第i个不合格样本表示为si=[ai,bi],在预热阶段、连续闪光阶段和顶锻阶段的长度分别为li(1)、li(2)和li(3),不合格样本的电极位置信号ai表示为ai=[ai(1),ai(2),ai(3)],预热阶段的电极位置信号表示为连续闪光阶段的电极位置信号表示为顶锻阶段的电极位置信号表示为电流信号bi表示为bi=[bi(1),bi(2),bi(3)],预热阶段的电流信号表示为连续闪光阶段的电流信号表示为顶锻阶段的电流信号表示第i个合格样本表示为ti=[ci,di],在预热阶段、连续光阶段和顶锻阶段的长度分别为qi(1)、qi(2)和qi(3),合格样本的电极位置信号ci表示为ci=[ci(1),ci(2),ci(3)],预热阶段的电极位置信号表示为连续闪光的电极位置信号表示为顶锻的电极位置信号表示为电流信号di表示为di=[di(1),di(2),di(3)],预热阶段的电流信号表示为连续闪光阶段的电流信号表示为顶锻阶段的电流信号表示为

分段线性插值后不合格样本的长度为g,预热阶段、连续闪光阶段和顶锻阶段的长度分别为g1、g2和g3,插值后预热阶段的电极位置信号为同理连续闪光阶段的电极位置信号为顶锻阶段的电极位置信号为a′i=[a′i(1),a′i(2),a′i(3)]为不合格样本si的电极位置信号ai分段线性插值后的结果,同理b′i=[b′i(1),b′i(2),b′i(3)]为不合格样本si的电流信号bi分段线性插值后的结果,s′i=[a′i,b′i]为不合格样本si分段线性插值后的结果,按照上述公式对合格样本进行分段线性插值,同理合格样本的长度为g,预热阶段、连续闪光阶段和顶锻阶段的长度分别为g1、g2和g3,c′i=[c′i(1),c′i(2),c′i(3)]为合格样本ti的电极位置信号ci分段线性插值后的结果,同理d′i=[d′i(1),d′i(2),d′i(3)]为合格样本si的电流信号di分段线性插值后的结果,t′i=[c′i,d′i]为合格样本ti分段线性插值后的结果。

所述步骤(3)具体为:

对每一个不合格样本s′i,采用如下公式进行归一化:

对每一个不合格样本s′i,采用如下公式进行归一化:

其中,a′i,max为电极位置信号a′i的最大值,a′i,min为电极位置信号a′i的最小值,a″i=[a″i,1,a″i,″2,…,a″i,j,…,a″i,g]为电极位置信号a′i归一化后的结果;b′i,max为电流信号b′i的最大值,b′i,min为电流信号b′i的最小值,b″i=[b″i,1,b″i,2,…,b″i,j,…,b″i,g]为电流信号b′i归一化后的结果,s″i=[a″i,b″i]为不合格样本s′i归一化后的结果,按照上述公式对合格样本的信号进行归一化,同理归一化后的电极位置信号为c″i=[c″i,1,c″i,2,…,c″i,j,…,c″i,g],电流信号为d″i=[d″i,1,d″i,2,…,d″i,j,…,d″i,g],t″i=[c″i,d″i]为合格样本t′i归一化后的结果。

所述步骤(4)具体为:

不合格样本s″i和s″j之间的距离的计算公式如下:

根据计算的距离,建立一个m*m的距离矩阵h:

其中,hi,j表示不合格样本s″i和s″j之间的距离;a″i,k表示不合格样本s″i的电极位置信号a″i中的第k个数;a″j,k表示不合格样本s″j的电极位置信号a″j中的第k个数;b″i,k表示不合格样本s″i的电流信号b″i中的第k个数;b″j,k表示不合格样本s″j的电流信号b″j中的第k个数。

所述步骤(5)中计算新样本与已有不合格样本之间的距离的具体步骤如下:

对不合格样本s″i和s″j的电极位置信号进行合成:

r=rand(0.1,0.9)

anew=r×a″i+(1-r)×a″j

其中r表示随机生成一个0.1到0.9之间的数,anew表示合成之后的电极位置信号;

对不合格样本s″i和s″j的电流信号进行合成:

bnew=r×b″i+(1-r)×b″j

bnew表示合成之后的电流信号;

snew=[anew,bnew]为合成之后的新样本,添加一行一列至距离矩阵h,用于存放新样本

snew与已有不合格样本之间的距离。

所述步骤(7)具体为:

构建一个卷积神经网络模型,包括1个输入层、2个卷积层、2个池化层、1个全连接层和1个输出层;其中2个卷积层分别采用8通道和16通道,卷积核尺寸均为1*3;2个池化层均采用最大池化,池化核大小均为1*2;全连接层的神经元个数为3200;输出层的2个类别为合格与不合格;

采用反向传播和梯度下降更新模型的参数,在训练时使丢弃率dropout=0.2,在迭代训练后保存模型,即得到检测锚链闪光焊接质量的模型;

将测试集的不合格样本与合格样本代入模型中,得到样本属于不合格与合格每个类别的预测概率,其中概率较大的类别为模型的预测结果。

所述步骤(9)具体为:

从新增样本中抽取m′个不合格样本与n′个合格样本,根据步骤(2)对样本的信号进行分段线性插值处理;

根据步骤(3)对样本的信号进行归一化处理;

根据步骤(4)计算m′个新增的不合格样本之间的距离,并计算与已有的不合格样本之间的距离,添加m′行m′列至距离矩阵h,用于存放计算好的距离;

从m′个新增的不合格样本中抽取一个样本,找到与其距离最近的一个样本来合成新样本,添加一行一列至距离矩阵h,用于存放合成的新样本与已有的不合格样本之间的距离;

判断不合格样本的数量是否与合格样本的数量相同,判断为是,则执行下一步判断为否,则执行上一步;

将新增样本输入到模型中进行训练,训练完成后更新模型的参数。

有益效果:本发明利用分段线性插值的方法使样本的数据长度一致,对样本进行归一化处理来消除电极位置信号和电流信号之间的量纲影响,采用欧氏距离来计算不合格样本之间的距离,并通过随机抽取不合格样本的方式来合成新的样本,有效地增加了不合格样本的数量,解决了样本的不平衡问题,提高了模型的泛化能力;建立了一个卷积神经网络,实现了对锚链闪光焊接质量的实时检测;采用增量学习的方法对模型进行训练,解决了锚链闪光焊接的样本数量与日俱增的问题,同时避免了模型灾难性遗忘的问题;本发明能够以较高的准确率及时有效地检测锚链闪光焊接的质量,提高了生产效率降低了生产成本,保证了船舶航行与海洋工程平台的安全。

附图说明

图1为本发明的流程示意图;

图2为不合格样本与合格样本的电极位置信号图;

图3为不合格样本与合格样本的电流信号图;

图4为分段线性插值和归一化后的两个电极位置信号以及合成后的电极位置信号图;

图5为分段线性插值和归一化后的两个电流信号以及合成后的电流信号图;

图6为卷积神经网络的结构图;

图7为增量学习在测试集上的预测结果图。

具体实施方式

下面结合附图对本发明进行进一步说明。

本发明公开的一种基于增量学习的锚链闪光焊接质量在线检测方法,流程如如图1所示,具体如下:

(1)采集40个不合格样本s={s1,s2,…,si,…,s40}与400个合格样本t={t1,t2,…,ti,…,t400}。

(2)通过分段线性插值使样本的信号长度一致。

40个不合格样本与400个合格样本的信号均由电极位置信号和电流信号组成。第i个不合格样本表示为si=[ai,bi](如附图2和附图3所示),在预热阶段、连续闪光阶段和顶锻阶段的长度分别为li(1)、li(2)和li(3)。电极位置信号ai表示为ai=[ai(1),ai(2),ai(3)],预热阶段的电极位置信号表示为连续闪光阶段的电极位置信号表示为顶锻阶段的电极位置信号表示为电流信号bi表示为bi=[bi(1),bi(2),bi(3)],预热阶段的电流信号表示为连续闪光阶段的电流信号表示为顶锻阶段的电流信号表示为第i个合格样本表示为ti=[ci,di],在预热阶段、连续光阶段和顶锻阶段的长度分别为qi(1)、qi(2)和qi(3),合格样本的电极位置信号ci表示为ci=[ci(1),ci(2),ci(3)],预热阶段的电极位置信号表示为连续闪光阶段的电极位置信号表示为顶锻阶段的电极位置信号表示为电流信号di表示为di=[di(1),di(2),di(3)],预热阶段的电流信号表示为连续闪光的电流信号表示为顶锻阶段的电流信号表示为

将li(1)个连续递增的整数作为不合格样本si在预热阶段的插值节点,是插值节点对应预热阶段电极位置信号ai(1)的函数值,分段线性插值函数r(x)表示为:

其中为预热阶段电极位置信号ai(1)的插值基函数,具体表示为:

若x∈[xj,xj+1],则预热阶段电极位置信号ai(1)的分段线性插值函数r(x)表示为:

分段线性插值后不合格样本的长度为g,预热阶段、连续闪光阶段和顶锻阶段的长度分别为g1、g2和g3,预热阶段的电极位置信号为连续闪光阶段的电极位置信号为顶锻阶段的电极位置信号为a′i=[a′i(1),a′i(2),a′i(3)]为不合格样本si的电极位置信号ai分段线性插值后的结果,同理b′i=[b′i(1),b′i(2),b′i(3)]为不合格样本si的电流信号bi分段线性插值后的结果,s′i=[a′i,b′i]为不合格样本si分段线性插值后的结果。对合格样本进行分段线性插值,同理合格样本的长度为g,预热阶段、连续闪光阶段和顶锻阶段的长度分别为g1、g2和g3,c′i=[c′i(1),c′i(2),c′i(3)]为合格样本ti的电极位置信号ci分段线性插值后的结果,同理d′i=[d′i(1),d′i(2),d′i(3)]为合格样本si的电流信号di分段线性插值后的结果,t′i=[c′i,d′i]为合格样本ti分段线性插值后的结果。

(3)对每一个不合格样本s′i进行归一化,采用如下公式进行归一化:

其中a′i,ma为电极位置信号a′i的最大值,a′i,min为电极位置信号a′i的最小值,a″i=[a″i,1,a″i,2,…,a″i,j,…,a″i,g]为电极位置信号a′i归一化后的结果;b′i,max为电流信号b′i的最大值,b′i,min为电流信号b′i的最小值,b″i=[b″i,1,b″i,2,…,b″i,j,…,b″i,g]为电流信号b′i归一化后的结果;s″i=[a″i,b″i]为不合格样本s′i归一化后的结果,如图4和5所示。按照上述公式对合格样本的信号进行归一化,同理归一化后的电极位置信号为c″i=[c″i,1,c″i,2,…,c″i,j,…,c″i,g],电流信号为d″i=[d″i,1,d″i,2,…,d″i,j,…,d″i,g],t″i=[c″i,d″i]为合格样本t′i归一化后的结果。

(4)计算不合格样本s″i和s″j之间的距离:

按照上述公式计算40个不合格样本之间的距离,建立一个40*40的距离矩阵h:

其中,hi,j表示不合格样本s″i和s″j之间的距离;a″i,k表示不合格样本s″i的电极位置信号a″i中的第k个数;a″j,k表示不合格样本s″j的电极位置信号a″j中的第k个数;b″i,k表示不合格样本s″i的电流信号b″i中的第k个数;b″j,k表示不合格样本s″j的电流信号b″j中的第k个数。

(5)从不合格样本中随机抽取一个不合格样本s″i,依据距离矩阵h,找到与不合格样本s″i距离最近的一个不合格样本s″j。

(6)利用不合格样本合成新样本snew=[anew,bnew],如附图4和附图5所示,添加一行一列至距离矩阵h,用于存放新样本snew与已有不合格样本之间的距离,具体为:

(6.1)对不合格样本s″i和s″j的电极位置信号进行合成:

r=rand(0.1,0.9)

anew=r×a″i+(1-r)×a″j

其中r表示随机生成一个0.1到0.9之间的数,anew表示合成之后的电极位置信号。

(6.2)对不合格样本s″i和s″j的电流信号进行合成:

bnew=r×b″i+(1-r)×b″j

bnew表示合成之后的电流信号。

(6.3)snew=[anew,bnew]为合成之后的新样本,添加一行一列至距离矩阵h,用于存放新样本snew与已有不合格样本之间的距离。

(7)判断不合格样本的数量是否与合格样本的数量相同,判断为是,则执行步骤8;判断为否,则执行步骤5和步骤6。

(8)构建卷积神经网络如附图6所示,对模型进行训练。

构建一个卷积神经网络模型,包括1个输入层、2个卷积层、2个池化层、1个全连接层和1个输出层;其中2个卷积层分别采用8通道和16通道,卷积核尺寸均为1*3;2个池化层均采用最大池化,池化核大小均为1*2;全连接层的神经元个数为3200;输出层的2个类别为合格与不合格。

从样本集中随机选择一半的不合格样本和一半的合格样本作为训练集,其余的不合格样本与合格样本作为测试集。

采用反向传播和梯度下降更新模型的参数,为了防止网络过拟合,在训练时使丢弃率dropout=0.2,在迭代训练后保存模型,即得到检测锚链闪光焊接质量的模型。

(9)将测试集的不合格样本与合格样本代入模型中,得到样本属于不合格与合格每个类别的预测概率,其中概率较大的类别为模型的预测结果。

(10)判断是否有新增样本加入,判断为是,则执行步骤11;判断为否,则完成模型训练。

(11)利用新增样本对模型进行训练。

(11.1)从新增样本中抽取20个不合格样本与200个合格样本,对样本的信号进行分段线性插值处理。

(11.2)对样本的信号进行归一化处理。

(11.3)计算20个新增的不合格样本之间的距离,并计算与已有的不合格样本之间的距离,添加20行20列至距离矩阵h,用于存放计算好的距离。

(11.4)从20个新增的不合格样本中抽取一个样本,找到与其距离最近的一个样本来合成新样本,添加一行一列至距离矩阵h,用于存放合成的新样本与已有的不合格样本之间的距离。

(11.5)判断不合格样本的数量是否与合格样本的数量相同,判断为是,则执行步骤11.6;判断为否,则执行步骤11.4。

(11.6)将新增样本输入到当前模型中进行训练,训练完成后更新模型的参数。

(12)将测试集的不合格样本与合格样本代入增量学习后的模型中,得到样本属于每个类别的预测概率,输出增量学习后模型的预测结果,结果如图7所示。

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