CN116468730B - 基于YOLOv5算法的航拍绝缘子图像缺陷检测方法 - Google Patents
基于YOLOv5算法的航拍绝缘子图像缺陷检测方法 Download PDFInfo
- Publication number
- CN116468730B CN116468730B CN202310728096.2A CN202310728096A CN116468730B CN 116468730 B CN116468730 B CN 116468730B CN 202310728096 A CN202310728096 A CN 202310728096A CN 116468730 B CN116468730 B CN 116468730B
- Authority
- CN
- China
- Prior art keywords
- module
- yolov5
- neural network
- layer
- loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000012212 insulator Substances 0.000 title claims abstract description 138
- 230000007547 defect Effects 0.000 title claims abstract description 131
- 238000001514 detection method Methods 0.000 title claims abstract description 103
- 238000013528 artificial neural network Methods 0.000 claims abstract description 72
- 238000012549 training Methods 0.000 claims abstract description 52
- 238000012795 verification Methods 0.000 claims abstract description 26
- 238000003062 neural network model Methods 0.000 claims abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 61
- 230000006870 function Effects 0.000 claims description 39
- 230000003321 amplification Effects 0.000 claims description 37
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 21
- 125000003275 alpha amino acid group Chemical group 0.000 claims description 12
- 150000001875 compounds Chemical class 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 6
- 210000000988 bone and bone Anatomy 0.000 claims description 3
- 101100465000 Mus musculus Prag1 gene Proteins 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 39
- 210000002569 neuron Anatomy 0.000 description 35
- 230000004927 fusion Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 238000007689 inspection Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004880 explosion Methods 0.000 description 6
- 230000008447 perception Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000011897 real-time detection Methods 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 238000000889 atomisation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Remote Sensing (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,涉及目标检测技术领域。本发明包括以下步骤:S1:划分训练集、验证集和测试集;S2:构建YOLOv5神经网络;S3:构建损失函数;S4:利用训练集对YOLOv5神经网络训练一个训练段,计算损失,优化梯度,反向传播,得YOLOv5神经网络初步训练模型;S5:利用验证集对YOLOv5神经网络初步训练模型进行一次前向传播,计算损失,更新超参数,得YOLOv5神经网络初步验证模型;步骤S6:重复步骤S4和S5,得YOLOv5神经网络模型。本发明构建的YOLOv5神经网络模型泛化能力强,本发明对绝缘子图像缺陷检测时拥有较佳的精度和帧率。
Description
技术领域
本发明属于目标检测技术领域,特别涉及一种基于YOLOv5算法的航拍绝缘子图像缺陷检测方法。
背景技术
绝缘子是保证输电线路安全稳定的关键部件,由于工作环境的影响,如高温、降雨、大风等恶劣天气,绝缘子可能会出现自爆脱落缺陷,威胁输电线路的安全,进而影响人们的生产生活。对高压输电线路进行定期巡检排查安全隐患,可以有效避免电力事故的发生。针对绝缘子自爆缺陷检测,传统的方法是人工巡检,即电力巡检人员沿着输电线路逐一排查安全隐患,该方法需要花费大量的人力物力,且由于地理环境、天气等原因,巡检人员很难做到对输电线路上的绝缘子进行全部排查,巡检准确率和巡检效率难以保证。
近年来,基于计算机视觉的缺陷检测方法对绝缘子进行巡检已经成为了一种重要巡检方式,利用计算机视觉中的目标检测技术来实现绝缘子自爆缺陷的检测越来越受到科研工作者的关注。
当前,利用计算机视觉领域中的目标检测技术进行绝缘子缺陷检测存在以下难点:
(1)检测精度低。绝缘子自爆缺陷区域较小,在无人机航拍图像中占有很小的像素区域,且受无人机视角改变和拍摄距离变化等因素的影响,绝缘子缺陷特征不明显,导致目标检测方法检测绝缘子缺陷精度较低;
(2)目标检测方法检测绝缘子缺陷的帧率无法达到实时检测的需求。为了提升目标检测模型的检测精度,很多模型提出了更深更复杂的网络结构,这也导致网络模型更大,模型推理速度降低,最终导致模型的检测帧率降低,在绝缘子缺陷检测场景中,帧率是衡量模型实时检测能力的关键指标;
(3)数据集不丰富,绝缘子缺陷样本较少,且公开的绝缘子数据集多是单一背景环境,由这些单一背景环境的数据集训练得到的网络模型泛化能力差。
为此,本发明提供了一种泛化能力强,且可有效提高绝缘子缺陷检测精度和帧率的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法。
发明内容
为了弥补现有技术的不足,本发明提供了一种基于YOLOv5算法的航拍绝缘子图像缺陷检测方法。
本发明的技术方案为:
一种基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,包括如下步骤:
步骤S1:获取绝缘子数据集,并将绝缘子数据集按照数量6:2:2的比例划分为训练集、验证集和测试集;
步骤S2:构建YOLOv5神经网络:所述YOLOv5神经网络包括Input层、Backbone主干网络、Neck颈部网络和检测部分;
步骤S3:构建损失函数,YOLOv5神经网络的总模型损失包括定位损失、分类损失和置信度损失三个部分;
步骤S4:利用训练集对YOLOv5神经网络进行一个训练段epoch的训练,并用损失函数计算YOLOv5神经网络的总模型损失,优化梯度,并反向传播,得到YOLOv5神经网络初步训练模型;
步骤S5:利用验证集对步骤S4得到的YOLOv5神经网络初步训练模型进行一次前向传播,完成一次验证,并利用损失函数计算YOLOv5神经网络的总模型损失,得到优化后的超参数,利用优化后的超参数更新YOLOv5神经网络初步训练模型中相应的超参数,得到YOLOv5神经网络初步验证模型;
步骤S6:重复步骤S4和步骤S5,直至步骤S6 完成第300次验证,确定YOLOv5神经网络的最佳模型参数,得到YOLOv5神经网络模型。
优选地,步骤S1中,所述绝缘子数据集的获取方式为:将现有的绝缘子缺陷检测数据集中过于相似的图片及其相应的标签文件进行随机保留一个图片及其相应的标签文件处理(即其余的图片及其相应的标签文件进行删除处理),得到初选数据集,而后对初选数据集中的每张原始图片均进行两次扩增过程;其中,一次扩增过程包括依次进行的两个数据扩增过程,第一个数据扩增过程是通过模拟天气环境对原始图片进行数据扩增,第二个数据扩增过程是利用一种至三种传统数据扩增方式再次进行数据扩增。
优选地,步骤S2中,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模块组成;
检测部分包括3个Head检测头和一个NMS模块,三个Head检测头分别用于处理Neck颈部网络中第二个VoVGSCSP模块、第三个VoVGSCSP模块和第四个VoVGSCSP模块输出的特征图,得到绝缘子缺陷的预测框的坐标、类别信息以及置信度;NMS模块用于去除冗余的预测框,得到最终的检测结果;
其中,Backbone主干网络中的第二个C3_SimAM模块还与Neck颈部网络中的第二个Bi-Concat层连接;Backbone主干网络中的第三个C3_SimAM模块还分别与Neck颈部网络中的第一个Bi-Concat层和第三个Bi-Concat层连接;Neck颈部网络中的第一个VoVGSCSP模块还与第三个Bi-Concat层连接;Neck颈部网络中的第一个GSConv模块还与第四个Bi-Concat层连接。
优选地,步骤S2中,C3_SimAM模块包含两个分支,一个分支仅由一个卷积模块构成,另一个分支包括依次设置的卷积模块和瓶颈层bottleneck,两个分支利用concat层连接,而后concat层再与一个卷积模块连接。
优选地,步骤S2中,瓶颈层bottleneck包括两个分支,第一个分支仅用于传输输入至瓶颈层bottleneck的特征图,第二个分支包括依次设置的第一个卷积模块、第二个卷积模块以及一个SimAM注意力模块,第一个分支和第二个分支与一个Add层连接;其中,瓶颈层bottleneck中的第一个卷积模块的卷积核为1×1,作用是实现特征图的降维,第二个卷积模块的卷积核为3×3,作用是提取特征图中的绝缘子缺陷目标特征,而瓶颈层bottleneck中的SimAM注意力模块用于在三维权重空间计算每个特征图的能量函数;本申请中瓶颈层bottleneck中的Add层用于将第一个分支传输的输入至瓶颈层bottleneck的特征图和第二个分支输出的特征图进行拼接。
优选地,步骤S2中,Bi-Concat层是通过如下方式得到的:对现有的Concat层增加用于划分不同特征图的重要性的可学习参数,而对现有的Concat层增加用于划分不同特征图的重要性的可学习参数是通过网址https://blog.csdn.net/qq_41134483/article/details/127675346公开的方法来实现的。
优选地,步骤S2中,VoVGSCSP模块由两分支结构组成,第一个分支包括一个卷积模块,第二个分支包括一个卷积模块和一个GSbottleneck层,VoVGSCSP模块的第一个分支与第二个分支通过一个Concat层进行拼接,最后,Concat层连接一个卷积模块。
优选地,步骤S2中,VoVGSCSP模块的GSbottleneck层包括两个分支,第一个分支由两个依次设置的GSConv模块构成,第二个分支由一个卷积模块构成,GSbottleneck层的第一个分支和第二个分支通过一个Concat层连接。
优选地,步骤S3中,YOLOv5神经网络的总模型损失函数的计算公式,如式(6)所示:
(6)
式(6)中,表示分类损失,/>表示置信度损失,/>表示定位损失,/>、/>、/>分别表示分类损失、置信度损失和定位损失的损失函数所占的权值。
优选地,步骤S4的具体步骤如下:
步骤S4-1:Backbone主干网络对通过Input层输入的训练集中的图像进行特征提取;
步骤S4-2:Neck颈部网络融合不同层的特征图,具体包括如下步骤:SPPF模块对输入至Neck颈部网络的特征图进行池化操作;而后,第一个GSConv模块对SPPF模块输出的特征图进行降维,且对特征图的有效信息进行提取;而后第一个上采样层Upsample对第一个GSConv模块输出的特征图进行上采样;而后,第一个Bi-Concat层将Backbone中第三个C3_SimAM模块输出的特征图和第一个上采样层Upsample输出的特征图进行拼接融合;而后,第一个VoVGSCSP模块对第一个Bi-Concat层输出的特征图进行特征提取;而后,第二个GSConv模块再次对第一个VoVGSCSP模块输出的融合了绝缘子位置信息的特征图进行降维操作;而后,第二个Upsample层对第二个GSConv模块输出的特征图进行上采样操作;而后第二个Bi-Concat层对第二个C3_SimAM模块输出的特征图和第二个Upsample层输出的特征图进行拼接融合;而后,第二个VoVGSCSP模块对第二个Bi-Concat模块输出的融合后的特征图中的绝缘子特征进行提取;而后,第三个GSConv模块对第二个VoVGSCSP模块输出的具有更多语义信息和位置信息的特征图进行下采样和升维;第三个Bi -Concat层将第三个C3_SimAM模块输出的特征图、第一个VoVGSCSP模块输出的特征图以及第三个GSConv模块输出的特征图进行拼接融合;第三个VoVGSCSP模块对第三个Bi-Concat层输出的包含更多语义信息和更多位置信息的特征图进行特征提取;第四个GSConv模块对第三个VoVGSCSP模块输出的特征图进行下采样;第四个Bi-Concat层对Neck颈部网络中第一个GSConv模块输出的特征图和第四个GSConv模块输出的特征图进行拼接融合;第四个VoVGSCSP模块对第四个Bi-Concat层输出的融合了不同深度特征的特征图进行特征提取,并进行维度提升。
步骤S4-3:检测部分计算损失、预测结果,并将预测结果与真实结果进行对比,得到检测结果:具体步骤如下所示:
Neck颈部网络中第二个VoVGSCSP模块、第三个VoVGSCSP模块和第四个VoVGSCSP模块输出的特征图分别经过三个Head检测头处理,得到绝缘子缺陷的预测框的坐标、类别信息以及置信度;NMS模块去除冗余的预测框,得到最终的检测结果;
步骤S4-4:调用损失函数计算YOLOv5神经网络的总模型损失,优化梯度,并反向传播,得到YOLOv5神经网络初步训练模型。
优选地,步骤S5的具体步骤与步骤S4-1至步骤S4-4相同。
与现有技术相比,本发明的有益效果如下:
本发明基于YOLOv5算法的航拍绝缘子图像缺陷检测方法旨在提高YOLOv5神经网络模型泛化能力,解决YOLOv5算法在绝缘子缺陷检测场景中对绝缘子缺陷区域识别精度不高的问题以及解决YOLOv5算法对绝缘子缺陷区域感知不敏感、网络模型大的缺点。
本申请中先使用imgaug库赋予原始图像某一种模拟天气环境场景,然后对模拟天气环境场景后的图片利用传统数据扩增方式完成数据扩增,完成一次图片扩增过程,每个图像进行两次图片扩增过程,最终获得背景丰富的绝缘子数据集,而后又使用绝缘子数据集中的训练集对YOLOv5神经网络进行训练,并使用验证集对YOLOv5神经网络进行验证,训练过程和验证过程循环进行,以更新YOLOv5神经网络参数,最终得到YOLOv5神经网络模型。本申请YOLOv5神经网络模型是利用背景丰富的绝缘子数据集对构建的YOLOv5神经网络进行循环地训练和验证得到的,因此,该YOLOv5神经网络模型具有泛化能力强的优点。
本申请中Backbone主干网络使用的带有SimAM注意力模块的C3_SimAM模块能够有效提取绝缘子缺陷区域的特征,提升YOLOv5神经网络对绝缘子缺陷区域的兴趣程度,提高YOLOv5神经网络对绝缘子缺陷区域的特征提取效果,进而提升YOLOv5神经网络模型检测绝缘子缺陷的准确率。
本申请YOLOv5神经网络中的Neck颈部网络对不同模块提取的特征图进行跨层融合,可有效弥补深层特征图在卷积运算过程中的信息丢失,捕捉、保留更多绝缘子缺陷区域的位置信息和语义信息。与现有缺陷检测方法相比,本申请基于YOLOv5算法的航拍绝缘子图像缺陷检测方法对绝缘子图像缺陷检测时拥有较佳的精度和帧率;而且,本申请基于YOLOv5算法的航拍绝缘子图像缺陷检测方法中构建的模型更小。
附图说明
图1为本发明实施例基于YOLOv5算法的航拍绝缘子图像缺陷检测方法流程图;
图2为本发明实施例中数据扩增效果示意图;
图3为本发明中YOLOv5神经网络的网络结构示意图;
图4为本发明中C3_SimAM模块;
图5为本发明中bottleneck模块的结构示意图;
图6为本发明中的VoVGSCSP模块;
图7为本发明中GSbottleneck模块的网络结构示意图。
具体实施方式
为使本发明技术方法更加清晰,下面结合附图详细说明本发明实施例。
一种基于YOLOv5算法的航拍绝缘子图像缺陷检测方法,如图1所示,包括以下步骤:
步骤S1:获取绝缘子数据集,并将绝缘子数据集按照数量6:2:2的比例划分为训练集、验证集和测试集。
本申请中获取绝缘子数据集的方式为:将现有的绝缘子缺陷检测数据集中过于相似的图片及其相应的标签文件进行随机保留一个图片及其相应的标签文件处理(即其余的图片及其相应的标签文件进行删除处理),得到初选数据集,而后对初选数据集中的每张原始图片均进行两次扩增过程;其中,一次扩增过程包括依次进行的两个数据扩增过程,第一个数据扩增过程是通过模拟天气环境对原始图片进行数据扩增,第二个数据扩增过程是利用一种至三种传统数据扩增方式再次进行数据扩增;本申请中现有的绝缘子缺陷检测数据集是现有技术,是从如下网址上获取的,所述网址为:
https://aistudio.***.com/aistudio/datasetdetail/122549,该现有的绝缘子缺陷检测数据集中包括600张原始图片以及与之相对应的标签文件,该600张原始图片均展示的是绝缘子自爆脱落情况。由于,该上述600张原始图片中有部分图片过于相似,其拍摄视角完全相同,仅缺陷位置不同,为了避免模型训练过程中出现过拟合,故仅随机保留过于相似的图片中的其中一个图片及其对应的标签文件,去掉了其他过于相似的图片及其相应的标签文件,最后剩余420张原始图片及其相应的标签文件,构成一个初选数据集。数据扩增过程中,对该上述初选数据集的420张原始图片中的每张原始图片扩增两次,最后得到1260张图片及其相应的标签文件,该1260张图片及其相应的标签文件即构成扩增后的数据集,也就是绝缘子数据集。
本申请先使用imgaug库赋予原始图像某一种模拟天气环境场景进行数据扩增,然后对模拟天气环境场景后的图片再利用一种至三种传统数据扩增方式完成数据扩增,如此便完成了对图片的一次扩增过程;所述模拟天气环境场景包括雨天、雪天、雾天以及暗光场景,所述传统数据扩增方式包括翻转、镜像、旋转、缩放、运动模糊和随机噪声。
本申请中,步骤S1,具体包括如下步骤:
步骤1.1:读取初选数据集的420张原始图片:Image库属于PIL(Python ImageLibrary)库的子库,使用Image库中的Image.open(filename)读取初选数据集中的原始图片,得到Image对象,该Image对象中包含读取到的图像的全部信息,Image对象中的图像信息为PIL格式类型;
步骤1.2:将Image对象转换为numpy数组:利用numpy库中的np.asarray(img)方法将步骤1.1中得到的Image对象中的PIL格式类型的图像信息转换成numpy数组。numpy数组可便于本申请后续利用imgaug库中的函数对其进行翻转、镜像、旋转、缩放、运动模糊以及随机噪声的操作,提高数据扩增的效率。
步骤1.3:使用ET.parse(xml_path)方法读取标签文件,得到序列化的标签数据;ET.parse(xml_path)中的xml_path代表读取的标签文件路径和文件名,且ET.parse(xml_path)方法为现有技术,比如https://blog.csdn.net/weixin_39568072/article/details/105630332网址中有公开。
步骤1.4:读取numpy数组,得到图片矩阵,利用imgaug库的函数对图片矩阵所表示的图片模拟天气环境场景,得到模拟天气环境场景后的图片。利用imgaug库的Rain(drop_size=(0.1, 0.2), speed=(0.01, 0.02))模拟雨天场景,本实施例中,参数drop_size表示雨滴尺寸,设置为0.1至0.2,参数speed表示雨滴速度,设置为0.01至0.02;使用imgaug库的Snow(severity=(1, 3))模拟雪天场景,本实施例中,参数severity表示降雪大小,设置为1至3,数值越大降雪越大;使用imgaug库的Fog(severity=(2, 5))模拟雾天场景,本实施例中参数severity表示雾化程度,设置为2至5,数值越大,雾化程度越高;使用imgaug库的EnhanceBrightness(factor=(0.3,0.7))模拟暗光场景,参数factor用来控制亮度,设置为0.3至0.7,数值越小亮度越低。本申请中模拟雨天、雪天、雾天以及暗光场景的参数设置了较大的范围,目的是模拟不同天气的不同恶劣程度。
步骤1.5:对模拟天气环境场景后的图片利用一种至三种传统数据扩增方式完成数据扩增,得到数据扩增后的图片;其中,传统数据扩增方式包括翻转、镜像、旋转、缩放、运动模糊和随机噪声;图2展示了本申请进行扩增过程得到的其中一个数据扩增后的图片,该图片展示的是先利用雪天进行模拟天气环境场景进行数据扩增,后利用随机噪声这个传统数据扩增方式处理完成数据扩增的过程。
步骤1.6:生成与步骤1.5得到的数据扩增后的图片相对应标签文件:具体步骤来说,当步骤1.5采用了运动模糊或者随机噪声时不对步骤1.3得到的序列化的标签数据进行更新,当步骤1.5采用了翻转、镜像、旋转或者缩放的操作时,依据操作的方式,对步骤1.3得到的序列化的标签数据进行更新,具体为:使用现有技术中的seq.to_deterministic()方法得到对绝缘子初选数据集进行扩增操作(包括模拟天气环境场景和传统数据扩增方式)的增强函数,该增强函数还可描述图像中绝缘子缺陷区域的坐标变化情况;然后再使用imgaug库中的augment_bounding_boxes([bbs])方法对扩增操作后的图片中的绝缘子缺陷目标的边框坐标进行修改,augment_bounding_boxes([bbs])中的bbs表示的是未经扩增操作前的图片中的绝缘子缺陷目标的边框坐标。
步骤1.7:重复步骤1.1至步骤1.6,将初选数据集的420张原始图片再完成一次图片扩增过程,最终得到1260张图片及其相应的标签文件,该1260张图片及其相应的标签文件即构成扩增后的数据集,也就是绝缘子数据集。
步骤1.8:绝缘子数据集的划分。将绝缘子数据集按照数量6:2:2的比例划分为训练集、验证集和测试集,其中,训练集包含了756张图片及其相应的标签、验证集包含了252张图片及其相应的标签、测试集包含了252张图片及其相应的标签。
步骤S2:构建YOLOv5神经网络:
所述YOLOv5神经网络包括Input层、Backbone主干网络、Neck颈部网络和检测部分,如图3所示;
Backbone主干网络用于特征提取;Neck颈部网络用于融合不同层的特征图,Neck颈部网络融合图像中的不同尺度大小的绝缘子时,得到具有绝缘子多尺度特征的特征图,提升YOLOv5神经网络对同一绝缘子缺陷目标不同尺度的识别能力,提高检测精度;检测部分用于计算损失、预测结果,以及将预测结果与真实结果进行对比,得到检测结果。
本申请中,Backbone主干网络包括依次设置的第一个卷积模块、第二个卷积模块、第一个C3_SimAM模块、第三个卷积模块、第二个C3_SimAM模块、第四个卷积模块、第三个C3_SimAM模块、第五个卷积模块和第四个C3_SimAM模块,其结构如图3所示;其中,第一个卷积模块用于对输入至Backbone主干网络的特征图进行下采样,降低特征图的尺度,增加特征图的维度,并保留有效信息;第二个卷积模块、第三个卷积模块、第四个卷积模块以及第五个卷积模块的结构和作用均相同,都是用于提取输入特征图中的局部空间信息,实现对输入特征的提取与转换。第一个C3_SimAM模块、第二个C3_SimAM模块、第三个C3_SimAM模块和第四个C3_SimAM模块的结构和作用均相同,C3_SimAM模块用于增加Backbone主干网络的深度和感受野,提高Backbone主干网络的特征提取能力;
本申请中C3_SimAM模块全称CSP bottleneck with 3 convolutions,C3_SimAM模块的结构,如图4所示,包含两个分支,一个分支仅由一个卷积模块构成,另一个分支包括依次设置的卷积模块和瓶颈层bottleneck,两个分支利用Concat层连接,而后Concat层再与一个卷积模块连接。
此外,为提升C3_SimAM模块的特征提取能力,使YOLOv5神经网络更加关注绝缘子缺陷目标的微小特征,本申请对C3_SimAM模块的瓶颈层bottleneck进行了特殊设计,具体来说:本申请中C3_SimAM模块的瓶颈层bottleneck结构如图5所示,瓶颈层bottleneck包括两个分支,第一个分支仅用于传输输入至瓶颈层bottleneck的特征图,第二个分支包括依次设置的第一个卷积模块、第二个卷积模块以及一个SimAM注意力模块,第一个分支和第二个分支与一个Add层连接;本申请中瓶颈层bottleneck中的第一个卷积模块的卷积核为1×1,作用是实现特征图的降维,第二个卷积模块的卷积核为3×3,作用是提取特征图中的绝缘子缺陷目标特征,而瓶颈层bottleneck中的SimAM注意力模块在三维权重空间计算每个特征图的能量函数,对绝缘子缺陷目标更敏感的特征图分配更大的权重,调整backbone主干网络对绝缘子缺陷区域的感知能力,优化特征图的权重参数更新过程;本申请中瓶颈层bottleneck中的Add层则是用于将第一个分支传输的输入至瓶颈层bottleneck的特征图和第二个分支输出的特征图进行拼接,得到瓶颈层bottleneck的输出结果。
本申请中SimAM注意力模块为现有技术,其注意力机制计算特征图的方式也为现有技术,本申请采用的是《SimAM: A Simple, Parameter-Free Attention Module forConvolutional Neural Networks》这篇论文中公开的注意力机制计算方式,具体如下:
首先:SimAM注意力模块的注意力机制在特征图三维空间利用能量函数计算每个神经元的权重,本申请中的神经元是指YOLOv5神经网络训练过程中输入至C3_SimAM模块中的特征图的任何一个值,SimAM注意力模块能够调整YOLOv5神经网络对不同特征图的兴趣程度,提升YOLOv5神经网络对绝缘子缺陷的感知能力;其中,能量函数的计算公式,如式(1)所示:
(1)
式(1)中,为能量函数,/> 表示目标神经元变换的权值,/>表示目标神经元变换的偏置,/>为通道上的整体神经元,/>表示输入特征的单通道的其他神经元,/>和/>表示两个不同的二值标签,本实施例中设/>, />,/>和/>分别是/>和/>的线性变换,/>,/>,/>表示为输入特征的单通道目标神经元,/>表示空间维度上的索引,/>表示通道中的神经元数量,M=H×W表示单个通道数上的能量函数的数量,H为图像的高,W为图像的宽;
经过正则化运算,寻找式(2)的最小值即可求解目标神经元与同一通道中除目标神经元之外的其他神经元之间的线性可分离性:
(2)
式(2)中,和/>分别表示输入特征的单通道目标神经元和表示输入特征的单通道的其他神经元;/>表示空间维度上的索引,/>表示通道中的神经元数,/>和/>分别表示目标神经元的权值和偏置,λ为正则化系数;
由于,直接使用式(2)计算每个神经元的能量函数值需要花费大量的计算资源,计算效率低,因此,本申请利用关于和/>的封闭解来降低式(2)的计算资源,节省计算时间,/>和/>的封闭解分别如式(3)和式(4)所示:
(3)
(4)
式(3)中,表示输入特征的单通道目标神经元,/>表示输入特征的单通道的其他神经元的平均值,/>表示其他神经元的方差,λ为正则化系数;
式(4)中,表示输入特征的单通道目标神经元,/>表示输入特征的单通道的其他神经元的平均值,/>表示目标神经元的权值;
经过式(3)和式(4)对式(2)的处理,可得最小能量函数,如式(5)所示:
(5)
式(5)中,λ为正则化系数,表示输入特征的单通道目标神经元,/>表示通道中所有神经元(包括目标神经元和其他神经元)的均值,/>表示通道中所有神经元(包括目标神经元和其他神经元)的方差。
本申请中能量函数值越小,表示目标神经元与其他神经元的分化程度越高,目标神经元包含更多相关绝缘子缺陷目标的特征信息。本申请中计算能量函数值时,是对计算通道中的每个神经元的能量函数值均进行计算,在三维权重空间调整权重参数优化过程,调整对目标敏感的神经元,为其分配更大的权重,提升YOLOv5神经网络关注绝缘子缺陷区域的兴趣程度,弥补YOLOv5神经网络在小目标检测场景(比如绝缘子缺陷检测场景)中的特征提取不足的问题,最终,赋予YOLOv5神经网络对绝缘子缺陷目标更强的感知学习能力;
Neck颈部网络包括依次设置的SPPF模块、第一个GSConv模块、第一个上采样层Upsample、第一个Bi-Concat层、第一个VoVGSCSP模块、第二个GSConv模块、第二个上采样层Upsample、第二个Bi-Concat层、第二个VoVGSCSP模块、第三个GSConv模块、第三个Bi-Concat层、第三个VoVGSCSP模块、第四个GSConv模块、第四个Bi-Concat层、第四个VoVGSCSP模块组成。本申请中第一个GSConv模块、第二个GSConv模块、第三个GSConv模块以及第四个GSConv模块的结构均相同;第一个上采样层Upsample和第二个上采样层Upsample的结构和功能均相同;第一个Bi-Concat层、第二个Bi-Concat层、第三个Bi-Concat层和第四个Bi-Concat层的结构和功能均相同;第一个VoVGSCSP模块、第二个VoVGSCSP模块、第三个VoVGSCSP模块和第四个VoVGSCSP模块的的结构均相同;第一个GSConv模块和第二个GSConv模块均是用于降维和特征提取,第三个GSConv模块和第四个GSConv模块均是用于下采样和特征提取;第一个VoVGSCSP模块、第二个VoVGSCSP模块和第三个VoVGSCSP模块均是用于特征提取,第四个VoVGSCSP模块是用于特征提取和升维。
此外,Backbone主干网络中的第二个C3_SimAM模块还与Neck颈部网络中的第二个Bi-Concat层连接;Backbone主干网络中的第三个C3_SimAM模块还分别与Neck颈部网络中的第一个Bi-Concat层和第三个Bi-Concat层连接;Neck颈部网络中的第一个VoVGSCSP模块还与第三个Bi-Concat层连接;Neck颈部网络中的第一个GSConv模块还与第四个Bi-Concat层连接。
本申请中,Bi-Concat层是对现有的Concat层增加了用于划分不同特征图的重要性的可学习参数,而对现有的Concat层增加用于划分不同特征图的重要性的可学习参数是通过网址https://blog.csdn.net/qq_41134483/article/details/127675346公开的方法来实现的;
VoVGSCSP模块的具体结构,如图6所示,具体来说,VoVGSCSP模块由两分支结构组成,第一个分支包括一个卷积模块,第二个分支包括一个卷积模块和一个GSbottleneck层,VoVGSCSP模块的第一个分支与第二个分支通过一个Concat层进行拼接,最后,Concat层连接一个卷积模块;而VoVGSCSP模块的GSbottleneck层的具体结构,如图7所示,GSbottleneck层包括两个分支,第一个分支由两个依次设置的GSConv模块构成,第二个分支由一个卷积模块构成,GSbottleneck层的第一个分支和第二个分支通过一个Concat层连接;本申请中VoVGSCSP模块的GSbottleneck层用于提取特征图中绝缘子缺陷目标特征,并输出包含绝缘子缺陷目标的深层特征的特征图,具体来说,GSbottleneck层中的GSConv模块运算特征图,能够提取绝缘子缺陷目标的深层特征,而这些绝缘子缺陷目标的深层特征包含更多的语义信息。
本申请中,VoVGSCSP模块使用的是类似残差的结构,本申请中VoVGSCSP模块中的Concat层能够将GSbottleneck层输出的包含绝缘子缺陷目标的深层特征的特征图与经过VoVGSCSP模块的第一个分支中卷积模块进行卷积操作输出的特征图进行拼接融合,可有效避免梯度消失的情况。
本申请中由于Backbone主干网络中的 C3_SimAM模块主要功能是增加YOLOv5神经网络的深度,提升感受野,而第三个 C3_SimAM模块输出的特征图为浅层特征图,该特征图中包含了初步提取的位置信息和语义信息,且浅层特征图中包含的位置信息更多,而Neck颈部网络中的第一个VoVGSCSP模块输出的特征图为深层特征图,该特征图包含位置信息和更多的语义信息,而Neck颈部网络中第三个GSConv模块输出的特征图是由第二个Bi-Concat层输出的包含有浅层特征和深层特征的融合特征图经过第二个VoVGSCSP模块的特征提取以及第三个GSConv模块的下采样和特征提取处理后得到的,因此,第三个GSConv模块输出的特征图包含更均衡的语义信息和位置信息;而本申请通过第三个Bi-Concat层将该上述三个不同模块(即第三个 C3_SimAM模块、第一个VoVGSCSP模块和第三个GSConv模块)输出的特征图进行拼接,可实现将浅层特征图中的语义信息和丰富的位置信息与深层特征图中的位置信息和丰富的语义信息进行融合,得到包含更多语义信息和更多位置信息的特征图;
本申请中Neck颈部网络中第一个GSConv模块输出的特征图拥有更多的语义信息,当第四个Bi-Concat层将其与第四个GSConv模块输出的特征图进行融合,能够再次提升YOLOv5神经网络对绝缘子缺陷目标位置信息和语义信息的感知能力。
本申请检测部分包括3个Head检测头和一个NMS模块,如图3所示,第一个Head检测头用于利用第二个VoVGSCSP模块输出的特征图对训练集或者验证集中输入至YOLOv5神经网络中的图片中的绝缘子缺陷目标进行预测;第二个Head检测头用于利用第三个VoVGSCSP模块输出的特征图对训练集或者验证集中输入至YOLOv5神经网络中的图片中的绝缘子缺陷目标进行预测;第三个Head检测头用于利用第四个VoVGSCSP模块输出的特征图对训练集或者验证集中输入至YOLOv5神经网络中的图片中的绝缘子缺陷目标进行预测;特征图经过Head检测头处理,得到绝缘子缺陷的预测框的坐标、类别信息以及置信度;NMS模块用于去除冗余的预测框,得到最终的检测结果。本申请中3个Head检测头预设的锚框尺寸不同,用以检测不同尺寸大小的目标, 且第一个Head检测头、第二个Head检测头和第三个Head检测头预设的锚框尺寸与现有技术(如https://github.com/ultralytics/yolov5)中公开的尺寸设置相同。
步骤S3:构建损失函数:
本申请中YOLOv5神经网络的总模型损失包括定位损失、分类损失和置信度损失三个部分,YOLOv5神经网络的总模型损失函数的计算公式,如式(6)所示:
(6)
式(6)中,表示分类损失,/>表示置信度损失,/>表示定位损失,/>、/>、/>分别表示分类损失、置信度损失和定位损失的损失函数所占的权值。
本申请中使用计算定位损失,使用二元交叉熵分别计算分类损失/>和置信度损失/>。本申请中定位损失表示预测绝缘子缺陷的预测框和绝缘子缺陷的真实框(本申请中真实框由YOLOv5神经网络读取训练集、验证集或者测试集的标签信息得到的)之间的误差,分类损失表示预测的绝缘子缺陷的目标类别的误差,置信度损失表示所预测绝缘子缺陷的预测框的可信程度,即预测框内存在绝缘子缺陷目标的可信程度;本申请中预测框和真实框均为矩形框。
定位损失是通过如下计算方式得到的:
首先计算IOU,IOU为绝缘子缺陷的预测框和真实框这两个矩形框相交区域面积与相并部分面积的比值,也称为交并比,如式(7)所示:
(7)
式(7)中,A、B分别表示绝缘子缺陷的预测框和绝缘子缺陷的真实框;
然后,计算LossIOU,LossIOU表示绝缘子缺陷的预测框和真实框的重合度,计算公式如式(8)所示:
(8)
式(8)中,IOU为绝缘子缺陷的预测框和真实框相交区域面积与相并部分面积的比值,LossIOU表示绝缘子缺陷的预测框和真实框的重合度;
然后,计算CIOU。绝缘子缺陷的预测框和绝缘子缺陷的真实框之间的重合度越高,LossIOU越接近0,反之,如果LossIOU越接近1,表明绝缘子缺陷的预测框和绝缘子缺陷的真实框之间的重合度越低;当绝缘子缺陷的预测框和绝缘子缺陷的真实框没有重叠区域时,无论预测框和真实框相距多远,IOU值都为0。在实际的预测框和真实框匹配过程中,不仅需要考虑重叠面积,还需要考虑预测框和真实框之间的中心点距离以及预测框的宽高比和真实框的宽高比,为此,本申请利用CIOU综合考虑了预测框和真实框重叠面积、中心点距离以及预测框的宽高比和真实框的宽高比问题,能够更精确的计算目标的位置信息,CIOU计算公式,如式(9)所示:
(9)
式(9)中,为预测框和真实框这两个矩形框的中心点距离,c为预测框和真实框这两个矩形框的最小包围矩形的对角线长度,/>表示预测框和真实框这两个矩形框的宽高比的相似度,/>为/>的影响因子。
式(9)中的的计算公式,则如式(10)所示:
(10)
式(10)中,和/>分别代表真实框的宽和高,/>和/>分别代表预测框的宽和高。
式(9)中的的计算公式,则如式(11)所示:/>
(11)
式(11)中,为/>的影响因子,/>表示预测框和真实框这两个矩形框的宽高比的相似度,IOU为绝缘子缺陷的预测框和真实框相交区域面积与相并部分面积的比值;
由于,LossCIOU是通过1-CIOU来进行计算的;故此,LossCIOU的计算公式,则如式(12)所示:
(12)
式(12)中,表示定位损失,IOU为绝缘子缺陷的预测框和真实框相交区域面积与相并部分面积的比值,/>为预测框和真实框这两个矩形框的中心点距离,/>为预测框和真实框这两个矩形框的最小包围矩形的对角线长度,/>为/>的影响因子,/>表示预测框和真实框这两个矩形框的宽高比的相似度。
本申请中分类损失和置信度损失/>均采用二元交叉熵损失(BCELoss:Binary Cross Entropy Loss)函数进行计算,分类损失/>的计算公式,如式(13)所示:
(13)
式(13)中,表示由YOLOv5神经网络读取的训练集、验证集或者测试集的标签信息中的类别信息,/>表示概率值,该概率值是指Head检测头输出的类别信息是/>所表示的类别信息的概率,i表示第几个样本,/>表示样本总数。
置信度损失的计算公式,如式(14)所示:
(14)
式(14)中,表示Head检测头输出的预测框的置信度,/>表示绝缘子缺陷的预测框和真实框相交区域面积与相并部分面积的比值即IOU值,i表示第几个样本,/>表示样本总数。
步骤S4:利用训练集对YOLOv5神经网络进行一个训练段epoch的训练,并用损失函数计算YOLOv5神经网络的总模型损失,优化梯度,并反向传播,得到YOLOv5神经网络初步训练模型;具体步骤如下:
步骤S4-1:Backbone主干网络对通过Input层输入的训练集中的图像进行特征提取,具体包括如下步骤:
将训练集中的图像通过Input层输入至Backbone主干网络,Backbone主干网络的第一个卷积模块对输入至Backbone主干网络的特征图进行下采样,降低特征图的尺度,增加特征图的维度,并保留有效信息;而后,第二个卷积模块、第一个C3_SimAM模块、第三个卷积模块、第二个C3_SimAM模块、第四个卷积模块、第三个C3_SimAM模块、第五个卷积模块和第四个C3_SimAM模块对特征依次进行特征提取;
步骤S4-2:Neck颈部网络融合不同层的特征图,具体包括如下步骤:SPPF模块对Backbone主干网络输入至Neck颈部网络的特征图进行池化操作,SPPF模块输出的特征图尺寸为20×20×1024;而后,第一个GSConv模块对SPPF模块输出的特征图进行降维,且能够提取特征图的有效信息,第一个GSConv模块输出的特征图尺寸为20×20×512,第一个GSConv模块的卷积核大小为1×1;而后第一个上采样层Upsample对第一个GSConv模块输出的特征图进行上采样,得到尺寸为40×40×512的特征图;而后,第一个Bi-Concat层将Backbone中第三个C3_SimAM模块输出的特征图和第一个上采样层Upsample输出的特征图进行拼接融合,该步骤中,第一个Bi-Concat层能够有效融合浅层特征和深层特征,保留更多位置信息和语义信息;而后,第一个VoVGSCSP模块对第一个Bi-Concat层输出的特征图进行特征提取,得到进行特征提取,得到尺寸为40×40×512的特征图;而后,第二个GSConv模块再次对第一个VoVGSCSP模块输出的融合了绝缘子位置信息的特征图进行降维操作,得到尺寸为40×40×256的特征图;而后,第二个Upsample层对第二个GSConv模块输出的特征图进行上采样操作得到尺寸为80×80×256的特征图;而后第二个Bi-Concat层对Backbone主干网络中的第二个C3_SimAM模块输出的特征图和第二个Upsample层输出的特征图进行拼接融合,得到尺寸为80×80×256的特征图,第二个Bi-Concat层的拼接融合操作能够对浅层特征和深层特征进行融合,弥补深层特征图位置信息不敏感的问题;而后,第二个VoVGSCSP模块对第二个Bi-Concat模块输出的融合后的特征图中的绝缘子特征进行提取,有效保留深层特征图中的语义信息,得到具有更多语义信息和位置信息的特征图;而后,第三个GSConv模块对第二个VoVGSCSP模块输出的具有更多语义信息和位置信息的特征图(该特征图的尺寸为80×80×256)进行下采样和升维,得到尺寸为40×40×512的特征图;第三个Bi -Concat层将Backbone主干网络第三个C3_SimAM模块输出的特征图、Neck颈部网络中第一个VoVGSCSP模块输出的特征图以及Neck颈部网络中第三个GSConv模块输出的特征图进行拼接融合,得到具有更多语义信息和更多位置信息的特征图;第三个VoVGSCSP模块对第三个Bi-Concat层输出的包含更多语义信息和更多位置信息的特征图进行特征提取与整理,调整YOLOv5神经网络对绝缘子缺陷目标特征的位置信息和语义信息的关注能力,输出尺寸为40×40×512的特征图;第四个GSConv模块对第三个VoVGSCSP模块输出的特征图进行下采样,得到尺寸为20×20×512的特征图;第四个Bi-Concat层对Neck颈部网络中第一个GSConv模块输出的特征图和第四个GSConv模块输出的特征图进行拼接融合,得到融合不同深度的特征图;第四个VoVGSCSP模块对第四个Bi-Concat层输出的融合不同深度的特征图进行特征提取,并进行维度提升,得到尺寸为20×20×1024的特征图。
步骤S4-3:检测部分计算损失、预测结果,并将预测结果与真实结果进行对比,得到检测结果:具体步骤如下所示:
Neck颈部网络中第二个VoVGSCSP模块、第三个VoVGSCSP模块和第四个VoVGSCSP模块输出的特征图分别经过三个Head检测头处理,得到绝缘子缺陷的预测框的坐标、类别信息以及置信度;NMS模块去除冗余的预测框,得到最终的检测结果;
步骤S4-4:调用损失函数计算YOLOv5神经网络的总模型损失,优化梯度,并反向传播,得到YOLOv5神经网络初步训练模型。
步骤S5:利用验证集对YOLOv5神经网络初步训练模型进行一次前向传播,完成一次验证,并利用损失函数计算YOLOv5神经网络的总模型损失,得到优化后的超参数,利用优化后的超参数更新YOLOv5神经网络初步训练模型中相应的超参数,得到YOLOv5神经网络初步验证模型;该步骤S5中通过Input层输入至Backbone主干网络是验证集的图像,其他具体步骤均与步骤S4-1至步骤S4-4相同;
步骤S6:重复步骤S4和步骤S5,直至步骤S6 完成第300次验证,确定YOLOv5神经网络的最佳模型参数,得到YOLOv5神经网络模型。
YOLOv5神经网络模型的测试:
利用测试集测试YOLOv5神经网络模型对绝缘子图像缺陷的检测效果。测试步骤:将测试集加载到YOLOv5神经网络模型中进行一次前向传播,YOLOv5神经网络模型中检测部分的Head检测头将YOLOv5神经网络模型预测得到的结果与测试集标签文件中的真实结果进行对比,得到YOLOv5神经网络模型在测试集上的检测结果,检测结果包括F1、[email protected]、[email protected]:.95、帧率以及模型大小的指标。
为了对比本申请所述基于YOLOv5算法的航拍绝缘子图像缺陷检测方法的检测效果,本申请还特地利用本申请所划分的测试集对 YOLOv4-tiny图像缺陷检测方法(出自于《Yolov4: Optimal speed and accuracy of object detection》)、 YOLOv4图像缺陷检测方法(出自于《Yolov4: Optimal speed and accuracy of object detection》)、 YOLOv5s图像缺陷检测方法(出自于https://github.com/ultralytics/yolov5)、 YOLOv7图像缺陷检测方法(出自于《Yolov7: Trainable bag-of-freebies sets new state-of-the-artforreal-time object detectors》)以及THP-YOLOv5图像缺陷检测方法(出自于《Tph-yolov5: Improved yolov5 based on transformer prediction head for objectdetection on drone-captured scenarios》)这五种现有的图像缺陷检测方法以及本申请所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法进行测试。为了保证测试的公平性,在用测试集进行测试之前,本申请对上述五种现有缺陷检测方法以及本申请所述的图像缺陷检测方法采用训练集进行相同的训练策略,并采用验证集进行相同的验证策略,完成对上述六种图像缺陷检测方法中的网络模型的训练。本申请利用测试集对上述五种现有缺陷检测方法以及本申请所述的图像缺陷检测方法进行测试的测试结果,如表1所示。
表1
本申请基于F1、[email protected]、[email protected]:.95、帧率以及模型大小这5个指标评价本发明所述基于YOLOv5算法的航拍绝缘子图像缺陷检测方法的检测效果,本申请所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法在表1中以Ours进行表示,本申请中F1表示YOLOv5神经网络模型的准确率和召回率的调和平均数,[email protected]表示IOU=0.5时YOLOv5神经网络模型的平均准确率。[email protected]:.95表示IOU从0.5至0.95,每隔0.05计算一个平均准确率,最后将所有平均准确率进行平均得到的值。帧率用于衡量YOLOv5神经网络模型的推理速度,表示YOLOv5神经网络模型在单位时间内能够处理多少张图片,单位为帧每秒(FPS)。模型大小表示训练得到的YOLOv5神经网络模型文件大小,单位为兆(M),能够衡量模型参数大小。本申请中F1、[email protected]、[email protected]:.95以及帧率值越大越好,模型大小,越小越好。
从表1可以看出,本申请所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法在F1、[email protected]、[email protected]:.95三个评价指标取得了最好的效果。由于本申请中YOLOv5神经网络模型与现有技术中的YOLOv5s模型大小相差0.7兆,更具有对比性,因此本申请对二者的测试结果进行重点对比:
F1指标对比:本申请所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法在F1指标上达到0.891,相较于现有技术中的YOLOv5s图像缺陷检测方法提高了(0.891-0.879)/0.879×100%=1.4%;
[email protected]指标对比:本申请所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法在[email protected]指标上达到0.901,相较于现有技术中的YOLOv5s图像缺陷检测方法提高了(0.901-0.867)/0.867×100%=3.9%;本申请中[email protected]指标较佳,说明本申请所述的绝缘子图像缺陷检测方法在对绝缘子图像缺陷进行检测时,精度高,对绝缘子缺陷区域感知敏感;
[email protected]:.95指标对比:本申请所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法在[email protected]:.95指标上达到56.1%,相较于现有技术中的YOLOv5s图像缺陷检测方法提高了(0.561-0.541)/0.541×100%=3.7%;
帧率对比:本申请所述的基于YOLOv5算法的航拍绝缘子图像缺陷检测方法测试的帧率达到了66.23,相对于现有技术中的YOLOv5s图像缺陷检测方法提高了(66.23-57.47)/57.47×100%=15.2%,能够很好地满足检测场景实时检测的需要;
模型大小对比:本申请中YOLOv5神经网络模型相对于现有技术中的YOLOv5s图像缺陷检测方法中用到的模型,模型大小降低了(13.7-13.1)/13.7×100%=4.4%。
Claims (9)
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神经网络初步训练模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310728096.2A CN116468730B (zh) | 2023-06-20 | 2023-06-20 | 基于YOLOv5算法的航拍绝缘子图像缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310728096.2A CN116468730B (zh) | 2023-06-20 | 2023-06-20 | 基于YOLOv5算法的航拍绝缘子图像缺陷检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116468730A CN116468730A (zh) | 2023-07-21 |
CN116468730B true CN116468730B (zh) | 2023-09-05 |
Family
ID=87177461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310728096.2A Active CN116468730B (zh) | 2023-06-20 | 2023-06-20 | 基于YOLOv5算法的航拍绝缘子图像缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116468730B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116665080B (zh) * | 2023-07-26 | 2023-11-07 | 国网江西省电力有限公司电力科学研究院 | 基于目标识别的无人机劣化绝缘子检测方法及*** |
CN117011301A (zh) * | 2023-10-07 | 2023-11-07 | 广东三姆森科技股份有限公司 | 一种基于yolo模型的缺陷检测方法及装置 |
CN117437188B (zh) * | 2023-10-17 | 2024-05-28 | 广东电力交易中心有限责任公司 | 一种用于智慧电网的绝缘子缺陷检测*** |
CN117557922B (zh) * | 2023-10-19 | 2024-06-11 | 河北翔拓航空科技有限公司 | 改进YOLOv8的无人机航拍目标检测方法 |
CN117422689B (zh) * | 2023-10-31 | 2024-05-31 | 南京邮电大学 | 一种基于改进MS-PReNet和GAM-YOLOv7的雨天绝缘子缺陷检测方法 |
CN117679643B (zh) * | 2024-01-05 | 2024-06-25 | 天津大学 | 用于脊髓损伤康复的多脊髓节段协同电刺激方法及*** |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401201A (zh) * | 2020-03-10 | 2020-07-10 | 南京信息工程大学 | 一种基于空间金字塔注意力驱动的航拍图像多尺度目标检测方法 |
CN111639530A (zh) * | 2020-04-24 | 2020-09-08 | 国网浙江宁海县供电有限公司 | 一种输电线路的输电塔和绝缘子的检测和识别方法及*** |
CN111652211A (zh) * | 2020-05-21 | 2020-09-11 | 哈尔滨市科佳通用机电股份有限公司 | 一种动车抗蛇行减振器安装座挂异物故障检测方法 |
CN112699859A (zh) * | 2021-03-24 | 2021-04-23 | 华南理工大学 | 目标检测方法、装置、存储介质及终端 |
CN113592822A (zh) * | 2021-08-02 | 2021-11-02 | 郑州大学 | 一种电力巡检图像的绝缘子缺陷定位方法 |
CN114022432A (zh) * | 2021-10-28 | 2022-02-08 | 湖北工业大学 | 基于改进的yolov5的绝缘子缺陷检测方法 |
CN114282649A (zh) * | 2021-12-14 | 2022-04-05 | 江苏省特种设备安全监督检验研究院 | 基于双向注意力机制增强yolo v5的目标检测方法 |
CN114332697A (zh) * | 2021-12-19 | 2022-04-12 | 西安科技大学 | 输电线路中多类目标故障检测方法、***、设备及介质 |
CN114494908A (zh) * | 2022-02-11 | 2022-05-13 | 南通大学 | 一种基于改进的YOLOv5输电线路航拍图像缺陷检测方法 |
CN114693963A (zh) * | 2021-12-15 | 2022-07-01 | 全球能源互联网研究院有限公司 | 基于电力数据特征提取的识别模型训练、识别方法及装置 |
CN114724052A (zh) * | 2022-03-22 | 2022-07-08 | 江苏濠汉信息技术有限公司 | 一种基于深度学习网络模型的电力图像天际线分割方法 |
CN115050021A (zh) * | 2022-05-05 | 2022-09-13 | 江苏大学 | 基于改进YOLOv4的非结构环境下葡萄识别方法 |
WO2022211781A1 (en) * | 2021-03-29 | 2022-10-06 | Hitachi Vantara Llc | Object detection inference pipeline |
CN115330718A (zh) * | 2022-08-05 | 2022-11-11 | 中国计量大学 | 一种基于改进YOLOv4网络的绝缘子缺陷检测方法 |
CN115690542A (zh) * | 2022-11-03 | 2023-02-03 | 国网甘肃省电力公司 | 一种基于改进yolov5的航拍绝缘子定向识别方法 |
-
2023
- 2023-06-20 CN CN202310728096.2A patent/CN116468730B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401201A (zh) * | 2020-03-10 | 2020-07-10 | 南京信息工程大学 | 一种基于空间金字塔注意力驱动的航拍图像多尺度目标检测方法 |
CN111639530A (zh) * | 2020-04-24 | 2020-09-08 | 国网浙江宁海县供电有限公司 | 一种输电线路的输电塔和绝缘子的检测和识别方法及*** |
CN111652211A (zh) * | 2020-05-21 | 2020-09-11 | 哈尔滨市科佳通用机电股份有限公司 | 一种动车抗蛇行减振器安装座挂异物故障检测方法 |
CN112699859A (zh) * | 2021-03-24 | 2021-04-23 | 华南理工大学 | 目标检测方法、装置、存储介质及终端 |
WO2022211781A1 (en) * | 2021-03-29 | 2022-10-06 | Hitachi Vantara Llc | Object detection inference pipeline |
CN113592822A (zh) * | 2021-08-02 | 2021-11-02 | 郑州大学 | 一种电力巡检图像的绝缘子缺陷定位方法 |
CN114022432A (zh) * | 2021-10-28 | 2022-02-08 | 湖北工业大学 | 基于改进的yolov5的绝缘子缺陷检测方法 |
CN114282649A (zh) * | 2021-12-14 | 2022-04-05 | 江苏省特种设备安全监督检验研究院 | 基于双向注意力机制增强yolo v5的目标检测方法 |
CN114693963A (zh) * | 2021-12-15 | 2022-07-01 | 全球能源互联网研究院有限公司 | 基于电力数据特征提取的识别模型训练、识别方法及装置 |
CN114332697A (zh) * | 2021-12-19 | 2022-04-12 | 西安科技大学 | 输电线路中多类目标故障检测方法、***、设备及介质 |
CN114494908A (zh) * | 2022-02-11 | 2022-05-13 | 南通大学 | 一种基于改进的YOLOv5输电线路航拍图像缺陷检测方法 |
CN114724052A (zh) * | 2022-03-22 | 2022-07-08 | 江苏濠汉信息技术有限公司 | 一种基于深度学习网络模型的电力图像天际线分割方法 |
CN115050021A (zh) * | 2022-05-05 | 2022-09-13 | 江苏大学 | 基于改进YOLOv4的非结构环境下葡萄识别方法 |
CN115330718A (zh) * | 2022-08-05 | 2022-11-11 | 中国计量大学 | 一种基于改进YOLOv4网络的绝缘子缺陷检测方法 |
CN115690542A (zh) * | 2022-11-03 | 2023-02-03 | 国网甘肃省电力公司 | 一种基于改进yolov5的航拍绝缘子定向识别方法 |
Non-Patent Citations (1)
Title |
---|
基于改进型YOLO v3的绝缘子异物检测方法;张焕坤;李军毅;张斌;;中国电力(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116468730A (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116468730B (zh) | 基于YOLOv5算法的航拍绝缘子图像缺陷检测方法 | |
Hou et al. | Inspection of surface defects on stay cables using a robot and transfer learning | |
CN113780296B (zh) | 基于多尺度信息融合的遥感图像语义分割方法及*** | |
Alsabhan et al. | Automatic building extraction on satellite images using Unet and ResNet50 | |
CN115482491B (zh) | 一种基于transformer的桥梁缺陷识别方法与*** | |
Chen et al. | YOLOv5‐Based Vehicle Detection Method for High‐Resolution UAV Images | |
CN112837315A (zh) | 一种基于深度学习的输电线路绝缘子缺陷检测方法 | |
CN116311254B (zh) | 一种恶劣天气情况下的图像目标检测方法、***及设备 | |
CN115984714B (zh) | 一种基于双分支网络模型的云检测方法 | |
CN112766409A (zh) | 一种遥感图像目标检测的特征融合方法 | |
CN114049538A (zh) | 基于udwgan++网络的机场裂缝图像对抗生成方法 | |
CN113052108A (zh) | 基于深度神经网络的多尺度级联航拍目标检测方法和*** | |
CN116503709A (zh) | 一种基于改进YOLOv5的雾霾天气下车辆检测方法 | |
CN116778318A (zh) | 一种卷积神经网络遥感影像道路提取模型及方法 | |
Shit et al. | An encoder‐decoder based CNN architecture using end to end dehaze and detection network for proper image visualization and detection | |
CN113920479A (zh) | 一种目标检测网络构建和目标检测方法、装置及电子设备 | |
CN114218999A (zh) | 一种基于融合图像特征的毫米波雷达目标检测方法及*** | |
Li et al. | Learning to holistically detect bridges from large-size vhr remote sensing imagery | |
CN112597996A (zh) | 基于任务驱动的自然场景中交通标志显著性检测方法 | |
CN116363610A (zh) | 一种基于改进YOLOv5的航拍车辆旋转目标检测方法 | |
CN114494893B (zh) | 基于语义重用上下文特征金字塔的遥感图像特征提取方法 | |
Yang et al. | Multi visual feature fusion based fog visibility estimation for expressway surveillance using deep learning network | |
CN115424026A (zh) | 一种基于知识嵌入的端到端雾天图像多目标检测模型 | |
Li et al. | Prediction model of urban street public space art design indicators based on deep convolutional neural network | |
Chen et al. | Vehicle detection based on yolov3 in adverse weather conditions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |