基于VGG网络的焊缝缺陷识别技术在UOE钢管生产应用初探
2021-08-09李乐榕于子金
李乐榕,于子金
(宝山钢铁股份有限公司设备部,上海 201900)
0 引言
钢管焊接过程中会产生各种缺陷,比如:裂纹、气孔、未熔合、未焊透、夹渣等,直接危害到焊接产品的质量,严重减低焊接件的机械性能[1],射线检测是最常用的一种无损检测方法,利用射线不同程度地透过不透明物体并使底片感光的原理,从中识别出焊缝中是否存在缺陷以及缺陷的位置和大小。
目前X射线图像识别主要依靠人工进行评定,通过专职的技术人员,对X射线图像中的焊缝区域一一进行查验,并进行比对分析,以识别图像中焊缝区域是否有缺陷。人工评定的缺陷:首先人眼的视觉有局限,达不到机器能够分辨的灰度级别和目标范围;其次人工评片的速度有限,很难满足生产要求;最后人工评片受限于评片人员的主观经验,很难保证检测结果的可靠性[2]。
随着计算机视觉和深度学习技术的兴起,基于卷积神经网络的图像识别技术在各行各业中解决了大量实际问题,卷积神经网络(CNN)与传统BP神经网络不同,其直接以图像为输入,无需人工提取目标特征,将特征提取转化为一个自学习过程,并且网络中每个卷积层的输出都可以视为网络自学习到的特征。基于这些特征,能够进行更深层次的相似度比较[3],笔者将预处理后的焊缝DCM图像作为卷积神经网络的输入,利用卷积神经网络良好的容错、并行以及泛化能力,对常见焊缝缺陷进行特征提取与识别。
1 钢管焊缝DICOM图像数据分析和预处理
本文中收集了宝钢UOE钢管厂,近两年来的X射线探伤焊缝图像数据,清洗图像质量不好的数据,并且对焊缝图片有无缺陷以及缺陷类型进行标识。
图像预处理是图像识别过程中的基础环节,能够有效消除和降低图像中因噪声、光照、背景等因素带来的影响,使得图像中的缺陷特征更明显,从而直接影响模型的学习效果。
1.1 常见钢管焊缝缺陷类型分析
由于焊接工艺的复杂性和现场环境的多样性,焊接过程中会产生各种缺陷,直接危害到焊接产品的质量,对焊接结构的安全性能和使用性能造成极大影响。为了便于后续模型训练和分析,对收集到的焊缝缺陷数据进行了缺陷类型标识,如表1所示,共分为13种类型缺陷。
表1 钢管焊缝缺陷类型标识表
1.2 图像预处理
由于原始的焊缝DCM图像存在一定的噪声,且对比度不高,这对于后续卷积神经网络的特征提取带来很大的影响,为了使焊缝缺陷区域更加明显,采用OpenCV图像处理函数库中噪音过滤、平滑增强、阈值处理以及边缘检测等算法,对焊缝射线图像进行图像预处理[4],如图1所示,分别研究了几种图像预处理算法,对焊缝缺陷图像进行增强,以便于后续模型能够更有效的提取缺陷特性[5]。
图1 预处理后的钢管焊缝缺陷图像
2 设计基于卷积神经网络的焊缝缺陷识别模型
2.1 卷积神经网络模型
卷积神经网络是图像识别领域中应用最多的一种神经网络。包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面[6](feature Map),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化[7],在网络的训练过程中卷积核将学习得到合理的权值。共享权值(即卷积核)带来的直接好处,是减少网络各层之间的连接,同时又降低了过拟合的风险。
2.2 不同神经网络模型结构对比分析
卷积神经网络有很多经典的网络结构,包括LeNet、AlexNet、VGG-16、GoogleNet等网络结构。我们在实验中搭建神经网络结构时,分别对每种网络结构进行训练和验证[8]。
为了便于分析,此处仅将焊缝缺陷分为有缺陷和无缺陷两种类型进行实验验证,对宝钢UOE钢管厂近两年多的数据进行梳理,去除无效及图像质量不好的图片,共采集有缺陷的图像3000张,无缺陷合格图像6000张,共计9000张样本数据。随机选取缺陷图像中的2000张以及无缺陷合格图像4000张作为训练集,剩下的作为测试集,用以验证模型的泛化能力与可靠性。网络训练直接以图像为输入,将图像进行进行Resize处理,统一转化为224*224大小的图像[9]。在相同的硬件配型条件下,每种网络模型的训练次数均设置为30000次,如表2中所示,在相同条件下,VGG-16模型的训练精度为98%,验证准确率为92%,好于另外三种模型。
表2 不同神经网络模型训练及验证准确率对比情况
最终我们选择了如表2中的VGG-16网络作为识别焊管缺陷图像的神经网络模型,并对该模型内部参数进性适当优化[10],将其应用到现场进性实验验证。
3 现场运行测试及结果分析
我们将设计训练好的模型部署到宝钢钢管厂复检实验室进行验证,将模型预测结果和人工评片结果进行对比分析,比较两者之间的差异,以及对存在的误检情况进行详细的分析。
3.1 现场运行情况测试
2018年8月20日将该模型部署到宝钢钢管厂复检操作室进行测试,缺陷识别结果统计画面如表4所示。此处统计了2018年8月20日到2018年11月18日三个月的射线图像人工评片结果与实验系统的预测结果的差异,统计缺陷漏检和误检情况。表中每行分别为每周收集的全部钢管焊缝图像样本数,误检样本数(误检样本数是模型预测结果和人工评片结果不一致的钢管焊缝图像样本数)以及漏检样本数(漏检样本数指模型将有缺陷的样本判定为无缺陷的样本数),从表中可以看出,最高的一周漏检样本为4,后续将会对误检的样本以及漏检样本进行详细的分析。模型部署到现场实验测试,表4中将每周的运行运行情况进行了统计,每周的运行情况统计如下所示:
表3 现场试验测试中人工评片和模型预测结果对比统计表
10/22-10/28 1115 1082 33 648 466 0 437 10/29-11/04 1405 1364 40 724 681 0 641 11/05-11/11 1348 1312 35 921 427 1 395 11/12-11/18 1263 1228 35 846 417 2 386
3.2 漏检结果分析
“漏检”指的是将人工评片结果存在缺陷的样本识别为合格样本的情况。本文中对上述实验测试过程中的每一周的漏检图像进行详细分析如表4所示,漏检情况主要分以下几种:
表4 漏检情况分析表
(1)射线图像中的缺陷不明显;
(2)新缺陷(没有在之前的训练样本出现过);
(3)缺陷位置不在机器识别图像的区域内等。
笔者针对表4中所统计出的漏检情况,进行了详细的分析,后面再次将这些漏检图像作为训练样本让模型再次学习,对模型的缺陷识别区域进行限定,对模型进行优化。后续采用优化后的模型对探伤图片进行识别,原有漏检图片已经能够识别,真正实现了漏检率为0。
3.3 误检结果分析
现场试验过程中,对每周的误检图像按照缺陷类型做了分类如表5所示,由于篇幅限制此处仅展示了3周的误检图像分析情况。从表5中可以看出,误检的图像主要分以下几种:凹坑或压痕导致的误检、飞溅导致的误检、气孔或夹渣或夹珠导致的误检、咬边或未熔合或未焊透导致的误检以及实际误检情况。
表5 误检情况分析表
误检的详细原因可以分为以下几种情况:凹坑或压痕导致的误检、飞溅导致的误检、气孔或夹渣或夹珠导致的误检、咬边或未熔合或未焊透导致的误检、实际误检。如图2所示,分别对几种误检情况进行介绍,其中只要“飞溅”这个误检经过和焊管厂工艺人员沟通确认,不需要模型识别出来以外,其他除实际误检以外的图像,都可以作为缺陷情况报出。因此该套模型的实际误检仅为如表5中所示的飞溅类型,最大误检率仅为2.6%。
图2 误检图像分析图
4 结论
本文针对宝钢UOE焊管厂焊缝缺陷自动识别的需求,基于卷积神经网络图像识别原理,采用VGG-16深度学习模型框架实现对焊缝缺陷的自动识别。该算法直接将经过预处理后的X射线焊缝图像作为输入向量,利用深度学习模型获取其缺陷特征,从而有效避免了人为主观因素对识别结果造成的不良影响。通过对该模型进行两个月的现场实际测试数据统计,对于明显的缺陷能够实现100%的识别,实现无漏检;对于焊缝图像中的飞溅类缺陷,虽然在和焊管工艺人员沟通后飞溅不作为焊缝缺陷,但仍对作业人员有一定的提示作用。目前该模型仅在固定机组进行试验,还不能完全覆盖所有钢管焊缝类缺陷,后续仍需不断完善,不断完善缺陷样本库,使该模型的对于钢管焊缝缺陷识别更稳定准确。通过实验分析和实际应用可知,该模型建立的思想与方法能广泛应用于各种类型部件缺陷的识别项目中,对焊接缺陷自动检测技术的工程应用有一定的参考价值。