张 思,石 峰
(1.中石化工程质量监测有限公司 , 北京 100020 ; 2.洛阳欣隆工程检测有限公司 , 河南 洛阳 471012)
目前,焊接技术被广泛应用于航空航天、机械、核能、船舶及石油化工等领域[1]。在焊接过程中,由于焊接参数不稳定、外界环境变化以及人为因素的影响,会导致焊缝中出现各种缺陷。如今,多种无损检测方法中X射线检测以清洁、方便、直观等特点已成为焊缝缺陷检测的重要方法[2]。随着计算机技术的发展,基于图像处理技术的焊缝缺陷检测将底片评定的工作交由机器来完成,大幅降低检测人员的工作量,同时提高了工作效率,并降低了误判漏判的可能。目前,利用图像处理方法对焊缝缺陷识别是当下的研究热点。本文对缺陷识别领域的研究方法以及成果进行了总结,分别介绍了焊缝缺陷图像的预处理及缺陷识别的相关内容。
焊缝射线原始图像在采集过程中,由于环境及设备因素影响导致图像噪声较多。如果不对原始图像进行预处理而直接对图像进行分割与识别,将会产生较多的伪缺陷,对真正缺陷的检出造成影响。因此,有必要对原始图像进行预处理。
滤波法是对焊接图像进行噪声抑制的最常用方法,可分为频域滤波与空域滤波。频域滤波是在一个频域内乘以滤波函数,运算量大,图像灰度区间窄、灰度小,限制了其应用。空域滤波作为最常用的降噪方法,是使用模板在图像空间进行邻域操作。空域滤波又可分为中值滤波与邻域滤波,其优点是运算速度快,但会导致图像部分边缘细节丢失。滤波前后的对比见图1[3]。
图1 焊缝图像滤波前后对比
申俊琦等[4提出焊缝图像自适应中值滤波的方法,对焊缝图像中的噪声特别是大噪声的去除效果较好。石涵等[5]利用图像噪声方差与灰度值的关系进行局部噪声方差估算,提出自适应邻域滤波法,在去除图像噪声的同时较好地保存了焊缝边缘与缺陷边缘细节。
原始图像经过降噪处理后会造成图像灰度亮度较窄、缺陷不清晰。因此,还需要对图像进行增强处理。增强处理后的图像见图2。
图2 焊缝图像灰度变换前后对比图
常用的图像增强方法有灰度变换与直方图均衡化。灰度变换可分为线性变换与非线性变换。线性变换又可分为全域线性变换与分段线性变换。全域线性变换对全部像素同时乘以相同系数,对全部像素做同倍数的增大或减小。分段变换对图像中感兴趣区域的灰度进行拉伸。非线性变换是按照要求的非线性变换对图像进行变换。指数函数、对数函数及平方函数等非线性函数是非线性灰度变换常采用的函数。
张志伟等[6]提出一种基于幂律灰度变换的改进型分段幂律曲线,最大程度对灰度中段进行拉伸,对始末段灰度拉伸较小,利用Otsu算法提取焊缝边缘阈值并以阈值作为分段曲线的分段点,把焊缝边缘信息集中在曲线中段,有效增强了焊缝边缘对比度。张翔松等[7]提出了一种非线性增强方法,可自动增强图像焊缝区,有效增强了环焊缝射线图像。
直方图均衡化是使原始直方图变成均匀分布的方法,也称为灰度均衡。直方图经均衡化后图像呈近似均匀分布,具有离散的灰度。直方图均衡化会扩大图像的灰度动态范围及量化层间隔,减少灰度级别,可能会导致伪轮廓的出现。图像目标处与背景过渡处像素点较少,均衡化可把较少像素的灰度合并变成背景点或目标点,使边界处变得陡峭。目标处与背景过渡处像素点较多,均衡化会增加像素灰度间的差距,增大背景和目标的对比度。
王明泉等[8]对原始图像进行全局直方图均衡,运用局部反差增强将图像按水平集分层,对每层进行降噪及反差增强,该法对图像的增强与降噪的效果较好。韩得水等[9]对图像进行同态滤波分频处理,将低频分量进行全局直方图均衡化,最后将高频分量与低频分量进行线性融合,处理后的图像突出了边缘信息,图像更加明亮。王磊[10]采用小波变换对图像进行多尺度分解,阈值去除图像噪声,采用直方图均衡对图像进行增强并对标准直方图法进行改进,最后采用同态滤波对图像亮度进行处理,获得了良好的视觉效果且对噪声具有较强的鲁棒性。
2.1.1焊缝缺陷分割
大多数的缺陷识别方法需要对缺陷的特征进行描述,因此要求对缺陷进行准确分割。 缺陷分割是根据缺陷目标区域变化特点,将焊缝图像中的缺陷目标提取出来,是焊缝缺陷检测的研究热点。
目前学者已对焊接缺陷的分割算法进行了大量研究。邵家鑫等[11]对双面焊焊接缺陷进行研究,采用基于逐列自适应二值化与改进霍夫变换分割算法,提升了焊缝重叠区域边缘的检测成功率,对微弱线缺陷的检出有着较好效果。殷鹰等[12]提出一种基于主成分分析的缺陷分割算法,对对比度低、噪声严重的焊缝缺陷有着较好的分割效果。赵贵[13]运用主成分分析法降特征向量维数,针对图像特征提出3×3窗口的分割法,取得了良好的分割效果。高炜欣等[14]提出一种基于大津法的缺陷分割算法,在无人工设定初始分割阈值时有着较高的分割成功率。梁硼等[15]采用B样条曲线拟合列灰度曲线,提取曲线极值点,通过定义的波动值及边界阈值进行极值点集合的修正,最后运用数学形态学及中值滤波对缺陷进行修正,解决了图像缺陷提取困难的问题。高炜欣等[16]将缺陷视为噪声,用密度聚类方法分割焊缝缺陷,成功率达95%。郝利华等[17]对非极大值抑制后的梯度直方图利用像素最值梯度方差自适应来获取缺陷边缘阈值,该算法在有效抑制噪声的同时也避免了伪缺陷的产生。由以上研究可知,焊接缺陷图像分割算法的构造形式、融合信息形式多样,较易获得函数最优解。但是假设条件以及模型参数较多,模型较为复杂[19]。
2.1.2焊缝缺陷的特征值提取
焊缝缺陷射线图像中的缺陷呈现出不同的形状,特征提取是在众多特征中提取有用的特征,用于图像缺陷的识别。李晔等[18]选用细长度、方向性、紧凑度、离心率、位置以及灰度分布特征描述算子对焊缝缺陷进行特征描述。
由于焊缝缺陷形态复杂,进行特征描述时选择单一的特征参数可能无法对焊缝缺陷进行准确全面的描述,一般情况会采用多个特征参数对缺陷进行检测。缺陷特征选择时,特征选择数量也要适宜,选择过多会增加计算难度,影响检测效率;选择过少将会降低缺陷的识别准确率。
2.1.3焊缝缺陷分类
目前,缺陷分类的基本方法是设计机器学习分类器,利用所选取的特征向量学习由输入样本到输出类别的判别函数,把被识别的缺陷归为一类。常用的算法有BP神经网络算法、支持向量机(Support Vector Machine,SVM)算法以及主要成分分析(Principal Component Analysis,PCA)算法等。
BP算法是按误差逆传播算法进行训练的多层前馈网络,可实现输入-输出的任意非线性映射关系,无需描述映射关系的数学方程,是处理不确定函数的重要工具。其本质为求取误差函数最小值,采用最速下降法,通过反向传播调整网络的权值与阈值,使网络误差平方和最小。具有较强的自适应性、鲁棒性及容错能力。庄志坚等[19]以图像处理技术为基础,通过Matlab建立了基于BP神经网络的图像识别系统,实现缺陷分类。高岚等[20]在连接权值系数中以分布式存储神经网络信息,解决了图像输入时的噪声和部分图像丢失问题,可较准确地识别焊缝缺陷。
SVM算法基本思路为准确划分训练数据集时分离出间隔最大的超平面。利用结构风险最小化原理,将样本特征点所在低维输入空间映射到高维空间,从而达到分类的目的。蔡晓龙等[21]利用SVM算法进行缺陷检测,运用PSO算法优化SVM模型,平均分类准确率达98%。李宁等[22]运用基于分段分形纹理分析法提取出焊缝缺陷特征值,将特征值输入基于SVM的焊缝缺陷分类器,缺陷种类识别准确率达97.5%。
PCA算法的基础为Kauhunen-Loeve变换,借助正交变换用更少的特征取代原特征,新特征是原特征的线性组合,使样本方差最大化。在变换时可获得数据的固有变异性,发现数据模式,还可有效去除噪声。王欣等[23]通过PCA对像素矩阵进行主元分析并结合模糊C均值聚类算法提高对缺陷识别率,对线形、圆形缺陷平均识别率达90.93%。高炜欣等[24]将PCA思想引入圆形与线形缺陷分类,大幅提高了运算速度,线形缺陷识别率达98%,圆形缺陷识别率达89%~98.8%。缺陷提取的准确性会对缺陷的识别产生重要影响,且焊接缺陷的分割与识别都需要算法来实现,算法的运行时间较长,因此提高缺陷的分割准确率及提高缺陷分割与识别的速度是目前缺陷检测的研究热点。
卷积神经网络(Convolutional Neural Networks,CNN)深度学习模型,是一种自动提取图像颜色、轮廓以及纹理等特征的模型。避免了复杂的特征提取过程,在扭曲不变性应用上拥有良好的鲁棒性。CNN主要包括卷积层、下采样层以及全连接层。典型的CNN结构见图3[25]。
图3 典型CNN结构
CNN具有局部感受野、权值共享及下采样的特点。局部感受野提取图像基本特征信息,由下层神经网络进行逐层整合,对更抽象的特征进行提取并拟合成网络。权值共享采用相同的卷积核对图像进行卷积,可检测不同位置的同类型特征,在具有较好平移不变性的同时减少了训练参数量,提高了模型的运算速度。下采样层可降低图像分辨率,减少隐含层特征信息复杂程度,提高特征信息输出时对平移翻转以及其它变形的鲁棒性。
余永维等[26]提出一种模拟视觉感知的深度学习网络,使可疑缺陷区域灰度信号直接通过深度学习层次网络,逐层挖掘可疑缺陷区域的本质特征,利用径向基网络实现缺陷识别,缺陷的识别率超过91%。刘涵等[27]采用CNN与Softmax分类器结合的方法,以缺陷和噪声为样本对CNN进行训练。姜洪权等[25]对经典池化模型进行改进,将随机森林与卷积神经网络结合,提高了缺陷的识别能力。陈立潮等[28]提出一种渐进式CNN,避免了图像的欠拟合与过拟合,降低了部分训练参数的优化量,对焊缝缺陷的识别精度达到98%以上。樊丁等[29]采用超像素分割算法与改进ELU激活函数构建CNN模型,焊缝缺陷平均识别准确率达97.8%。杨中雨等[30]采用灰度拉伸和中值排序对图像进行预处理,通过自适应矩估计的方式避免算法陷入局部最优解。夹渣、裂纹、烧穿、气孔以及未熔合的平均识别准确率达90.4%。李砚峰等[31]采用特征金字塔、减小网络深度、引入跳跃连接卷积块以及K-means算法改进YOLO网络,缺陷识别准确率达94.9%,处理时间为19.58 ms。
基于CNN的方法增加了CNN的层数及与其他模型的融合,克服了原网络结构简单、特征类别单一的不足。神经网络通过直接输入的原始图像进行训练,自动学习图像的特征表达,从而实现图像的识别分类,不需要缺陷提取与特征描述,排除人工特征提取中的不全面性与不完整性。但CNN方法的模型的参数量较大,模型训练时间较长。
随着计算机技术的发展,智能化技术在焊缝无损检测领域的应用占比正逐渐增加。目前还有许多难点需要解决,未来的研究方向应致力于以下几点:①提高射线图像的预处理质量。焊缝图像经过降噪处理后会导致图像的部分细节丢失,对后续的缺陷提取造成影响。今后应对现有滤波算法进行改进或引入新的算法,在有效去除噪声的同时尽可能保留图像细节。②提高缺陷的提取准确性及缺陷提取与识别的运算速率。缺陷提取的准确性会对缺陷的识别产生重要影响,目前的缺陷提取方法都存在些许不足。目前,缺陷提取与识别的运算速率较慢,检测效率较低,对现有得缺陷分割算法进行改进或引入新的算法,在保证检测可靠性的同时,尽可能地提高运算速率也是当下的研究热点。③深度学习方法的完善。未来的方向应致力于研究出更精准的学习框架,发挥出深度学习的强大性能,并降低学习模型的复杂程度,提高其实时性。