杜志虎,韩亮,薛彦宇,丁胜夺
(中国石油集团安全环保技术研究院有限公司,北京 102206)
管道的长时间运输会导致管道内部发生变异,管道焊缝表面可能会出现气孔、夹渣、未熔合和未焊透等缺陷[1],这些缺陷会造成焊缝连接强度下降,应力集中,影响管道质量,甚至会造成管道事故。为了保证管道焊接件部位的质量,急需对管道焊缝进行高效和精准检测。传统的焊缝检测是人工依靠焊缝检验尺进行测量,但检测结果过于主观,检测效率低,难以满足现代化生产需求。伴随着科技的不断进步,传统射线底片经过底片扫描仪后可以形成X 射线数字化底片。然而,现场射线底片评定主要靠人工,但现在各行业对精度的要求越来越高,手工测量渐渐不能满足要求。总体来说,该方法总体成本相对较高、主观性大、效率低、对底片损伤大等缺点且射线对人体有害,人工评片越来越不能满足工业生产发展的需要。
上述检测方法虽然达到较好的检测效果,但过程烦琐,人工参与较多,易受现实环境和设备影响,难以实现实时的自动化、智能化检测。近年来,随着深度学习的快速发展,卷积神经网络(Convolution Neural Networks,CNN)、自编码网络(AutoEncoder, AE) 等被应用于焊缝表面缺陷检测。但深度学习需要大量的数据样本,大量检测模型被陆续提出,找出适用于焊接缺陷检测的深度学习模型是目前的研究热点及难点。目前,人工神经网络,统计模式和模糊理论等方法被应用于工业 X 射线图像缺陷检测。常用的分类方法有 BP( Back Propagation) 神 经 网 络[2]、CNN、模糊神经网络和支持向量机[3-5]等。何怡等人[6]对X 射线底片数字图像预处理后,提取焊缝缺陷的参数,然后利用统计模式识别方法对缺陷分类,实现管道焊缝的计算机辅助评判。G. Vámos 等人[7]摒弃了专家知识,运用基于贝叶斯网络的决策算法,自动识别和分类管道焊缝缺陷。但该方法在学习过程中的可行性较差,并且在实际应用中效果较差。T. W. Liao[8]设计了模糊 K-NN分类器和模糊 C 均值分类器,实现 X 射线检测的焊缝缺陷的分类,并通过实验发现无监督的 F-NN 算法能降低误检率漏检率,但其检测性能较差。T. Y. Lim等人[9]设计了基于 BP 算法的多层感知机网络模型,并通过实验证明该方法可克服神经网络训练时小样本导致的过拟合问题,具有较高的准确率。张晓光[10]提出的神经网络模型,可应用于焊缝缺陷识别系统中,在少量样本情况下仍有较高的识别率。王庆[11]、孙志刚[12]运用改进后的 Faster R-CNN 深度学习算法进行管道缺陷识别,具有识别精度高、成本低的优点。于志洋等人[13]针对检测精度与效率两个重要的工业指标,提出一种基于全卷积网络的级联分割、检测、滤波三种任务的缺陷检测方法。
综上所述:1) 管道焊缝表面缺陷检测有朝着智能化检测发展的趋势,在降低对物理实验条件要求的同时,不断加大对智能检测算法的依赖性。2) 高精度的检测算法通常具有复杂的计算和较长的处理时间,因此,追求焊缝缺陷检测算法在准确性和效率方面实现双赢,是智能化检测算法成功应用于实际的关键。
文章提出一种基于改进Mask RCNN[14]的管道焊缝缺陷检测算法(DCMask RCNN) ,通过该算法实现缺陷检测的步骤主要包含:1) 通过数字图像处理技术对X 射线图像进行预处理,采用自适应直方图均衡化(AHE)方法进行图像增强,提高图像的局部对比度以及获得更多的图像细节,同时提出一种数据增强方法—切片拼接;2) 使用DCMask RCNN确定焊缝区域,通过切片采样,获取多张包含焊缝的图像块;3) 使用DCMask RCNN 进行焊缝缺陷分割与特征提取;4) 使用DCMask RCNN进行焊缝缺陷检测。算法流程图如图1所示。
图1 算法流程图
论文采用的数据集为公开的GDXray数据集中的Welds,包含67张数字化射线照片的集合,这些照片来自焊缝缺陷识别的循环试验。图像像素大小为630 dpi。图像文件格式为TIFF,无压缩。图像为8位灰度值。在获取该数据集后,针对X射线图像具有噪声和对比度弱的特点,采用图像去噪和图像增强等图像预处理操作,降低/消除噪声和提高对比度。
1) 去噪
射线照相胶片通常有噪声和对比度不足,由于检验技术所涉及的内在因素,如非均匀照明和图像捕获设备的强度范围有限。扫描射线照相图像中的噪声通常以随机分布的像素为特征,其强度值与其相邻像素不同。为了减少/消除噪声,应用了高斯低通滤波器,高斯滤波是对具有高斯模板的图像进行卷积运算。模板遵循二维高斯分布:
其中: (x,y)为高斯分布上任意点的坐标,σ 为标准差,决定了高斯函数图的宽度,影响高斯滤波的程度。高斯核可以抑制较小尺度的信号,保留较大尺度的信号。因此,高斯滤波器应抑制噪声并保留前景图像中的缺陷细节,平滑缺陷并模拟背景图像中没有缺陷的焊道,从而得到一系列不同尺度的前景图像、背景图像和差异图像。
2) 图像增强
为了将图像强度值调整到指定范围以进行对比度拉伸,使用自适应直方图均衡化(AHE)对X 射线图像进行对比度增强。AHE 算法通过计算图像的局部直方图,重新分布亮度来改变图像的对比度。
由于GDXray 数据集中X 射线图像数量过少,会导致模型过拟合和检测效果差,因此论文采用几何变换对该数据集进行数据扩充,如水平、垂直翻转和镜像,从 15~30 度随机旋转建立管道焊缝缺陷数据集。同时,提出一种切片拼接方法在网络训练过程中使用,该方法对同一张或多张X射线图像裁剪一定尺度图像块后进行拼接,图2展示了该方法的示例图。扩充后的数据集包含422张图像。
图2 切片拼接
DCMask RCNN算法是基于Mask RCNN算法设计的,本节首先介绍Mask RCNN算法,引入空洞卷积,提出DCMask RCNN算法。
Mask RCNN[14]网络架构主要由三部分构成:1)ResNet-FPN 为ResNet[15]与FPN[16]的结合,包括3 个部分,自下而上连接、自上而下连接和横向连接;2) Fast RCNN[17],使用卷积神经网络(CNN) 提取图像特征,然后使用Region Proposal Network(RPN) 提取出ROI(Region of Interest) ,再使用ROI Pooling 将这些ROI 变成固定尺寸,再输入至全连接层进行边框回归和分类预测;3) Mask,实现分割任务。
论文将ResNet-FPN 中提取特征图的卷积层替换为空洞卷积(Dilated Convolutions)[18],整体的DCM RCNN算法的网络结构图如图3所示。
图3 DCMask RCNN网络结构
空洞卷积(Dilated Convolutions)[18]也称为膨胀卷积,膨胀卷积算子在过去被称为“具有膨胀滤波器的卷积”。使F:ℤ2→ℝ为一个离散函数,Ωr=[-r,r]2⋂ℤ2,k:Ωr→ℝ 为一个尺度(2r+ 1)2的离散滤波器。离散卷积算子*可以定义为:
论文采用[18]中的方法,使l作为一个膨胀因子,*l定义为:
其中,*l为一个膨胀卷积或一个l维的膨胀卷积,相似地,卷积*为1维的空洞卷积。
论文采用GDXray 数据集进行实验,在焊缝缺陷检测过程中,使用分割网络对管道焊缝和缺陷进行自动分割,焊缝缺陷分割效果如图4所示,其中,(a) 为原X 射线图像,(b) 为分割效果图,可以看出分割结果较好,焊缝缺陷几乎完全与背景分离。对分割后的焊缝缺陷进行标注,主要分为有缺陷和无缺陷两类,当焊缝存在缺陷时,用矩形框标注该缺陷。检测效果如图5 所示,其中,(a)为原始数据的一部分;(b) 为增强和焊缝缺陷分割后的图像;(c) 为检测到的缺陷效果图。
图4 焊缝缺陷分割结果
图5 焊缝缺陷检测
由实验结果可以看出,论文提出的算法具有较好的检测效果。其中数据增强起到巨大的作用,因为大量的数据是模型训练和表现好的基础,而少量的数据可能会导致模型特征提取不足、目标难以识别或产生过拟合。同时算法自动提取特征和对焊缝区域和焊缝缺陷进行分割,减少人为干扰,避免了手动导致的偏差,可以提高特征提取效率和丰富度,从而提高焊缝缺陷检测的检测效果和效率。
本文介绍并分析了一种新方法的设计和实施焊缝区域自动提取及焊缝缺陷检测。将空洞卷积代替Mask RCNN 中提取图像特征的普通卷积层,提出的DCMask RCNN 算法将焊缝区域提取、特征提取、焊缝缺陷分割及检测整合为一体,算法可以进行端到端的训练和优化,减少人工参与,提高了检测效果和效率。论文提出一种数据增强方法—切片拼接,使图像内容更丰富,模型可以获取更多的上下文信息。实验测试证明,本文提出的算法可以实现X 射线图像管道焊缝缺陷的较好检测结果。