一种基于YOLOv5检测飞机引擎裂纹的方法

文档序号:34737731发布日期:2023-07-12 21:38阅读:48来源:国知局
一种基于YOLOv5检测飞机引擎裂纹的方法

本发明涉及计算机视觉与工程探伤,具体是一种基于yolov5检测飞机引擎裂纹的方法。


背景技术:

1、安全性是工业发展的基本前提。因此,检测工业机器表面的健康情况十分重要。目前,国内金属探伤较为普遍的方法是通过工业内窥镜检测等无损检测手段进行检测。工业内窥镜的自带照明系统,可使缺陷清晰可见,在金属表面图像传输后,检测人员可在显示屏上清楚直观地看见缺陷,再判断是否要维修、更换、养护。为了提高检测准确性并且减少人力需要,对表面裂纹这一明显缺陷进行智能化识别检测显得十分重要。这对计算机视觉识别模型的有效性的依赖度较高,要求可以完全替代人眼对飞机引擎裂纹进行识别并对微小裂纹进行准确定位。

2、传统的目标检测方法以基于手工设计的非鲁棒特征训练为主,这种训练方法容易受到光线、遮挡、模糊、环境变化等众多外界因素的影响,导致检测效果不佳,因此限制了检测目标的类别和应用环境。随着计算机视觉领域的不断发展以及机器学习理论研究的进步,可用于目标检测的模型网络也不断发展,从卷积神经网络(cnn)家族进行物体的识别与分类,到yolo(you only look once)的提出与不断优化,越来越多的场景下的检测识别开始基于深度学习算法。目前,yolov5是目标检测领域较为主流且效果较好的算法模型,而yolov5s模型是yolov5系列中的一种。

3、然而,目前基于yolov5的深度学习的工程缺陷探测研究仍较少,从传统方法到利用新型模型的转变速度、研究深度、应用广度仍有很大的进步空间。


技术实现思路

1、针对上述问题,本发明提供了一种基于yolov5的飞机引擎裂纹识别的方法,将普适的对象检测算法成功运用于特定领域。

2、为达此目的,本发明提供如下的技术方案:

3、本发明的第一个方面,提供了一种基于yolov5检测飞机引擎裂纹的方法,包括以下步骤:

4、s1、裂纹图像收集;

5、s2、图像标注,对步骤s1收集获得的图片打标签,标注裂纹边界框位置;

6、s3、构建模型,使用yolov5s网络结构建构模型;

7、s4、训练模型,使用训练集进行训练,每次迭代计算loss损失函数,并更新参数,最终找到loss损失函数最小的模型;

8、s5、若步骤s4的训练效果达到预期,完成训练,保存模型权重的参数,并重新加载该模型权重参数的文件,将其运用于检测测试集的图片,关注测试结果;

9、s6、若步骤s4的训练效果达到预期,对模型进行优化,再继续步骤s4和s5。

10、优选的,步骤s2和s3之间还包括:若图片数量充足,可对数据集进行划分,将其按一定比例划分为训练集、验证集、测试集;并进行图像数据增强处理,通过旋转、裁剪、增加噪点的方式增加训练集数量,提高模型泛化能力。

11、优选的,步骤s3包括:

12、r1、input输入端部分采用mosaic数据增强;输入端进行自适应锚框计算,在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框进行比对,计算两者差距,再反向更新,迭代网络参数;

13、r2、backbone主干网络部分首先在focus结构进行切片操作,将原始608*608*3的图片切片变成304*304*12的特征图,再经过一次32个卷积核的卷积操作,最终变成304*304*32的特征图,随后借鉴cspnet网络结构搭建csp结构csp1_x,使卷积神经网络在保持轻量化的同时保持准确性、降低计算与内存成本;

14、r3、neck部分采用fpn+pan的结构,fpn层自上向下传达强语义特征,在fpn层之后添加了自底向上的特征金字塔向上传达强定位特征,二者结合,从不同主干层对不同检测层进行参数聚合,同时这一部分还增加了csp2结构,以加强网络特征融合的能力;

15、r4、prediction输出端使用ciou_loss做bounding box的损失函数,ciou_loss如式ⅰ:

16、

17、其中,v如式ⅱ

18、

19、v是衡量长宽比一致性的参数,

20、

21、distance_c为预测框与目标框的最小外接矩形的对角线距离,distance_2为两个中心点的欧式距离。

22、优选的,步骤r1中,mosaic数据增强采用4张图片,随机缩放、裁剪、排布的方式进行拼接。

23、优选的,步骤r1还包括:进行自适应图片缩放,将不同长宽的图片统一缩放到相同的标准尺寸再送入检测网络中。

24、优选的,步骤s6中的优化方法包括:bn层剪枝,首先,在yolov5上进行稀疏训练,然后通过训练得到模型的权重信息,找到权重小于阈值的神经网络链接,以此判断bn层中每个通道或神经元的重要性并据此排序;其次,删除权重小于阈值的链接,从bn层中删除重要性低的通道或神经元激起权重;最后,再重新对神经网络进行训练。

25、优选的,步骤s1包括以下2种方式中的任意一种:

26、对飞机引擎上出现的裂纹进行拍摄并收集,其中每图包含单条裂纹,方便后续对图像进行标注等处理;或者,

27、通过网络渠道,搜集网上有关飞机引擎裂纹或金属裂纹的图片,需要图片有一定清晰度,裂纹能与其他条状微小物体有较为明显的区分。

28、优选的,步骤s2中,使用labelimg对图像中的裂纹进行标注。

29、本发明的第二个方面,提供了yolov5网络结构包括input,backbone,neck,prediction四个核心部分。

30、yolov5的input输入端部分,采用mosaic数据增强的方式,mosaic数据增强采用4张图片,随机缩放、裁剪、排布的方式进行拼接,解决数据集小目标数量多、小中大目标占比不均衡的问题,有助于丰富数据集并同时减少gpu;输入端进行自适应锚框计算,在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框进行比对,计算两者差距,再反向更新,迭代网络参数;此外,还进行自适应图片缩放,将不同长宽的图片统一缩放到相同的标准尺寸再送入检测网络中。

31、backbone主干网络部分首先在focus结构进行切片操作,将原始608*608*3的图片切片变成304*304*12的特征图,再经过一次32个卷积核的卷积操作,最终变成304*304*32的特征图。随后借鉴cspnet(cross stage paritial network)网络结构搭建csp结构csp1_x,使卷积神经网络在保持轻量化的同时保持准确性、降低计算与内存成本。

32、neck部分采用fpn+pan的结构,fpn层自上向下传达强语义特征,在fpn层之后添加了自底向上的特征金字塔向上传达强定位特征,二者结合,从不同主干层对不同检测层进行参数聚合。同时这一部分还增加了csp2结构,以加强网络特征融合的能力。

33、prediction输出端使用ciou_loss做bounding box的损失函数,公式如下i式:

34、

35、其中,

36、

37、v是衡量长宽比一致性的参数,

38、

39、distance_c为预测框与目标框的最小外接矩形的对角线距离,distance_2为两个中心点的欧式距离。

40、ciou_loss将目标框回归函数应考虑的三个重要几何因素重叠面积、中心点距离、长宽比都考虑到了,使得预测框回归的速度和精度更高。随后针对很多目标框的筛选进行nms非极大值抑制操作。

41、为使yolov5这一普适的目标检测网络专用于裂纹识别,还需对模型进行如修改分类参数等的部分修改。

42、与现有技术相比,应用本发明的技术方案的有益效果及显著进步在于:本发明提供了一种基于yolov5检测飞机引擎裂纹的方法,本发明的方法基于yolov5目标检测算法,将目标检测模型运用于工程探伤领域的飞机引擎裂纹识别这一特定问题上,得到较高的识别准确度与较快的识别速度,实现实时识别飞机引擎裂纹的功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1