CN117437201A - 一种基于改进YOLOv7的道路裂缝检测方法 - Google Patents
一种基于改进YOLOv7的道路裂缝检测方法 Download PDFInfo
- Publication number
- CN117437201A CN117437201A CN202311443312.5A CN202311443312A CN117437201A CN 117437201 A CN117437201 A CN 117437201A CN 202311443312 A CN202311443312 A CN 202311443312A CN 117437201 A CN117437201 A CN 117437201A
- Authority
- CN
- China
- Prior art keywords
- model
- yolov7
- improved
- training
- road crack
- 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 55
- 238000012549 training Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims abstract description 15
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 230000007246 mechanism Effects 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 12
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 5
- 201000010099 disease Diseases 0.000 description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001629 suppression 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/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/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based 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
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/776—Validation; Performance evaluation
-
- 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/10—Terrestrial scenes
- G06V20/176—Urban or other man-made structures
-
- 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/06—Recognition of objects for industrial automation
-
- 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)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种基于改进YOLOv7的道路裂缝检测方法。包括如下步骤:步骤一、获取道路裂缝数据集;步骤二、对数据集中的图像进行预处理,并将预处理好的数据集划分为训练集、验证集和测试集;步骤三、构建改进的YOLOv7模型;步骤四、使用训练集和验证集对改进的YOLOv7模型进行模型训练;步骤五、使用测试集对改进的YOLOv7模型的性能进行评估,达到设定的性能指标后,即确定为裂缝检测模型;步骤六、将待检测道路裂缝图片输入到裂缝检测模型进行检测。本发明的基于改进YOLOv7的道路裂缝检测方法,通过构建基于改进YOLOv7的道路裂缝检模型对道路裂缝进行检测,提高模型的检测的效率和准确率。
Description
技术领域
本发明涉及计算机视觉技术领域,具体为一种基于改进YOLOv7的道路裂缝检测方法。
背景技术
混凝土路面裂缝的检测一直都是近年的热点研究问题。混凝土路面在使用过程中受到恶劣天气、路面侵蚀,负重碾压以及道路老化等因素影响极易导致路面开裂。路面裂缝会影响道路的使用年限,在维护不足与超负荷使用的情况下,会加速混凝土路面的恶化,坍塌,造成严重的安全事故,威胁人们的生命财产安全;传统算法对特征明显的裂缝具有良好的特征提取能力,但是在检测细小裂缝以及被噪声严重干扰的裂缝图像时,会对噪声产生伪分割现象,对裂缝检测效果产生较大的影响,针对这些问题卷积神经网络开始兴起,在裂缝检测方面大多采用Unet网络对路面进行分割检测,但是Unet网络比较慢无法满足实时处理的需求。
YOLOv7算法是一种快速目标检测算法,用于定位和识别图像中的对象。该算法将输入图像分割成多个特征图,并通过多层卷积神经网络学习提取特征,以预测目标检测框的位置和类别概率,最终生成检测结果。
虽然,YOLOv7算法是一种高效、准确的目标检测算法,但在小目标检测方面存在着一定的挑战,因为小目标在图像中所占的像素点很少,很容易被忽略或误判为噪声或背景。YOLOv7算法在用于道路裂缝检测时,仍然有特征提取能力不够,模型训练速度慢的问题,为了提高YOLOv7算法在小目标检测方面的性能,使其能够适用道路裂缝检测,仍然需要对其进行改进。
发明内容
发明目的:本发明针对YOLOv7算法在用于道路裂缝检测时,仍然有特征提取能力不够,模型训练速度慢的问题,提供一种基于改进YOLOv7的道路裂缝检测方法。
技术方案:一种基于改进YOLOv7的道路裂缝检测方法,包括如下步骤:
步骤一、获取道路裂缝数据集;
步骤二、对数据集中的图像进行预处理,并将预处理好的数据集划分为训练集、验证集和测试集;
步骤三、构建改进的YOLOv7模型;
步骤四、使用训练集和验证集对改进的YOLOv7模型进行模型训练;
步骤五、使用测试集对改进的YOLOv7模型的性能进行评估,达到设定的性能指标后,即确定为裂缝检测模型;
步骤六、将待检测道路裂缝图片输入到裂缝检测模型进行检测。
进一步的,所述步骤一中,道路裂缝数据集的获取方式包括:
1)利用摄像头对道路裂缝进行捕获并建立数据集;
2)使用公开的道路裂缝数据集。
进一步的,所述步骤二中,对数据集中的图像进行预处理操作包括:
A、对数据集中的图像进行滤波处理;
B、使用label标注图像中的裂缝类型;
C、对数据集中的图像进行数据增强,以扩充数据样本;数据增强操作包括随机旋转、缩放、翻转、色彩亮度调整操作,以增加模型的泛化能力;
D、对数据集中的图像进行标准化或归一化操作,确保图像的像素值在相同的尺度范围内。
进一步的,所述步骤三中,构建改进的YOLOv7模型,步骤如下:
1)将YOLOv7模型的backbone网络更换为轻量级卷积神经网络PP-LCNet,将PP-LCNet的激活函数从ReLU替换为HSwish,在PP-LCNet的深层引入坐标注意力机制模块CA;
2)使用MPDIoU作为改进的YOLOv7模型的损失函数;MPDIoU损失函数用于计算预测框的坐标损失,
3)加载YOLOv7的预训练权重。
进一步的,所述步骤三中,MPDIoU损失函数,其计算公式如下所示:
LossMPDIoU=1-MPDIoU
其中: 和分别表示地面真值框与预测框的坐标,w和h表示宽度和高;IoU是真实框与预测框交并比;LossMPDIoU表示损失函数MPDIoU的数学表达式,MPDIoU表示一种基于最小点距离的边界框相似度比较度量。
进一步的,所述步骤四中,模型训练过程如下:
1)配置训练超参数,设置批量为32、迭代次数为300轮;
2)开始训练模型,使用训练集数据,在每个训练迭代中,计算损失并更新模型权重;
3)在每个训练周期结束后,使用验证集来评估模型的性能,监控验证集上的损失和准确率等指标,以便及时停止训练,以防止过拟合。
进一步的,所述步骤五中,使用测试集来最终评估模型的性能方法为:计算模型在测试集上的准确率、F1分数指标,并绘制可视化评估结果混淆矩阵,以确定其在真实情况中的表现。
有益效果:本发明的基于改进YOLOv7的道路裂缝检测方法,通过构建基于改进YOLOv7的道路裂缝检模型对道路裂缝进行检测,提高模型的检测的效率和准确率。
1)道路裂缝检模型将YOLOv7的特征提取网络更换为轻量级卷积神经网络PP-LCNet;轻量级卷积神经网络——PP-LCNet,可以更快更好地获取输入图像的特征,在不增加检测时间的情况下促进网络学习更有效的特征,并保证检测精度,提高模型的检测效率。
2)加入注意力机制CA,使得模型可以更好地提取目标特征。本发明将CA注意力机制加入到道路裂缝检模型的特征金字塔网络中,使每个分支都能学习到最重要的特征,抑制不必要的特征。
3)将道路裂缝检模型的损失函数替换损失函数为MPDIoU。本发明通过使用MPDIoU作为新的损失函数,改善边界框回归的训练效果,提高收敛速度和回归精度。
附图说明
图1是本发明基于改进YOLOv7的道路裂缝检测方法的流程图;
图2是YOLO v7算法的网络结构示意图;
图3是PP-LCNet的网络结构示意图;
图4是SE模块的网络结构示意图;
图5是坐标注意力机制模块的网络结构示意图。
图6是改进后YOLO v7算法的网络结构示意图
具体实施方式
下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
本发明提供了一种基于改进YOLOv7的道路裂缝检测方法,流程图如图1所示,包括如下步骤:
步骤一、获取道路裂缝数据集。
道路裂缝数据集,获取方式包括:
1)利用摄像头对道路裂缝进行捕获并建立数据集;
2)使用公开的道路裂缝数据集。
本实施例中,使用公开的RD2022数据集。实施例中,选用PC作为图像识别处理端,配置采用处理器为i7-12700H CPU,64位Windows11操作系统,GPU配置为NVIDIA RTX3050Ti。同时,实验环境包括一台GPU服务器,该服务器配置NVIDIATeslaA4048GB 300W GPU卡。
步骤二、对数据集中的图像进行预处理,并将预处理好的数据集划分为训练集、验证集和测试集。
1)对数据集中的图像进行预处理操作包括:
A、对数据集中的图像进行滤波处理;
B、使用label标注图像中的裂缝类型;
C、对数据集中的图像进行数据增强,以扩充数据样本;数据增强操作包括随机旋转、缩放、翻转、色彩亮度调整等操作,以增加模型的泛化能力;
D、对数据集中的图像进行标准化或归一化操作,确保图像的像素值在相同的尺度范围内。
2)将预处理好的数据集划分为三个独立的子集:训练集、验证集和测试集,划分比例为6:2:2。
步骤三、构建改进的YOLOv7模型。
3.1、YOLOv7算法的介绍
1)YOLOv7算法的网络结构图如图2所示,YOLOv7算法主要由Input,Backbone,Neck,Head四个部分组成;
Input部分对输入的图片使用Mosaic数据增强、自适应锚框计算等方法,选取4张图片通过缩放、裁减、随机排布的方式对图片进行拼接、缩放等操作,组合成新的图片,以达到增加图片中小目标数量的目的,丰富目标检测数据集,使网络鲁棒性更好。
Backbone部分是由CSB模块、ELAN模块、MP模块组合而成,其中:CBS模块由Conv层,BN层,SiLU激活函数构成,其目的主要是对图片进行特征提取;ELAN模块由多个CBS模块分支堆叠构成,通过分支得到的特征层堆叠之后会再经过CBS模块进行特征整合,以便充分提取图片的特征信息;MP模块由CBS模块与Maxpool模块构成,它分为两个分支:左分支是一个步长为2×2的Maxpool和一个卷积大小为1×1的CBS模块,右分支是一个卷积大小为1×1的CBS模块和一个卷积大小为3×3,步长为2×2的CBS模块,两个分支的结果输出后再进行一次堆叠,对提取的特征进行特征融合。
Neck模块由特征金字塔网络构成,将具有丰富物体信息的浅层特征与具有丰富语义信息的深层特征进行双向特征融合。
Head部分由Rep模块和CBS模块构成,将通过特征金字塔网格输出的特征图进行通道数调整,输出三个不同尺寸的结果。
2)在YOLOv7的网络结构中,采用的卷积核的大小有1*1和3*3两种,在Backbone中,为了不破坏原有梯度路径的前提下提高网络学习的能力,故YOLOv7提出了一种ELAN模块,用于加强网络的特征提取能力;在进入到Head部分,网络依旧采用FPN与PANet思想,对生成的三个网络特征层反复融合再提取,最后生成了分别为20*20、40*40、80*80的特征图分别用来检测图像中存在的大目标、中目标、小目标。
3)对于生成的特征图,YOLOv7依旧延续YOLO系列的方法去进行类别预测:
首先将生成的特征图分为S*S个网格,对于每个网格用来检测物体中心点落入该网格的目标并计算三个目标预测框,对每个的预测框都有五个参数,分别代表框的中心的坐标(x,y)和高宽尺度(w,h)以及预测框的置信度(Confidence)。预测框的置信度代表当前预测框内是否有对象的概率,其计算公式如式1所示:
其中,pr(classiobject)为网络预测第i类目标的置信度;若预测框中存在目标则pr(object)=1,若不存在目标则pr(object)=0;为预测框与真实框的交并比。最后通过非极大值抑制算法筛选出置信度最高的预测框作为目标的预测边界框。
3.2、改进的YOLOv7模型如图6所示,构建方法如下:
1)YOLOv7模型的特征提网络(backbone)更换为轻量级卷积神经网络PP-LCNet;将PP-LCNet的激活函数从ReLU替换为HSwish,在PP-LCNet的深层引入坐标注意力机制模块CA;在构建公路路面病害特征提取网络时(常见的路面病害有:裂缝、坑槽、车辙、松散、沉陷、桥头涵顶跳车、表面破损等),需要注重检测速度与精度的平衡。为了提高模型的特征提取能力,模型的性能一般随模型参数量的增加而提高,在目前常用的目标检测模型中,常用的主干网络为ResNet101、DarkNet53,这类主干网络使用了多层卷积残差结构,虽然可以有效地对输入特征图进行特征提取,但该做法往往会带来极高的计算复杂度,检测精度会有所上升,但是实时性也会有所削弱。
为了提高模型的检测效率,在不增加检测时间的情况下促进网络学习更有效的特征,并保证检测精度,本发明引入了一个轻量卷积神经级网络PP-LCNet,该网络可以更快更好地获取输入图像的特征,PP-LCNet的整体结构如图3所示。
轻量级卷积神经网络PP-LCNet,利用深度可分离卷积为基础进行堆叠,可以分成深度卷积(depth-wise CBH)和逐点卷积(point-wise CBH)。深度卷积进一步减少参数量,配合逐点卷积融合通道间的信息,通过这种方式分解出的大量1*1卷积操作可以大大提高运算效率。
A、本发明将PP-LCNet的激活函数从ReLU替换为HSwish;
激活函数的质量直接关系着网络的性能,由于目前大多数深度学习网络模型的激活函数由Sigmoid变为了Relu,避免了大量的指数运算,其网络性能得到了很大提升。而在PP-LCNet中,将激活函数从ReLU替换为MobileNetV3中的HSwish,其性能够更进一步的提高,且模型推理时间几乎没有变化。
HSwish是在Swish激活函数的基础上进行的优化改进;原来的Swish激活函数,虽然使得神经网络层具有非常丰富的表征能力,但也会带来计算量大的问题,Swish激活函数函数的表达式如下:
swishx=x·σ(x) (1)
而HSwish激活函数的出现解决了计算量大这一问题,它使用了常见的算子组合而成,包容性非常强,几乎在大多数框架都可以实现,并且计算量大大降低。由于σ(x)的计算耗时较长,特别是在移动端,这些耗时就会比较明显,所以使用ReLU6(x+3)/6来近似替代sigmoid.
HSwish激活函数的表达式如下:
其中,ReLU6=min(max(x,0),6)。
B、将坐标注意力机制模块CA加入到PP-LCNet中,将其替换DepthSepConv模块中的SENet注意力机制,并将其添加到YOLOv7的特征金字塔网络中。
PP-LCNet中加入了SE模块,SE模块包括Squeeze和Excitation两部分,SE模块的网络结构图如图4所示。由图可知,在输入端输入的尺寸为W×H×C,先对其进行压缩操作,使得图像变为1×1×C向量,再经过scale操作使得图像输出,输出时的尺寸大小为W×H×C。由图可知,在输入端输入的尺寸为W×H×C,先对其进行压缩操作,使得图像变为1×1×C向量,再经过scale操作使得图像输出,输出时的尺寸大小为W×H×C。
然而,在实际公路路面病害检测中,路面病害具有背景纹理强、光照不均匀、干扰噪声多、病害信息弱等特点,在检测过程中,同一层特征图的不同通道内蕴含的特征信息是不同的,常规的卷积操作只能够收集图像中的局部信息,缺乏全局性视野。使用注意力机制可以增强重要的目标特征信息,让模型建立上下文的依赖关系,同时抑制次要特征信息,从而可以有效地提高公路路面病害的检测精度。
坐标注意力机制模块(Coordinate Attention,CA)的网络结构如图5所示,坐标注意力机制模块可以很灵活插入到经典的检测网络中,且几乎没有计算开销,通过将特征图的位置信息嵌入到通道注意力中:分别沿2个空间方向聚合特征信息,使用二维全局池化操作将输入特征图分解为两个特征图,一个是方向感知的注意力特征图,另一个是位置感知的注意力特征图,将这两个不同方向感知的注意力特征图互补地应用于输入特征图。因此,坐标注意力机制模块CA可以从一个维度的空间方向对特征图的远程依赖关系进行捕获,同时沿着另一个维度的空间方向对特征图的位置信息进行精确保留,以增强轻量级卷积神经网络的特征表示。坐标注意力机制模块的结构如4所示。
为了能够更好地提取目标特征,本发明将坐标注意力机制模块CA加入到PP-LCNet中,将其替换DepthSepConv模块中的SENet注意力机制,并将其添加到YOLOv7的特征金字塔网络中,使每个分支都能学习到最重要的特征,抑制不必要的特征。
2)使用MPDIoU作为改进的YOLOv7模型的损失函数;
在原YOLO7网络中,计算预测框的坐标损失所采用的是CIoU损失函数,CIoU的计算公式如式4所示:
其中: 对于上式中,wgt、hgt、w、h分别表示地面真值框与预测框的宽度与高,IoU是真实框与预测框交并比,ρ表示求预测框与地面真值框中心点之间的欧式距离,b表示预测框,bgt表示真实框,c表示预测框与真值框的最小包围框的最短对角线长度,α是用于平衡参数,v是用于衡量长宽比是否一致;LossCIOU表示的是CIoU的数学表达式。
虽然,CIoU损失函数对于大多数损失函数而言,其考虑了预测框的重叠面积、中心距离、高宽比,但通过上式可以看出当预测框与真实框重合时v=0,此时长宽比的惩罚项没有起到任何作用,并且在预测框的回归中,高质量的预测框一般而言要比低质量的预测框要少得多,将影响网络的训练,于是引入一种基于最小点距离的边界框相似度比较度量——MPDIoU损失函数,其定义式如式(5),(6)所示
LossMPDIoU=1-MPDIoU (6)
其中: 和分别表示地面真值框与预测框的坐标,w和h表示宽度和高。
IoU是真实框与预测框交并比;LossMPDIoU表示损失函数MPDIoU的数学表达式,MPDIoU表示一种基于最小点距离的边界框相似度比较度量。
通过使用MPDIoU损失函数作为新的损失度量,期望能够改善边界框回归的训练效果,提高收敛速度和回归精度。即MPDIoU简化了两个边界框之间的相似性比较,适用于重叠或非重叠的边界框回归。因此,在2D/3D计算机视觉任务中,MPDIoU可以很好地替代交并比作为所有性能指标的度量。
3)加载YOLOv7的预训练权重。
步骤四、使用训练集和验证集对改进的YOLOv7模型进行模型训练。
模型训练过程如下:
1)配置训练超参数,设置批量为32、迭代次数为300轮;
2)开始训练模型,使用训练集数据,在每个训练迭代中,计算损失并更新模型权重;
3)在每个训练周期结束后,使用验证集来评估模型的性能,监控验证集上的损失和准确率等指标,以便及时停止训练,以防止过拟合。
步骤五、使用测试集对改进的YOLOv7模型的性能进行评估,达到设定的性能指标后,即确定为裂缝检测模型。
使用测试集来最终评估模型的性能。计算模型在测试集上的准确率、F1分数等指标,并绘制可视化评估结果混淆矩阵,以确定其在真实情况中的表现。F1分数是精确率和召回率的调和平均数,最大为1,最小为0。F1-Score的值是从0到1的,1是最好,0是最差。
如果模型的性能不符合设定要求,则可尝试不同的超参数设置,例如学习率、批量大小、训练轮数等,以寻找更好的性能;增加数据增强的方式,例如旋转、翻转、剪裁等,以增加数据集的多样性;考虑改进模型架构,增加更多的层或单元,或尝试不同的模型结构;收集更多的训练数据,以提高模型的泛化能力;尝试不同的权重初始化策略,以避免模型陷入局部极小值。在进行上述改进后,重新训练模型,并在测试集上进行重新评估。反复迭代这个过程,直到模型达到满意的性能水平。
步骤六、将待检测道路裂缝图片输入到裂缝检测模型进行检测。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
Claims (7)
1.一种基于改进YOLOv7的道路裂缝检测方法,其特征在于,包括如下步骤:
步骤一、获取道路裂缝数据集;
步骤二、对数据集中的图像进行预处理,并将预处理好的数据集划分为训练集、验证集和测试集;
步骤三、构建改进的YOLOv7模型;
步骤四、使用训练集和验证集对改进的YOLOv7模型进行模型训练;
步骤五、使用测试集对改进的YOLOv7模型的性能进行评估,达到设定的性能指标后,即确定为裂缝检测模型;
步骤六、将待检测道路裂缝图片输入到裂缝检测模型进行检测。
2.根据权利要求1所述的一种基于改进YOLOv7的道路裂缝检测方法,其特征在于,所述步骤一中,道路裂缝数据集的获取方式包括:
1)利用摄像头对道路裂缝进行捕获并建立数据集;
2)使用公开的道路裂缝数据集。
3.根据权利要求1所述的一种基于改进YOLOv7的道路裂缝检测方法,其特征在于,所述步骤二中,对数据集中的图像进行预处理操作包括:
A、对数据集中的图像进行滤波处理;
B、使用label标注图像中的裂缝类型;
C、对数据集中的图像进行数据增强,以扩充数据样本;数据增强操作包括随机旋转、缩放、翻转、色彩亮度调整操作,以增加模型的泛化能力;
D、对数据集中的图像进行标准化或归一化操作,确保图像的像素值在相同的尺度范围内。
4.根据权利要求1所述的一种基于改进YOLOv7的道路裂缝检测方法,其特征在于,所述步骤三中,构建改进的YOLOv7模型,步骤如下:
1)将YOLOv7模型的backbone网络更换为轻量级卷积神经网络PP-LCNet,将PP-LCNet的激活函数从ReLU替换为HSwish,在PP-LCNet的深层引入坐标注意力机制模块CA;
2)使用MPDIoU作为改进的YOLOv7模型的损失函数;MPDIoU损失函数用于计算预测框的坐标损失,
3)加载YOLOv7的预训练权重。
5.根据权利要求1所述的一种基于改进YOLOv7的道路裂缝检测方法,其特征在于,所述步骤三中,MPDIoU损失函数,其计算公式如下所示:
LossMPDIoU=1-MPDIoU
其中: 和分别表示地面真值框与预测框的坐标,w和h表示宽度和高;IoU是真实框与预测框交并比;LossMPDIoU表示损失函数MPDIoU的数学表达式,MPDIoU表示一种基于最小点距离的边界框相似度比较度量。
6.根据权利要求1所述的一种基于改进YOLOv7的道路裂缝检测方法,其特征在于,所述步骤四中,模型训练过程如下:
1)配置训练超参数,设置批量为32、迭代次数为300轮;
2)开始训练模型,使用训练集数据,在每个训练迭代中,计算损失并更新模型权重;
3)在每个训练周期结束后,使用验证集来评估模型的性能,监控验证集上的损失和准确率等指标,以便及时停止训练,以防止过拟合。
7.根据权利要求1所述的一种基于改进YOLOv7的道路裂缝检测方法,其特征在于,所述步骤五中,使用测试集来最终评估模型的性能方法为:计算模型在测试集上的准确率、F1分数指标,并绘制可视化评估结果混淆矩阵,以确定其在真实情况中的表现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311443312.5A CN117437201A (zh) | 2023-11-02 | 2023-11-02 | 一种基于改进YOLOv7的道路裂缝检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311443312.5A CN117437201A (zh) | 2023-11-02 | 2023-11-02 | 一种基于改进YOLOv7的道路裂缝检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117437201A true CN117437201A (zh) | 2024-01-23 |
Family
ID=89547721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311443312.5A Pending CN117437201A (zh) | 2023-11-02 | 2023-11-02 | 一种基于改进YOLOv7的道路裂缝检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117437201A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765373A (zh) * | 2024-02-22 | 2024-03-26 | 山东大学 | 一种自适应裂缝尺寸的轻量化道路裂缝检测方法及系统 |
CN117876383A (zh) * | 2024-03-13 | 2024-04-12 | 西南林业大学 | 一种基于yolov5l的公路表面条状裂缝检测方法 |
CN117952977A (zh) * | 2024-03-27 | 2024-04-30 | 山东泉海汽车科技有限公司 | 一种基于改进yolov5s的路面裂缝识别方法、装置和介质 |
CN117952977B (zh) * | 2024-03-27 | 2024-06-04 | 山东泉海汽车科技有限公司 | 一种基于改进yolov5s的路面裂缝识别方法、装置和介质 |
-
2023
- 2023-11-02 CN CN202311443312.5A patent/CN117437201A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765373A (zh) * | 2024-02-22 | 2024-03-26 | 山东大学 | 一种自适应裂缝尺寸的轻量化道路裂缝检测方法及系统 |
CN117765373B (zh) * | 2024-02-22 | 2024-05-14 | 山东大学 | 一种自适应裂缝尺寸的轻量化道路裂缝检测方法及系统 |
CN117876383A (zh) * | 2024-03-13 | 2024-04-12 | 西南林业大学 | 一种基于yolov5l的公路表面条状裂缝检测方法 |
CN117876383B (zh) * | 2024-03-13 | 2024-06-07 | 西南林业大学 | 一种基于yolov5l的公路表面条状裂缝检测方法 |
CN117952977A (zh) * | 2024-03-27 | 2024-04-30 | 山东泉海汽车科技有限公司 | 一种基于改进yolov5s的路面裂缝识别方法、装置和介质 |
CN117952977B (zh) * | 2024-03-27 | 2024-06-04 | 山东泉海汽车科技有限公司 | 一种基于改进yolov5s的路面裂缝识别方法、装置和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110503112B (zh) | 一种增强特征学习的小目标检测及识别方法 | |
CN108961235B (zh) | 一种基于YOLOv3网络和粒子滤波算法的缺陷绝缘子识别方法 | |
CN111126472A (zh) | 一种基于ssd改进的目标检测方法 | |
CN108121991B (zh) | 一种基于边缘候选区域提取的深度学习舰船目标检测方法 | |
CN111179217A (zh) | 一种基于注意力机制的遥感图像多尺度目标检测方法 | |
CN113409314B (zh) | 高空钢结构腐蚀的无人机视觉检测与评价方法及系统 | |
CN112767357A (zh) | 一种基于Yolov4的混凝土结构病害检测方法 | |
CN114743119B (zh) | 基于无人机的高铁接触网吊弦螺母缺陷检测方法 | |
CN111079739B (zh) | 一种多尺度注意力特征检测方法 | |
CN113160062B (zh) | 一种红外图像目标检测方法、装置、设备及存储介质 | |
CN113052006B (zh) | 一种基于卷积神经网络的图像目标检测方法,系统及可读存储介质 | |
CN114841972A (zh) | 基于显著性图和语义嵌入特征金字塔的输电线路缺陷识别方法 | |
CN110991444A (zh) | 面向复杂场景的车牌识别方法及装置 | |
CN117437201A (zh) | 一种基于改进YOLOv7的道路裂缝检测方法 | |
CN116704357B (zh) | 基于YOLOv7的堤坝边坡滑坡智能识别与预警方法 | |
CN111414807A (zh) | 一种基于yolo技术的潮水识别与危机预警方法 | |
CN109949209A (zh) | 一种基于深度学习的绳索检测与去除方法 | |
CN117495735B (zh) | 一种基于结构引导的建筑物立面纹理自动修复方法及系统 | |
CN115239710A (zh) | 基于注意力反馈和双空间金字塔的绝缘子缺陷检测方法 | |
CN113610024B (zh) | 一种多策略的深度学习遥感影像小目标检测方法 | |
CN115223017A (zh) | 一种基于深度可分离卷积的多尺度特征融合桥梁检测方法 | |
CN114926826A (zh) | 场景文本检测系统 | |
CN107871315A (zh) | 一种视频图像运动检测方法和装置 | |
CN111126155A (zh) | 一种基于语义约束生成对抗网络的行人再识别方法 | |
CN113205502A (zh) | 一种基于深度学习的绝缘子缺陷检测方法及其系统 |
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 |