CN117541922A - 基于SF-YOLOv5的电站屋面工程缺陷检测方法 - Google Patents
基于SF-YOLOv5的电站屋面工程缺陷检测方法 Download PDFInfo
- Publication number
- CN117541922A CN117541922A CN202311484754.4A CN202311484754A CN117541922A CN 117541922 A CN117541922 A CN 117541922A CN 202311484754 A CN202311484754 A CN 202311484754A CN 117541922 A CN117541922 A CN 117541922A
- Authority
- CN
- China
- Prior art keywords
- feature map
- fusion
- layer
- yolov5
- feature
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 84
- 230000007547 defect Effects 0.000 title claims abstract description 80
- 238000012549 training Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 12
- 239000010410 layer Substances 0.000 claims description 92
- 235000019879 cocoa butter substitute Nutrition 0.000 claims description 49
- 238000000605 extraction Methods 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 37
- 230000004927 fusion Effects 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 8
- 238000012805 post-processing Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 239000002356 single layer Substances 0.000 claims description 5
- 230000017105 transposition Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 claims description 2
- 101150064138 MAP1 gene Proteins 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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/176—Urban or other man-made structures
-
- 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/045—Combinations of networks
-
- 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
- G06N3/092—Reinforcement learning
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- 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
- G06V10/443—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 by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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/52—Scale-space analysis, e.g. wavelet analysis
-
- 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/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- 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
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- 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/048—Activation functions
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30132—Masonry; Concrete
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于SF‑YOLOv5的电站屋面工程缺陷检测方法,涉及电站屋面工程检测与缺陷识别领域,以电站建筑物屋面工程缺陷数据集为训练数据集,将电站建筑物屋面工程缺陷数据集中的原始图像通过一次处理进行数据增强,然后通过二次处理得到统一大小的图像;构建基于SF‑YOLOv5的缺陷检测网络,训练缺陷检测网络并生成缺陷检测模型,用于检测电站屋面工程缺陷。本发明所提出的检测方法可提高图像模糊、遮挡等情况的识别精度,可降低目标处于图像边缘时的漏检率,可提高不同尺度缺陷的识别准确率。
Description
技术领域
本发明涉及缺陷检测技术领域,更具体的说是涉及一种基于SF-YOLOv5的电站屋面工程缺陷检测方法。
背景技术
目前,电站建筑物屋面工程是建筑物工程的一项关键工序,通常包括找坡层、隔汽层、保温层、找平层、防水层、隔离层、保护层7道工序,具有作业面广、工序多、隐蔽性强、管控难的特点。电站建筑物屋面工程如果发生质量问题造成漏水等事故,将严重危害屋内电气设备的安全稳定运行,威胁电网安全。传统的人工视觉检测存在准确性和效率方面的挑战。人力处理容易导致低效和人员疲劳等问题,无法保证检测结果的准确性和过程的高效性。
深度学习的进展极大地推动了缺陷检测方法的发展。通过让网络自主学习特征模式,通过与样本数据的交互进行训练,并通过反向传播来更新网络参数,实现自动特征提取。这种方法省略了手工设计特征提取算法的步骤,显著提高了准确性和效率。目前,基于深度学习的缺陷检测方法已广泛应用于工业领域的生产检测中。其中,以YOLO系列为代表的单阶段检测网络在目标检测领域具有重要地位。这些网络模型直接将图像输入模型,神经网络只需对图像进行一次学习即可输出相应的检测结果,既保证了速度,又具有一定的准确率。
电站建筑物屋面工程在施行过程中会出现找平层起砂、隔离层破损、防水层卷材皱起等不同类型的缺陷,有着缺陷尺寸大小差别过大的特点,而传统的检测网络对于小目标的检测精确度和准确度尚不够,而且随着卷积层的加深,小目标的特征会不断减小,导致小目标缺陷的漏检,无法应用于工业界。
因此,如何提高检测网络对小目标的检测精度和准确度,实现准确的电站屋面工程缺陷检测是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于SF-YOLOv5的电站屋面工程缺陷检测方法,通过将传统YOLOv5与Swin-Transformer、Fusion-Concat结合,可以降低目标处在图像边缘时的漏检率,提高不同尺度缺陷的识别准确度。
为了实现上述目的,本发明采用如下技术方案:
基于SF-YOLOv5的电站屋面工程缺陷检测方法,步骤如下:
步骤1:获取进行缺陷标注的各种缺陷类型电站屋面工程缺陷图片,并对图片进行两次预处理,构建数据集;
步骤2:在YOLOv5框架中融合Swin-Transformer和Fusion-Concat构建SF-YOLOv5网络;
步骤3:将数据集输入所述SF-YOLOv5网络中,对所述SF-YOLOv5网络进行训练,获得缺陷检测模型;
步骤4:获取预测图像,输入至所述缺陷检测模型中,获得模型输出结果,采用CP-Cluster对模型输出结果进行后处理优化,获得预测结果。
优选的,所述步骤1中的预处理包括数据增强和数据裁剪,首先对获取的图片进行数据增强,对数据增强后的所有图片进行边界扩充后裁剪至设定大小,然后对裁剪后的图片再次进行边界扩充,再进行通道转置、添加批量大小、转换成张量类型;具体的:
对图片进行数据增强包括:
将不同规模的不同缺陷类型的电站屋面工程缺陷图片粘贴到新的背景图片,获得不同环境下的不同缺陷图片;
将原始的电站屋面工程缺陷图片进行高斯模糊处理;
从原始的电站屋面工程缺陷图片中随机选取四张通过mosaic拼接得到新的图片;
将原始的电站屋面工程缺陷图片进行旋转角度和平移调整;
将原始的电站屋面工程缺陷图片进行灰度、亮度调整;
对数据增强后的图片进行数据裁剪包括以下步骤:
步骤11:将图片像素小于设定阈值的图片的每条边采用灰度值0扩充固定像素点;
步骤12:将扩充后的图片裁剪至设定阈值大小;
步骤13:将裁剪后的图片的每条边采用灰度值0扩充固定像素点;
步骤14:对扩充后的图像进行通道转置操作,然后将转置后的图像扩充为设定的批量大小,并转换为张量类型。
优选的,所述SF-YOLOv5网络包括骨干网络、颈网络和检测头;
所述骨干网络包括第一特征提取层、第二特征提取层、第三特征提取层和第四特征提取层;
所述颈网络包括第一融合层、第二融合层和第三融合层;
所述检测头采用YOLO检测器,将特征图转换为模型输出结果,包括预测框的位置、类别和置信度。
优选的,所述第一特征提取层包括2个CBS和3个C3SwinTR;所述第二特征提取层包括1个CBS和6个C3SwinTR;所述第三特征提取层包括1个CBS和9个C3SwinTR;所述第四特征提取层包括2个CBS和1个融合了多头自注意力机制的C3_MHSA。
上述技术方案的技术效果为,所有特征提取层由CBS和不同数量的C3SwinTR实现特征提取;CBS是一个组合操作,由卷积层Conv,归一化层BN,激活函数SiLU组成,卷积层用于提取特征,归一化用于加速训练过程,激活函数单元用于引入非线性;C3SwinTR是由CBS和不同数量的Swin transformer blocks模块组成,C3SwinTR代替了传统YOLOv5的C3卷积模块,将CNN与transformer结合来捕获图像的全局信息。传统的C3模块需要使用多次局部卷积操作来获取图像的信息,而C3SwinTR在通道维度划分,只需要对一半的特征进行卷积操作,减少了计算量。
优选的,所述第一特征提取层提取数据集中图像的第一特征,获得特征图F0;
所述第二特征提取层根据特征图F0提取特征图F1;
所述第三特征提取层根据特征图F1提取特征图F2;
所述第四特征提取层根据特征图F2提取特征图F3。
优选的,所述第一融合层包括第一上采样、Concat拼接、2个C3_3、CBS、第二上采样、Fusion-Concat拼接和卷积;所述第二融合层包括CBS、Fusion-Concat拼接、C3_3和卷积;所述第三融合层包括CBS、Fusion-Concat拼接、C3_3和卷积。
优选的,所述第一融合层的所述第一上采样对特征图F3进行上采样;在Concat拼接将经过上采样的特征图F3与特征图F2进行融合,获得融合图1;融合图1依次经过2个C3_3和CBS获得中间特征图M1;中间特征图M1在所述第二上采样进行采样;在Fusion-Concat拼接将经过上采样的中间特征图M1与特征图F1进行同和,获得融合图2;融合图2经过C3_3获得中间特征图M2;中间特征图M2经过卷积获得检测头输出Ⅰ;
所述第二融合层的CBS对中间特征图M2进行处理;在Fusion-Concat拼接将经过处理的中间特征图M2与中间特征图M1进行融合,获得融合图3;融合图3经过C3_3获得中间特征图M3;中间特征图M3经过卷积获得检测头输出Ⅱ;
所述第三融合层的的CBS对中间特征图M3进行处理;在Fusion-Concat拼接将经过处理的中间特征图M3与特征图F3进行融合,获得融合图4;融合图4经过C3_3获得中间特征图M4;中间特征图M4经过卷积获得检测头输出Ⅲ。
优选的,所述第四特征提取层中的C3_MHSA包括三个CBS模块、MHSA多头自注意力层和Concat拼接,对数据进行处理时,特征图F2中一半的特征向量经过CBS模块,在Concat拼接与另一半依次经过CBS模块和MHSA多头自注意力层的特征向量进行拼接,拼接后的特征向量经过CBS模块获得特征图F3。不再将图像划分窗口,而是直接计算整个图像的信息,对输入的特征图进行全局的自注意力计算,从而捕捉特征图中不同位置之间的依赖关系。
优选的,MHSA多头自注意力层的多头自注意力机制源于Transformer架构,处理过程如下:
步骤41:第三特征提取层输出的特征图F2经过CBS模块得到多头自注意力的输入矩阵A1,将输入矩阵A1中的每个点的高度和宽度进行编码,获得相对位置编码;
步骤42:编码后的输入矩阵A1分别与查询权重矩阵、键权重矩阵、值权重矩阵相乘,得到查询编码Q、键编码K、值编码V;三组权重矩阵的初始化使用深度学习框架PyTorch提供的默认初始化方法,在训练过程中,三个权重矩阵的值会在迭代的过程中更新调整;
步骤43:将查询编码Q和键编码K之间的点积、查询编码Q和相对位置编码R之间的点积进行相加,得到自注意力分数,自注意力分数经过Softmax函数得到注意力权重,注意力权重点乘值编码V得到单层自注意力输出Si;
步骤44:将每个点的单层自注意力输出Si进行拼接,得到多注意力层输出OMHSA,表示为:
SA(R,Q,K,V)=Softmax(QRT-QKT)V
Si=SA(Ri,Qi,Ki,Vi)
OMHSA=Concat(S1,S2,…,Sn)
其中,Softmax为归一化指数函数;SA表示自注意力机制;Ri、Qi、Ki、Vi分别表示第i个点的相对位置编码、查询编码、键编码和值编码;n表示输入矩阵A1的点数,即单层自注意力输出的层数,i=1,2,...,n。
优选的,C3SwinTR由多个Swin-transformer blocks组成,Swin-transformerblocks由W-MSA、SW-MSA、MLP和LN组成。
优选的,Fusion-Concat拼接,替换了YOLOv5中PANet传统的维度拼接,在特征图逐元素相加的过程中引入初始权重,增加了特征图包含的信息量,但并不会增加维度,相当于在特征融合的阶段引入了注意力机制。
优选的,融合CP-Cluster式使用基于置信度传播聚类CP-Cluster方法对目标检测结果进行后处理,替代传统的基于NMS的聚类方法,通过消息传递机制来迭代地惩罚冗余边界框,增强正样本的置信度,从而提高检测精度。
经由上述的技术方案可知,与现有技术相比,产生的有益效果包括:
(1)本发明对图像进行统一大小的处理,且处理后的图像进行边界扩充,不会导致处于图像边缘的目标被分割,降低边缘目标漏检率。
(2)本发明通过Mosaic、粘贴、高斯模糊等数据增强处理扩大了数据集,加强了数据集中的特征信息,克服训练数据集不足、特征信息少导致训练效果差的问题,进一步提高检测精度。
(3)本发明提出的SF-YOLOv5网络结构,通过将YOLOv5中C3模块替换为C3SwinTR,可以更好地适应不同尺度的目标,通过滑动窗口机制,只计算感兴趣的局部像素,减少了计算量;通过多头自注意力机制,捕捉不同位置之间的依赖关系,从而更好地融合不同尺度的特征图,提高目标检测的精度;
在YOLOv5的骨干网络末端引入多头自注意力层C3_MHSA,实现低分辨率特征图上的全局自注意,做到了有效地处理并汇总特征图中不同尺寸大小缺陷的语义信息,提高缺陷检测的准确率;
在特征融合阶段使用Fusion-Concat替代PANet的Concat拼接,通过引入权重参数自适应地调整特征图之间的权重,从而更好地融合不同尺度的特征图,同时可视化权重可以直观地展示网络在特征融合阶段的注意力分布;
通过CP-Cluster对目标检测结果进行后处理,不需要对候选框按照置信度值进行排序,可以实现并行化,能更好地应用于实时任务场景;相比于传统的YOLOv5使用基于NMS的方法对候选框简单的去重操作,CP-Cluster通过消息传递机制在相邻的候选框之间进行迭代,在去除重复框的同时,可以增强真正的正样本的置信度值,惩罚冗余边界框,从而增加检测精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的基于改进YOLOv5的电站屋面工程缺陷检测方法流程图;
图2附图为本发明提供的基于改进YOLOv5的缺陷检测网络结构图;
图3附图为本发明提供的基本卷积单元C3模块结构图;
图4附图为本发明提供的残差单元结构图;
图5附图为本发明提供的C3SwinTR结构图;
图6附图为本发明提供的Swin-transformer结构图;
图7附图为本发明提供的融合Fusion-Concat的PANet结构图;
图8附图为本发明提供的CP-Cluster结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例公开了一种基于SF-YOLOv5的电站屋面工程缺陷检测方法,主要用于基于可见光设备拍摄图像的电站建筑物屋面工程表面缺陷检测,假设电站屋面工程图像由人工或者无人机航拍获得,经过人工标注得到电站屋面工程缺陷数据集,电站建筑物屋面工程缺陷包含找平层起砂、隔汽层破损、保温层拼缝不严密、隔离层破损、防水层卷材皱起五类缺陷,经过人工标注后的电站屋面工程缺陷数据集用于本发明中缺陷检测网络的训练。
本发明提出的缺陷检测网络为基于SF-YOLOv5的电站屋面工程缺陷检测网络,以电站屋面工程缺陷数据集为训练数据集,缺陷检测流程如图1所示,包括如下步骤:
S1:图像预处理,首先将电站屋面工程缺陷数据集中的原始图像进行一次处理,进行数据增强,然后对一次处理后的图像进行二次处理,生成统一大小的图片;
S2:将上述预处理后的数据集输入SF-YOLOv5网络结构中,进行强化训练,将训练完成的网络参数保存,得到优化的缺陷检测模型;
S3:将待检测的图像输入缺陷检测模型,获得检测结果,实现电站屋面工程缺陷检测。
进一步的,在YOLOv5框架中融合Swin-Transformer和Fusion-Concat构建SF-YOLOv5网络结构。
进一步的,SF-YOLOv5网络结构分为骨干网络、颈网络和检测头三部分;
骨干网络:首先经过4个基本的特征提取阶段进行特征提取,特征提取阶段由CBS和不同数量的C3SwinTR组成,如图2所示;第一个特征提取阶段由两个CBS和3个C3SwinTR组成,第二个特征提取阶段由CBS和6个C3SwinTR组成,第三个特征提取单元由CBS和9个C3SwinTR组成,第四个特征提取阶段依次由CBS、融合了多头自注意力机制的C3_MHSA、CBS组成;CBS是一个组合操作。由卷积层C,归一化层B,激活函数S组成,卷积层用于提取特征,归一化用于加速训练过程,激活函数单元用于引入非线性;
颈网络:第四个特征提取阶段提取的特征图F3经过上采样后与第三个特征提取阶段提取的特征图F2进行Concat拼接,融合后的特征图经过C3_3和CBS进行进一步的特征提取得到中间特征图M1,上采样后与第二特征提取阶段提取的特征图F1进行Fusion-Concat拼接,经过C3_3得到中间特征图M2,最后经过卷积作为检测头输出Ⅰ;中间特征图M2经过CBS后与中间特征图M1进行Fusion-Concat拼接,经过C3_3得到中间特征图M3,最后经过卷积作为检测头输出Ⅱ;中间特征图M3经过CBS和第四个特征提取阶段的输出F4进行Fusion-Concat拼接,经过C3_3和卷积作为检测头输出Ⅲ;C3是一个卷积层,如图3所示,使用3×3卷积核进行卷积操作,通过残差单元Res Unit进行特征图上进行局部特征提取。Fusion-Concat如图7所示,传统PANet的特征融合采用了Concat拼接,这样不能增加特征图包含的信息量,还会增加计算量。通过在特征图逐元素相加的过程中引入初始权重w1和w2,增加特征图包含的信息量,但并不会增加计算量,相当于在特征融合的阶段引入了注意力机制。
检测头:采用YOLO检测器,将特征图转换为模型输出结果,包括预测框的位置、类别和置信度。如图2中Prediction模块所示,负责生成目标检测结果的部分,其通常的作用是将网络中间特征图转换为目标检测结果,包括检测框的位置、类别和置信度信息。YOLOv5使用的检测头是基于YOLO系列的检测器。YOLO检测头将骨干网络提取的特征图分为不同的网格单元,并在每个单元上执行目标检测。使用锚框来定义不同尺度的检测框。这些锚框与不同尺度的网格单元相对应,用于检测不同大小的目标。锚框的尺寸和比例是在训练过程中学习的。本发明使用了76x76x255,38x38x255,19x19x255作为输出的维度,以此分别来检测较小、中等、较大的物体。
进一步的,残差单元Res Unit,如图4所示,是为了解决深层神经网络中存在的梯度消失和训练困难的问题。三个CBS是一部分输入先进行(Pointwise Convolution点卷积,即1x1卷积)对数据进行降维,再进行常规卷积核的卷积,最后PW对数据进行升维,然后与另一部分直接相加。假设输入是256维,如果不使用残差单元,而是直接与一个3×3×256的卷积层做卷积操作,那参数数量为256×3×3×256=589824。相比之下,如果使用瓶颈层,先经过1×1卷积核,再经过3×3卷积核,最后经过1×1卷积核,这样总的参数量为256×1×1×64+64×3×3×64+64×1×1×256=69632。相比之下减少了大量计算量和计算复杂度,提高了深度学习模型的性能。
MHSA多头自注意力层的计算过程如下:首先特征图F2经过CBS得到多头自注意力的输入矩阵A1,将输入矩阵A1中的每个点的高度和宽度编码,实现相对位置编码,然后经过三个投影矩阵,得到查询编码Q、键编码K和值编码V,再将各个向量编码和相对位置编码进行相乘和相加来得到单头自注意力层输出,再把多个单头自注意力层输出拼接,得到多注意力层输出,表达式为:
SA(R,Q,K,V)=Softmax(QRT-QKT)V
Si=SA(Ri,Qi,Ki,Vi)
OMHSA=Concat(S1,S2,…,Sn)
其中,R为相对位置编码向量;Softmax为归一化指数函数,S为单头自注意力层输出,OMHSA为多头自注意力层输出。
C3_MHSA模块如图2左下角所示:C3_MHSA包括三个CBS,一个MHSA和一个Concat,进行处理时,一半的特征向量经过CBS模块,另一半的特征向量经过CBS模块和多头自注意力层(MHSA),在Concat与经过CBS的一半特征向量拼接,再经过CBS模块生成第四特征提取层提取的特征图F3,避免了计算量冗余,更有效地处理和汇总特征图中密集、细小缺陷的语义信息。
骨干网络中特征提取阶段的C3SwinTR代替了传统YOLOv5的C3卷积模块,C3SwinTR结构如图5所示,将CNN与transformer结合来捕获图像的全局信息,而C3模块则使用多次局部卷积操作来获取图像的信息。C3SwinTR在通道维度划分,这样只需要对一半的特征进行卷积操作。C3SwinTR由多个Swin-transformer blocks组成,Swin-transformer blocks结构图如图6所示,由W-MSA,SW-MSA,MLP和LN组成。
W-MSA是将特征图划分到一个个窗口中,然后对每个窗口使用注意力模块,这样每个窗口内的像素点都会与其他像素点进行交互,从而得到窗口内的特征表示,划分多个窗口可以避免全局做自注意力计算时计算量过大的问题。
SW-MSA是一种局部平移的W-MSA,如果只采用W-MSA模块,则只会在每个窗口内进行自注意力计算,窗口与窗口之间是无法进行信息传递的。通过将窗口进行水平方向和垂直方向的平移,可以让不同窗口之间的信息交流。
MLP是一个多层感知机,用于对提出的特征进行非线性变换。它由多个全连接层组成,每个全连接层都包含一个线性变换和一个激活函数。
LN是一种归一化方法,用于加速模型的训练。将每个特征通道的均值和方差进行归一化,从而使得不同特征通道之间的分布更加一致,提高模型的泛化能力。
进一步的,融合CP-Cluster式使用基于置信度传播聚类CP-Cluster方法对目标检测结果进行后处理,替代传统的基于NMS的聚类方法,通过消息传递机制来迭代地惩罚冗余边界框,增强正样本的置信度,从而提高检测精度。
CP-Cluster计算流程如图8所示,CP-Cluster是一种后处理技术,当网络权重训练完成后,使用模型权重进行图片检测时,检测头生成了一系列预测框,CP-Cluster对这些预测框进行去重和优化,产生最终的检测结果。常规后处理的原理是将iou大于阈值的预测框使用边连接,构成几个无向图,然后同一个图结构里的预测框根据相邻边更新参数,过滤掉置信度低的预测框。CP-Cluster对目标检测结果进行后处理,通过消息传递机制在相邻的候选框之间进行,不需要对候选框按照置信度值进行排序,可以实现并行化在去除重复框的同时增强真正的正样本的置信度值,惩罚冗余边界框,从而增加检测精度。
实施例2
基于上述实施例,在一个具体实施例中,一次处理为扩充数据集,包括:将不同的缺陷对象的电站屋面工程缺陷图片更换背景得到不同环境下的缺陷图片;随机选取四张图片裁剪后Mosaic拼成一张新的数据图片;数据增强:将电站屋面工程缺陷图片进行高斯模糊处理,随机进行角度旋转、平行移动、亮度调节、灰度调整。
二次处理包括:对于图片像素小于520*520大小的每条边都采用灰度值0扩充20像素点;其次将图像裁剪至520*520大小;对裁剪后的图像进行边界扩充,每条边扩充20像素点,扩充后的图像大小为560*560大小;再将得到的图像进行通道转置,增加批量大小,转换为张量类型。其中,通道转置为将图像(h,w,3)转换为(3,h,w),增加批量大小,转换为(8,3,h,w),h为图像的高,w为图像的宽。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,步骤如下:
步骤1:获取进行缺陷标注的各种缺陷类型电站屋面工程缺陷图片,并对图片进行两次预处理,构建数据集;
步骤2:在YOLOv5框架中融合Swin-Transformer和Fusion-Concat构建SF-YOLOv5网络;
步骤3:将数据集输入所述SF-YOLOv5网络中,对所述SF-YOLOv5网络进行训练,获得缺陷检测模型;
步骤4:获取预测图像,输入至所述缺陷检测模型中,获得模型输出结果,采用CP-Cluster对模型输出结果进行后处理优化,获得预测结果。
2.根据权利要求1所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,所述步骤1中的预处理包括数据增强和数据裁剪;
对图片进行数据增强包括:
将不同规模的不同缺陷类型的电站屋面工程缺陷图片粘贴到新的背景图片,获得不同环境下的不同缺陷图片;
将原始的电站屋面工程缺陷图片进行高斯模糊处理;
从原始的电站屋面工程缺陷图片中随机选取四张通过mosaic拼接得到新的图片;
将原始的电站屋面工程缺陷图片进行旋转角度和平移调整;
将原始的电站屋面工程缺陷图片进行灰度、亮度调整;
对数据增强后的图片进行数据裁剪包括以下步骤:
步骤11:将图片像素小于设定阈值的图片的每条边采用灰度值0扩充固定像素点;
步骤12:将扩充后的图片裁剪至设定阈值大小;
步骤13:将裁剪后的图片的每条边采用灰度值0扩充固定像素点;
步骤14:对扩充后的图像进行通道转置操作,然后将转置后的图像扩充为设定的批量大小,并转换为张量类型。
3.根据权利要求1所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,所述SF-YOLOv5网络包括骨干网络、颈网络和检测头;所述骨干网络包括第一特征提取层、第二特征提取层、第三特征提取层和第四特征提取层;所述颈网络包括第一融合层、第二融合层和第三融合层;所述检测头采用YOLO检测器,将特征图转换为模型输出结果,包括预测框的位置、类别和置信度。
4.根据权利要求3所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,所述第一特征提取层包括2个CBS和3个C3SwinTR;所述第二特征提取层包括1个CBS和6个C3SwinTR;所述第三特征提取层包括1个CBS和9个C3SwinTR;所述第四特征提取层包括2个CBS和1个融合了多头自注意力机制的C3_MHSA。
5.根据权利要求3所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,所述第一特征提取层提取数据集中图像的第一特征,获得特征图F0;所述第二特征提取层根据特征图F0提取特征图F1;所述第三特征提取层根据特征图F1提取特征图F2;所述第四特征提取层根据特征图F2提取特征图F3。
6.根据权利要求3所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,所述第一融合层包括第一上采样、Concat拼接、2个C3_3、CBS、第二上采样、Fusion-Concat拼接和卷积;所述第二融合层包括CBS、Fusion-Concat拼接、C3_3和卷积;所述第三融合层包括CBS、Fusion-Concat拼接、C3_3和卷积。
7.根据权利要求5所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,所述第一融合层的所述第一上采样对特征图F3进行上采样;在Concat拼接将经过上采样的特征图F3与特征图F2进行融合,获得融合图1;融合图1依次经过2个C3_3和CBS获得中间特征图M1;中间特征图M1在所述第二上采样进行采样;在Fusion-Concat拼接将经过上采样的中间特征图M1与特征图F1进行同和,获得融合图2;融合图2经过C3_3获得中间特征图M2;中间特征图M2经过卷积获得检测头输出Ⅰ;
所述第二融合层的CBS对中间特征图M2进行处理;在Fusion-Concat拼接将经过处理的中间特征图M2与中间特征图M1进行融合,获得融合图3;融合图3经过C3_3获得中间特征图M3;中间特征图M3经过卷积获得检测头输出Ⅱ;
所述第三融合层的的CBS对中间特征图M3进行处理;在Fusion-Concat拼接将经过处理的中间特征图M3与特征图F3进行融合,获得融合图4;融合图4经过C3_3获得中间特征图M4;中间特征图M4经过卷积获得检测头输出Ⅲ。
8.根据权利要求4所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,所述第四特征提取层中的C3_MHSA包括三个CBS模块、MHSA多头自注意力层和Concat拼接,对数据进行处理时,特征图F2中一半的特征向量经过CBS模块,在Concat拼接与另一半依次经过CBS模块和MHSA多头自注意力层的特征向量进行拼接,拼接后的特征向量经过CBS模块获得特征图F3。
9.根据权利要求8所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,MHSA多头自注意力层的多头自注意力机制源于Transformer架构,处理过程如下:
步骤41:第三特征提取层输出的特征图F2经过CBS模块得到多头自注意力的输入矩阵A1,将输入矩阵A1中每个点的高度和宽度进行编码,获得相对位置编码;
步骤42:编码后的输入矩阵A1分别与查询权重矩阵、键权重矩阵、值权重矩阵相乘,得到查询编码Q、键编码K、值编码V;
步骤43:将查询编码Q和键编码K之间的点积、查询编码Q和相对位置编码R之间的点积进行相加,得到自注意力分数,自注意力分数经过Softmax函数得到注意力权重,注意力权重点乘值编码V得到单层自注意力输出Si;
步骤44:将每个点的单层自注意力输出Si进行拼接,得到多注意力层输出OMHSA,表示为:
其中,Softmax为归一化指数函数;SA表示自注意力机制;Ri、Qi、Ki、Vi分别表示第i个点的相对位置编码、查询编码、键编码和值编码;n表示输入矩阵A1的点数,i=1,2,...,n。
10.根据权利要求4所述的基于SF-YOLOv5的电站屋面工程缺陷检测方法,其特征在于,C3SwinTR由多个Swin-transformer blocks组成,Swin-transformer blocks由W-MSA、SW-MSA、MLP和LN组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311484754.4A CN117541922A (zh) | 2023-11-09 | 2023-11-09 | 基于SF-YOLOv5的电站屋面工程缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311484754.4A CN117541922A (zh) | 2023-11-09 | 2023-11-09 | 基于SF-YOLOv5的电站屋面工程缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117541922A true CN117541922A (zh) | 2024-02-09 |
Family
ID=89793062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311484754.4A Pending CN117541922A (zh) | 2023-11-09 | 2023-11-09 | 基于SF-YOLOv5的电站屋面工程缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117541922A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113724219A (zh) * | 2021-08-27 | 2021-11-30 | 重庆大学 | 基于卷积神经网络的建筑物表面病害检测方法及系统 |
CN115439436A (zh) * | 2022-08-31 | 2022-12-06 | 成都建工第七建筑工程有限公司 | 一种建筑结构多类型质量缺陷移动感知系统 |
CN115953408A (zh) * | 2023-03-15 | 2023-04-11 | 国网江西省电力有限公司电力科学研究院 | 一种基于YOLOv7的避雷器表面缺陷检测方法 |
CN116342596A (zh) * | 2023-05-29 | 2023-06-27 | 云南电网有限责任公司 | 一种基于YOLOv5改进的变电站设备螺母缺陷识别检测方法 |
CN116485709A (zh) * | 2023-02-01 | 2023-07-25 | 武汉科技大学 | 一种基于YOLOv5改进算法的桥梁混凝土裂缝检测方法 |
CN116630802A (zh) * | 2023-05-24 | 2023-08-22 | 中国科学院合肥物质科学研究院 | 一种基于SwinT与尺寸自适应卷积的电力设备锈蚀缺陷图像检测方法 |
US20230351573A1 (en) * | 2021-03-17 | 2023-11-02 | Southeast University | Intelligent detection method and unmanned surface vehicle for multiple type faults of near-water bridges |
-
2023
- 2023-11-09 CN CN202311484754.4A patent/CN117541922A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230351573A1 (en) * | 2021-03-17 | 2023-11-02 | Southeast University | Intelligent detection method and unmanned surface vehicle for multiple type faults of near-water bridges |
CN113724219A (zh) * | 2021-08-27 | 2021-11-30 | 重庆大学 | 基于卷积神经网络的建筑物表面病害检测方法及系统 |
CN115439436A (zh) * | 2022-08-31 | 2022-12-06 | 成都建工第七建筑工程有限公司 | 一种建筑结构多类型质量缺陷移动感知系统 |
CN116485709A (zh) * | 2023-02-01 | 2023-07-25 | 武汉科技大学 | 一种基于YOLOv5改进算法的桥梁混凝土裂缝检测方法 |
CN115953408A (zh) * | 2023-03-15 | 2023-04-11 | 国网江西省电力有限公司电力科学研究院 | 一种基于YOLOv7的避雷器表面缺陷检测方法 |
CN116630802A (zh) * | 2023-05-24 | 2023-08-22 | 中国科学院合肥物质科学研究院 | 一种基于SwinT与尺寸自适应卷积的电力设备锈蚀缺陷图像检测方法 |
CN116342596A (zh) * | 2023-05-29 | 2023-06-27 | 云南电网有限责任公司 | 一种基于YOLOv5改进的变电站设备螺母缺陷识别检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299274B (zh) | 一种基于全卷积神经网络的自然场景文本检测方法 | |
CN109190752B (zh) | 基于深度学习的全局特征和局部特征的图像语义分割方法 | |
CN113516135B (zh) | 一种基于深度学习的遥感影像建筑物提取及轮廓优化方法 | |
CN114842085B (zh) | 一种全场景车辆姿态估计方法 | |
CN112233129A (zh) | 基于深度学习的并行多尺度注意力机制语义分割方法及装置 | |
Ding et al. | Tensor train rank minimization with nonlocal self-similarity for tensor completion | |
CN116645369B (zh) | 基于孪生自编码器和双向信息深度监督的异常检测方法 | |
CN114782417A (zh) | 基于边缘强化图像分割的风机数字孪生特征实时检测方法 | |
CN113496480A (zh) | 一种焊缝图像缺陷的检测方法 | |
CN116524189A (zh) | 一种基于编解码索引化边缘表征的高分辨率遥感图像语义分割方法 | |
CN115410059A (zh) | 基于对比损失的遥感图像部分监督变化检测方法及设备 | |
CN116310916A (zh) | 一种高分辨率遥感城市图像语义分割方法及系统 | |
Shit et al. | An encoder‐decoder based CNN architecture using end to end dehaze and detection network for proper image visualization and detection | |
CN115861922B (zh) | 一种稀疏烟火检测方法、装置、计算机设备及存储介质 | |
CN115641445B (zh) | 一种非对称内卷积与Transformer相融合的遥感图像阴影检测方法 | |
CN116486155A (zh) | 基于Transformer和级联特征的目标检测方法 | |
CN117541922A (zh) | 基于SF-YOLOv5的电站屋面工程缺陷检测方法 | |
CN113902744B (zh) | 基于轻量级网络的图像检测方法、系统、设备和存储介质 | |
CN114140622A (zh) | 一种基于双分支网络的实时显著性检测图像方法 | |
CN115187775A (zh) | 一种遥感图像语义分割方法及装置 | |
CN111784584B (zh) | 一种基于深度学习的绝缘子遥感影像超分辨率方法 | |
CN114648736A (zh) | 基于目标检测的鲁棒工程车辆识别方法及系统 | |
CN112651926A (zh) | 一种基于递归注意力机制的裂纹检测的方法及装置 | |
CN117078564B (zh) | 视频会议画面的智能生成方法及其系统 | |
Shanmukhaprasanthi et al. | A Comprehensive Study of Image Inpainting Techniques with Algorithmic approach |
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 |