基于机器视觉的某种弹弹体硬度检测技术研究

2023-06-15 07:01王丽李艳飞郭秋萍任建荣崔瀚
包装工程 2023年11期
关键词:氏硬度压痕图像处理

王丽,李艳飞,郭秋萍,任建荣,崔瀚

(1.沈阳工学院,辽宁 抚顺 113122;2.辽沈工业集团有限公司,沈阳 110045;3.驻沈阳地区第二军事代表室,沈阳 110043)

在某种弹弹体的生产过程中涉及许多生产工序,而在这些生产工序中的检验环节包括外观尺寸和理化性能检验[1],并且某种弹弹体需要100%检验。某种弹弹体在加工成型后要对其弹体强度进行检验预判,其原因是弹体强度不但会影响某种弹使用时的安全性[2]和可靠性,同时对其勤务处理方面也有极其重要的影响。目前,生产企业对某种弹弹体的强度检验依据标准为布氏硬度印痕检测法,即根据一定范围内硬度与强度之间呈现的正比例关系对某种弹弹体强度进行检验合格性判断。生产过程中通过人工读取硬度圆直径的方法进行某种弹弹体硬度值的测量,采用的读数工具为读数显微镜,而这种采用人工操作方法一方面存在读数误差,另一方面降低了工作效率[3],进而可能导致安全风险和影响企业经济效益。因此,采用一种新的硬度检测方法替代传统人工检测,以提高某种弹弹体硬度检测工序的效率和数据准确性。

随着视觉检测技术的发展,基于机器视觉的在线检测技术在车牌识别、材料和成品的缺陷检测、产品外观尺寸测量以及材料硬度检测[3-11]等方面都得到了广泛应用。因此,为了解决在硬度检测过程中由于人工读数存在的缺点可能导致的问题,本文提出基于机器视觉进行某种弹弹体检测的方法。通过机器视觉自动获取图像并进行数字图像处理,从而实现对某种弹弹体硬度的自动检测和硬度值计算。

1 检测方法和装置

1.1 硬度检测原理

布氏硬度对硬度检测是一种可靠性较高的方法,因此在企业生产检验时对硬度的衡量普遍采用布氏硬度值。布氏硬度的测量原理是将一定直径的合金钢质圆球施加一定的试验力,并保持一定时间后,在被测物表面留下压痕直径,然后测量压痕留下的直径,原理公式见式(1)[3,12]。

式中:F为作用载荷;D为合金钢质球直径;d为检测件上的压痕直径。

1.2 测试方法

由于某种弹弹体是回转体,而根据布氏硬度的测量原理其只能在平面进行测试。所以为了解决回转体为非平面的问题,在对某种弹弹体进行加载作用力之前要对弹体打磨平面。打磨平面的大小与打磨装置接触弹体后的下降距离相关,根据某种弹所用材料的硬度圆测试合格的最大直径为3.4 mm,并且由于砂轮的宽度远远大于3.4 mm,所以在打磨平面时不需要有轴向运动,仅需要在径向下降。因此,根据图1 进行最小下降距离的计算,计算时H取3.4 mm,则砂轮沿着弹体表面径向下降距离h的值应取值为:

图1 某种弹弹体打磨平面示意图Fig.1 Schematic diagram of grinding plane of Certain ammunition body

式中:R为某种弹的圆柱部半径,但是为了保证压头压弹体印痕成型的可靠性,一般h的取值会在误差允许内尽量大些(根据弹丸口径确定)。在完成某种弹弹体的打磨后对打磨平面进行压痕,最后通过基于机器视觉的硬度印痕检测系统检测某种弹弹体的硬度。

1.3 某种弹硬度检测装置

根据布氏硬度检测的原理以及考虑与原有某种弹生产工位的匹配,某种弹布氏硬度检测装置应具有打磨弹体、压痕装置、压痕图像采集、图像识别与判定等功能,且在对某种弹弹体打磨之前采用如图2 所示的弹体夹紧定位装置将弹体固定,以保证打磨过程中弹体不会有转动。上述的压痕图像采集由工业CCD摄像机完成,并且为了保证采集效果在摄像机前加装了双远心镜头和环形光源,如图3 所示。压痕的识别和判定主要由计算机图像处理系统完成,上述2 部分组成了硬度印痕检测系统。在检测装置设计过程中遵循的设计依据为GB/T 231.1—2018、GB/T 231.2—2012以及JJG 150—2005,最终所设计的基于机器视觉的某种弹硬度检测装置三维结构如图4 所示。

图2 某种弹弹体夹紧定位装置Fig.2 Clamping and positioning device for Certain ammunition body

图3 压痕图像采集系统Fig.3 Indentation image acquisition system

图4 某种弹硬度检测装置三维结构Fig.4 Three-dimensional structure of Certain ammunition hardness testing device

2 检测算法

采用机器视觉检测某种弹弹体硬度的精度与图像的获取质量息息相关。由于某种弹的生产车间环境复杂且在打磨过程中也会留有一定的打磨痕迹,这些必然会增加获取图像的噪声。因此为了得到与实际相符的弹体硬度圆,结合生产现场实际的工作情况和文献[13]对图像的处理方法,得出本文制定的图像处理流程如图5 所示。图像处理软件选用Matlab。

图5 某种弹弹体硬度检测的图像处理流程Fig.5 Image processing flowchart of Certain ammunition body hardness testing

2.1 图像滤波

在对图像进行简单预处理即由RGB 图像转换为灰度图像后,需要对图像进行去噪,以获得有用信息更加明显的图像。对图像的去噪处理一般采用滤波的方法,但是由于噪声的形式是未知的,所以需要将多种滤波方法结合使用。根据图像处理所要提取硬度圆痕迹这一目标,首先采用中值滤波,其原因是这种滤波输出值为像素点邻域灰度级的中间值,进而能够将孤立的噪声点去除,滤波后的效果如图6b 所示。其次为了进一步去除图像噪声,在中值滤波的基础上应用空间域滤波处理图像,采用的模板为[1 1 1;1 1 1;1 1 1]/8,这种滤波方法能够在去除噪声的同时增强图像中剩余部分的细节,使图像的有用信息得到大幅度优化,滤波后的效果如图6c 所示。由于中值滤波和空间域滤波的效果有限,所以采用滤波效果较好的自适应滤波对图像噪声进行最后的去噪。自适应滤波以图像的局部矩阵和方差对图像进行处理后的结果进行输出。局部矩阵和方差分别由式(3)和式(4)估算,η为图像中像素的M×N的邻域[14];然后应用式(5)估算灰度值,其中式(5)中的ν2为噪声的方差,图像处理时n1和n2分别取8 和7。经过上述运算能够有效消除局部噪声,最终的滤波效果如图6d 所示。

图6 图像滤波处理效果Fig.6 Image filtering processing effect

在图6 中对滤波效果的判断主要通过“Canny”算子边缘检测结果来验证。该算子在边缘检测时寻找的是图像梯度的极大值,这里的梯度是图像对应二维函数的一阶导数,表达式为:

梯度的极大值采用由Gx和Gy为参数的范数表达,梯度的方向则表示为:

边缘检测时通过式(6)和式(7)对梯度的极大值和方向计算后,采用非极大值一致的方法找到局部极大值点,并将其他值置零以细化边缘,对应的检测原理如图7 所示。同时采用2 个阈值T1和T2对边缘进行识别和链接,其中T1用来识别边缘,T2用来链接断边,从而能够得到连续的边缘。由图6 可以明显看出,经过滤波后噪声明显减少,且滤波的效果随着滤波方法的使用逐渐提升,最终结果验证了本文提出滤波流程的准确性。

图7 一阶导数边缘检测原理Fig.7 First derivative edge testing principle

2.2 硬度圆特征提取

从图6 滤波后的结果可以看出,尽管硬度圆以外的无用信息相对于原始图像已经大幅度减少,但是要单独获得硬度圆的特征还需要进行图像形态学处理。

由图6d 中最后滤波的边缘检测结果可以看出,硬度圆的边缘仍然存在些许断点,因此先进行图像膨胀使硬度圆的边缘变长变粗,从而将硬度圆封闭。在图像膨胀过程中如果A被B膨胀,则表示为A⊕B={z|(B')z∩A≠Ø},这里B为结构元素。在对某种弹弹体硬度圆识别处理过程中采用了2 种结构元素,分别是正方形结构和圆盘结构。在Matlab 中的strel函数用于定义结构元素和像素值,硬度圆采用了strel('square',1)创建 1×1 像素的正方形结构和strel('disk',1)创建半径为1 的圆盘形结构对图像中的边缘进行膨胀,膨胀后的结果如图8a 所示。从图8a中明显的看出边缘线的变粗和断点的消失。

图8 硬度圆特性提取Fig.8 Extra

图像膨胀后需要对无用的边线信息进行腐蚀,这种操作称为闭操作[15]。为了进一步保证硬度圆的完整性,在腐蚀前需要对封闭的边缘进行图像填充,这样在腐蚀操作时能够将填充区域较大的部分保留,而无法实现填充的边缘区域就会被腐蚀消失。图像填充采用imfill 函数,所选参数为‘holes’,填充后的图像如图8b 所示。由图8b 中的填充结果可以看出,除了硬度圆被填充满其余边线均保持原样。腐蚀操作采用对边线进行收缩的方法消除边线。在图像腐蚀过程中,如果A被B腐蚀,则表示为AΘB={z|(B)z∩Ac≠Ø},这里Ac为A的补,B同样为结构元素。腐蚀采用strel('diamond',1)创建菱形结构腐蚀边线,Matlab 提供了imerode 函数进行腐蚀操作且由于膨胀过程中采用了2 种膨胀,因此进行2 次腐蚀,程序代码如下:

BWfs1=imerode(BWtc,SEfs);%对图像第1 次腐蚀

BWfs2=imerode( BWfs1,SEfs);%对图像第2 次腐蚀

腐蚀后的图像如图8c 所示。从图像处理结果可以看出,尽管已经提取了大部分硬度圆,但是在图像的边界处仍有微小的小斑点,如图8c 中圈出区域。因此需要对硬度圆外的小斑点进行清除,其方法为首先通过size 函数读取原始灰度图像的图像矩阵,然后定义图像中面积的最大、最小值分别为maxim=dim(1)*dim(2)和minim=round(maxim/8),最后使用bwareaopen 函数删除图像中面积小于minim 的区域对象。图像处理结果如图8d 所示,代码如下:

BWqc=bwareaopen(BWfs2,minim);%去除小区域面积。

2.3 硬度圆直径计算

由于原始图像硬度圆的边缘受打磨平面时所留下痕迹的影响,其边缘并不是十分光滑,所以最后经过图像处理的硬度圆并不是理想的圆形,不宜直接采用拟合圆边缘计算硬度圆直径的办法进行结果计算。但是根据布氏硬度测试和力学平衡原理可以应用面积等效的方法将识别出的硬度圆面积等效为等面积的圆形;然后再求取硬度圆直径作为最终的测量结果,其中图像中识别出的填充区域面积应用bwarea函数进行计算;最后应用圆面积计算公式求得硬度圆直径。程序代码如下:

area=bwarea(BWqc);%识别出的图像面积计算;

d=2*sqrt(area/pi);%计算圆的直径。

因为计算出的硬度圆直径的结果为像素值,并不是硬度圆的物理直径,所以需要进行像素值与实际直径物理值转换关系的标定。标定过程中使用特制的直径为1 mm 的标准圆形样块,如图9 所示。标定时通过计算标准样块的实际面积S与识别出的像素面积S1的比值,推算出样块实际直径与图像中圆直径的比例参数k,然后用k×d即为实际测得的硬度圆直径。

图9 标准样块标定Fig.9 Calibration diagram of standard block

3 实验验证

为了验证所采用算法的准确性,在生产现场随机抽取10 发某型号的某种弹产品进行硬度测试,所得数据与现场人工测量得到的结果进行对比。其中人工测量数据为工人处于精神饱满状态下测得的,以保证数据的准确性,测量后的对比结果如表1 所示。由表1 可以看出 2 组检测数据的绝对差值区间为0.03~0.16,因此为了进一步判断机器视觉测量数据的可靠性,需要对2 组数据是否存在显著性差异进行分析。

表1 某种弹弹体硬度机器视觉和人工检测数据Tab.1 Test data of a certain type of Certain tion body based on machine vision and manual testing

假设2 组参数的测量结果是服从正态分布的独立样本,应用独立样本T检验法对2 组数据是否存在显著性差异进行统计分析。当样本方差相等和不等时T统计量分别定义为式(8)和式(9)。

对表1 中数据进行分析,得出结果如表2 所示。从表2 可以看出,方差方程的Levene 检验齐性检验结果F统计量为0.522,概率P为0.479,均大于显著性水平0.05。因此方差具有齐性,2 组数据无显著性差异。T检验结果Sig(双侧)的值0.310 和0.311也均大于显著性水平0.05,因此也可以判定2 组数据无显著性差异。综合可以判定2 组参数无显著性差异,说明了视觉检测结果的可靠性和使用检测算法的正确性。

表2 独立样本T 统计量结果Tab.2 Statistical results of independent sample T

4 结语

本文采用机器视觉对某种弹弹体的硬度检测方法进行了研究。通过设计某种弹弹体布氏硬度检测装置和图像处理流程,并应用Matlab 图像处理技术实现了对某种弹弹体硬度圆特征的提取和直径的计算,经过现场实验和统计分析得到以下结论:

1)所采用的检测方法可行且能够提取某种弹弹体的硬度圆特征。

2)通过标准样块的标定能够计算出硬度圆的物理直径。

3)应用统计分析的方法验证了机器视觉检测所测数据的可靠性和正确性。

猜你喜欢
氏硬度压痕图像处理
高硬度区间P91钢的里氏-布氏硬度关系研究
抗压痕透明粉在精车铝轮毂上的应用研究
无人值守智能化洛氏硬度测试平台
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
用连续球压痕法评价钢断裂韧度
C/SiC复合材料纳米压痕有限元仿真
金属标准块显微维氏硬度检测中的不确定度评定
基于图像处理的定位器坡度计算
等强混凝土界面过渡区的纳米压痕表征