CN118212572A - 一种基于改进YOLOv7的道路损坏检测方法 - Google Patents
一种基于改进YOLOv7的道路损坏检测方法 Download PDFInfo
- Publication number
- CN118212572A CN118212572A CN202410314381.4A CN202410314381A CN118212572A CN 118212572 A CN118212572 A CN 118212572A CN 202410314381 A CN202410314381 A CN 202410314381A CN 118212572 A CN118212572 A CN 118212572A
- Authority
- CN
- China
- Prior art keywords
- training
- model
- network
- yolov
- road damage
- 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 52
- 230000006872 improvement Effects 0.000 title claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims abstract description 31
- 238000000605 extraction Methods 0.000 claims abstract description 13
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims description 93
- 238000000034 method Methods 0.000 claims description 28
- 238000012795 verification Methods 0.000 claims description 27
- 238000012360 testing method Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 15
- 238000011176 pooling Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 239000004744 fabric Substances 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000013100 final test Methods 0.000 claims description 2
- 238000011478 gradient descent method Methods 0.000 claims description 2
- 230000005764 inhibitory process Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000007634 remodeling Methods 0.000 claims description 2
- 230000002776 aggregation Effects 0.000 abstract 1
- 238000004220 aggregation Methods 0.000 abstract 1
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
- 238000011179 visual inspection Methods 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/50—Context or environment of the image
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于改进YOLOv7的道路损坏检测方法,在YOLOv7的主干网络中插入了三个新的注意力模块CSSAM以用来更好地捕捉关键特征和建模数据之间的复杂依赖关系,通过显式地对空间和通道维度的相似性矩阵建模,得到空间和通道注意力分数矩阵,将注意力分数矩阵进行处理之后作用在输入特征上,用来更好地捕获空间和通道维度上的长距离依赖关系。同时为了加强主干网络的特征提取能力,并通过捕获更多信息特征来加速网络的收敛,在主干网络中构建了新的ResNet‑SPConv残差块和SP‑E‑ELAN网络聚合层。本发明所改进的YOLOv7‑RD网络模型提升了在道路损坏领域的检测精度,同时部署起来非常方便,具有较强的工业实用性。
Description
技术领域
本发明涉及目标检测领域,具体涉及一种基于改进YOLOv7模型的道路损坏检测方法。
背景技术
交通基础设施是经济的支柱,经济发展在很大程度上取决于高效、可靠和安全的交通系统来满足移动性需求、以促进商业和工业发展。其中,道路基础设施是交通基础的重要一环,因为它有助于经济发展和增长,同时带来重要的社会效益。然而,道路面临着人口增长、基础设施恶化以及道路建设成本迅速上升的挑战。在这种情况下,道路损毁检测技术起着至关重要的作用。以往的道路损毁检测主要基于人类的视觉观察和使用昂贵机器的定量分析,但是这些方法在效率、一致性、成本以及覆盖范围方面存在明显的缺点。随着深度学习的发展和崛起,道路损毁检测方法在精度、自动化程度和覆盖范围上实现了显著的提升,因此基于深度学习的道路损坏检测受到了越来越多的关注。目标检测是深度学习领域的核心分支,包括目标分类和定位等基本任务。现有的目标检测方法可以大致分为两类:传统的目标检测方法和基于深度学习的目标检测方法。
传统目标检测算法通常包括区域选择、特征提取和特征分类三个阶段。区域选择旨在确定目标位置,因为图像中目标的位置和纵横比可能有所不同。通常,该阶段采用滑动窗口策略在整个图像上进行遍历,以考虑不同尺度和纵横比的情况。随后,会运用定向梯度直方图(HOG)、加速稳健特征(SURF)等特征提取算法来获得相关特征,最终,将运用支持向量机(SVM)和自适应提升(AdaBoost)等分类器对提取的特征进行分类。然而,传统的目标检测方法存在两个主要限制:其一,使用滑动窗口的区域选择缺乏特异性,导致时间复杂度较高且可能引入冗余窗口;其二,手工设计的特征对特征变化的适应性不够稳定。
深度学习的出现彻底改变了目标检测领域,并在实践中获得了广泛应用。已有大量研究表明,卷积神经网络(CNN)在提取和建模目标检测任务的特征方面展现出卓越性能。这些研究显示,以深度学习为基础的方法在效果上优于传统的手工设计特征方法。目前,基于深度学习的目标检测算法主要可以分为两大类:基于区域提议的算法和基于回归的算法。前者也被称为两阶段目标检测方法,它依赖于粗定位和精细分类的原则,首先识别可能包含目标的候选区域,然后进行进一步的分类。这类代表性算法涵盖了基于区域的全卷积网络(R-FCN)以及区域卷积神经网络(R-CNN)算法家族,包括R-CNN、Fast-RCNN、Faster-RCNN、Mask-RCNN以及Cascade-RCNN等。尽管基于区域的算法在准确性方面表现出色,但通常具有较低的实时性,可能不适用于实时应用场景。相对而言,基于回归的目标检测算法被称为单阶段目标检测算法,其通过卷积神经网络(CNN)直接提取特征,并用于预测目标的分类和定位。这一类典型算法包括SSD(Single Shot MultiBox Detector)以及YOLO(YouOnly Look Once)算法家族,涵盖YOLO、YOLO9000、YOLOv3、YOLOv4、YOLOv5、YOLOv6以及YOLOv7等。由于它们可以直接预测分类和定位结果,这些算法能够实现更快的检测速度,因此在目标检测领域获得了广泛的关注。当前,研究人员正致力于进一步提升这些算法的准确性和性能。
在道路损坏检测领域,正在积极研究将高效、精确的目标检测算法应用于智能探测器,以提高商业可行性。在此背景下,研究人员在目标检测算法的发展方面取得了显著进展。例如,IMSC团队的解决方案是使用Ultralytics-YOLO和Test Time Augmentation进行集成学习。他们使用Python Augmenter合成图像进行数据增强,并尝试了Faster-RCNN和YOLOv3等其他方法。DD-VISION团队的解决方案是使用级联R-CNN作为基础模型的一致性过滤机制和模型集成。他们进行了道路分割、混合、对比度有限自适应直方图均衡化(CLAHE)和RGB偏移等数据增强。SIS Lab团队的解决方案是使用YOLO-v4作为基础模型的集成模型。他们使用随机裁剪增强算法为每个训练图像生成三个图像,并尝试了不同输入图像分辨率的YOLO-v4。为了在道路损坏检测领域提升准确性、实时性和便携性,我们采纳了YOLO系列中最先进的型号,即YOLOv7,作为基础进行改进。基于此,我们推出了改进版的模型,命名为YOLOv7-RD,以应对该领域所面临的挑战。
发明内容
本发明公开一种基于改进YOLOv7模型的道路损坏检测方法,为了更好地捕捉关键特征和建模数据之间的复杂依赖关系,在YOLOv7模型的颈部网络中嵌入了三个新的注意力模块CSSAM,通过显式地对空间和通道维度的相似性矩阵建模,得到空间和通道注意力分数矩阵,将注意力分数矩阵进行处理之后作用在输入特征上,用来更好地捕获空间和通道维度上的长距离依赖关系;以SPConv做为核心算子,本发明设计出了ResNet-SPConv结构以及SP-E-ELAN层插入到YOLOv7模型的主干网络中,其中ResNet-SPConv结构是为了加强主干网络的特征提取能力,并通过捕获更多信息特征来加速网络的收敛,SP-E-ELAN模块用来高效聚合网络的特征融合信息。
为了实现上述目的,本发明采用的技术方案为:
一种基于改进YOLOv7模型的道路损坏检测方法,包括如下内容:
步骤1:建立道路损坏图像数据集,对图像数据集进行预处理后,进行训练集、验证集和测试集的划分;
步骤2:构建YOLOv7-RD网络模型;
YOLOv7-RD网络模型是在YOLOv7的主干网络中插入2个ResNet-SPConv模块,将所有E-ELAN层中的BConv卷积块后添加一个SPConv卷积块,并在颈部网络中插入2个CSSAM注意力机制模块所得到;
步骤3:从训练集中选取图像输入YOLOv7-RD网络模型进行训练,头部网络的ResNet-SPConv模块会对图像进行特征提取,将特征划分为冗余特征和重要特征,对于冗余特征进行自适应抑制,学习图像中更多的非线性映射;
步骤4:从训练集中选取图像输入YOLOv7-RD网络模型处理,每张图片在主干网络产生特定尺度的有效特征图,再输入颈部网络进行信息融合,CSSAM模块由并联的2条通路构成,其中一条通路用来处理空间的特征信息,另一条处理通道的特征信息,通过对空间和通道显示地建模来捕获不同维度的长远距离依赖,对图像信息进行特征加权;
步骤5:使用Kmeans++聚类算法将图像数据集中的道路损坏图像上的所有目标GT框进行聚类,得到K个先验框,将K个先验框均匀分布,根据训练预测特征图对K个先验框进行调整,每个先验框均经调整获得一个训练预测框,根据目标GT框选取若干个训练预测框作为训练候选框;
步骤6:根据训练预测特征图、调整后的候选框与目标GT框的差异计算出YOLOv7-RD网络模型的整体分类和回归损失,并将整体损失值反向传播至YOLOv7-RD网络模型中,并使用梯度下降法更新YOLOv7-RD网络模型的参数,获得参数更新的YOLO-RD网络模型;
步骤7:重复步骤3至步骤6对训练集中的每张图像进行处理,当次选取的图像经步骤4输出后,均重复步骤5和步骤6对YOLO-RD网络模型进行参数更新,直到训练集中的所有图像均训练完毕,参数更新后的YOLO-RD网络模型可作为预训练模型;
步骤8:将验证集中的道路损坏图像输入到预训练模型中进行处理,与步骤4中训练集进行相同操作后,得到对应阶层的验证预测特征图;每张输出的验证预测特征图与步骤5中训练预测特征图进行相同操作,输出验证预测框,根据验证预测框与目标GT框计算验证集损失,并计算道路损坏图像数据集中各类损坏情况在经过预训练模型处理后的单个类别平均精确度AP和所有类别的平均精确度mAP;
步骤9:重复步骤7和步骤8,直到道路损坏图像数据集中各类瑕疵的单个类别平均精确度AP和平均精确度mAP趋于一个稳定值,此时网络总损失曲线收敛,得到训练完成的YOLO-RD网络模型;
步骤10:将测试集中的道路损坏图像输入到训练完成的YOLO-RD网络模型中进行处理,对输出的每张测试预测特征图进行步骤5中训练预测特征图进行相同操作,输出测试预测框;根据NMS非极大值抑制原则进行筛选,去除测试预测框中的空白框,在保留的测试预测框中根据置信度筛选出最终测试预测框,实现道路损坏情况的检测和定位。
进一步的,所述步骤1中的道路损坏图像数据集的获取方法如下:
(1)利用摄像头对道路损坏情况进行捕获并建立数据集;
(2)使用公开的道路损坏数据集。
将得到的道路损坏数据集划分成训练集、验证集和测试集。具体来说,将60%划分为训练集,20%的数据划分为验证集,20%的数据划分为测试集。
进一步的的,所述步骤1中的预处理方法如下:
(1)使用labelme对图像中的道路损坏类型进行标注;
(2)对数据集中的图像采用综合的数据增强技术,包括马赛克和混合数据增,以扩充数据样本;
(3)对数据集中的图像进行归一化操作,将所有输入的图像尺寸调整到符合网络输入的图像大小。
进一步的,所述步骤2中,构建YOLOv7-RD网络模型,步骤如下:
(1)在YOLOv7模型的主干网络中插入2个ResNet-SPConv的残差块,提高主干网络的特征提取能力;
(2)在YOLOv7模型的主干网络中嵌入4个SP-E-ELAN层,聚合不同尺度的特征信息;
(3)在YOLOv7的颈部网络3个尺度的特征提取通道中都插入一个CSSAM的注意力块,对通道和空间不同信息实现自适应加权;
(4)加载YOLOv7的预训练权重。
进一步的所述步骤2中,ResNet-SPConv残差块的构建,步骤如下:
(1)将Bconv卷积用轻量级的SPConv卷积代替,以实现对不同程度重要特征信息的分割,实现对不同程度重要特征信息矩阵的加权;
(2)对SPConv卷积操作后的特征矩阵进行正则化;
(3)将SPConv中的ReLu激活函数替换为SiLu激活函数。
6.根据权利要求1所述的一种基于改进YOLOv7模型的道路损坏检测方法,其特征在于,CSSAM注意力块首先对输入的特征矩阵沿空间和通道维度进行平均池化,再计算出空间和通道上的和向量,然后将和向量相乘计算出相似度矩阵,将平均池化后的空间和通道特征矩阵分别乘上对应的相似度矩阵,最后将加权后的空间和通道特征矩阵相加以获得输出数据;
其中,空间维度的平均池化的公式如下:
上式中,各参数含义如下:
Xi,h,w表示第i各通道,第h行,第w列的像素值;σ是Sigmoid激活函数;C表示特征图的通道数;Ws表示沿空间维度平均池化后的特征矩阵;
通道维度的平均池化公式如下:
Xc,i,j表示第c个通道,第i行,第h列的像素值;H表示特征图的高;W表示特征图的宽;Wc表示沿通道维度平均池化后的举证;
向量Wq的计算公式如下:
Wq=(f(XWc,c))T
X表示输入的图像矩阵;Wc,c是1×1的大小的卷积核;f是将矩阵重塑,将二维的空间信息转换为一维向量;
相似度矩阵的计算公式如下:
其中Watt表示相似度矩阵;ρ表示softmax激活函数;函数h表示矩阵重塑;
进一步的,所述步骤3中,模型训练过程如下:
(1)配置训练超参数,设置批量为32、迭代次数为300轮;
(2)开始训练模型,使用训练集数据,在每个训练迭代中,计算损失并更新模型权重;
(3)在每个训练周期结束后,使用验证集来评估模型的性能,监控验证集上的损失和准确率等指标,以便及时停止训练,以防止过拟合。
进一步的,所述步骤7中,将每组训练得到的训练预测特征图划分为H×W个网格单元,H和W分别代表训练预测特征图的高和宽,网格单元中心称为锚点;将步骤5中K个先验框按尺度大小排序,均匀划分为N组先验框;同理,将训练预测特征图按尺度大小排序并划分,将每组先验框均分配到一张训练预测特征图上,再通过在锚点上叠加先验框,根据每个一维调整向量的位置尺度信息对各自的一个先验框的位置和尺度进行调整,从而得到一个训练预测框;针对每个目标GT框,计算目标GT框与每个训练预测框之间的交并比损失IoU,获取与目标GT框之间的交并比损失IoU最大的一个训练预测框作为训练候选框;
对于任意的两个A、B验证框,首先找到一个能够包住它们的最小方框C,然后计算C\(A∪B)的面积与C的比值,再用A、B的IoU值减去这个比值得到GIoU;
IoU的计算公式如下:
GIoU的计算公式如下:
进一步,执行完步骤10后使用测试集来最终评估模型的性能方法为:计算模型在测试集上的准确率、F1分数指标,并绘制可视化评估结果混淆矩阵,以确定其在真实情况中的表现。
本发明所公开的道路损坏检测具有如下优点:
(1)在YOLOv7模型的颈部网络中加入了注意力模块CSSAM,通过显式地对空间和通道维度的相似性矩阵建模,得到空间和通道注意力分数矩阵,将注意力分数矩阵进行处理之后作用在输入特征上,用来更好地捕获空间和通道维度上的长距离依赖关系。
(2)本发明使用SPConv做为核心算子,有效降低参数量设计出了ResNet-SPConv结构以及SP-E-ELAN模块,并将其嵌入到主干网路中,加强了主干网络的特征提取能力,并通过捕获更多信息特征来加速网络的收敛,SP-E-ELAN模块用来高效聚合网络的特征融合信息。
综上,使用本发明的方法能有效提升道路损坏检测的检测精度以及检测速度,有效解决了噪声在道路损坏数据集上带来的影响,并且模型部署方便,具有较强的工业实用性。
附图说明
图1是本发明基于改进YOLOv7的道路损坏检测方法的流程图;
图2是YOLOv7网络结构示意图;
图3是YOLOv7-RD网络结构示意图;
图4是CSSAM注意力块的网络结构示意图;
图5是ResNet-SPConv残差块的网络结构示意图;
图6是SP-E-ELAN层的网络结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整地描述。
本发明提供了一种基于改进YOLOv7的道路损坏检测方法,流程图如图1所示,包括以下步骤:
步骤1:建立道路损坏图像数据集,对图像数据集进行预处理后,进行训练集、验证集和测试集的划分;
构建数据集的方法:
(1)利用摄像头对道路损坏情况进行捕获并建立数据集;
(2)使用公开的道路损坏数据集。
预处理的操作:
(1)使用labelme对图像中的道路损坏类型进行标注;
(2)对数据集中的图像采用综合的数据增强技术,包括马赛克和混合数据增,以扩充数据样本;
(3)对数据集中的图像进行归一化操作,将所有输入的图像尺寸调整到符合网络输入的图像大小。
步骤2:构建YOLOv7-RD网络模型;
YOLOv7模型介绍:
YOLOv7(You Only Look Once Version 7)是一种先进的目标检测神经网络模型,由Alexey Bochkovskiy等人于2021年开发。它继承了YOLO系列的速度和准确性优势,实现了快速而精确的实时目标检测。YOLOv7通过采用多尺度检测、强大的数据增强和权重分离策略来提高性能。它在计算机视觉和物体识别任务中广泛应用,为各种实际的应用场景提供了高效的目标检测解决方案。YOLOv7网络结构图如图2所示,由不同的四个模块组成:输入模块、主干网络、颈部网络和检测头网络。
(1)输入模块:YOLOv7模型的输入模块采用了综合的数据增强技术,包括马赛克和混合数据增强,同时借鉴了YOLOv5的自适应锚帧计算方法。这一组合确保了彩色输入图像被均匀地调整到640x640像素的大小,以满足模型主干网络所需的输入尺寸。
(2)主干网络是YOLOv7的核心组件,其主要任务是从输入图像中提取特征信息。YOLOv7网络模型的主干部分由CBS模块、E-ELAN模块以及MP1模块构成。CBS模块由卷机层、BN层以及Silu层构组成。E-ELAN(Extended-ELAN)模块是在基于原始ELAN的基础上,改变了计算块,同时保持了原ELAN的过渡层结构,使用扩展、混洗、合并基数的方法来实现在不破坏原始梯度路径的情况下持续增强网络学习的能力。MP-1模块的作用是为了进行下采样,减少参数量,它包含了两个分支。第一个分支首先经过最大池化操作(maxpool),以进行下采样,然后通过一个1x1的卷积层进行通道数的调整。第二个分支则首先通过一个1x1的CBM模块,将通道数减半,然后经过一个3x3、步长为2的CBM块块,将图像长度和宽度减半。最后通过连接(Cat)操作融合从两个分支中提取的特征,得到了高度下采样的输出。
(3)YOLOv7的颈部网络采用了特征金字塔网络(FPN)架构,这一架构基于PANet设计,目的是为了将主网络提取的三个有效特征层的特征进行特征融合,整合不同尺度的信息。在FPN部分,已经提取的有效特征层将继续用于特征的提取。在PANet结构中对特征进行上采样以及下采样来实现特征融合。该网络包括多个CBS块、Sppcsspc结构、ELAN-H结构以及MaxPool-2(MP2)模块。Sppcsc结构通过将卷积空间金字塔池(CSP)结构和更大的残差边缘引入到空间金字塔池(SPP)结构中,有助于优化感知领域和提高特征提取效果。ELAN-H层基于E-ELAN融合多个特征层,进一步增强了特征提取能力。MP2块的结构类似于MP1块,只对输出通道数量稍作修改。
(4)YOLOv7的头部网络采用Rep结构,用于调整头部网络输出的特征通道数量,接着应用1x1卷积来进行置信度、类别和锚帧的预测。Rep结构的设计灵感源自RepVGG,它在训练过程中采用多分支结构,以提升精度,而在推理时通过结构重参数化的方法,将其转化为等效的单分支结构。这种转化不仅保持了模型精度,还显著提高了推理速度。
本实例中使用公开的GRDDC2020数据集作为示范;在实施中,选用PC作为图像识别处理端,系统配备了一颗i7-12700处理器、64位的Windows 11操作系统,并搭载了NVIDIARTX 3050Ti GPU。另外,实验环境还包括一台GPU服务器,该服务器搭载了RTX 3080GPU卡。
YOLOv7-RD模型如图2所示,构建方法如下:
(1)构建CSSAM模块,CSSAM模块的结构图如图4所示,CSSAM模块由并联的2条通路构成,其中一条通路用来处理空间的特征信息,另一条处理通道的特征信息,通过对空间和通道显示地建模来捕获不同维度的长远距离依赖,对图像信息进行特征加权;
(2)构建ResNet-SPConv残差块,ResNet-SPConv残差块的结构如图5所示,ResNet-SPConv结构以SPConv为核心算子,代替传统残差结构中的卷积块,用跳连接的方式,将下层特征聚合到上层特征,加强特征融合的效果,同时对权重自适应加权,抑制冗余特征,加强主干网络的特征提取能力,并通过捕获更多信息特征来加速网络的收敛;
(3)构建SP-E-ELAN层,SP-E-ELAN层的结构如图6所示,在E-ELAN中间层中的CBS模块后插入SPConv卷积,用来高效聚合网络的特征融合信息;
步骤3:选取训练集中的图像,使用YOLOv7-RD网络模型进行训练,具体过程如下:
(1)配置训练超参数,设定批量大小为32,并将迭代次数设置为300轮;
(2)启动模型训练,利用训练集数据进行训练。在每个训练迭代中,计算损失并更新模型的权重;
(3)每个训练周期结束后,利用验证集评估模型性能。监测验证集上的损失和准确率等指标,及时停止训练以避免过拟合。
将每组训练得到的训练预测特征图划分为H×W个网格单元,H和W分别代表训练预测特征图的高和宽,网格单元中心称为锚点;将K个先验框按尺度大小排序,均匀划分为N组先验框;同理,将训练预测特征图按尺度大小排序并划分,将每组先验框均分配到一张训练预测特征图上,再通过在锚点上叠加先验框,根据每个一维调整向量的位置尺度信息对各自的一个先验框的位置和尺度进行调整,从而得到一个训练预测框;针对每个目标GT框,计算目标GT框与每个训练预测框之间的交并比损失IoU,获取与目标GT框之间的交并比损失IoU最大的一个训练预测框作为训练候选框;
对于任意的两个A、B验证框,首先找到一个能够包住它们的最小方框C,然后计算C\(A∪B)的面积与C的比值,再用A、B的IoU值减去这个比值得到GIoU;
IoU的计算公式如下:
GIoU的计算公式如下:
步骤4:利用测试集评估YOLOv7-RD模型的性能。一旦达到设定的性能指标,即确认其为道路损坏检测模型。
利用测试集对模型的性能进行最终评估。计算模型在测试集上的准确率、F1分数等指标,并绘制可视化评估结果的混淆矩阵,以确定其在真实情况中的表现。F1分数是精确率和召回率的调和平均数,其取值范围在0到1之间,1表示最佳性能,0表示最差性能。
如果模型的性能不符合设定要求,可以尝试调整超参数设置(如学习率、批量大小、训练轮数)、增加数据增强方法(如旋转、翻转、剪裁)、改进模型架构(增加层数或单元,尝试不同的结构)、增加训练数据量以提高泛化能力,以及尝试不同的权重初始化策略。完成这些改进后,重新训练模型并在测试集上进行评估,反复迭代这一过程,直到达到满意的性能水平。
步骤5:将待检测的道路损坏图片输入到YOLOv7-RD模型中进行检测。
以上所述仅为本发明的较佳实施例子,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于改进YOLOv7的道路损坏检测方法,其特征在于,包括如下内容:
步骤1:建立道路损坏图像数据集,对图像数据集进行预处理后,进行训练集、验证集和测试集的划分;
步骤2:构建YOLOv7-RD网络模型;
YOLOv7-RD网络模型是在YOLOv7的主干网络中插入2个ResNet-SPConv模块,将所有E-ELAN层中的BConv卷积块后添加一个SPConv卷积块,并在颈部网络中插入2个CSSAM注意力机制模块所得到;
步骤3:从训练集中选取图像输入YOLOv7-RD网络模型进行训练,头部网络的ResNet-SPConv模块会对图像进行特征提取,将特征划分为冗余特征和重要特征,对于冗余特征进行自适应抑制,学习图像中更多的非线性映射;
步骤4:从训练集中选取图像输入YOLOv7-RD网络模型处理,每张图片在主干网络产生特定尺度的有效特征图,再输入颈部网络进行信息融合,CSSAM模块由并联的2条通路构成,其中一条通路用来处理空间的特征信息,另一条处理通道的特征信息,通过对空间和通道显示地建模来捕获不同维度的长远距离依赖,对图像信息进行特征加权;
步骤5:使用Kmeans++聚类算法将图像数据集中的扩展织物图像上的所有目标GT框进行聚类,得到K个先验框,将K个先验框均匀分布,根据训练预测特征图对K个先验框进行调整,每个先验框均经调整获得一个训练预测框,根据目标GT框选取若干个训练预测框作为训练候选框;
步骤6:根据训练预测特征图、调整后的候选框与目标GT框的差异计算出YOLOv7-RD网络模型的整体分类和回归损失,并将整体损失值反向传播至YOLOv7-RD网络模型中,并使用梯度下降法更新YOLOv7-RD网络模型的参数,获得参数更新的YOLO-RD网络模型;
步骤7:重复步骤3至步骤6对训练集中的每张图像进行处理,当次选取的图像经步骤4输出后,均重复步骤5和步骤6对YOLO-RD网络模型进行参数更新,直到训练集中的所有图像均训练完毕,参数更新后的YOLO-RD网络模型可作为预训练模型;
步骤8:将验证集中的道路损坏图像输入到预训练模型中进行处理,与步骤4中训练集进行相同操作后,得到对应阶层的验证预测特征图;每张输出的验证预测特征图与步骤5中训练预测特征图进行相同操作,输出验证预测框,根据验证预测框与目标GT框计算验证集损失,并计算道路损坏图像数据集中各类损坏情况在经过预训练模型处理后的单个类别平均精确度AP和所有类别的平均精确度mAP;
步骤9:重复步骤7和步骤8,直到道路损坏图像数据集中各类瑕疵的单个类别平均精确度AP和平均精确度mAP趋于一个稳定值,此时网络总损失曲线收敛,得到训练完成的YOLO-RD网络模型;
步骤10:将测试集中的道路损坏图像输入到训练完成的YOLO-RD网络模型中进行处理,对输出的每张测试预测特征图进行步骤5中训练预测特征图进行相同操作,输出测试预测框;根据NMS非极大值抑制原则进行筛选,去除测试预测框中的空白框,在保留的测试预测框中根据置信度筛选出最终测试预测框,实现道路损坏情况的检测和定位。
2.根据权利要求1所述的一种基于改进YOLOv7模型的道路损坏检测方法,其特征在于,所述步骤1中的道路损坏图像数据集的获取方法如下:
1)利用摄像头对道路损坏情况进行捕获并建立数据集;
2)使用公开的道路损坏数据集。
将得到的道路损坏数据集划分成训练集、验证集和测试集。具体来说,将60%划分为训练集,20%的数据划分为验证集,20%的数据划分为测试集。
3.根据权利要求1所述的一种基于改进YOLOv7模型的道路损坏检测方法,其特征在于,所述步骤1中的预处理方法如下:
A.使用labelme对图像中的道路损坏类型进行标注;
B.对数据集中的图像采用综合的数据增强技术,包括马赛克和混合数据增,以扩充数据样本;
C.对数据集中的图像进行归一化操作,将所有输入的图像尺寸调整到符合网络输入的图像大小。
4.根据权利要求1所述的一种基于改进YOLOv7模型的道路损坏检测方法,其特征在于,所述步骤2中,构建YOLOv7-RD网络模型,步骤如下:
1)在YOLOv7模型的主干网络中插入2个ResNet-SPConv的残差块,提高主干网络的特征提取能力;
2)在YOLOv7模型的主干网络中嵌入4个SP-E-ELAN层,聚合不同尺度的特征信息;
3)在YOLOv7的颈部网络3个尺度的特征提取通道中都插入一个CSSAM的注意力块,对通道和空间不同信息实现自适应加权;
4)加载YOLOv7的预训练权重。
5.根据权利要求1所述的一种基于改进YOLOv7模型的道路损坏检测方法,其特征在于,所述步骤2中,ResNet-SPConv残差块的构建,步骤如下:
1)将Bconv卷积用轻量级的SPConv卷积代替,以实现对不同程度重要特征信息的分割,实现对不同程度重要特征信息矩阵的加权;
2)对SPConv卷积操作后的特征矩阵进行正则化;
3)将SPConv中的ReLu激活函数替换为SiLu激活函数。
6.根据权利要求1所述的一种基于改进YOLOv7模型的道路损坏检测方法,其特征在于,CSSAM注意力块首先对输入的特征矩阵沿空间和通道维度进行平均池化,再计算出空间和通道上的Wq和Wk向量,然后将Wq和Wk向量相乘计算出相似度矩阵,将平均池化后的空间和通道特征矩阵分别乘上对应的相似度矩阵,最后将加权后的空间和通道特征矩阵相加以获得输出数据;
其中,空间维度的平均池化的公式如下:
上式中,各参数含义如下:
Xi,h,w表示第i各通道,第h行,第w列的像素值;σ是Sigmoid激活函数;C表示特征图的通道数;Ws表示沿空间维度平均池化后的特征矩阵;
通道维度的平均池化公式如下:
Xc,i,j表示第c个通道,第i行,第h列的像素值;H表示特征图的高;W表示特征图的宽;Wc表示沿通道维度平均池化后的矩阵;
向量Wq的计算公式如下:
Wq=(f(XWc,c))T
X表示输入的图像矩阵;Wc,c是1×1的大小的卷积核;f是将矩阵重塑,将二维的空间信息转换为一维向量;
相似度矩阵的计算公式如下:
其中Watt表示相似度矩阵;ρ表示softmax激活函数;函数h表示矩阵重塑。
7.根据权利要求1所述的一种基于改进YOLOv7模型的道路损坏检测方法,其特征在于,所述步骤3中,模型训练过程如下:
1)配置训练超参数,设置批量为32、迭代次数为300轮;
2)开始训练模型,使用训练集数据,在每个训练迭代中,计算损失并更新模型权重;
3)在每个训练周期结束后,使用验证集来评估模型的性能,监控验证集上的损失和准确率等指标,以便及时停止训练,以防止过拟合。
8.根据权利要求1所述的一种基于改进YOLOv7模型的道路损坏检测方法,其特征在于,所述步骤7中,将每组训练得到的训练预测特征图划分为H×W个网格单元,H和W分别代表训练预测特征图的高和宽,网格单元中心称为锚点;将步骤5中K个先验框按尺度大小排序,均匀划分为N组先验框;同理,将训练预测特征图按尺度大小排序并划分,将每组先验框均分配到一张训练预测特征图上,再通过在锚点上叠加先验框,根据每个一维调整向量的位置尺度信息对各自的一个先验框的位置和尺度进行调整,从而得到一个训练预测框;针对每个目标GT框,计算目标GT框与每个训练预测框之间的交并比损失IoU,获取与目标GT框之间的交并比损失IoU最大的一个训练预测框作为训练候选框;
对于任意的两个A、B验证框,首先找到一个能够包住它们的最小方框C,然后计算C\(A∪B)的面积与C的比值,再用A、B的IoU值减去这个比值得到GIoU;
IoU的计算公式如下:
GIoU的计算公式如下:
9.根据权利要求1所述的一种基于改进YOLOv7的道路损坏检测方法,其特征在于,执行完步骤10后使用测试集来最终评估模型的性能方法为:计算模型在测试集上的准确率、F1分数指标,并绘制可视化评估结果混淆矩阵,以确定其在真实情况中的表现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410314381.4A CN118212572A (zh) | 2024-03-19 | 2024-03-19 | 一种基于改进YOLOv7的道路损坏检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410314381.4A CN118212572A (zh) | 2024-03-19 | 2024-03-19 | 一种基于改进YOLOv7的道路损坏检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118212572A true CN118212572A (zh) | 2024-06-18 |
Family
ID=91455873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410314381.4A Pending CN118212572A (zh) | 2024-03-19 | 2024-03-19 | 一种基于改进YOLOv7的道路损坏检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118212572A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118470012A (zh) * | 2024-07-11 | 2024-08-09 | 山东声通信息科技有限公司 | 一种图像处理目标物品细节纹理缺陷检测方法、系统 |
-
2024
- 2024-03-19 CN CN202410314381.4A patent/CN118212572A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118470012A (zh) * | 2024-07-11 | 2024-08-09 | 山东声通信息科技有限公司 | 一种图像处理目标物品细节纹理缺陷检测方法、系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767882B (zh) | 一种基于改进yolo模型的多模态行人检测方法 | |
CN112052886B (zh) | 基于卷积神经网络的人体动作姿态智能估计方法及装置 | |
CN108537743B (zh) | 一种基于生成对抗网络的面部图像增强方法 | |
CN107016357B (zh) | 一种基于时间域卷积神经网络的视频行人检测方法 | |
CN113065558A (zh) | 一种结合注意力机制的轻量级小目标检测方法 | |
CN110188635A (zh) | 一种基于注意力机制和多层次卷积特征的植物病虫害识别方法 | |
WO2018052587A1 (en) | Method and system for cell image segmentation using multi-stage convolutional neural networks | |
CN112949572A (zh) | 基于Slim-YOLOv3的口罩佩戴情况检测方法 | |
CN111539320B (zh) | 基于互相学习网络策略的多视角步态识别方法及系统 | |
CN103049763A (zh) | 一种基于上下文约束的目标识别方法 | |
WO2023030182A1 (zh) | 图像生成方法及装置 | |
CN118212572A (zh) | 一种基于改进YOLOv7的道路损坏检测方法 | |
CN110222636A (zh) | 基于背景抑制的行人属性识别方法 | |
CN114627269A (zh) | 一种基于深度学习目标检测的虚拟现实安防监控平台 | |
CN110503157B (zh) | 基于细粒度图像的多任务卷积神经网络的图像隐写分析方法 | |
CN116311186A (zh) | 一种基于改进Transformer模型的植物叶片病变识别方法 | |
CN105354547A (zh) | 一种结合纹理和彩色特征的行人检测方法 | |
CN113033371B (zh) | 基于csp模型的多级特征融合行人检测方法 | |
CN112800968B (zh) | 一种基于hog分块的特征直方图融合对饮水区域猪的身份识别办法 | |
CN117437691A (zh) | 一种基于轻量化网络的实时多人异常行为识别方法及系统 | |
Singh et al. | Wavelet based histogram of oriented gradients feature descriptors for classification of partially occluded objects | |
Salah et al. | Improved approach for Semantic Segmentation of MBRSC aerial Imagery based on Transfer Learning and modified UNet | |
CN112132207A (zh) | 基于多分支特征映射目标检测神经网络构建方法 | |
Maddileti et al. | Pseudo Trained YOLO R_CNN Model for Weapon Detection with a Real-Time Kaggle Dataset | |
Turker et al. | 3D convolutional long short-term encoder-decoder network for moving object segmentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |