本发明涉及机器视觉检测领域,尤其涉及一种基于改进的yolov8的焊缝缺陷检测方法。
背景技术:
1、目前较为常用的焊缝缺陷检测技术有超声波检测法和磁粉检测法等。其中超声波检测方法是根据焊缝缺陷处对超声波传播波形的反射情况来判别是否含有缺陷;磁粉检测是通过在焊缝表面施加磁场,在缺陷处会产生漏磁场,吸引磁粉,从而形成指示。后后推出了一些机器学习算法,例如支持向量机,是通过将数据映射到高维空间,通过找不同类别公开的超平面来对焊缝的缺陷进行分类。还有随机森林法,可以调整决策树的样本权重来进行焊缝缺陷识别,通过识别图像的纹理特征从而标记出可能的缺陷区域,每个决策树对数据进行随机的特征选择,然后进行组合来提高分类性能,有效的防止了过拟合。还有k近邻算法,其通过将新样本与训练数据中的相邻部分来比较进行分类,从而可以利用这种方法来寻找已知缺陷样本相似的待测焊缝缺陷图像。目前深度学习领域的算法迅速发展,已经广泛应用到目标检测领域,目前检测方法主要分为两类,其一是单阶段算法,该算法无需生成候选区域,可以直接从输入图像中预测目标的位置和类别,单阶段算法计算效率高,在检测速度上较快,适合实时应用;其二是双阶段算法,它会先生成候选区域,然后对这些区域进行分类和细化,双阶段算法处理复杂场景的能力强,且检测精度高,适用于需要高精度检测的应用中。
2、目前常用的一些焊缝缺陷检测方法例如超声和磁粉检测等方法存在了检测效率低下、检测效果不理想、和无法满足现代化工业发展需求等缺点。机器学习的检测算法在检测效率上要优于传统的焊缝缺陷检测算法,但也存在着对环境敏感,无法适应非线性的关系,对参数调整和特征选择敏感,算法复杂程度高等难题。通过使用深度学习的方法进行焊缝缺陷检测,可以实现自动化且高效的实现焊缝缺陷的自动检测,目前双阶段算法的优点是具有较高的检测精度,不足之处是其检测速度慢、计算资源需求和复杂性较高,且在焊缝缺陷检测领域很难达到实时检测的需求;单阶段算法的优点是检测速度快、计算效率高,在硬件上实现具有优势,可以满足在焊缝缺陷检测领域内实时检测的需求。
技术实现思路
1、本发明的目的是提供一种基于改进的yolov8的焊缝缺陷检测方法,该算法可以在高效、准确的识别出相应的焊缝缺陷的同时,能够满足部署在移动设备的检测效率的需求,方便在不同的工作场景中使用。为实现以上目的,本发明的技术方案包括:
2、一种基于改进的yolov8的焊缝缺陷检测方法,其采用的识别模型的构建过程包括:
3、收集焊缝图像制作数据集,数据集中焊缝的缺陷类型包括夹渣、裂纹、气孔、未焊透、未熔合;
4、将原始yolov8网络结构的主干网络中的下采样模块替换为cg block模块,采用sppf_lska模块替换主干网络中的sppf模块,并对原始yolov8网络结构的检测头进行轻量化改进;
5、将数据集以8:1:1的比例分为训练集、验证集和测试集,然后将数据传输到改进后的yolov8网络中进行训练,并保存模型。
6、本发明的进一步改进在于,yolov8网络结构包括主干网络、颈部网络以及检测头。
7、本发明的进一步改进在于,改进后的yolov8网络结构的主干网络,依次包括:卷积层conv、cg block模块、c2f模块、cg block模块、c2f模块、cg block模块、c2f模块、cgblock模块、c2f模块以及sppf_lska模块。
8、本发明的进一步改进在于,sppf_lska模块设置在主干网络的尾部;其中:
9、lska注意力机制的表达公式为:公式中f'c为注意力模块的输出,ac为注意力图,fc为输入特征图,表示哈达玛积操作;
10、ac=w1×1*zc,w为核的大小,zc表示深度卷积的输出,*表示卷积操作;
11、其中[·]表示为向下取整操作。
12、本发明的进一步改进在于,颈部网络包括特征金字塔网络和路径聚合网络。
13、本发明的进一步改进在于,检测头包括卷积模块;改进过程中,对检测头中重复的卷积模块进行参数共享已实现轻量化改进。
14、本发明的有益效果包括:
15、1.在网络的backbone中,使用cg block模块取代传统的conv,可以帮助网络更好的利用数据中的相关信息,有助于提高网络对特征的学习能力,从而保留更多有用信息,提高网络在复杂任务上的性能。
16、2.在sppf模块中引入lska注意力机制,可以更准确的选择和加权不同区域的特征,有助于提高特征的表征能力,减少不相干信息的干扰,可以提高模型的鲁棒性和泛化能力。
17、3.对网络的检测头部分进行了轻量化,yolov8的检测头是整个模型中计算量最大的部分之一,通过轻量化检测头,可以显著减少模型的参数数量和内存占用,从而可以提高模型的推理速度和效率,并且有利于模型部署在移动端设备中,降低能源的损耗。
1.一种基于改进的yolov8的焊缝缺陷检测方法,其特征在于,采用的识别模型的构建过程包括:
2.根据权利要求1所述的一种基于改进的yolov8的焊缝缺陷检测方法,其特征在于,yolov8网络结构包括主干网络、颈部网络以及检测头。
3.根据权利要求2所述的一种基于改进的yolov8的焊缝缺陷检测方法,其特征在于,改进后的yolov8网络结构的主干网络,依次包括:卷积层conv、cg block模块、c2f模块、cgblock模块、c2f模块、cg block模块、c2f模块、cg block模块、c2f模块以及sppf_lska模块。
4.根据权利要求3所述的一种基于改进的yolov8的焊缝缺陷检测方法,其特征在于,sppf_lska模块设置在主干网络的尾部;其中:
5.根据权利要求2所述的一种基于改进的yolov8的焊缝缺陷检测方法,其特征在于,颈部网络包括特征金字塔网络和路径聚合网络。
6.根据权利要求2所述的一种基于改进的yolov8的焊缝缺陷检测方法,其特征在于,检测头包括卷积模块;改进过程中,对检测头中重复的卷积模块进行参数共享已实现轻量化改进。
