摘要:金属腐蚀过程中,界面上存在化学和电化学多种反应[1]。腐蚀会显著降低金属材料的力学性能,破坏金属构件的几何形状,缩短设备使用寿命,甚至造成灾难性事故[2]。中国工程院2015年重点咨询项目“中国腐蚀现状与控制策略研究”的研究结果表明,中国每年因腐蚀造成的经济损
金属腐蚀过程中,界面上存在化学和电化学多种反应[1]。腐蚀会显著降低金属材料的力学性能,破坏金属构件的几何形状,缩短设备使用寿命,甚至造成灾难性事故[2]。中国工程院2015年重点咨询项目“中国腐蚀现状与控制策略研究”的研究结果表明,中国每年因腐蚀造成的经济损失约为21278亿元,约占GDP的3.34%[3]。所以,解决金属腐蚀问题迫在眉睫。
在研究金属腐蚀问题的过程中,判断金属的腐蚀程度是不可或缺的工作。研究腐蚀发展程度对预测腐蚀行为、了解腐蚀机理和评价产品的可靠性有重要意义[4]。目前,对金属材料的腐蚀等级一般采取人工判断结合标准评价的方式。比如GJB 6461-2002《金属基体上金属和其他无机覆盖层经腐蚀试验后的试样和试件的评级》中采用腐蚀面积对金属试样的腐蚀等级进行评价[5]。但是,这种评价方式检测速度慢,检测人员工作强度大,专业性要求高。特别是在腐蚀发生的早期,人工很难判定腐蚀发生的具体区域,而且腐蚀区域分布不均匀、形状复杂,面积百分比难以获取。
在金属腐蚀的研究过程中,会获取大量的金属外观图像。在金属腐蚀图像中,存在大量与腐蚀相关的信息,如腐蚀坑的分布、形状等[6-7]。此外,近年来机器视觉技术作为一种新兴技术,伴随着人工智能技术的快速发展而备受关注[8]。计算机视觉可以模拟人眼的视觉功能,并通过算法分析代替人工判断,目前已经被广泛应用于各种民用基础设施的检查与检测任务中[9-10]。这使得基于图像处理的金属腐蚀检测评估成为可能。
目前,以图像处理的方式研究金属腐蚀主要集中在腐蚀区域定位方面。早期的腐蚀区域定位主要采用纯粹的图像处理方式。HARALICK等[11]提出灰度共生矩阵来描述纹理特征,进行腐蚀检测。GUNATILAKE等[12]利用COHEN[13]提出的六阶小波对飞机外壳上的腐蚀进行检测,使用的特征是从8×8的像素区域内获取的能量值,腐蚀区域与未腐蚀区域采用最近邻分类器进行分类。ITZHAK等[14]通过图像二值化处理技术获取不锈钢腐蚀图像呈现的孔蚀率特性。郭建斌等[15]通过图像识别技术对水工钢结构的腐蚀形貌特征及分布状况进行定量化研究,并通过室内试验对图像识别技术进行验证。然而,随着深度学习的发展,现如今的缺陷检测已经不仅仅局限于纯粹的图像处理,也有学者借助深度学习对缺陷区域进行定位。陈桂娟等[16]提出了以腐蚀图像信息为特征、支持向量机为识别器的CO2腐蚀类型识别方法。陈法法等[17]针对传统方法难以精确分割出金属构件腐蚀区域特征的难题,构建了一种融合双注意力机制和U-Net深度学习网络的锈蚀图像区域分割模型,结果表明所构建的模型能够有效地从复杂背景图像中分割出锈蚀区域特征。深度学习的引入大幅提高了腐蚀区域定位的准确性,但是对于金属腐蚀等级的评估,却少有人深入探讨。而且,目前基于图像处理的腐蚀等级评价方法主要基于腐蚀面积等单一指标进行评价,无法区分腐蚀程度不同的腐蚀区域,导致评价结果的准确度低,鲁棒性较差[4]。因此,笔者将着重探讨基于图像处理的多指标金属腐蚀等级快速评价方法。
本文先用基于滑动窗口法的卷积神经网络对金属外观图像中的腐蚀区域进行定位,然后提出一种基于标准色图谱信息表的腐蚀等级评价方法,实现对腐蚀特征信息的数字化和定量化。与传统的人工评价方式相比,本文所采用的方法未受到评价人员经验因素的影响,提高了腐蚀等级评价的准确性和评价速度。同时,降低了检测人员的劳动强度。此外,借助机器视觉高分辨率的特点,也可以对腐蚀的早期图像进行识别,对腐蚀等级进行精确评价。
为了提取腐蚀区域的特征参数,需要对金属外观图像中的腐蚀区域进行定位,使后续的特征提取范围更有针对性,从而提高特征参数提取的准确性。腐蚀区域定位属于机器视觉表面缺陷检测的应用。机器视觉表面缺陷检测在很多行业均有应用,涉及印刷[18]、电子[19]等多种行业和产品。腐蚀区域的准确定位是腐蚀等级评价结果准确的重要保证。
采用卷积神经网络进行腐蚀区域定位首先要训练腐蚀分类器,即输入图片之后,腐蚀分类器可以判定该图片中的区域是否发生腐蚀。训练腐蚀分类器的过程如图1所示。将收集到的图片分割成小图片,然后人工分成腐蚀和未腐蚀的类型,生成训练集和测试集,利用卷积神经网络训练生成腐蚀分类器。
图 1 腐蚀分类器训练过程
Figure 1. Corrosion classifier training process
基于以往环境试验中的金属腐蚀图像进行数据集的制作,图2为部分未腐蚀和腐蚀区域的原始图片。
图 2 数据集的原始图像
Figure 2. Original image of data se
将原始图像分割成32×32像素的小图片,作为卷积神经网络的输入。图3为部分分割后的32×32像素的小图片。对所有原始图片进行分割,共获取61 981张小图片,然后随机挑选其中的49 983张图片作为训练集,其中28 083张图片为未腐蚀,21 900张图片为腐蚀。其他11 998张图片作为测试集,其中7 043张图片为未腐蚀,4 955张为腐蚀。
图 3 分割后图片
Figure 3. Segmented image
由于所需的腐蚀分类器为二分类,且为了减少所需训练图片的数量和加速腐蚀区域定位的速度,采用TensorFlow搭建了如图4所示的较为简单的卷积神经网络结构。该网络结构共包括五层,其中前两层为卷积层,包括卷积和池化两个步骤;后三层为全连接层。该结构采用Relu作为激活函数,最终通过Softmax函数进行输出,判断输入的图片是否发生腐蚀。表1为该卷积神经网络每层的详细结构参数。
图 4 卷积神经网络结构
Figure 4. Convolutional neural network architecture
表 1 卷积神经网络每层的详细结构参数
Table 1. Detailed structural parameters of each layer of convolutional neural network
卷积网络结构输入核尺寸核数/个步长输出变量数/个卷积层132×32×35×5×36128×28×6456池化层128×28×62×2×1—214×14×6—卷积层214×14×65×5×616110×10×162416池化层210×10×162×2×1—25×5×16—全连接层15×5×16———12048 120全连接层2120———404 840全连接层340———282图5为卷积神经网络训练过程中训练集和测试集准确率和损失的折线图。可以看出,本文选取的卷积神经网络结构取得了很好的图像腐蚀判定效果。经过10次左右的训练之后,可以在测试集上获取到较高的准确率和较低的损失。
图 5 卷积神经网络训练过程中训练集和测试集准确率和损失的折线图
Figure 5. The line chart of accuracy (a) and loss (b) of training set and test set in the training process of convolutional neural network
图6为滑动窗口法取样示意图,取样时采用尺寸为a×b的小窗口在原始图像上逐步滑动进行取样。取样窗口初始位置为1,窗口以距离c逐步向右滑动到位置2、3,每次滑动之后对取样窗口内的图像进行取样。当窗口滑动到原始图像最右端的位置3时,再以距离d向下滑动到位置4,从左到右再次取样,直至取样窗口在整幅原始图像上完成滑动。
图7为利用腐蚀分类器和滑动窗口法进行腐蚀区域定位的流程。首先,采用8×8像素的滑动窗口在金属外观图像上进行取样,然后采用双线性插值将其放大至32×32像素的图像,再使用腐蚀分类器对放大后的图像进行腐蚀情况判定,若发生腐蚀则保留金属外观图像中该小图像对应的区域,否则将对应的区域转化为黑色的背景。将整幅金属外观图像的腐蚀区域定位完之后,即可得到腐蚀区域图像。
图 7 腐蚀区域定位流程示意图
Figure 7. Schematic diagram of process for locating corroded areas
部分金属外观图像腐蚀区域定位前后的效果如表2所示,采用交并比对腐蚀区域定位的准确性进行衡量。可以看出,所有图片的交并比均大于0.95,所以本文使用的方法不仅对腐蚀色差较为明显的黑色金属具有良好的腐蚀区域定位效果,对于铝、锌等白色腐蚀产物与基体色差较弱的情况同样适用。
表 2 腐蚀区域定位效果及交并比
Table 2. Corrosion area positioning effect and intersection ratio
金属外观图像腐蚀区域图像交并比为了评价产品的耐蚀性,需要对完成环境试验后的金属进行腐蚀等级评价,然后根据该结果对金属的环境适应性进行评价。传统的腐蚀等级评价方式多为定性的评价方法,通过单一的评价指标如腐蚀面积、质量变换率、腐蚀速率等进行评价,或者直接根据评价人员的个人经验进行腐蚀等级判定。因此,传统人工评价方式指标单一,主观性强且准确性较低。为此,本文同时根据腐蚀面积和颜色对腐蚀等级进行评价,通过腐蚀区域内部颜色的差异进行腐蚀程度的衡量,从而分成腐蚀程度不同的小区域,最后对整个腐蚀区域的等级进行综合评价,使得评价结果具有较好的客观性和准确性。
以往仅依靠腐蚀面积作为特征参数进行腐蚀等级评价,忽略了腐蚀区域内各部分腐蚀程度不同的问题[20]。通常情况下,同种金属材料腐蚀程度不同时表现出的颜色也有差异。所以,本文采用颜色作为特征参数对不同的腐蚀程度区域进行表征。采用K-Means聚类算法对腐蚀区域内部的像素进行颜色聚类,将颜色相近的像素聚集到一个聚类中心,表征其代表的腐蚀程度相近。
将所有腐蚀区域内的像素聚类后,可以获取数个聚类中心。为了衡量每个聚类中心的腐蚀程度,需要获取标准色图谱信息表,标准色图谱信息表中的部分标准色如图8所示。此外,每一个标准色都有一个腐蚀程度因子与之对应,腐蚀程度因子越大,该标准色对应的腐蚀程度越大。
对标准色图谱信息表进行训练首先要进行标准色的选择。为了选择出具有腐蚀代表性的标准色,本文采取直方图结合聚类算法的方式进行标准色选取。图9为单张金属腐蚀区域图像各分量的直方图,可以看出各分量的直方图基本符合正态分布,因此采用分位数进行标准色选择。
Figure 9. Gray value histogram of each component: (a) R component; (b) G component; (c) B component
每隔总数量的10%进行一次标准色的选取,即选取总数量的10%、20%…90%分位数对应的灰度值作为对应分量的标准色。然后,随机选取20张腐蚀区域图片,采用直方图分位数法选择标准色。为了获取可以对腐蚀区域进行最准确描述的标准色,采用颜色聚类将这20张图片的R、G、B分量的分位数灰度值聚成9类,再以灰度值0和255作为最终的标准色,共113=1 331个,如表3所示。
表 3 最终选择的标准色灰度值
Table 3. The final selection of standard color gray value
分量标准色灰度值采用已经标定过腐蚀等级的图片,对标准色图谱信息表中的腐蚀程度因子进行训练。具体的训练公式见式(1)。
式中:Fx+1为训练之后的腐蚀程度因子;Fx为训练之前的腐蚀程度因子;r为学习率,取值范围为0~1;G0为图片标定的腐蚀等级;G1为按照目前的腐蚀程度因子进行评价的腐蚀等级;P为图片中腐蚀区域的面积百分比。
对于标准色图谱信息表中的腐蚀程度因子随机初始化后,采用前期使用三维形貌仪和X射线能谱分析标定腐蚀等级的图片,根据训练公式对腐蚀程度因子进行训练,即可获得最终的标准色图谱信息表。
完成腐蚀区域像素聚类和标准色图谱信息表的训练之后,可进行腐蚀等级评价。首先通过最小欧式距离寻找每个聚类中心对应的标准色,即遍历标准色求取与聚类中心的欧式距离,选取最小欧式距离对应的标准色替代聚类中心颜色并进行之后的腐蚀等级评价。欧式距离的计算公式见式(2)。
(2)式中:r1、g1和b1均为聚类中心的颜色分量;r2、g2和b2均为标准色的颜色分量。
然后,根据公式(3)进行腐蚀等级结果评价。
式中:G为腐蚀等级评价结果;Pi为每一个聚类中心像素数量占产品外观图像像素数量的百分比;Fi为距聚类中心欧氏距离最近的标准色对应的腐蚀程度因子。
采用图像处理的方式对本文选取50张标定腐蚀等级的图片进行腐蚀等级评价,部分图片的腐蚀等级评价结果和代表性评价参数如表4所示。结果显示,其中48张图片的腐蚀等级评价结果与标定等级相同,准确率达到96%。因此,利用图像处理的方式对金属腐蚀等级进行评价的准确率较高,相较于人工评价方式效率高且客观性强。
表 4 腐蚀等级评价结果
Table 4. Corrosion grade evaluation results
金属外观图像腐蚀区域图像评价代表参数标定等级评价等级总腐蚀面积/%最大聚类中心面积/%R、G、B提出一种多指标评价方法,开展金属腐蚀等级的定量化评价。该方法利用卷积神经网络和滑动窗口法实现腐蚀特征分类及腐蚀区域定位,定位结果的交并比均大于0.95。此外,该方法是基于颜色聚类算法对不同腐蚀程度的腐蚀区域进行区分的,再结合训练后的标准色图谱信息表,实现对腐蚀等级的多指标快速评价,评价结果的准确率为96%。相较于传统的人工结合标准的评价方式,利用图像处理的方式评价效率高、准确性高和客观性强。
文章来源——材料与测试网
来源:成都律师蔡俊