基于图像的铸造缺陷类型识别

2021-11-25 09:08刘晶
机械工程师 2021年11期
关键词:孔洞铸件圆形

刘晶

(华东理工大学机械与动力工程学院,上海 200237)

0 引言

铸件质量对产品的性能影响较大,因此对铸件进行分析和检测是非常必要的。铸件缺陷包括孔洞类缺陷、裂纹类缺陷、表面缺陷类缺陷和铸铁形状、尺寸和质量不合格类缺陷,以及铸件成分、组织及性能不合格类缺陷[1]。通常可以通过外观和内部检查来检测铸件质量,铸件的表面形状及尺寸偏差等可以通过外观检查检测,内部检查主要用来检查内部孔洞和裂纹等缺陷。铸件内存在孔洞类缺陷,会减小有效承载面积,从而会影响铸件的力学性能和抗疲劳性及抗冲击性,也会对铸件的耐腐蚀性和耐热性有不良的影响[2]。当孔洞类缺陷受到局部应力较大时,就会产生裂纹,从而容易产生铸件疲劳失效及断裂。铸件内的裂纹类缺陷如果隐藏在铸件内部,会产生较大的危险,甚至会在使用过程中出现严重事故。孔洞和裂纹这类铸件内部缺陷,可以通过无损检测技术进行检测,目前一些学者结合图像处理技术来提取缺陷[3-12]。

对于铸件内部缺陷的检测,常用的无损检测方法包括射线检测和超声检测。射线检测效果最好,它能够直观地反映出铸件内部缺陷种类、形状、大小和分布情况。而超声检测尤其适用于大厚度的大型铸件,它可以比较精确地测出内部缺陷的位置和分布情况等。根据这两种检测方法的适用范围,本文选用工业CT进行铸件检测,工业CT是一种比较先进的无损检测方式,可以用来扫描非常复杂的铸件。通过工业CT设备扫描铸件后,可以得到一系列二维断层图像,通过这些图像能够看出铸件内部结构及内部缺陷的位置、形状、尺寸、分布情况等。对铸件进行工业CT检测,可以在线检测铸件是否存在缺陷,存在哪一类缺陷,实现实时检测,极大提高铸件质量,进而为改进铸造工艺提供参考。工业CT这种无损检测要比传统的检测方式更加先进,通过工业CT检测铸件,在改善铸件质量、识别铸件废品等方面起着重要作用。对铸件定期进行无损检测,监测其是否出现危险性缺陷,在防止和杜绝事故方面起重要作用[13]。通过工业CT进行铸件检测,从图像中可以直观地观察到大的缺陷,但是很多缺陷尺寸较小,因此必须通过图像处理的方法进一步精确地确定全部缺陷的空间位置及大小。

1 缺陷轮廓提取

1.1 粗提取

为了更好地提取图像轮廓,首先采用改进的中值滤波去除噪声。具体的方法是:逐行扫描CT图像,当处理每一个像素时,判断这个像素是否是滤波窗口所覆盖的邻域像素极大值或极小值。如果是,则采用正常的中值滤波处理该像素;如果不是,则不进行处理。改进的中值滤波能有效地去除突发噪声点,同时也能够保护目标图像的边缘。

在去除图像中的噪声后,通过迭代法求阈值对图像进行分割,其步骤如下:1)求出图像的最大灰度值和最小灰度值,分别记为Gmax和Gmin,令初始阈值ti=(Gmax+Gmin)/2(i=0,1,…n)。2)根据阈值ti将图象分割为目标和背景两部分,分别求出两者的平均灰度值G1和G2。3)计算新阈值ti+1=(G1+G2)/2。4)如果ti=ti+1,则ti就是阈值;如果不相等,则i=i+1,转第2步。

通过迭代法确定阈值后,图像分为目标和背景两部分,可以更好地提取出图像的边缘轮廓,从而找到缺陷部分的轮廓。目标像素值用1表示,背景像素值用0表示。

轮廓追踪分为粗提取和精提取两步,粗提取图像边缘像素的步骤如下:从图像左上角逐行扫描像素,以该像素和其相邻右方像素,相邻下方像素,相邻右方像素的下方像素构成一个2×2窗口,只要这个窗口属于图1中任何一种,则该像素就是图像的边缘像素,否则就不是图像的边缘像素。

图1 2×2窗口

在确定好图像的边缘像素集合后,需要将这些像素点按照顺时针或逆时针排序,以便确定出图像的边缘像素之间的邻接关系,使得内部缺陷轮廓的边缘数据实现有序。在轮廓追踪出图像轮廓及内部缺陷轮廓的边缘后,为后续的缺陷类型识别做准备。轮廓追踪首先在图像中按从上到下、从左到右的顺序搜索,找到的第1个像素值为1的点,这个点一定是最左上方的边界点,记为Pa。该点的右、右下、下、左下4个邻点中至少有1个是边界点,记为Pb。从Pb开始找起,按照8连通区域沿逆时针顺序找相邻点中的边界点Pc。如果Pc下一个顶点是Pa,则表明已经转了一圈,这个轮廓找到;否则从Pc点继续找,直到找到Pa为止。在找到这个轮廓后,再从没有搜索到的点开始继续重复上述步骤,去找其他的轮廓,直至所有边缘点都被搜索到,找到图像中所有的内外轮廓,搜索结束。

1.2 精提取

以粗提取得到的轮廓点作为控制点进行NURBS曲线拟合,然后将粗提取的轮廓点向NURBS曲线作投影,得到曲线上的投影点,这些投影点就是轮廓提取的亚像素坐标。轮廓提取过程中,粗提取得到像素级坐标,精提取得到亚像素级坐标。将精提取后的轮廓数据进行排序。

NURBS曲线的数学定义如下:

式中:ωi为权因子;Pi为控制点;Ni,k(t)是由节点矢量T=[t0,t1,…tn+k+1]按de Boor-Cox递推公式确定的k次规范B样条基函数。

通过粗提取和精提取可以提取出缺陷轮廓数据。

2 缺陷类型识别

在缺陷轮廓数据提取后,可以进行缺陷类型识别。孔洞类缺陷通常断面形状趋于圆形或椭圆形,深度有限。而裂纹类缺陷常常呈条纹状,主要是用长度和深度来表现,宽度尺寸较小。根据孔洞类缺陷和裂纹类缺陷自身的形状特征,引入圆形度和狭长度2个参数进行类型识别。对一个缺陷,需要通过计算圆形度和狭长度,确定其形状是更倾向于圆形或长条纹形,图2为缺陷类型识别流程图。

图2 缺陷类型识别流程图

圆形度是图像处理中很重要的一个参数,是表示物体圆形程度的指标,常常用于特征的提取与描述。圆形度能反映出孔洞类缺陷接近圆形的程度,圆形度C定义为

式中:A为缺陷的面积;P为缺陷的周长;C越接近1,缺陷越接近圆形。

设排序后的缺陷数据为(x0,y0), (x1,y1),…(xn,yn),那么缺陷面积A可以用下式计算:

狭长度是表示物体长形程度的参数,能反映出裂纹类缺陷接近长条纹状的程度,狭长度定义为

式中:a和b分别表示缺陷具有的最小面积外接矩形的长边和短边;e越接近1,缺陷形状越狭长。

本文通过旋转卡壳算法确定最小面积外接矩形,步骤如下:1)首先计算缺陷多边形的4个端点,用Xmin、Xmax、Ymin、Ymax表示。2)通过这4个点构造4条切线,确定2个“卡壳”集合。设置当前多边形最小面积为无穷大。3)顺时针旋转线直到其中一条和多边形的一条边重合。计算新矩形的面积,并且和当前面积最小值比较。如果小于当前最小值,则此值作为最小值,并保存与最小值对应的矩形信息。 4)重复步骤3),直到线旋转过的角度大于90°。5)得到外接矩形的最小面积,得到最小面积外接矩形的长边a和短边b。

3 实验结果

为了更好地识别出铸造零件内部缺陷,本文通过工业CT设备对1个铸造零件(如图3)进行扫描,获得多个断层截面图像。图像扫描矩阵为1203×1270,像素间的距离为0.08 mm。

图3 铸件图片

取其中一幅图像进行研究,图4为一幅工业CT仿真图像,图像中有孔洞类缺陷和裂纹类缺陷。采用改进的中值滤波对图4的图像去除噪声,并进行阈值分割后的图像如图5所示,在预处理后,缺陷更明显。图6为轮廓提取后的结果,从图中可以看到孔洞类缺陷和裂纹类缺陷共有11处缺陷。图7为放大后的内部缺陷。利用圆度和狭长度对图像中的缺陷进行计算,图8为该图像中11处缺陷的圆度和狭长度的对比,从图中可以看出第1到第10个缺陷圆度接近1,狭长度较小,形状近似圆形,属于孔洞类缺陷,第11个缺陷狭长度接近1,圆度较小,属于裂纹类缺陷。为了更准确地识别缺陷是孔洞类缺陷还是裂纹类缺陷,可以对该层图像相邻的上下几层图像采用同样的方法进行图像轮廓提取及缺陷类型识别,计算相邻几层图像缺陷的圆形度和狭长度,从而确定三维空间中缺陷是哪一类缺陷。

图5 预处理后图像

图6 轮廓提取后图像

图7 放大后部分缺陷

图8 圆度和狭长度对比

选择铸件同一方向的切片图像进行研究,如图4、图9、图10所示。3处切片图像处的缺陷数量如表1所示,从表中可以看出不同位置的切片图像处的缺陷数量不同,某些位置的缺陷数量要多于其他位置,这可以为技术人员改善铸造质量提供参考。

图4 工业CT图像

图9 第二处切片

图10 第三处切片

表1 3处不同位置的缺陷统计

4 结语

本文对工业CT图像中的孔洞类缺陷和裂纹缺陷的类型识别进行了研究,通过Microsoft Visual Studio 2013编写程序。此方法通过改进的中值滤波、阈值分割及通过2×2窗口首先提取出图像边缘轮廓,然后对内部缺陷轮廓进行排序,再根据孔洞类缺陷和裂纹类缺陷自身的形状特征,引入圆形度和狭长度2个参数进行缺陷类型识别。通过实验表明此方法可以有效地提取孔洞类缺陷和裂纹缺陷。此方法不仅适用于工业CT图像的缺陷类型检测,也可用于其他类型图像的缺陷类型检测。

猜你喜欢
孔洞铸件圆形
GJB 2896A-2020《钛及钛合金熔模精密铸件规范》解读
一种面向孔洞修复的三角网格复杂孔洞分割方法
孔洞加工工艺的概述及鉴定要点简析
废铸件推出装置
为什么窨井盖大多都是圆形的
熔模铸件缺陷分析及案例
环形凹槽类铸件铸造工艺
肥皂泡为什么是圆形?
圆形题
玻璃浆料键合中的孔洞抑制和微复合调控