龙空技术网

华科大周建新教授团队:自动检测!计算机图像识别技术助力铸件缺陷自动检测

特铸杂志 102

前言:

眼前咱们对“两阶段和单阶段的目标检测”大约比较看重,大家都需要分析一些“两阶段和单阶段的目标检测”的相关知识。那么小编在网上汇集了一些对于“两阶段和单阶段的目标检测””的相关文章,希望兄弟们能喜欢,看官们一起来学习一下吧!

在企业不断进行信息化、智能化升级的浪潮中,生产环节的各部分信息被要求可溯源,以便信息化管理。目前,铸造企业里使用的铸件检测方法一般为X射线无损检测技术,但是这种检测方案仍然需要人工评片,人工对铸件的检测效率不够高,稳定性很低,容易出现疏漏。随着铸造业的发展,其生产效率也越来越高,同时对铸件的质量要求越来越高,人工检测效率难以跟上生产的节奏。近年来,铸造企业在铸造缺陷检测的方面已经做出了一些信息化更新,针对X射线的无损铸造缺陷评测取得了较大的进展。

机器学习在铸造生产过程中有了越来越多的应用。段志强等通过随机森林方法混合特征与力学性能之间非线性规律实现合金新成分的配比和工艺设计,大大改善了高强度Al-Si-Mg系合金传统设计方法周期长、成本高、效率低的问题。同时,基于机器学习的机器视觉目标检测为铸件缺陷自动检测提供了一个有效的途径。机器视觉目标检测分为两大类,分别是单阶段目标检测和两阶段目标检测。分别以YOLO(You only look once)算法和Faster R-CNN算法为代表。单阶段目标检测算法体积小,检测速度快,但是对于铸件缺陷的检测不够高,双阶段检测算法检测速度稍慢,但是检测精度高。很多学者基于这些算法针对铸件检测进行了改进,计效园等提出了一种新的人工智能方法,能够从X射线图像中检测和识别航天钛铸件缺陷;WU B等针对多阈值图像分割问题提出了改进的优化算法。MAX F等提供了一个汽车铸件的缺陷检测数据集,由于该数据集针对于汽车部分铸件的缺陷图像,颇具代表性,被各种神经网络架构用作于参考学习。

但是在目前人工评片和部分计算机铸件检测系统中,铸件缺陷存在和铸件的结构混杂或重叠的区域,在这个区域内,使用图像增强技术对该区域进行处理效果不佳,无法分清结构区和夹杂于其中的缺陷区域,缺陷检测的效果会因此受到影响,同时易造成漏检,见图1。其中,图1a为机器将铸件结构误认为了缺陷进行了标记,图1b~图1d均为铸件结构边缘的缺陷被算法所漏检,证明目前的机器学习铸件自动检测方法还存在一定缺陷。因此,本研究提供一种新的检测思路,用于与机器学习目标检测互补,提升铸件缺陷检测的精度。图2为通过三维模型获得仿真图像而后再进行对比的方法实现缺陷检测。

(a)错误识别

(c) 缺陷未标记2

(b) 缺陷未标记1

(d) 缺陷未标记3

图1 机器学习下的自动检测易出现缺陷与铸件结构混杂导致漏检和误检

图2 基于三维模型的射线探伤缺陷检测

STL格式的文件使用多块三角面片表达其轮廓,形成封闭的立体图形。其文件储存的内容是每个三角面片在空间中点的坐标和法向量坐标,一个完整的3D图形可以通过连接所有的三角形面来获得。拓扑关系的重构和无序交点影响的排除是影响切片效率的主要因素。WANG C S等展示了一种简化大型复杂STL三角网格并优化STL形状的技术,用于快速成型和制造。HUANG S H等提出了一种对STL文件有效的容错切片方法。ZHANG Z Y等提出了一种改进的、鲁棒性高的切片算法,该算法具有高效的轮廓构造,可以减少切片时间,并能够对包含数百万个三角形的复杂STL模型进行切片。

基于上述研究现状,针对某些铸件缺陷和铸件结构混杂重叠,常规图像方法难以有效检测的问题,华中科技大学周建新教授团队在《特种铸造及有色合金》期刊上发表了“基于三维模型和射线探伤二维图像的铸件缺陷检测技术”的文章。文章指出计算机自动铸件缺陷检测被越来越广泛的应用于企业的生产中,但是对于探伤图片中缺陷和铸件结构混杂重叠的图片,计算机识别技术难以从图像出判别出缺陷。为此,提出了基于三维模型和二维射线探伤图像的铸件缺陷检测技术。建立了类X射线照射探伤图像模型,通过模拟射线穿透铸件STL模型的过程,提取出射线穿透模型的信息,输出类平行光源X射线照射的仿真射线探伤图像。通过有缺陷和无缺陷图像灰度值相减结果提取缺陷轮廓,进行边缘检测,最终进行缺陷标定。该方法有效的从图片中识别出缺陷,并将其位置成功标定。

【三维仿真模型建立】

当一束X射线穿透铸件时,部分射线被铸件吸收,剩下的部分将会穿过铸件,投射在下方的光线传感器上,从而被传感器捕获而成像,每条射线穿过铸件之后的被吸收的部分各有不同,被传感器转化为不同灰度的图像。X射线在介质内通过单位长度的距离射线强度会存在一定程度的衰减,衰减的程度由衰减系数表示。不同的物质的衰减系数不同,通过均匀的同种物质时,其原理见图3。

图3 射线穿过单一材料的均匀物质

主要针对铝制铸件进行处理,X射线的波长为0.154 nm时,铝的衰减系数可查得为132 cm-1。铸件的三维模型可看作一个没有瑕疵的铸件,而铸件探伤图像中,铸件缺陷存在的区域灰度值会和无缺陷的区域存在差值,通过对比出这些存在差值的区域则可以标记出缺陷的区域。

选用STL格式文件表达铸件的三维模型,STL文件通过将模型表面的信息表达为三角面片的方式来描述三维形体。

图4 判别点是否在三角形内

(a)交点坐标与模型厚度的转换

(b)遍历射线以生成图像

图5 获得交点坐标后的处理

理想状况下,模型被穿透的点的个数为偶数,但是由于STL文件的三角面片的储存方式,当射线刚好和位于边界处的顶点相交时,交点的个数会出现奇数。忽略掉这些少数的交点数量为偶数的射线,将这些射线所对应点的坐标的像素值替换为旁边的,正常取值点的像素值。在最终生成的图像中的表现上,由于整个图像是连续的,而极少数点的像素值经过处理,肉眼几乎不可在图像上找出因为交点个数问题产生的计算异常的点,生成的图像较为平滑。

在X射线照射的探伤图片中,光线强度是由图像上的灰度值表述的,为了明显看出铸件的结构,感光器上光线最强的地方处理为灰度的黑色即灰度的最高值,最暗的地方处理为白色即灰度值为0,其余部分按照射线的强度值与射线进行穿透前未经衰减的射线强度的比例分配灰度值,根据四舍五入的方法取整。对模型的坐标范围进行搜索,确立了模型的坐标范围之后,将模型坐标进行了规整,使所有坐标均为大于0。在进行射线的初始化设置时,按照一根射线的结果对应一个图像像素的方式进行设置,为了方便取值,规定图片的长固定为500像素,宽按照x、y轴坐标等比例进行调整,建立了一个图像矩阵。

在的图像处理中,为贴合实际的探伤仪器对薄壁铸件的探测情况,将灰度窗口分为65 535个等级,对应仪器生成的16 bit图片,而计算机只能显示8 bit即256级的图片。使用对数变换将65 535个等级的灰度值映射到256个等级中,扩宽图像低灰度值区下图像厚度信息的丰富度。

将各射线穿透模型后的射线强度转化为该射线对应的灰度值,具体转化效果见图5b。程序遍历每一根射线,并对每一根射线进行求交,求解厚度的计算之后,将转化后的灰度值填入对应坐标的矩阵信息中,从而得到一张基于三维模型的类X射线探伤图像。

用系统模拟的X射线探伤图像和实际的射线探伤图像进行了比对,结果见图6。由于未能获知探伤仪器对X射线量的曝光情况和后续对传感器光电信号的处理转换方式,两者之间的灰度存在差异。从图像上看出,模拟图像能清晰表达出铸件的结构,有效的表达了铸件在标准的无缺陷状态下的基本结构,对后续寻找缺陷的位置有一定的指导意义。

(a)三维模型局部图

(c)图像增强后的探伤图片

(b)铸件探伤图像

(d)系统生成的模拟图像

图6 实际探伤图像和模拟图像的对比

【模拟与实际对比】

X射线数字成像系统在实际使用时,存在系统的本征噪声,对之后的处理产生比较大的影响。对于铸件的射线探伤图像,很大一部分比例的缺陷尺寸较小,为了之后对缺陷位置的标定,需要对图像保留足够清晰的纹理细节和边缘特征,故采用对图像平滑度影响大的去噪方法效果不佳。经过对各个滤波方法的筛选,选用中值滤波方法对图像进行处理。中值滤波方法可有效清除孤立的噪声点,同时,可以起到对边缘特征的留存作用。图7为图像预处理效果对比中值滤波法的显示效果对比见图7b。由图7c可见,使用常见的均值滤波之后,噪声点有所消失,但是铸件结构部分的细节也被模糊化了,降低了图片质量,而使用双边滤波处理之后,见图7d,噪声点没有得到很好的处理,并且铸件结构内部的细节也存在了部分的丢失,综上所述,中值滤波方法是更适合本方法的图片滤波处理方法。

(a)原图

(c)均值滤波处理后

(b)中值滤波预处理后

(d)双边滤波处理后

图7 图像预处理效果对比

在相同角度的照射下,同种铸件中存在缺陷的铸件和没有缺陷的铸件在图像上的区别仅为缺陷部分的灰度值不同。生成了一张某型号盖子(模型见图8a)的标准图像,投影角度为俯视投影,见图8c。同时在模型中,为了方便检验缺陷的识别是否具有准确性,人为的制作了一些缺陷,见图8b,参考MERRY D提出的模拟缺陷的方法,作出了另一张具有缺陷的类X射线的探伤图像,见图8d。让两个图像的灰度值相减,以一定阈值将相减之后的图片进行二值化处理,在之后的过程中共同识别出缺陷部分。

(a)完整零件模型示意图

(c)标准图像

(b)“缺陷”位置示意

(d)带有缺陷的仿真图像

图8 人为模拟“缺陷”区域

基于得到的二值图像,选择采用SUZUKI S 的算法来对缺陷边缘进行判断。对像素进行逐行扫描,如果对上一个像素值的扫描结果为0,下一个结果为1,则说明找到了一个边界点,同时将这个边界编号,如果对上一个像素值为1,下一个像素值为0,则代表为1的像素值为边界,为0的像素值已经脱离该缺陷区域,对这些边界点进行标记,如果边界点相连,则边界点为同一个轮廓,通过一定的序号将其储存,见图9a,对二值化图像进行了标注,并在原图对应的位置绘制出了矩形以表明缺陷的位置,见图9b。

(a)二值化图像的标注

(b)在探伤图像上绘制矩形框

图9 缺陷区域的标定

对图8a的三维模型进行了多角度的射线照射,以得到多角度的标准模型的类X光照射图像,同时检测缺陷的位置,以获得更为准确的结果。图10为多角度下对同一铸件的缺陷检测。图10a和图10d分别为三维模型向侧边偏转45°和偏转90°的标准模型的投影图,图10b和图10e为两种角度的有同样缺陷的两张仿真投影图,可以看出在缺陷表示和图形计算上同样是一致的,图10c和图10f为两个角度的缺陷标记图,系统在多角度下均正确的找到缺陷的位置和数量。

(a)标准投影图

(d)标准投影图

(b)带有缺陷的投影图

(e)带有缺陷的投影图

(c)缺陷标记

(f)缺陷标记

图10 多角度下对同一铸件的缺陷检测

图11为本章的对比算法对实际铸件探伤图像的缺陷分割结果。系统标定出了缺陷的位置和由于拍摄角度原因导致的铸件结构差异,对比人工检测而言,本方法成功将缺陷标出,标定效果良好。

(a)有缺陷的探伤图像

(c)系统的检测结果

(b)没有缺陷的探伤图像

(d)人工对缺陷的标定

图11对实际探伤图像的对比检测

【缺陷检测系统设计】

经过上述的仿真探伤图像的生成和图像对比的过程,可以从探伤图像中标定缺陷区域,这一过程通过C++的编程界面实现,想要导入模型和图片进行铸件缺陷标定,操作步骤繁琐不便。因此,设计了一个识别系统,简化上述的操作步骤。系统的界面见图12。

图12对探伤图像的标定结果输出

图12对探伤图像的标定结果输出

系统主要可以实现:①三维模型读入和预览; ②仿真探伤图像生成; ③缺陷图像读入和预览; ④结果储存。同时系统还能根据模型的数据显示图像中每个像素代表的宽度,以便操作者对铸件大小进行估算和后续对铸件缺陷进行评级和分类。

【研究结论】

基于三维模型和射线探伤二维图像设计了一套铸件缺陷检测系统。该系统输入铸件的标准三维模型和铸件的探伤图像可以对图像中的缺陷区域进行标定,一定程度上解决了铸件缺陷和铸件结构混杂在一起难以识别的问题,将缺陷和铸件结构分割。在仿真图像和实际铸件探伤图像的相似性上,系统还需要进行更多的拟合过程,使仿真图像更加接近铸件探伤图像。同时系统可生成的人为制造的存在缺陷的仿真图像可作为深度学习的训练集使神经网络预测模型得到更准确的预测结果。

【本文引用格式】

李沁阳,孙晓龙,计效园,等.基于三维模型和射线探伤二维图像的铸件缺陷检测技术[J].特种铸造及有色合金,2023,43(10):1 360-1 365.

LI Q Y,SUN X L,JI X Y,et al.Casting defect detection technology based on 3D Model and 2D radio graphic image[J].Special Casting &

Nonferrous Alloys,2023,43(10):1 360-1 365.

标签: #两阶段和单阶段的目标检测