技术领域
[0001] 本
发明涉及缺陷检测领域,具体涉及一种基于深度学习的焊缝及焊缝缺陷检测方法。
背景技术
[0002] 随着自动化技术的发展,工业
焊接机器人在加工制造领域得到了广泛的应用,已经成为主要的自动化设备,新型工业焊接机器人使用远程
激光焊接技术,克服了传统焊接受到的限制(如弧焊机器人姿势的限制、电
焊枪受到
工件大小的限制),具有工件焊接速度快,造成的热
变形小的优点。
[0003] 与之相对的,需要一种高效的焊缝
质量检测方法以匹配加工
节拍要求,常规的结构光式
传感器测量
精度高,能够测量三维参数,其扫描式的工作方式
对焊接后工件上多焊缝质量检测测量效率较低[郭吉昌,朱志明,于英飞,等.焊接领域激光结构光视觉传感技术的研究及应用[J].中国激光,2017(12)];另一种解决思路是去除结构光特征,以图像灰度结合
图像处理技术检测焊缝缺陷,[焦敬品,李思源,常予,等.一种基于灰度图像形态学的焊缝表面缺陷特征提取方法,CN105976352A,2016.],利用灰度图像形态学处理方法,以
边缘检测提取焊缝感兴趣区域(ROI),再以ROI内灰度值变化特征判断焊缝缺陷类型,但该方法需要设置固定的全局二值化
阈值,易受环境扰动影响,且其只能检测明显改变焊缝边缘特征的焊缝、焊瘤等缺陷,检测灵敏度低,难以响应焊缝裂痕、凹槽等细微缺陷,焊接中物理过程相对复杂,难以用准确数学模型表达,同时焊缝缺陷成因多样,不易建立统一的图像模板或特征提取规则,因此,常规的图像处理手段难以适应多样化缺陷特征的识别和检测需求。
发明内容
[0004] 焊缝检测过程中,因图像发生变形、图像拍摄质量、
角度等问题,现有模板匹配等二维图像检测方法,无法有效检测出焊缝中具体存在的缺陷类型及
位置;为了解决上述问题,本发明提出基于深度学习原理的智能焊缝缺陷检测方法,对多条焊缝、多种缺陷类型同步检测,一次测量即可实现焊缝识别
定位及缺陷检测,有效提高测量效率。
[0005] 一种基于深度学习的焊缝及焊缝缺陷检测方法,采用YOLO V3网络实现焊缝和/或焊缝缺陷检测;
[0006] 进行焊缝和/或焊缝缺陷检测的YOLO V3网络经如下步骤进行训练:
[0007] 1)将包含焊缝的工件图像利用定位框对焊缝进行框选、标记,多张此类图像作为
训练数据集;
[0008] 将焊缝区域分割后形成的焊缝图像利用定位框对焊缝缺陷进行框选、标记缺陷类型,多张此类图像作为训练数据集I;
[0009] 获取定位框的坐标xp、yp,以及宽高尺寸wp、hp;
[0010] 2)初始化设置YOLO V3网络的权重W、偏置值b、最大训练次数、学习率,按照输入图片尺寸要求将训练数据集/训练数据集I中的图像转
化成输入张量aj,j=1,2,3…m,m为训练数据集和训练数据I中图像的张数和;
[0011] 进一步,初始化时,所述权重参数W和偏置b利用现有的其他工件检测的
卷积神经网络的权重;所述其他工件与焊缝特征具有相似性,如,采用
螺柱检测训练得到的卷积神经网络的权重参数。
[0012] 3)所述YOLO V3网络随机调取输入张量aj进行训练计算,输出检测结果;
[0013] 利用所述检测结果计算预测结果的误差函数loss;
[0014] 结合
梯度下降法调节权重W和偏置值b,再次随机调取输入张量aj在YOLO V3网络中进行计算,求取预测的误差函数loss,如此循环,直至检测结果的误差函数loss<1或达到最大训练次数,输出此时对应的权重W,及偏置值b,得到训练好的YOLO V3网络;
[0015] 优选,设定最大训练次数为500000、学习率为0.001;
[0016] 其中,检测结果的误差函数loss通过如下公式计算:
[0017] loss=λcoord·losscoord+lossIOU+lossclasses
[0018] λcoord为检测结果中定位框的坐标误差的比例系数;人为设置,取值范围3~8,优选,取值5;
[0019]
[0020] 检测结果中定位框的坐标为 检测结果中定位框的宽高尺寸为
[0021]
[0022] 为检测结果确定的定位框内存在焊缝或焊缝缺陷的
置信度;
[0023]
[0024] Pp为检测结果确定的定位框内存在焊缝或焊缝缺陷的概率,存在时,Pp=1,反之,Pp=0;n为步骤1)中标记类型数;
[0025] 为检测结果确定的定位框内存在的焊缝或焊缝缺陷属于预定分类的概率。
[0026] 进一步,还包括步骤4),利用不包括在训练数据集或训练数据集I内的图像作为测试图片集,所述测试图片集内的图像为多张包含焊缝的工件图像或焊缝区域分割后形成的焊缝图像;所述测试图片集内的图像采用了与训练数据集或训练数据集I内图像相同的处理方法进行了处理;
[0027] 所述训练数据集或训练数据集I的数量占例大于测试图片集的占比,优选,训练数据集或训练数据集I的数量占例为60%和测试图片集的占比为40%。
[0028] 所述测试图片集内的图像输入到训练好的YOLO V3网络,评估输出结果的正确率达到预设值时,此训练好的YOLO V3网络被用于正常焊缝/焊缝缺陷检测。
[0029] 进一步,步骤1)中对焊缝进行框选时,同时框选焊缝的两个端点并标注。
[0030] 进一步,对所述训练数据集/训练数据集I中的图像进行旋转、镜像、添加噪声扰动,生成多幅类似图像,增加训练样本的数量,进行样本扩充。
[0031] 进一步,所述定位框为矩形框,其坐标xp、yp为定位框中心点或某端点的坐标。
[0032] 进一步,对所述工件图像进行局部
对比度增强操作。
[0033] 进一步,所述焊缝缺陷分4类,分别为凹陷、烧痕、空洞及气泡;每种缺陷类别的焊缝图像的数量不少于1000张。
[0034] 进一步,本方法的实际应用:将检测结果中确定焊缝缺陷位置的坐标转换到世界
坐标系下,反馈给机器人,机器人依据接收到的位置数据调节运动轨迹,带动焊枪对缺陷位置进行补充焊接。
[0035] 进一步,所述YOLO V3网络包括
输入层、相互连接的卷积层、激活函数层、dropout层、残差层、全连接层、softmax逻辑
输出层;相邻两个层之间,上一层级的输出值作为下一层级的输入值。
[0036] 所述焊缝检测卷积神经网络中包括52个卷积层,均采用1×1或3×3的小卷积核,图像每经过一个卷积核,对图像进行一次图的抽样,得到抽样后的特征图;卷积层之间使用ReLU激活函数,用以提升神经网络模型的非线性表达能
力;dropout层穿插在各个卷积模
块之间,用以防止深度学习训练的过拟合;残差层在各个卷积模块之后出现,用以解决随着卷积神经网络的深度增加导致的模型退化的问题,提升网络模型的预测准确性;
池化层在卷积模块之后出现,用于对输入矩阵进行缩小概括;全连接层得到网络权重参数;最后一层为softmax逻辑层,用于网络权重的输出。
[0037] 进一步,单幅工件图像中包含2~15焊缝区域;
[0038] 本方法通过对工件图像中焊缝区域、焊缝图像中缺陷区域、焊缝的端点区域进行框选,利用前向传播和后向传播对网络权重、偏置参数进行不断地调整优化,得到准确的输入和输出映射对,保证YOLO V3卷积神经网络预测出的焊缝位置、缺陷位置、类别准确、预测框选区域与实际框选区域重合度最大,完成焊缝及焊缝缺陷的卷积神经网络结构训练;本方法能够有效识别焊缝图像中的缺陷;对于存在多个焊缝区域的大尺寸工件图像,先进行焊缝区域的有效识别,在针对焊缝区域进行具体缺陷的识别,增加了对缺陷区域定位的准确性。
附图说明
[0039] 图1为本发明方法流程示意图;
[0040] 图2为输出焊缝区域定位框示意图;
[0041] 图3为输出焊缝缺陷定位框示意图。
具体实施方式
[0042] 以下结合附图和
实施例对本发明的技术方案进行详细描述。
[0043] 一种基于深度学习的焊缝及焊缝缺陷检测方法,采用YOLO V3网络实现焊缝和/或焊缝缺陷检测;(YOLO V3网络包括输入层、相互连接的卷积层、激活函数层、dropout层、残差层、全连接层、softmax逻辑输出层;相邻两个层之间,上一层级的输出值作为下一层级的输入值。)
[0044] 进行焊缝和/或焊缝缺陷检测的YOLO V3网络经如下步骤进行训练:
[0045] 1)将包含焊缝的工件图像利用矩形定位框对焊缝进行框选、标记,5000张此类图像作为训练数据集;
[0046] 作为本发明一个实施例,单幅工件图像中包含2~15焊缝区域;
[0047] 将焊缝区域分割后形成的焊缝图像利用矩形定位框对焊缝缺陷进行框选、标记缺陷类型,同时,利用矩形定位框对焊缝的两个端点进行框选、标记为端点类型,多张此类图像作为训练数据集I;焊缝缺陷分4类,分别为凹陷、烧痕、空洞及气泡;每种缺陷类别的焊缝图像的数量为5000张。
[0048] 获取矩形定位框中心的坐标xp、yp,以及宽高尺寸wp、hp;
[0049] 对训练数据集/训练数据集I中的图像进行旋转、镜像、添加噪声扰动,生成多幅类似图像,增加训练样本的数量。
[0050] 对工件图像进行局部对比度增强操作。
[0051] 2)利用现有的螺柱检测模型训练得到的参数,初始化设置YOLO V3网络的权重W、偏置值b、设定最大训练次数为500000、学习率为0.001;
[0052] 按照输入图片尺寸要求将训练数据集/训练数据集I中的图像转化成输入张量aj,j=1,2,3…m,m为训练数据集和训练数据I中图像的张数和;
[0053] 3)YOLO V3网络随机调取输入张量aj进行训练计算,输出检测结果;
[0054] 利用检测结果计算预测结果的误差函数loss;
[0055] 结合梯度下降法调节权重W和偏置值b,再次随机调取输入张量aj在YOLO V3网络中进行计算,求取预测的误差函数loss,如此循环,直至检测结果的误差函数loss<1或达到最大训练次数,输出此时对应的权重W,及偏置值b,得到训练好的YOLO V3网络;
[0056] 其中,检测结果的误差函数loss通过如下公式计算:
[0057] loss=λcoord·losscoord+lossIOU+lossclasses
[0058] λcoord为检测结果中定位框的坐标误差的比例系数;人为设置,取值范围3~8,优选,取值5;
[0059]
[0060] 检测结果中定位框的坐标为 检测结果中定位框的宽高尺寸为
[0061]
[0062] 为检测结果确定的定位框内存在焊缝或焊缝缺陷的置信度;
[0063]
[0064] Pp为检测结果确定的定位框内存在焊缝或焊缝缺陷的概率,存在时,Pp=1,反之,Pp=0;n为步骤1)中标记类型数,n=6;
[0065] 为检测结果确定的定位框内存在的焊缝或焊缝缺陷属于预定分类的概率。
[0066] 将检测结果中确定焊缝缺陷位置的坐标转换到世界坐标系下,反馈给机器人,机器人依据接收到的位置数据调节运动轨迹,带动焊枪对缺陷位置进行补充焊接。
[0067] 作为本发明的另一实施例,还包括步骤4),利用不包括在训练数据集或训练数据集I内的图像作为测试图片集,测试图片集内的图像为多张包含焊缝的工件图像或焊缝区域分割后形成的焊缝图像;测试图片集内的图像采用了与训练数据集或训练数据集I内图像相同的处理方法进行了处理;
[0068] 测试图片集内的图像输入到训练好的YOLO V3网络,评估输出结果的正确率达到预设值时,此训练好的YOLO V3网络被用于正常焊缝/焊缝缺陷检测。
[0069] 为了方便解释和精确限定所附
权利要求,术语“上”、“下”、“左”和“右”是对特征位置的示例性实施方式的描述。
[0070] 前面对本发明具体示例性实施方案所呈现的描述是出于说明和描述的目的。前面的描述并不想要成为毫无遗漏的,也不是想要把本发明限制为所公开的精确形式,显然,根据上述教导很多改变和变化都是可能的。选择示例性实施方案并进行描述是为了解释本发明的特定原理及其实际应用,从而使得本领域的其它技术人员能够实现并利用本发明的各种示例性实施方案及其不同选择形式和
修改形式。本发明的范围旨在由所附权利要求书及其等价形式所限定。