掌桥专利:专业的专利平台
掌桥专利
首页

一种基于改进YOLOv5的多尺度铸件检测方法

文献发布时间:2024-04-18 19:53:33


一种基于改进YOLOv5的多尺度铸件检测方法

技术领域

本发明涉及目标检测技术领域,具体是涉及一种基于改进YOLOv5多尺度铸件检测方法。

背景技术

在世界各地工业水平不断发展的现状下,铸件在众多的工业领域中也被广泛应用,尤其是在一些机械设备的生产中,铸件占据了较高的应用率。在实际的生产过程中,识别与分类是工业智能化的重要组成部分,快速准确的检测出铸件类别能够有效提升生产效率。然而在铸件检测的过程中,铸件的种类、尺寸、位置以及环境光线等因素都为检测过程带来了挑战,所用到的检测设备往往都会存在过于依赖人力资源、目标定位不准确、检测效率较低等问题。为了解决铸件检测过程中存在的问题,并且达到检测准确且高效的目的,基于深度学习的目标检测方法成为了检测铸件的一种有效途径,因此研究如何利用深度学习技术对铸件进行快速有效地检测具有重要的意义。

随着深度学习的应用日益广泛,人们也提出了许多新颖的方法来对图像中的目标进行检测,这些检测方法可以大致分为两类:一阶段(One-Stage)目标检测和两阶段(Two-Stage)目标检测。一阶段的目标检测算法没有提取候选框操作,是对输入图片进行端到端的处理,模型输入图片,直接输出目标的类别、位置坐标、置信度等信息,典型的一阶段目标检测算法有YOLO系列算法和SSD系列算法等。两阶段目标检测也称为基于候选区域的目标检测,其中第一个阶段是候选框的提取,第二个阶段是通过卷积神经网络对候选框进行分类、回归等操作,典型的算法为Faster RCNN。相比两阶段的目标检测算法来看,一阶段的检测算法有更高的检测效率。

为了解决上述问题,本发明提出一种改进的YOLOv5算法,可以更加快速、准确地完成铸件识别检测任务。在原有的三个目标检测层的基础上,增加了一个新的目标检测层用于检测不同尺度下的铸件,以提高模型对铸件的检测精度并且解决漏检、误检的问题;通过引用轻量高效的卷积注意力模块,让模型更加关注于图像中有用的信息;通过采用Hardswish激活函数,提高模型检测精度。

发明内容

本发明要解决的主要技术问题是,提供一种基于改进YOLOv5的多尺度铸件检测方法,能够充分融合多尺度特征并铸件检测效果,有效提升了网络模型对铸件检测的准确性。

为实现上述目的采用如下技术方案:

一种基于改进YOLOv5的多尺度铸件检测方法,包括以下步骤:

S1:用工业相机采集铸件图像并构建数据集;

S2:对铸件数据集进行数据增强;

S3:构建基于改进YOLOv5的多尺度铸件检测模型;

S4:训练构建的基于改进YOLOv5的多尺度铸件检测模型;

S5:利用模型对铸件图像进行检测并评估模型性能。

进一步的,在本发明中,所述步骤S1采用ZED工业相机采集铸件数据,并利用Labelimg对图片进行手动标注生成XML文件,文件记录了铸件的大小、名称以及位置信息和类别信息。

进一步的,在本发明中,所述步骤S2具体包括以下步骤:

S2.1:增加椒盐噪声利用np.random.uniform生成0-1的均匀噪声,然后将noise>prob的像素设置0或者255,通过矩阵的处理快速添加椒盐噪声;

S2.2:旋转图像是对图像和XML中标注的边界框以0.1以及0.6的角度进行翻转;

S2.3:亮度调整通过随机调整原始图片的亮度和对比度来从而产生新的图像以实现不同光照下的铸件检测。

进一步的,在本发明中,所述步骤S3首先通过组合多尺度特征结构对不同尺度上的特征进行融合并且增加一个检测头,再将卷积注意力模块(CBAM)同Neck部分进行融合,接着在Backbone中每一个卷积操作后使用Hardswish激活函数,具体包括以下步骤:

S3.1:在Backbone部分增加了一个下采样部分,特征融合也增加为四部分,将Backbone生成的特征作为输入,输出经过融合后的特征P,输出融合的特征后就可以输入到检测头,由生成的四个检测头对物体进行检测并生成检测框;

S3.2:在模型的Neck部分嵌入了CBAM,设计了两种结构:一种是在Neck部分的每个CSP模块后加入一个CBAM模块,另外一种是在每个检测头前边加入一个CBAM模块;

S3.3:使用Hardswish激活函数来替换Conv层中的SiLU激活函数,考虑到Hardswish激活函数能够实现为分段功能,具有检测速度快且稳定性高等优势。

进一步的,在本发明中,所述步骤S4具体包括以下步骤:

S4.1:将S1得到的数据集按照8:2的比例划分训练集、测试集;

S4.2:将所有数据集图片统一为640×640大小。接着将动量因子设为0.937,初始学习率为0.0032,权重衰减系数设为0.0005,Batch size设为16,训练epoch设为100组;

S4.3:根据设置的参数在基于改进的YOLOv5多尺度铸件检测模型中训练铸件数据集的训练集和验证集,调整模型训练的学习率以及迭代次数,得到最终训练模型。

进一步的,在本发明中,所述步骤S5具体包括以下步骤:

S5.1:使用训练好的权重对模型进行测试,从多方面对模型进行评估,选用了3个主要评价指标对模型进行评估,包括查准率(Precision,P)、查全率(Recall,R)、以及均值平均精度(mAP);

S5.2:训练后的模型能够自动识别出图片中铸件的类别及位置,并用矩形框在图中标注出来。

本发明的有益效果体现在:通过增加一次特征融合并且增加一个检测头来检测较大目标,原来的三个检测层用于检测更小的目标,以满足对不同尺度下铸件的检测,增强了特征信息的提取能力;将CBAM同Neck部分进行融合,在对不同大小的铸件进行检测时能够更好地关注重要的特征,有效解决了复杂背景的问题;在Backbone的卷积操作后使用Hardswish激活函数,并且应用于整个网络模型,具有检测速度快以及稳定性高等优势。改进后的模型检测mAP值为96.5%,与原始的YOLOv5等模型相比,改进后的模型mAP提高了2.6%,说明本发明进行铸件检测不仅能有效避免一些漏检、误检以及背景复杂情况下的检测等问题,在精度上也比较高。

附图说明

图1为本发明的整体算法流程图;

图2是数据增强的流程图;

图3为本发明改进后的整体网络结构图;

图4是多尺度特征融合结构图;

图5是引入CBAM的部分模型结构图;

图6是替换激活函数后的网络结构;

图7是改进前后模型mAP对比图;

图8是模型改进前后检测效果对比图。

具体实施方式

下面结合附图和具体实施方式对本发明提供的一种基于改进YOLOv5多尺度的铸件检测方法做进一步详细说明。

如图1所示,一种基于改进YOLOv5的多尺度铸件检测方法,具体包括以下步骤:

S1:用工业相机采集铸件图像并构建数据集;

S2:对铸件数据集进行数据增强;

S3:构建基于改进YOLOv5的多尺度铸件检测模型;

S4:训练构建的基于改进YOLOv5的多尺度铸件检测模型;

S5:利用模型对铸件图像进行检测并评估模型性能。

所述步骤S1采用ZED工业相机采集铸件数据,并利用Labelimg对图片进行手动标注生成XML文件,文件记录了铸件的大小、名称以及位置信息和类别信息。

所述步骤S2中原始的铸件图像完成图像的的标注等工作后,进行一系列的数据增强,对铸件图像以及标注完成的xml文件同时进行扩充,数据增强方法主要用到了旋转、噪声、亮度等来实现数据集的扩充,将经过数据增强后的图像集进行筛选,,扩充后的图像数据用作本发明的数据集,流程如图2所示,具体包括以下步骤:

S2.1:增加椒盐噪声利用np.random.uniform生成0-1的均匀噪声,然后将noise>prob的像素设置0或者255,通过矩阵的处理快速添加椒盐噪声;

S2.2:旋转图像是对图像和XML中标注的边界框以0.1以及0.6的角度进行翻转;

S2.3:亮度调整通过随机调整原始图片的亮度和对比度来从而产生新的图像以实现不同光照下的铸件检测。

所述步骤S3首先通过组合多尺度特征结构对不同尺度上的特征进行融合并且增加一个检测头,再将卷积注意力模块(CBAM)同Neck部分进行融合,接着在Backbone中每一个卷积操作后使用Hardswish激活函数,如图3所示,具体包括以下步骤:

S3.1:在Backbone部分增加了一个下采样部分,特征融合也增加为四部分,将Backbone生成的特征作为输入,输出经过融合后的特征P,输出融合的特征后就可以输入到检测头,由生成的四个检测头对物体进行检测并生成检测框,如图4所示;

S3.2:在模型的Neck部分嵌入了CBAM,如图5所示,设计了两种结构:一种是在Neck部分的每个CSP模块后加入一个CBAM模块,另外一种是在每个检测头前边加入一个CBAM模块;

S3.3:使用Hardswish激活函数来替换Conv层中的SiLU激活函数,如图6所示,考虑到Hardswish激活函数能够实现为分段功能,具有检测速度快且稳定性高等优势,具体公式如下所示:

所述步骤S4具体包括以下步骤:

S4.1:将S1得到的数据集按照8:2的比例划分训练集、测试集;

S4.2:将所有数据集图片统一为640×640大小。接着将动量因子设为0.937,初始学习率为0.0032,权重衰减系数设为0.0005,Batch size设为16,训练epoch设为100组;

S4.3:根据设置的参数在基于改进的YOLOv5多尺度铸件检测模型中训练铸件数据集的训练集和验证集,调整模型训练的学习率以及迭代次数,得到最终训练模型。

所述步骤S5具体包括以下步骤:

S5.1:使用训练好的权重对模型进行测试,从多方面对模型进行评估,选用了3个主要评价指标对模型进行评估,包括查准率(Precision,P)、查全率(Recall,R)、以及均值平均精度(mAP),其公式如下:

mAP的对比图如图7所示,改进前YOLOv5网络的mAP值为0.939,改进后的为0.965,提升了2.6%。可以验证改进后的YOLOv5网络对目标较小、复杂背景、遮挡情况下的铸件检测有较好效果;

为了进一步验证改进方法的有效性,对其进行消融实验,结果如表1所示:

表1消融实验

S5.2:如图8所示,训练后的模型能够自动识别出图片中铸件的类别及位置,并用矩形框在图中标注出来。

相关技术
  • 一种基于双尺度策略和改进的YOLOV5网络的光伏面板缺陷检测方法
  • 一种基于深度学习YOLOv5算法改进的多尺度目标检测网络
技术分类

06120116339187