1.一种基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:包括以下步骤:
步骤S1:获取绝缘子数据集,并将绝缘子数据集按照数量6:2:2的比例划分为训练集、验证集和测试集;其中,获取绝缘子数据集的方式为:将现有的绝缘子缺陷检测数据集中过于相似的图片及其相应的标签文件进行随机保留一个图片及其相应的标签文件处理,得到初选数据集,而后对初选数据集中的每张原始图片均进行两次扩增过程;其中,一次扩增过程包括依次进行的两个数据扩增过程,第一个数据扩增过程是通过模拟天气环境对原始图片进行数据扩增,第二个数据扩增过程是利用一种至三种传统数据扩增方式再次进行数据扩增;
步骤S2:构建YOLOv5神经网络;所述YOLOv5神经网络包括Input 层、Backbone主干网络、Neck颈部网络和检测部分;Backbone主干网络包括依次设置的第一个卷积模块、第二个卷积模块、第一个 C3_SimAM模块、第三个卷积模块、第二个C3_SimAM模块、第四个卷积模块、第三个C3_SimAM模块、第五个卷积模块和第四个 C3_SimAM模块;Neck 颈部网络包括依次设置的SPPF模块、第一个GSConv模块、第一个上采样层Upsample、第一个Bi‑Concat层、第一个VoVGSCSP模块、第二个GSConv模块、第二个上采样层 Upsample、第二个Bi‑Concat层、第二个VoVGSCSP模块、第三个 GSConv模块、第三个Bi‑Concat 层、第三个VoVGSCSP模块、第四个GSConv模块、第四个Bi‑Concat层、第四个VoVGSCSP模块组成;Backbone主干网络中的第二个C3_SimAM模块还与Neck颈部网络中的第二个Bi‑Concat层连接;Backbone主干网络中的第三个 C3_SimAM模块还分别与Neck颈部网络中的第一个Bi‑Concat层和第三个Bi‑Concat层连接;Neck颈部网络中的第一个VoVGSCSP模块还与第三个Bi‑Concat层连接;Neck颈部网络中的第一个GSConv 模块还与第四个Bi‑Concat层连接;
步骤S3:构建损失函数,YOLOv5神经网络的总模型损失包括定位损失、分类损失和置信度损失三个部分;
步骤S4:利用训练集对YOLOv5神经网络进行一个训练段epoch的训练,并用损失函数计算YOLOv5神经网络的总模型损失,优化梯度,并反向传播,得到YOLOv5神经网络初步训练模型;
步骤S5:利用验证集对YOLOv5神经网络初步训练模型进行一次前向传播,并利用损失函数计算YOLOv5神经网络的总模型损失,得到优化后的超参数,利用优化后的超参数更新YOLOv5神经网络初步训练模型中相应的超参数,得到YOLOv5神经网络初步验证模型;
步骤S6:重复步骤S4和步骤S5,确定YOLOv5神经网络的最佳模型参数,得到YOLOv5神经网络模型。
2.根据权利要求1所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:步骤S2中,检测部分包括3个Head检测头和一个NMS模块,三个Head检测头分别用于处理Neck颈部网络中第二个VoVGSCSP模块、第三个VoVGSCSP模块和第四个VoVGSCSP模块输出的特征图,得到绝缘子缺陷的预测框的坐标、类别信息以及置信度;NMS模块用于去除冗余的预测框,得到最终的检测结果。
3.根据权利要求1所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:步骤S2中,C3_SimAM模块包含两个分支,一个分支仅由一个卷积模块构成,另一个分支包括依次设置的卷积模块和瓶颈层bottleneck,两个分支利用Concat层连接,而后Concat层再与一个卷积模块连接。
4.根据权利要求3所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:步骤S2中,瓶颈层bottleneck包括两个分支,第一个分支仅用于传输输入至瓶颈层bottleneck的特征图,第二个分支包括依次设置的第一个卷积模块、第二个卷积模块以及一个SimAM注意力模块,第一个分支和第二个分支与一个Add层连接。
5.根据权利要求1所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:步骤S2中,Bi‑Concat层是通过如下方式得到的:对现有的Concat层增加用于划分不同特征图的重要性的可学习参数。
6.根据权利要求1所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:步骤S2中,VoVGSCSP模块由两分支结构组成,第一个分支包括一个卷积模块,第二个分支包括一个卷积模块和一个GSbottleneck层,VoVGSCSP模块的第一个分支与第二个分支通过一个Concat层进行拼接,最后,Concat层连接一个卷积模块。
7.根据权利要求6所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:步骤S2中,VoVGSCSP模块的GSbottleneck层包括两个分支,第一个分支由两个依次设置的GSConv模块构成,第二个分支由一个卷积模块构成,GSbottleneck层的第一个分支和第二个分支通过一个Concat层连接。
8.根据权利要求1所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:步骤S3中,YOLOv5神经网络的总模型损失函数的计算公式,如式(6)所示:(6)
式(6)中, 表示分类损失, 表示置信度损失, 表示定位损失,
、 、 分别表示分类损失、置信度损失和定位损失的损失函数所占的权值。
9.根据权利要求1所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,其特征在于:步骤S4的具体步骤如下:
步骤S4‑1:Backbone主干网络对通过Input层输入的训练集中的图像进行特征提取;
步骤S4‑2:Neck颈部网络融合不同层的特征图;
步骤S4‑3:检测部分计算损失、预测结果,并将预测结果与真实结果进行对比,得到检测结果;
步骤S4‑4:调用损失函数计算YOLOv5神经网络的总模型损失,优化梯度,并反向传播,得到YOLOv5神经网络初步训练模型。