计算机系统应用教程网站

网站首页 > 技术文章 正文

基于机器学习的YOLOv5的小型铝铸件涡轮缺陷检测

btikc 2024-09-06 18:16:02 技术文章 35 ℃ 0 评论

【文章来源】

特种铸造及有色合金2024年第44卷第6期,欢迎引用!

【引用格式】

葛前峰,袁浩,王渊,等. 基于YOLOv5的小型铝铸件涡轮缺陷检测[J]. 特种铸造及有色合金,2024,44(6):760-765.

Citation:GE Q F,YUAN H,WANG Y,et al. Defect detection of small aluminum casting turbines based on YOLOv5[J]. Special Casting & Nonferrous Alloys,2024,44(6):760-765.


铝合金涡轮铸件具有强度高、密度小等特点,在工业中应用广泛,其表面质量直接影响产品的稳定性和使用寿命。但铝涡轮铸件在生产过程中因砂型脱落、混有杂质等原因会出现涡轮叶弯、断叶、顶部圆偏心、砂眼、结块和多肉等缺陷。其表面缺陷存在以下特点:①缺陷位置不固定;②缺陷形态多变;③缺陷是小目标,且颜色纹理和背景相似。长期以来,表面缺陷检测任务多依赖人工,易造成误检。

目前,铝铸件表面常用的缺陷检测方法除了人工检测外还有:①超声波检测;②X射线检测;③涡流检测。尽管这些方法检测精度高,但是因为技术和成本原因,并没有得到广泛应用。近年来,基于CCD工业相机的计算机视觉在缺陷检测方面的应用越来越多。WU Y等设计了一种利用机器视觉技术检测铝表面缺陷的算法,提出了一种新的区域划分方法,利用纹理信息自动分配纹理区域和无纹REN S Q等提出了一种仅使用图像级标签训练的高效CNN模型,用于复杂工业场景中微小铸造缺陷的检测。然而,上述方法的实时性较差,不能满足缺陷检测速度与准确率的平衡。

在目标检测领域中按检测方式的不同主要分为单阶段算法和双阶段算法。单阶段算法以YOLO和SSD系列为代表,在预测目标框的同时得到目标的类别信息,特点是检测速度更快,可以满足目标实时检测识别。双阶段算法的代表是Faster-rcnn系列,特点是精度高,但检测速度较慢。经对采集图像的分析,涡轮叶弯、断叶、顶部圆偏心缺陷可用传统算法处理。

江苏大学&江苏恒欣仓储设备有限公司联合研究团队在2024年第44卷第06期《特种铸造及有色合金期刊》上发表了题为“基于YOLOv5的小型铝铸件涡轮缺陷检测”的文章,作者针对针对小型铝铸件涡轮表面复杂、缺陷过小,难以检测的问题,提出一种改进YOLOv5的小型铝铸件涡轮表面缺陷检测算法。图像预处理采用数据增强策略平衡不同类别样本的分布;使用K-means++算法得到适合本数据集的最佳先验框;对网络的特征提取结构进行改进,在主干网络中添加CA注意力机制模块,帮助模型更加准确的定位和识别;添加小目标检测层,增强对小物体的检测效果。结果表明,改进的算法对小目标缺陷拥有更好的检测效果,平均精度均值(mAP)达到97.8%,满足智能制造自动化生产的需求。


点击图片阅读原文


【网络模型】


YOLOv5检测算法由Input端、Backbone端、Neck端和Prediction端4部分组成。本研究使用的YOLOv 5-6.2版本在Backbone端用Conv、C3和SPPF模块代替了原来的Focus模块、BottleneckCSP和空间金字塔池化(SPP)结构。YOLOv5存在YOLOvs、YOLOvm、YOLOvl、YOLOvx等4个网络结构版本,针对涡轮的小目标缺陷用4种网络进行测试,准确率最高为YOLOvm版本,对于YOLOvs版本来说,网络宽度不够,提取特征不足易造成识别误差,而对YOLOvl和YOLOvx版本,小目标缺陷在深的网络下会在特征层中消失,经特征融合后语义信息作用较小,故效果反而更差。YOLOvm版本准确率最高且速度满足实时要求,因此选用YOLOv5m6版本。改进后的YOLOv5m6的网络模型见图1。

C3模块包含3个CBS及BottleNeck模块。C3模块将梯度变化完全集中到特征图中,减少计算量的同时还保证了准确率。SPPF通过在不同大小的网格上执行池化来捕获不同大小的物体特征,采用串行结构,与SPP的效果相同,且大幅减少重复计算和参数数量,速度提升了一倍。在SPPF中3个内核尺寸被改成5×5大小,较小的内核更有助于检测小目标,并提升整体目标检测性能。


图1 改进的YOLOv5m6网络结构

图2 C3和SPPF结构


在YOLOv5检测算法中,每个特征图的网格点上有3种尺寸的先验框,本研究由3个特征层改进为4个特征层共12种先验框。YOLOv5的先验框是针对通用数据集设定的,而本缺陷数据集中,缺陷面积较小,原先的先验框效果不好。故本研究对铝铸件小型涡轮数据集使用K-means++算法找到最适合缺陷目标的先验框。在对边界框进行K-means++聚类过程中,使用先验框(anchor)和边界框(box)的交并比(IoU)来衡量两个框的相似程度,IoU的范围在[0,1]之间,,引入距离D=1-IoU进一步优化,D越大,相似度越高,见图3。随后对边界框使用K-means++算法进行聚类:①随机选择k个边界框作为初始先验框(K-means++计算距离,选择较远的框,防止出现局部最优解)。②根据距离公式,把每个边界框分配给距离最近的先验框。③使用每个聚类中所有边界框的均值更新先验框。④重复步骤②和③,直到先验框不再变化或者达到规定的迭代次数。


图3 box与anchor示意图


对于本试验所需检测的缺陷来说,颜色对比度不明显,所占像素少,并且容易受背景因素影响。原模型在提取特征时容易丢失小目标特征信息,对小目标检测效果不好。故本研究引入CA模块,目的是为了让模型更加关注细节信息,提取更多有效的语义信息。较小的缺陷需要更高的注意力权重,而较大的缺陷需要较低的注意力权重,CA模块通过引入位置信息,从而帮助模型更好地处理不同尺度的缺陷信息,对于小目标可以有效地提取特征信息,进一步提高检测的准确率。

CA模块是在通道注意的基础上加入位置信息,见图4,网络首先分别对水平方向和垂直方向进行Avg Pool(全局平均池化),得到两个方向的特征图。


图4 CA注意力机制

图5 CA添加的位置


在涡轮表面图像中,砂眼缺陷目标较小,并且颜色纹理和背景相似,对缺陷的检测效果带来了很大的影响。因此,在原网络3个检测层的基础上,增加一个尺度为240×240的小目标检测层,构建的整体结构见图6。图6中Li(i=1、2、3、4)为经过主干网络和特征金字塔上采样后输出的4个不同尺度的特征图,Li(i=1、2、3)3个特征图分别与上层特征图的下采样结果进行拼接,再经过C3模块,输出3个特征图,即模型改进之前下采样倍率分别为32、16、8的特征图。L4特征图与经过C3模块和CBL模块后进行上采样的L3特征图进行拼接,再经C3模块输出新增的下采样倍率为4的浅层特征图。4个检测层对应的特征层分辨率分别为30×30、60×60、120×120、240×240。然后对每个特征图使用个数为24,大小为1×1的卷积进行卷积操作,得到N×N×24(N取30、60、120、240)的结果。其中取24个的原因为每一个单元网格对应3个不同大小的先验框(anchor),每个先验框需要预测8个结果[类别信息(多肉、结块、砂眼)、置信度信息、坐标信息(x、y、h、w)]。分辨率高的特征图包含更多图像中的细节信息,因此能够缓解提取网络较深带来的砂眼缺陷信息丢失问题,有效提高模型针对小目标缺陷的检测效果。


图6 小目标检测层


【研究结果】

采集的铝铸件小型涡轮表面缺陷图像共2 784张,3种类别见图7。多肉图片1 303张,砂眼图片938张,结块图片573张,3种类别的原始缺陷样本相差太多,易使模型对样本较少的类别特征学习不充分。为此,在图片预处理阶段对样本进行旋转,颜色扰动、Self-Augmentation(自我增强)、优化Mosaic数据增强(随机选取4张图片,以目标框为中心,裁剪长宽为图片大小1/2的矩形,并进行拼接,优化后能够有效防止压缩导致的小目标缺陷模糊)。

增强前后对比效果见图8,使类别之间样本数大致保持平衡,最终多肉、砂眼、结块类别图片分增强到2 000、1 900、1 700张。本研究数据集采用的VOC2007格式,借助标注软件Lableimg对数据集进行标注,手动设置类别为多肉、砂眼、结块3类。按照8∶1∶1的比例随机对数据集划分训练集、验证集、测试集。


图7 3种缺陷图像示例

图8 数据增强前后对比图


本试验中,初始学习率为0.01,动量参数为0.92,批处理大小为16,迭代轮次为300,硬件和软件环境的详细信息见表1。



为验证本研究的改进相对于原模型所带来的性能提升,依次在原模型网络上改进先验框、增加CA模块以及小目标检测层3种改进方法,以相同的数据集和同种训练策略进行消融试验,试验结果见表2。由表2可知,以原模型网络为主干时,网络模型的mAP最低,当依次加入改进的先验框、CA模块、小目标检测层后都提升了网络性能,网络性能mAP分别提高了1.5%、0.5%、2.6%,在试验3中FPS(每秒帧数)比原模型低8.2,但仍满足实时检测速度要求。图9为模型的收敛情况,可见损失和精度收敛良好且迅速。对测试集进行检测,结果见图10。


图9 YOLOv5改进模型训练曲线图

图10 YOLOv5改进模型测试集结果


本研究采用平均精度均值(mAP)、FPS评估算法的性能,并和原始的YOLOv5、SSD、Faster-rcnn等模型测试结果做对比,结果见表3。可以看出,本研究的改进算法对检测精度有很大提高,砂眼、多肉、结块类别的mAP分别提高了8.2%、1.5%和5.4%。其中,多肉缺陷面积最小,结块缺陷最不规则,在添加CA模块和小目标检测层后平均精度得到明显提高。最终,各类别的mAP都在95%以上,且总体mAP提高了4.6%。图11是YOLOv5改进前后检测效果对比图,可见改进后的算法泛化能力更强,精度更高。


图11 2种模型缺陷检测对比图


将本研究改进的算法基于TensorRT部署到工控机中,利用RTX3060显卡进行推理编译,使算法检测精度基本不变,检测速度平均增加3~4 ms,实际检测过程见图12。随机抽取1 000个工件,人工检测出22个砂眼、16个结块、13个多肉缺陷。视觉设备检测出50个砂眼(漏检5个,过检33个)、26个结块(漏检2个,过检12个)、20个多肉(漏检2个,过检9个),因砂眼过小和表面脏污噪点等干扰,漏检数和过检率较高,整体准确率为97.9%,整体检出率为98.15%,平均检测速度为38 ms,满足实际在线质量检测要求。


图12 实际检测过程图



【主要结论】


针对复杂涡轮表面小目标缺陷检测难以学习的问题进行深入研究,提出了基于YOLOv5的改进算法。通过增加CA注意力机制、小目标检测层和优化先验框,加强了对小目标缺陷特征的学习能力。结果表明,改进的YOLOv5算法相对于原模型的mAP提升了5%左右。同时通过消融试验证明改进相对于原始网络在涡轮表面小目标缺陷检测上取得了有效提升,且改进之间融合高效,最终精度满足无人化质量检测要求。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表