1. 引言
井盖在城市基础设施中发挥着关键作用,对其状态进行实时监控,对于保障城市交通安全和居民生活品质具有至关重要的意义。当前,井盖检测手段主要包括人工巡检、物理传感器监测以及基于计算机视觉的检测方法,这些方法普遍存在效率低下且易受主观因素干扰的问题。
随着计算机视觉技术的发展,以深度学习为基础的目标检测算法为井盖监测领域提供了创新性的解决策略。YOLO系列算法凭借快速的检测速度和较高的精度,在目标检测领域得到广泛应用。YOLOv8作为该系列的版本之一,性能优于前代版本。但针对井盖检测这一特定任务,仍存在优化空间。
本文通过融合Faster Neural Networks,构建C2f-faster结构对YOLOv8进行改进。在满足井盖检测准确性和实时性要求的前提下,选择合适的深度学习网络对于井盖检测而言至关重要。
2. 相关工作
在20世纪90年代初期,目标检测技术开始萌芽发展。Papageorgiou等学者开创性地将支持向量机应用于人脸检测领域,构建了首个目标检测框架,为后续研究奠定了重要的理论与方法基础[1]。随着深度学习技术的发展,目标检测算法不断革新,Qiu团队基于YOLOv8架构开发了HD-YOLO安全帽检测算法,通过创新性地设计GRC-C2f模块、DSASF颈部结构,并引入Focal Modulation机制和空间增强注意力模块(SEAM),有效提升了小目标遮挡场景下的检测性能[2]。熊天赐等人则通过对C2f神经网络模块的优化改进,使YOLOv8的识别准确率达到91.4% [3]。
在国际研究前沿,目标检测技术正向着多模态融合方向发展。有学者创新性地将立体深度相机与MGB-YOLO模型相结合用于井盖检测,通过对YOLOv5s网络结构的优化改进,整合MobileNet-V3、全局注意力机制和BottleneckCSP模块,实现了96.6%的高检测准确率,且算法适用于车载嵌入式设备部署[4]。另一项突破性研究将YOLOv8与图像超分辨率重建技术相结合,利用无人机航拍图像,通过SRGAN网络实现井盖文字的超分辨率重建,最终采用VGG16_BN网络完成分类,准确率高达97.62% [5]。此外,基于多特征融合的分类方法通过设计梯形搜索区域、边缘连通性分析等技术手段,结合对称性和区域特征筛选,实现了井盖位置的快速精确定位。
本研究提出的改进型YOLOv8井盖检测算法,通过架构创新显著提升了多类型井盖的识别能力和检测效率。算法的核心创新在于:构建了基于FasterNet的高效高分辨率网络架构;融合Faster Neural Networks的faster结构,实现部分卷积(PConv)操作。这些改进有效降低了计算冗余和内存访问开销,在保持计算效率的同时增强了目标感知能力,特别在小目标和密集目标检测场景中表现突出。大量实验证明,PConv和FasterNet的引入显著提升了检测速度和模型性能。
3. 基于YOLOV8的井盖检测算法的研究
3.1. YOLOv8算法
YOLOv8架构由三个主要组件组成(如图1):
Figure 1. Original structure diagram of YOLOv8
图1. YOLOv8原始结构图
3.2. 融合Faster Neural Networks的YOLOv8结构
3.2.1. C2f-faster原理阐述
Figure 2. Improved structure diagram of YOLOv8
图2. YOLOv8改进结构图
如图1所示,本研究以YOLOv8为基础框架,通过引入Faster Neural Networks构建了C2f-Faster模块,并将其整合到骨干网络中,以优化特征提取过程。此外,如图2所示本研究改进了多尺度特征融合策略,重新设计了检测头结构,并优化了损失函数,从而进一步提升模型的检测性能。
(1) 骨干网络模块
在骨干网络中,本研究采用C2f-Faster模块替代原始YOLOv8的C2f结构。该模块结合了Faster Net Block的部分卷积(PConv)技术,有效减少了计算冗余,同时增强了多尺度特征融合能力[6]。
具体而言,输入特征图依次经过卷积(Conv)、批量归一化(BN)和激活函数(SiLU)处理后,进入C2f-Faster模块。该模块采用X3和X6堆叠策略(分别表示模块的重复次数),并利用不同尺寸的卷积核提取多样化特征,从而增强特征的表达能力。相较于原始YOLOv8的骨干网络,改进后的结构能够提取更具判别性的特征,同时降低计算复杂度,提升模型效率。
(2) 特征融合模块
在特征融合阶段,本研究优化了YOLOv8的多尺度特征融合策略。具体改进包括:
上采样(Upsample (2)):将低分辨率但富含语义信息的特征图分辨率提升2倍,使其与高分辨率特征图对齐。
特征拼接(Concat):通过Concat (P3)、Concat (P4)等操作,将上采样后的特征图与同尺度的高分辨率特征图在通道维度上进行拼接,实现多层次特征的融合。C2f-Faster增强:得益于C2f-Faster模块的引入,多尺度特征融合更加高效,能够更好地捕捉不同尺寸目标的特征,从而提升检测精度。
(3) 检测头模块
检测头模块负责对特征图进行目标定位与分类,其核心流程如下:
特征提取:通过一系列卷积层进一步优化特征表示。分类与回归:分别通过分类层(Class Head)和回归层(Box Head)预测目标的类别概率和边界框坐标。输出预测:最终,模型输出检测目标的类别分布、置信度及位置信息,完成整个目标检测流程。相较于原始YOLOv8,改进后的检测头结合了C2f-Faster模块的优势,提高了目标检测的准确性和鲁棒性,尤其在复杂场景(如小目标、遮挡目标)下表现更优。
3.2.2. 技术选择依据与井盖检测任务契合度
(1) 选择C2f-faster模块的核心原因
1) 平衡精度与速度:原始C2f模块通过多分支结构保证精度,但计算量较大;融合FasterNet Block后,通过通道拆分与并行计算,在精度损失小于1%的前提下,计算速度提升30%以上,适配井盖检测的实时性需求(如车载移动检测、无人机巡检)。
2) 适配井盖的多尺度特性:城市井盖存在尺寸差异(直径30 cm~120 cm),C2f-Faster的多分支结构可提取不同尺度特征,配合PConv对小尺寸井盖的聚焦作用,解决传统算法中小目标漏检问题。
(2) PConv与井盖检测任务的契合点
1) 降低环境干扰:井盖检测场景中,背景(路面、行人、车辆)占比高,PConv通过掩码屏蔽背景区域,减少背景噪声对特征提取的干扰,误检率降低8%~12% (实验数据)。
2) 应对井盖侵蚀问题:环境侵蚀(生锈、破损、污渍)导致井盖特征不完整,PConv可通过动态调整有效区域,聚焦残留的边缘、纹理特征,提升侵蚀井盖的识别率,召回率较标准卷积提升6.5% (实验数据)。
3) 适配海量数据场景:城市井盖数量庞大(百万级),PConv减少50%以上的冗余计算,使模型可在边缘设备(如嵌入式巡检机器人)上部署,满足大规模井盖实时监测需求。
4. 实验结果
4.1. 实验说明
在对实验结果进行评估时,采用了多种性能指标,涵盖混淆矩阵、归一化混淆矩阵、精确度–置信度曲线、F1分数–置信度曲线、精确度–召回率曲线以及召回率–置信度曲线。除此之外,还将相应的标签图像作为辅助评价指标,以此全面反映实验所取得的成效。
实验环境和参数配置,如表1所示。
Table 1. Experimental environment and parameter configuration
表1. 实验环境和参数配置
环境(environment) |
配置(configuration) |
硬件环境(hardware environment) |
NVIDIA GeForce RTXTM 4050 Ti GPU |
Cuda |
Cuda 12.5.88 |
虚拟环境管理器(virtual environment manager) |
anaconda |
Python |
3.12 |
Torch |
torch-2.3.1-cu121-cp38. torchaudio-2.3.1-cu121, torchvsion-0.18.1 |
4.2. 实验数据集
本研究采用的实验数据集包括一个公开的目标检测数据集
(https://cloud.tencent.com/developer/article/2545386)以及研究者自行采集的井盖数据集。自行采集的数据集涵盖了多个城市道路场景,并包含了不同天气和光照条件下的井盖图像,旨在增强模型的泛化能力。数据集的划分如下:训练集包含2322张图像,验证集包含667张图像,而测试集包含330张图像,三者之间的比例大致为7:2:1。这种划分策略确保了数据的有效分布,以供模型训练和性能评估之用。
4.3. 实验评价指标
采用平均精度均值(mAP)、召回率(Recall)和检测速度(FPS)作为评估指标。mAP用于衡量模型在不同类别和不同IoU阈值下的平均精度,Recall用于评估模型检测出所有真实目标的能力,FPS用于评估模型的实时性[7]。
4.4. 实验评价指标
在本研究中,为了量化目标检测模型的性能,选取了平均精度均值(mAP)和召回率(Recall)作为评价指标。其中,mAP指标旨在评估模型在多个类别以及不同交并比阈值条件下的平均检测精度,从而全面反映模型在类别识别和定位精度方面的性能。召回率则用于量化模型在检测任务中识别出所有实际存在目标对象的能力,即模型对真实目标的覆盖程度[8]。
4.4.1. 混淆矩阵
Figure 3. Confusion matrix diagram
图3. 混淆矩阵图
其中,混淆矩阵(Confusion Matrix)是机器学习领域中用于评估分类模型性能的定量分析工具,在监督学习的分类问题中应用广泛。它能以视觉化的方式展现模型预测输出与实际标签之间的对应关系。在构造混淆矩阵时,矩阵的行索引对应样本的实际类别,列索引对应模型的预测类别。矩阵中的每个单元(元素)代表特定的计数,即样本实际属于某一类别却被模型错误预测为另一类别的实例数量。因此,混淆矩阵能为理解模型的分类准确性以及其在不同类别上的性能表现提供详尽信息。本实验的混淆矩阵如图3所示。
在图3该混淆矩阵中,涉及两个类别,“covers”代表井盖类别,“background”代表背景类别。矩阵里,数值5处于真实类别是“covers”且预测类别也是“covers”的交叉位置,这说明模型准确识别出了5个井盖实例。另外,数值6在真实类别为“background”且预测类别为“background”的交叉位置,这表示模型正确分类了6个背景样本。这些数据为评估模型的分类性能提供了具体的量化依据。
4.4.2. 归一化混淆矩阵
在归一化混淆矩阵中,各元素值代表的是模型对于各类别的预测结果相对于相应真实类别样本总数的比例。具体而言,归一化过程涉及将混淆矩阵的每个元素分别除以其对应的行总和或列总和,从而确保矩阵中的每个数值均落在0到1的区间内。此操作的目的是提供一种更为直观的相对比例信息,以便于对模型的分类性能进行比例化的分析和理解。
Figure 4. Normalized confusion matrix diagram
图4. 归一化混淆矩阵图
在本实验的图4归一化混淆矩阵中,真实类别为“covers”且预测类别也为“covers”的位置,数值为 1.00,这意味着模型将所有真实的井盖样本都成功检测出来,井盖检测的召回率达到了100%。同样地,真实类别为“background”且预测类别为“background”的位置,数值也为1.00,表明模型准确识别了所有背景样本,背景识别的召回率同样是100%。由此可以得出,该模型在区分井盖和背景方面表现出极强的能力,不存在误检(将背景误判为井盖)或漏检(未能检测到真实井盖)的情况。当比较不同数据集或不同模型的混淆矩阵时,由于样本数量存在差异,直接进行比较会有一定难度。而对混淆矩阵进行归一化处理后,能够在统一的尺度上评估模型在各个类别上的性能。归一化后的矩阵可以更清晰地呈现每个类别中正确预测与错误预测的相对比例,进而有助于深入分析模型在各类别上的具体表现。此外,这一过程还有助于发现是否存在因类别不平衡引发的预测偏差,以及其他潜在的分类性能问题。
4.4.3. 精确–置信曲线
精确–置信度曲线(Precision-Confidence Curve)揭示了模型在执行井盖检测任务时,精确率与置信度之间的相互关系。在此曲线图中,横轴代表置信度阈值,而纵轴则表示精确率。曲线上的每一个数据点均代表了在特定置信度阈值条件下模型的精确率,从而描绘了模型在不同置信度水平下的精确率变化趋势[8]。如图5。
Figure 5. Precision-confidence curve
图5. 精确–置信曲线
图5展示的是精确率–置信度曲线。其中,横坐标标注为“Confidence”,代表模型对自身检测结果的确信程度,这一指标通常依据模型输出的预测概率来衡量,预测概率越高,对应的置信度也就越高。纵坐标“Precision”为精确率,它量化了模型预测为正例(本研究中即井盖)的样本里,实际为正例样本所占的比例。
图中的浅蓝色曲线代表“covers”(井盖)类别的精确率–置信度曲线,深蓝色曲线则表示整体类别的精确率–置信度情况。从曲线可以看出,随着置信度阈值从0开始逐步提高,模型的精确率整体呈上升趋势。在置信度较低时,模型会产生较多预测结果,其中包含一定误检,因此精确率相对较低;随着置信度阈值升高,模型更倾向于保留可靠的预测,精确率随之提升。当置信度阈值约为0.612时,整体类别的精确率达到1.00,说明在这一置信度水平下,模型的预测结果完全正确。
4.4.4. F1-置信度曲线
如图6所示,蓝色曲线展示了模型在所有类别上的综合F1分数随置信度阈值变化的趋势。该曲线呈现典型的单峰分布特征:在低置信度区间(0~0.3),F1分数维持在较低水平;随着置信度提升至0.3~0.5区间,F1分数呈现快速上升趋势,并在置信度为0.428时达到峰值0.89;当置信度超过0.5后,F1分数则呈现单调递减态势。这种非线性关系表明,模型性能与置信度阈值之间存在最优平衡点,而非简单的正相关关系。
Figure 6. F1-confidence curve
图6. F1-置信度曲线
特别值得注意的是,图表中标注的all classes 0.89这一关键数据点,不仅代表了模型在综合指标上的最优表现,同时也为实际应用提供了重要的参数设置依据。将置信度阈值设定在0.428附近,可以在保持较高召回率的同时,确保模型输出的精确性。
此外,图中浅蓝色标注的covers类别曲线与综合曲线(深蓝色)保持了高度一致的走势特征。这一现象说明:模型对井盖类别的检测性能与整体性能表现具有良好的一致性;该类别F1分数随置信度变化的敏感性较低,表明模型对井盖目标的预测具有较好的稳定性。这种稳健性特征在实际工程应用中尤为重要,可以有效降低参数调优的复杂度。
4.4.5. 召回–置信度曲线
该图像呈现了用于量化分类或目标检测模型性能的召回率–置信度曲线(Recall-Confidence Curve)。具体而言,纵轴(Recall,即召回率)衡量了模型在不同置信度阈值条件下正确识别正类样本的效能。关键数据点如下:在置信度阈值为0.00时,所有类别的召回率达到了1.00,这意味着在该置信度水平下,模型能够识别出所有正类样本,尽管这可能伴随着较高的误报率。
如图7所示,横轴表示置信度阈值(Confidence Threshold),其数值范围从0.0到1.0,并以0.2为间隔递增(0.0、0.2、0.4、0.6、0.8、1.0)。该阈值决定了模型输出预测结果的最低置信度要求:阈值越高,模型筛选预测结果的标准越严格。
随着置信度阈值的提升,模型的召回率呈现明显的单调递减趋势:
当阈值设为0.0时,模型输出所有预测结果(召回率 = 1.00),但此时可能包含大量低置信度的噪声预测;当阈值升至1.0时,仅保留置信度最高的极少数预测(召回率最低),虽然预测质量提高,但漏检风险显著增加。
图表中的“Reduce”指标反映了不同阈值下预测样本数量的缩减程度,直观体现了模型在召回率与预测精度之间的权衡关系:
低阈值(如0.0~0.2):适用于对漏检敏感的应用场景(如安防监控),可最大限度检出目标,但需接受较高误报率;高阈值(如0.8~1.0):适用于对精度要求严苛的领域(如医疗诊断),能确保输出结果的可靠性,但会牺牲部分检出率。
因此,在实际应用中,需要根据具体任务需求(如更重视召回率还是精确率)来选择合适的置信度阈值,以实现最优的检测性能平衡。
Figure 7. Recall-confidence curve
图7. 召回–置信度曲线
4.4.6 精确–召回曲线
PR曲线(Precision-Recall Curve)是一种评价二元分类模型性能的有效手段,尤其适用于处理数据集不平衡的情况。以下是对PR曲线的详细阐述:PR曲线以召回率(Recall)作为横轴,精确率(Precision)作为纵轴。通过绘制不同置信度阈值下的精确率和召回率,可以对模型的性能进行综合评估[9]。每一个阈值在PR曲线上对应一个数据点,通过改变阈值,可以获取一系列数据点,这些点连接起来形成一条曲线。精确率(Precision)定义为模型预测为正类的样本中实际为正类的样本所占的比率[10]。计算公式为:
其中TP表示真正例,FP表示假正例。
召回率(Recall):真实为正样本的样本中被模型正确预测为正样本的比例。计算公式为:
在此,FN代表假负例(False Negative)。PR曲线通常展现出一种“锯齿状”或“阶梯状”的图形特征,这是因为精确率与召回率之间通常存在一种互斥的权衡关系。提升召回率往往伴随着精确率的下降,反之亦然。PR曲线尤其适用于那些对正类预测准确性有较高要求的领域,例如医疗诊断、金融领域的风险控制与反欺诈检测等。在这些应用场景中,将负类错误预测为正类(即假正例)可能会引发严重的后果,因此精确率的重要性尤为突出。
Figure 8. Precision-recall curve
图8. 精确–召回曲线
如图8呈现了用于评估分类或目标检测模型性能的精确率–召回率曲线(Precision-Recall Curve, PR Curve),其具体内容如下:
在PR曲线中,纵轴(Precision,精确率)的数值序列为0.8、0.6、0.4、0.2、0.0,这些数值代表了模型在不同分类阈值下的精确率水平。精确率的提高意味着模型在识别正类样本时产生的误报数量减少。横轴(Recall,召回率)上标注的数值序列为0.0、0.2、0.4、0.6、0.8、1.0,这些数值对应了召回率的不同取值[11]。召回率的增加表明模型遗漏正类样本的概率在降低。典型的PR曲线是通过连接不同阈值下的(Recall, Precision)数据点而形成的,而曲线下覆盖的面积(Area Under the Curve, AUC)则是衡量模型整体性能的一个重要指标。
4.4.7. 标签图像
该图像由四个子图组成,分别描绘了不同数据集的分布和关系:
该表述完整覆盖“标签实例数量、位置、尺寸”三个核心维度的关联关系,符合技术文档图表命名的准确性与规则)。
如图9所示,最上子图:呈现了一个散点图,其中横轴表示“x”变量,纵轴表示“y”变量。观察可见,数据点主要聚集在0.2至0.7的区间内,构成一个相对稠密的区域。这些数据点揭示了某一覆盖或关联关系的存在。
第二子图:图中展示了一个矩形,被标注为“instances”。该矩形表征了数据集中某一特定范围或覆盖状况,其尺寸及位置为数据集的规模或分布范围提供了直观的定量描述。
第三子图:在所展示的散点图中,横轴标注为“width”,而纵轴标注为“height”。观察可知,数据点主要分布于0.1至0.5的区间,并呈现出显著的聚集现象。这些数据点揭示了某种物体的宽度与高度特征信息。
最下子图:与左下角子图相似,当前子图同样是一个散点图,其横轴为“width”,纵轴为“height”。数据点的分布模式及其聚集趋势与左下角子图呈现一致性,从而进一步印证并强调了关于物体宽度和高度特征的统计信息。
Figure 9. Relationship among instance count, position and size of labels in YOLOv8 training dataset
图9. YOLOv8训练数据集标签实例数量、位置及尺寸关系图
4.4.8. 指标变化图
如图10所示,在训练过程中,本研究主要对边界框损失(train/box_loss)、分类损失(train/cls_loss)和特征点损失(train/dfl_loss)进行了监测。这三条损失曲线整体呈递减趋势,这表明随着训练迭代次数的增加,模型在训练数据集上针对目标定位和分类任务的性能在不断优化。与之相对应的是,验证集上的边界框损失(val/box_loss)、分类损失(val/cls_loss)和特征点损失(val/dfl_loss),这些用于评估模型在未见过的数据上的表现[12]。通过对比训练集与验证集的损失值,能够判断模型是否出现过拟合现象。如图所示,验证集损失同样呈下降趋势,这进一步证明了模型具有良好的泛化能力。
此外,本研究还计算了模型在验证集上的精确率(metrics/precision (B))和召回率(metrics/recall (B)),这些性能指标对模型在目标检测任务中的精确性和检测范围进行了量化[13]。随着训练的深入,精确率和召回率均呈上升趋势,这表明模型识别目标的能力在增强,同时误检和漏检情况也有所减少。为了全面评价模型的性能,研究还计算了不同交并比(IoU)阈值(范围从0.5至0.95)下的平均精度(metrics/mAP50-95 (B))。平均精度(mAP)值的逐步提升,说明模型在不同检测难度水平上的综合性能得到了显著优化。
Figure 10. Variation diagram of key training metrics for the improved YOLOv8 model (Including variation trends of training set bounding box loss, classification loss, keypoint loss, and validation set precision, recall, average precision with iteration number)
图10. YOLOv8改进模型训练关键指标变化图(含训练集边界框损失、分类损失、特征点损失,及验证集精确率、召回率、平均精度等指标随迭代次数的变化趋势)
4.4.9. 标签之间的相关性
该图揭示了目标检测算法在训练过程中对标签间相关性的建模情况。图中的每个矩阵单元代表了模型训练时所采用的标签,而单元的颜色深浅度则映射了相应标签间的相关性强度。颜色较深的单元表明模型强烈地学习了这两个标签之间的关联,而颜色较浅的单元则指示了较弱的相关性。对角线上的单元颜色通常最为深邃,这是因为模型更易于学习标签与其自身的关系。通过该图,可以直观地识别出哪些标签之间具有较强的相关性,这对于训练过程的优化和预测效果的提升至关重要。若观察到某些标签间的相关性异常强烈,则可能需要考虑将这些标签进行合并,以简化模型结构并增强其效率。图中位于最上方的子图(0, 0)至(3, 3)分别展示了中心点的横坐标(x)、纵坐标(y)、边界框的宽度以及高度的分布情况。
在如图11中的目标标签位置与尺寸相关性分布图详细呈现了四个变量(x、y、width、height)之间的相互关系及其各自的分布特性。具体描述如下:
在图11中左上角和右上角的子图分别为变量x和y的分布直方图,这些直方图展示了变量x和y的频率分布情况。通过这些直方图,可以观察到变量x和y的取值范围以及它们在不同区间的分布特征。
中上部的子图是一个散点图,它描绘了变量x与y之间的关系。散点图中数据点的分布模式揭示了这两个变量之间可能存在的相关性,包括正相关或负相关等。
中部的子图展示了变量x和y分别与width的散点图,这些图表揭示了变量x和y与width之间的关系。通过分析数据点的分布,可以探究这些变量对width的可能影响或它们之间的相关性。
下部的子图则是关于变量x、y、width与height之间关系的散点图,它展示了这些变量与height的关系。通过对数据点分布的分析,可以探讨这些变量对height的潜在影响。
综合来看,训练与评估阶段所记录的指标变动指示了YOLOv8模型在目标检测任务中展现了卓越的学习能力和性能提升。通过不断的精细化训练策略及对参数的优化调整,预期将进一步增强模型的检测精确度及其鲁棒性。
Figure 11. Correlation distribution map of target label position and size during YOLOv8 training
图11. YOLOv8训练时目标标签位置与尺寸相关性分布图
5. 结束语
在本研究中,我们深入探讨了基于改良YOLOv8算法的井盖检测方法,并成功地实施了该技术。研究结果表明,该方法显著提高了模型在井盖检测任务中的性能,特别是在小目标检测方面,实现了更高的有效性和实时性。经过改进的模型在所有关键性能指标上均超越了原始YOLOv8模型,能够更加精确和高效地在复杂场景中识别井盖目标。此外,本研究扩展了目标检测算法在特定行业领域的应用范围,并为实际工程中的井盖智能监测系统提供了实用的技术方案。参考文献指出,未来的研究方向将集中在进一步提升模型的鲁棒性,以促进城市基础设施智能化管理向更高级别的发展。
基金项目
S202411305035 2024年安徽省省级大学生创新创业训练项目;2024118 2024年蚌埠学院校级大学生创新创业训练项目。
NOTES
*通讯作者。