周赵琪,丁明玥,朱晴晴,何 康,汪 玉,王振卫
(上海应用技术大学 化学与环境工程学院,上海 201418)
316L 不锈钢因其优异的耐腐蚀性能、抗粘污性能和高强度而被广泛应用于各个领域[1-2]。其表面质量对产品的外观、使用寿命和可靠性有重要影响,因此需要对316L 不锈钢进行表面抛光处理。传统的机械抛光可能会导致加工表面产生变形层和残余应力,无损伤的电解抛光得到了广泛的应用[3-7]。根据文献报道,抛光时间、温度和电流密度对316L 不锈钢电解抛光效果有显著影响[8-9]。在优化电解抛光工艺参数的过程中,研究人员通常使用探针式表面粗糙度测量仪来评估抛光效果。该方法可以有效评估抛光效果,然而在使用过程中也存在测量时间较长和材料表面被刮伤等缺陷[10]。
近年来,随着计算机技术的快速发展,基于机器视觉的无损表面检测方法日益受到广大研究人员的关注[11-12]。Samta 等[10]利用1040 碳钢和铝合金5083两种工件材料在不同工艺参数(切割工具、切削速度和切削深度)下的极化显微镜图像,并结合ANN 神经网络,成功开发了一个用于预测表面粗糙度的程序。Rifai 等人[13]利用CNN 神经网络算法直接从机械加工的表面纹理数字图像中评估表面粗糙度。虽然神经网络功能强大,但它们内部运行过程难以被理解和解释,被视为黑箱算法。而且神经网络通常需要更大的算力和更长计算时间[14]。利用图像特征提取的方法亦可对表面粗糙度进行准确评估,该方法的所需要的数据量小,而且模型具有可解释性。Liu 等人[15]提出了基于图像颜色分布统计矩阵作为特征变量的粗糙度评估模型。然而,在不锈钢电解抛光领域采用机器视觉进行表面检测的研究仍相对有限。尽管人眼可以直观地评估电解抛光不锈钢的抛光效果,但这种主观评估缺乏科学性和客观性。通常借助金相显微镜对材料的表面形貌进行观察和分析来评估抛光效果,但这种观察方法仅仅停留在视觉层面,没有实现定量化的抛光效果分析。因此,迫切需要一种可以结合电解抛光和金相显微镜观察的方法,能够定量评估不锈钢表面的抛光质量,以提高评估的客观性和准确性。
MATLAB 是一款数值计算及图形处理软件,可以实现数值分析、优化、统计、信号处理、图像处理等若干领域的计算和图形显示功能[16]。MATLAB 提供的GUI 平台,可以设计人机交互的图形用户界面,将计算结果以图形化的形式展示给用户,具有功能强大、简单易学等优点,在科学研究和教学中得到了广泛的应用[17-18]。
本研究使用MATLAB 软件对316L 不锈钢的金相图进行处理,通过选择图像中黑色像素占比和点蚀区域数量作为特征变量,来评估不锈钢的抛光效果。在此基础上,借助MATLAB GUI编程平台开发了一个基于上述图像定量分析过程的抛光效果评估程序。
选取太原钢铁集团有限公司生产的316L 不锈钢长方形片为基材,其化学组成如下:Cr 19.34%、Ni 10.75%、Mo 1.73%、C 1.12%、Mn 0.73%、Si 0.50%、S 0.11%、P 0.09%、Fe余量。
1.2.1 316L不锈钢电解抛光实验
电解抛光实验装置如图1所示。
图1 不锈钢电解抛光装置图Fig.1 Electrolytic polishing device of stainless steel
将前处理好的316L 不锈钢方形片(10 mm×30 mm×1 mm)作为阳极,纯铜片作为阴极,同时浸入电解抛光液中,选择不同参数进行电解抛光。
对温度、抛光时间和电流密度进行单因素优化实验[9],所选参数值如表1所示。
表1 电解抛光工艺参数的取值范围Tab.1 Value range of electrolytic polishing process parameters
表 2 不同温度分析结果Tab.2 Analyses results of different temperatures
1.2.2 不锈钢表面抛光表征方法
利用金相显微镜观察抛光后不锈钢表面形貌。采用表面粗糙度仪测量不锈钢的表面粗糙度(Ra)。同一样品测试3 个点,每个点测3 次,同一个点3 次测量结果的平均值与每次测量结果误差范围在±10%内方为有效数据,最后取所测3点的平均值。
1.2.3 抛光图像预处理
在MATLAB 中,采用图像增强[19]对316L 不锈钢电解抛光后的金相图进行处理并分析。图像处理通过getimage函数获取axes1中的图像,利用im2bw函数[20]先将图像二值化,识别到金相图黑色的点蚀以及划痕较深的像素点,再利用imerode 将二值化图像进行腐蚀处理,创建一个半径为3 的圆形腐蚀结构元素,将二值化腐蚀后的图像呈现在axes2 中。MATLAB GUI 实现图像处理与分析的系统流程如图2所示。
图2 MATLAB GUI图像处理与分析流程图Fig.2 MATLAB GUI image processing and analysis flow chart
1.2.4 特征变量选取
黑色像素点的数量计算是通过size函数获取图像像素矩阵的行数M和列数N,并将两个值相乘得到的像素总数。因此,对于一个大小为M×N的图像,总的像素点数量为M×N个。在此系统中,通过getimage函数获得axes2中的图像,并对所有像素值为0 的像素点(黑色像素点的像素值默认为0)进行计数,即可得到图像中黑色像素点的数量,利用set函数将像素点数量的字符串变量更新到静态文本控件中。
黑色像素占比为黑色像素值除以总的像素值,计算公式如下:
其中:R0表示黑色像素占比,N0表示黑色像素值,N表示总像素点。
腐蚀区域数量的计算是通过bwlabel 函数来实现的,首先通过getimage函数获得axes2中经过腐蚀后的图像,再将此图像进行反色,利用bwlabel 函数计算图像矩阵中白色的连通区域作为腐蚀点的区域数量,用set函数将区域数量的字符串变量更新到静态文本控件中。
1.2.5 MATLAB GUI界面设计与实现
MATLAB GUI 界面是由可自定义控件构成的用户界面,用户通过一定的方法选择、激活这些图形控件,使计算机产生绘图、数据分析等动作或变化[21]。设计的GUI 主要界面如图3 所示,其中主要功能包括:导入金相图、对抛光后的金相图进行图像处理、计算黑色像素值、黑色像素占比、点蚀的区域数量。
图3 主界面图Fig.3 Main interface diagram
当时间为90 s、电流密度50 A·dm-2,不同温度电解抛光后的金相图如图4 所示。由图4 可知随着温度的增加,不锈钢表面不均匀性和腐蚀点数量减少;但当温度继续升高时,某些区域腐蚀速率更高,导致点蚀的数量增加,因此点蚀数目先减小后增大。当温度在60 ℃时,点蚀数量最少,表面最光滑。
图4 不同温度不锈钢电解抛光金相图Fig.4 Metallographic diagrams of electrolytic polishing of stainless steel at different temperatures
图 5 不同温度电解抛光金相图预处理图像Fig. 5 Electrolytic polishing metallographic image preprocessing images at different temperatures
图5 展示了经过MATLAB 预处理后的金相图像,成功地保留了原始图像中的点蚀区域,并提高了其在图片上的识别度。图4(a)中划痕中有较深色部位在图5(a)中显示为点蚀。图4(e)中凹坑在图5(e)中也处理为点蚀而离散的小黑色区域有部分未能显示。图4(f)中浅色较宽的凹痕也未能识别,但连续的过抛点蚀和较大区域的点蚀区则得到较为准确的识别。
利用MATLAB GUI对黑色像素点进行分析,如表2 与图6(a)所示。随着温度增加,图像的黑色像素占比与点蚀的区域数量先减小后增大。当温度为60 ℃时,图像的黑色像素占比与点蚀的区域数量取得最小值,预测该条件为最佳操作温度。图6(b)为样品用探针式表面粗糙度测试值随温度变化曲线,其变化趋势与图6(a)一致,显示了MATLAB GUI图像分析方法具有较好的适用性。
图6 不同温度黑色像素占比与点蚀的区域数量以及不同温度的粗糙度图Fig.6 The proportion of black pixels and the number of pitting areas at different temperatures and the roughness map at different temperatures
固定实验温度60 ℃,电流密度50 A·dm-2,不同时间电解抛光后的金相图如图7所示。通过观察图像可以发现,随着抛光时间的延长,不锈钢表面变得平整,腐蚀点数量减少;但当时间继续延长时,可能会导致过度抛光,导致点蚀的数量增加,因此点蚀数目先减小后增大。在抛光时间为90 s 时,可获得最佳的抛光效果。
图7 不同时间电解抛光后金相图Fig. 7 Metallographic diagrams after electrolytic polishing at different times
图8为利用MATLAB对图7的金相图进行预处理之后的图像。与图7 相比,图8(a)和图8(b)能够较为清晰地呈现不锈钢表面的划痕与点蚀,这与图7(a)和图7(b)中划痕较窄、颜色较深有关。
图8 不同时间电解抛光金相图预处理图像Fig.8 Preprocessing images of metallography for electrolytic polishing at different times
利用MATLAB GUI对黑色像素点进行分析,如表3和图9所示。
表3 不同时间分析结果Tab.3 Analysis results of different times
图9 不同时间黑色像素占比与点蚀的区域数量以及不同时间的粗糙度图Fig.9 The proportion of black pixels and the number of pitting areas at different times and roughness map at different times
随着抛光时间的延长,不锈钢黑色像素占比先减小后增大,时间为90 s 时不锈钢的黑色像素占比最小,点蚀的区域数量也呈现类似趋势。根据黑色像素占比与点蚀的区域数量可预测90 s为最佳抛光时间。图7(a)和图7(b)中的划痕反馈在图像分析中也归类为点蚀,使得统计得到的黑色像素值和黑色像素占比明显增多。但由于划痕和点蚀均属于肉眼观察不可接受的抛光缺陷,统计归于一类对结果影响不大。作为对照,抛光时间对粗糙度的影响如图9(b)所示,结果也表明抛光90 s 可获得最小表面粗糙度。
当抛光温度为60 ℃、时间为90 s 时,不同电流密度下的不锈钢表面金相图如图10所示。
图10 不同电流密度电解抛光后金相图Fig.10 Metallographic diagrams after electropolishing with different current densities
随着电流密度的增加,腐蚀速率也逐渐增大,从而使不锈钢表面不均匀性减少,腐蚀点数量减少;但当电流密度继续增大时,某些区域腐蚀速率更高,导致点蚀的数量增加,因此点蚀数目先减小后增大。当电流密度为50 A·dm-2,不锈钢表面点蚀数目最少,表面最光滑。在35~45 A·dm-2不锈钢表面有未去除的机械划痕表现为颜色浅、较宽,而55 A·dm-2以上的电流密度则带来较多的点蚀。
通过MATLAB 对图10 的金相图进行预处理之后的图像如图11所示。
图11 不同时间电解抛光金相图预处理图像Fig.11 Preprocessing images of metallographic of electrolytic polishing with different current densities
相较于图10(a),图11(a)对金相图中难以肉眼观察到的点蚀进行了增强处理,从而使其更易于辨认。但图11(a)、图11(b)、图11(c)未能反馈划痕未去除的情况。
利用MATLAB GUI对黑色像素点进行分析,如表4和图12所示。
表4 不同电流密度分析结果Tab.4 Analyses results of different current densities
图12 不同电流密度黑色像素占比与点蚀的区域数量以及不同电流密度的粗糙度图Fig.12 The proportion of black pixels and the number of pitting areas at different current densities and the roughness map of different current densities
随着电流密度的增大,黑色像素占比和点蚀的区域数量先减小后增大。电流密度为50 A·dm-2时,不锈钢的黑色像素占比和点蚀的区域数量达到最小值,可预测该电流密度为最佳抛光参数。图12(b)为表面粗糙度随电流密度的变化曲线,电流密度为与50 A·dm-2可获得最小表面粗糙度,与图像定量分析结果一致。
利用MATLAB GUI 对图像黑色像素点定量分析结果为:温度为60 ℃、时间为90 s、电流密度为45 A·dm-2的条件下抛光效果最佳,该结果与探针式粗糙度测量结果一致。
本研究开发了一个基于MATLAB GUI 的图像定量分析抛光效果评估程序,对金相图进行二值化和腐蚀处理,处理后的图像能够比较有效地保留原始图像中的点蚀区域,并提高其在图像上的辨识度。与传统的刮伤材料表面的探针式粗糙度测量方法相比,该方法不会造成材料表面的损伤;与传统的基于目视观察金相图的方法相比,本方法表现出更高的客观性,超越视觉层面,实现了定量分析,具有较好的应用价值。但该方法也存在一定局限性,在复杂工件的金相图拍摄过程中,存在一定程度的技术难度;其次,目前的金相图定量分析仅针对点蚀缺陷,对颜色较深较窄的划痕识别为离散的点蚀,而对颜色较浅、较宽的划痕在识别准确度上有失真,对图像划痕部分的深入分析尚待进一步的研究和探索。综上,本研究开发的基于图像分析的抛光效果分析平台可作为一种无损、数值化的抛光效果评估方法应用于电解抛光产品表面质量检测分析中。