X射线成像缺陷特征自动提取显著提高大批量铝压铸件缺陷检测效率
moboyou 2025-05-08 13:28 33 浏览
导读
为解决铝合金压铸件X射线图像典型缺陷的特征提取维度缺乏、大量人工干预影响特征提取效率的问题,提出一种铝合金压铸件X射线成像典型缺陷特征提取算法。该方法对铝合金压铸件中的气孔、欠铸和变形等典型缺陷建立多个特征分析维度,利用滤波去噪、阈值分割等手段进行压铸件图像预处理,并通过提取缺陷周长和面积等多维度特征,实现气孔、夹渣缺陷的特征自动化提取。在部分企业实际生产的铝合金压铸件上的应用表明,该方法可有效地提取铝合金压铸件典型缺陷特征,可为后续缺陷检测识别工作提供参考。
随着铝合金压铸件的需求日益增长,在大批量生产时对质量要求也越来越高,因此对铝合金压铸件的质量检测十分重要。国内传统的是通过人工检测,过程繁琐、效率低下、结果不易存储并且人工经验依赖性强。而通过对铝合金压铸件X射线图像进行一系列的图像处理来辅助质量检测的过程能够明显改善以上问题,特别是通过阈值分割来处理图像。铝合金压铸件常见的缺陷有气孔、欠铸、夹杂和变形等。如果对识别好的缺陷进行多维度的分析,并自动提取到这些维度的数据,能够更好地帮助后续铸件缺陷的识别工作。Gianni D’Angelo等研究了信号处理以及数据在航天材料中用来诊断材料缺陷的有效性。张臻通过对ADC12铝合金铸件的研究,分析了气孔、缩孔以及气缩孔的圆整度、体积以及表面积等。杨勇等通过使用中值滤波器和线性滤波器来研究X射线图识别焊接缺陷。楼国红等利用动态阈值分割算法针对车轮轮毂计算缺陷面积和最长缺陷长度。动态阈值分割算法可以很大程度地保留轮毂中的缺陷并且同时去除掉很多不是缺陷的干扰噪声。XU等 对Otsu阈值分割算法进行了分析,能够通过理论计算得到最好的阈值。KAVITHA等 提出了一种分水岭算法用来阈值分割,计算方法更为简洁,可以在聚类图像实现较好的效果。JOHN CANNY则提出了一种关于边缘检测的算法。DANIEL WEIMEr等采用了深度卷积神经网络来对缺陷进行特征提取。为了更好地识别汽车铝合金压铸件中的典型缺陷,主要考虑气孔、夹渣等缺陷在X射线图中的周长以及面积。而为了实现铸件缺陷特征的自动提取,对铝合金压铸件X射线图进行了一系列的缺陷图像处理,包括滤波去噪、图像增强处理以及阈值分割处理。最后对处理完好的图像进行特征提取并自动给出相关参数。
01 缺陷图像处理
铝合金压铸件X射线图的采集过程会卷入大量的电磁脉冲噪音信号。没有经过处理的图像包含着很多干扰噪声,直接进行特征提取会造成很多噪声也被误认为缺陷,降低缺陷特征提取的准确度。因此主要对铝合金压铸件X射线图像进行三步处理:滤波去噪、图像增强处理以及图像阈值分割处理。
1.1 滤波去噪处理
一般来说图像会有一些噪音干扰。因而计算机处理图像的第一个步骤都是滤波去噪,以减少后面处理的出错概率。选择了中值滤波器、均值滤波器、高斯低通滤波器以及巴特沃斯低通滤波器。通过对比这些滤波器的滤波效果,选择最有的方法。
将同一张图像用不同滤波器处理,效果见图1。
图1 不同滤波器下图像预处理效果
从图1可以看出,在经过中值滤波器之后,图片并没有发生很大的变化,见图1b。经过均值滤波器之后,图像的细节开始变少,对于图像的后续处理效果不明显,见图1c。经过高斯滤波器之后,图像的整体质量变得更好,铸件的细节没有丢失,相比于均值滤波器和中值滤波器,高斯滤波器处理出来的结果较好。经过巴特沃斯滤波处理之后的图像变得很模糊,见图1d。综上,针对汽车铝合金压铸件X射线图,高斯滤波器能够起到很好的作用。因而,采用高斯滤波器作为图像预处理的第一步。
1.2 图像增强处理
经过滤波去噪处理之后的图像,图像的质量已经得到改善,但图像中仍存在着缺陷与图像背景不能很好区分的问题。为使缺陷与背景能更易区分,需增强图像对比度。分析了灰度变换、直方图修正处理的效果。
将高斯滤波处理后的图像用不同灰度变化处理,效果见图2。
图2 不同增强处理下图像预处理效果
从图2b可以看出,通过线性处理,图像的整体对比度有所提升,且图像中细节没有得到破坏,缺陷也能够被更加清楚的显示出来,但线性处理比较单调,只能调高图像中的对比度。从图2c可以看出,背景处理的效果比较明显,但是铸件内部的部分细节也因为整体的变亮而变得不够清晰。这样的处理效果没有线性处理好。在经过直方图处理之后,图像的整体亮度有了很大的提升,对比度也有所增加,见图2d。对比之下,选择线性增强的方法。
1.3 图像的阈值分割
经过图像的滤波处理和增强处理之后,最后对图像进行阈值分割。分割图像之后,很多缺陷能够很容易被肉眼识别出来,并且主要特征也能够很顺利的被提取出来。常见阈值分割方法的有Otsu以及迭代法两种分割方法。
(1)Otsu阈值分割
此算法最大的特性就是使两类像素点之间的区分度能够达到最大。同时,对于一些灰度直方图上存在着双峰现象的图像,也能达到一个很好的效果。其原理是将初始图像进行直方化处理,得到灰度的直方图,进行归一化处理。确定一个初始阈值,从而可以将整个图像分为两类,大于阈值的以及小于阈值的,将这两类灰度所占的比例记为和,同时记录下平均灰度和,整个图像的平均灰度被记为。再进行遍历整个图像,计算出每个像素点的类间方差,而类间方差值最大的像素点,它的灰度值则正好是Otsu算法所确定的阈值分割方法的最佳阈值。
(2)迭代阈值分割法
迭代阈值分割法是基于Otsu算法并对其进行了一些优化。迭代阈值分割法是利用逼近极限的方法来优化Otsu算法,基本原理与Otsu也有些相似。迭代阈值分割法主要处理步骤如下:首先取出初始图像的灰度范围,取灰度范围的中间值作为初始阈值,与Otsu算法相似,接着可以得到两个像素类的平均灰度和,新的阈值则直接取两个像素类的平均灰度的平均值。如果两者之间相差小于给定的误差参数,则新阈值直接确定为最佳阈值,否则重复上述,直到找到最佳的阈值停止。
(3)阈值分割比较
将线性增强后的图像用不同阈值分割处理,结果见图3。
图3 不同阈值分割方法下图像预处理效果
可以看出,Otsu阈值分割的方法总体上效果较好。铸件整体的形状与轮廓都比较好的被呈现出来,并且在铸件的左上角的一处欠铸的缺陷没有缺失。但在部分铸件内部区域,出现了一些空洞,这些空洞的位置在原来铸件上是没有缺陷的,但是在经过阈值分割后可能会被认为有缺陷存在。迭代阈值法所建立的效果也较好,铸件整体都被提取出来,但是它也会分割出一些空洞。在将图像放大之后,迭代阈值分割法分割出来的图像像素点连续度比Otsu阈值分割法分割出来的图像稍差一些。两者对比之下,差距并不是很大,最后选择图像放大后表现性能稍好的Otsu算法。
02 特征提取算法
完成对铝合金压铸件X射线图的图像处理之后,需要对图像的缺陷进行特征提取。针对铝合金压铸件气孔缺陷和夹渣缺陷的面积特征以及周长特征进行特征提取。气孔缺陷以及夹渣缺陷都是常见的铝合金压铸件缺陷并且这些缺陷在X射线图上面能够很明显的反应出来。面积以及周长的提取是基于连通区域来进行提取的。
2.1 连通区域
以图像中的一个像素点为中心,与中心像素点相毗连的八个像素点则被定义为中心像素点的连通区域。由于连通区域拥有传递性,由金属缺陷所表现出来的空洞可以被识别出来成为一个连通区域,见图4。
图4 连通区域示意图
2.2 缺陷区域的识别
由缺陷区域像素点连成的连通区域即为缺陷区域。缺陷区域的识别使用经典的深度优先算法(DFS)。通过深度优先算法来实现缺陷区域提取的具体步骤如下:
步骤1:遍历图像中所有的像素点,对每个像素点进行判断:①如果像素点的值为1, 即为缺陷区域,则进行以下的步骤。②如果像素点的值为0,即不为缺陷区域,则继续遍历下一个像素点。③如果像素点已经被遍历过了,则继续到下一个像素点。直到所有像素点都被遍历。
步骤2:以目前的像素点为中心像素点,看中心像素点周围的8个像素点是否有值也为1的像素点。
步骤3:如果中心像素点周围含有值为1的像素点,并且数量为1,以这个值为1的像素点为新的中心像素点,重复步骤2。
步骤4:如果中心像素点周围含有值为1的像素点,并且数量不止一个,则轮流对每个点重复步骤2。
步骤5:如果中心像素点周围没有含有值为1的像素点,则将这个像素点标记为边缘像素点,回到步骤1遍历下一个像素点。
2.3 缺陷区域的面积提取
在得到缺陷区域之后,进行缺陷区域的面积计算。缺陷区域的面积等于缺陷区域内像素点的个数。通过直接对缺陷区域的像素点个数进行计算,可以很直接地得到缺陷区域面积。
2.4 缺陷区域的周长提取
缺陷区域的周长计算相较于面积复杂。周长并不是缺陷区域边缘区域像素点的叠加。具体的计算是找到缺陷区域边缘位置的像素点,选取任意一个像素点作为起点,以顺时针或者逆时针的方向找到下一个边缘上的像素点,再找到下一个邻近的边缘像素点,并且计算第2个点与第3个点之间的距离,最后将所有点的距离进行求和,得到的总和即为缺陷区域的周长。
03 试验和结果分析
3.1 提取数据
实验所用到的数据图像,都是实际生产的一些汽车铝合金压铸件X射线图像,见图5.
图5 汽车铝合金压铸件X射线图像
这些缺陷包括欠铸、变形、气孔等等。
3.2缺陷部位图像处理之后得到的图像
经过缺陷区域的提取之后,得到主体是缺陷部分的图像,采用图像预处理方法以及图像阈值分割的方法,对图像进行处理。第一步是使用高斯滤波对图像处理,然后通过线性增强,最后通过Otsu阈值分割方法对图像进行处理。图像预处理后的结果见图6。
图6 图像预处理之后气孔缺陷
可以看到,光线对于提取到的图像质量有一定影响,图6a图像和图6c图像受强光源影响较大,形成了大片的白色区域,对气孔缺陷的面积提取较为不利,并且前期的预处理过程难以解决这个问题,可能需对光源进行一定的处理。但总体来说通过预处理和阈值处理,能够很好的将汽车铝合金压铸件X射线图像处理成能够轻易分辨气孔缺陷的二值图像。
图7是夹渣缺陷的图像处理。夹渣缺陷在X射线图像中表现为表面的白色斑迹,并且可能会伴随着铸件表面的一些突起。因此在对夹渣缺陷进行图像处理的时候,Otsu阈值算法效果一般,相比之下,局部阈值的分割方法得到的效果要好很多,因此夹渣缺陷的阈值分割方法是采用局部阈值进行分割得到的。
图7 图像预处理后的夹渣缺陷
整体来看,铸件表面的白色斑迹都被阈值分割给处理出来的,整体比较明显,效果较好。
3.3 图像缺陷特征的提取
在得到清晰含有缺陷的二值图像后,可以对图像中缺陷的面积和周长进行提取。采用的是MATLAB来实现面积和周长的提取。首先是通过MATLAB对气孔缺陷的特征提取,见图8。
图8 气孔缺陷的特征提取效果
其中,缺少了阈值处理后得到的第三张图片(气孔缺陷c),见图8c,因为图像被光源污染,导致最后只能提取出来一大片的白色区域,所以最后没有展示出来。图像中气孔的面积和周长特征提取到的具体值见表1。
图8a中有一连串的气孔,普遍面积较小,并且有一部分气孔被白色光源污染导致无法被提取。其他气孔的面积和周长都被很好的提取出来了,如果在拍摄图像的时候对像素点的长度进行标度,也就能直接得到气孔缺陷的面积和周长了,对后续的工艺分析能够提供帮助。
然后展示对夹渣缺陷面积和周长的特征提取,同样首先先对图像中的缺陷部位进行捕获,见图9。
图9 夹渣缺陷的特征提取效果
从图9可以看出,提取效果整体较好,但会出现一些过度提取的情况,这个时候需要人工来帮助判断具体哪一个部分才是真正的夹渣缺陷。表2为提取到的缺陷的周长和面积。
04 结论
针对铝合金压铸件典型缺陷的特征进行提取,通过使用高斯滤波处理、线性增强、Otsu阈值分割法及局部阈值法对图像进行处理,得到经过处理的二值图像,最后对二值图像直接进行特征提取。整个过程基于MATLAB实现了对缺陷的面积和周长特征的自动化快速提取,解决了铝合金压铸件X射线图像典型缺陷的特征提取维度缺乏、人工干预影响特征提取效率的问题。由于铝合金压铸件X射线图主要呈现二维图像,本次试验的铝合金压铸件缺陷特征提取主要集中于二维数据的提取,希望以后能出现很好的三维铝合金压铸件X射线图并且便于进行缺陷特征的提取。
文献引用格式:傅可清,马源,伍缘杰,等. 铝合金压铸件X射线成像典型缺陷特征提取算法与实现[J]. 特种铸造及有色合金,2021,41(12):1472-1477.
相关推荐
- Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录
-
首先介绍一下此函数:SHEETSNAME函数用于获取工作表的名称,有三个可选参数。语法:=SHEETSNAME([参照区域],[结果方向],[工作表范围])(参照区域,可选。给出参照,只返回参照单元格...
- Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用
-
一、函数概述HOUR函数是Excel中用于提取时间值小时部分的日期时间函数,返回0(12:00AM)到23(11:00PM)之间的整数。该函数在时间数据分析、考勤统计、日程安排等场景中应用广泛。语...
- Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用
-
原创版权所有介绍一个信息管理系统,要求可以实现:多条件、模糊查找,手动输入的内容能去空格。先看效果,如下图动画演示这样的一个效果要怎样实现呢?本文所用函数有Filter和Search。先用filter...
- FILTER函数介绍及经典用法12:FILTER+切片器的应用
-
EXCEL函数技巧:FILTER经典用法12。FILTER+切片器制作筛选按钮。FILTER的函数的经典用法12是用FILTER的函数和切片器制作一个筛选按钮。像左边的原始数据,右边想要制作一...
- office办公应用网站推荐_office办公软件大全
-
以下是针对Office办公应用(Word/Excel/PPT等)的免费学习网站推荐,涵盖官方教程、综合平台及垂直领域资源,适合不同学习需求:一、官方权威资源1.微软Office官方培训...
- WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!
-
办公最常用的60个函数大全:从入门到精通,效率翻倍!在职场中,WPS/Excel几乎是每个人都离不开的工具,而函数则是其灵魂。掌握常用的函数,不仅能大幅提升工作效率,还能让你在数据处理、报表分析、自动...
- 收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程
-
原创版权所有全程图解,方便阅读,内容比较多,请先收藏!Xlookup是Vlookup的升级函数,解决了Vlookup的所有缺点,可以完全取代Vlookup,学完本文后你将可以应对所有的查找难题,内容...
- 批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数
-
批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数在电商运营、物流对账等工作中,经常需要统计快递“揽收到签收”的耗时——比如判断某快递公司是否符合“3天内送达”的服务承...
- Excel函数公式教程(490个实例详解)
-
Excel函数公式教程(490个实例详解)管理层的财务人员为什么那么厉害?就是因为他们精通excel技能!财务人员在日常工作中,经常会用到Excel财务函数公式,比如财务报表分析、工资核算、库存管理等...
- Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!
-
工作中,经常需要从多个单元格区域中提取唯一值,如体育赛事报名信息中提取唯一的参赛者信息等,此时如果复制粘贴然后去重,效率就会很低。如果能合理利用Tocol函数,将会极大地提高工作效率。一、功能及语法结...
- Excel中的SCAN函数公式,把计算过程理清,你就会了
-
Excel新版本里面,除了出现非常好用的xlookup,Filter公式之外,还更新一批自定义函数,可以像写代码一样写公式其中SCAN函数公式,也非常强大,它是一个循环函数,今天来了解这个函数公式的计...
- Excel(WPS表格)中多列去重就用Tocol+Unique组合函数,简单高效
-
在数据的分析和处理中,“去重”一直是绕不开的话题,如果单列去重,可以使用Unique函数完成,如果多列去重,如下图:从数据信息中可以看到,每位参赛者参加了多项运动,如果想知道去重后的参赛者有多少人,该...
- Excel(WPS表格)函数Groupby,聚合统计,快速提高效率!
-
在前期的内容中,我们讲了很多的统计函数,如Sum系列、Average系列、Count系列、Rank系列等等……但如果用一个函数实现类似数据透视表的功能,就必须用Groupby函数,按指定字段进行聚合汇...
- Excel新版本,IFS函数公式,太强大了!
-
我们举一个工作实例,现在需要计算业务员的奖励数据,右边是公司的奖励标准:在新版本的函数公式出来之前,我们需要使用IF函数公式来解决1、IF函数公式IF函数公式由三个参数组成,IF(判断条件,对的时候返...
- Excel不用函数公式数据透视表,1秒完成多列项目汇总统计
-
如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...
- 一周热门
- 最近发表
-
- Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录
- Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用
- Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用
- FILTER函数介绍及经典用法12:FILTER+切片器的应用
- office办公应用网站推荐_office办公软件大全
- WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!
- 收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程
- 批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数
- Excel函数公式教程(490个实例详解)
- Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)
- 可以上传视频的网站源码 (25)
- 随机函数如何生成小数点数字 (31)
- 随机函数excel公式总和不变30个数据随机 (33)
- 所有excel函数公式大全讲解 (22)
- 有动图演示excel函数公式大全讲解 (32)
