摘要
本研究设计并实现了一套基于YOLOv8(You Only Look Once version 8)目标检测算法的道路坑洼智能识别检测系统。该系统以YOLOv8s作为基础检测模型,在包含3,490张标注图像的自建道路坑洼数据集上进行训练、验证与测试,其中训练集3,043张、验证集273张、测试集174张,全部图像均采用YOLO格式进行归一化边界框标注,类别定义为单一类别"pothole"。训练过程共进行117轮迭代,采用SGD优化器,初始学习率为0.01,配合余弦退火学习率调度策略,输入图像尺寸统一为640×640像素。
在模型性能评估方面,系统在验证集上取得了多项关键指标的最优表现:精确率(Precision)最高达到0.908,召回率(Recall)最高达到0.842,平均精度均值mAP@0.5最高达到0.886。从精确率-召回率曲线来看,模型在精度与召回率之间取得了良好平衡,PR曲线下面积较大,表明检测器对不同置信度阈值下的目标检测具有稳定可靠的性能。精确率-置信度曲线显示,在置信度阈值达到0.887时,模型精确率可达到1.00的理想状态,表明模型输出的置信度分数具有高度的可区分性,高置信度预测几乎不存在误检。召回率-置信度曲线则表明在置信度阈值趋近于零时,召回率最高可达0.92,说明模型对绝大多数真实坑洼目标具备较强的检出能力。F1-置信度曲线综合评估了精度与召回率的调和平均,最佳F1分数达到0.84,对应置信度阈值为0.554,为实际应用中置信度阈值的选取提供了科学的参考依据。
道路坑洼作为城市道路和公路交通基础设施中最常见的病害类型之一,对行车安全、车辆使用寿命以及道路养护成本均产生着不可忽视的负面影响。传统的道路坑洼检测方法主要依赖人工目视巡检和专业技术人员现场评估,这种模式不仅效率低下、主观性强、劳动强度大,而且在高速公路等场景下存在严重的安全隐患。随着深度学习技术的快速发展,特别是目标检测算法在计算机视觉领域的突破性进展,基于视觉的道路病害自动检测成为可能,为道路巡检工作提供了全新的技术路径。
在系统功能层面,本项目构建了一个完整的端到端道路坑洼检测应用平台,集成了用户管理、多源检测、参数配置、结果展示与保存等十大功能模块。用户管理模块支持用户注册与登录,采用SHA256加密算法对用户密码进行哈希存储,确保用户数据的安全性,用户信息以JSON格式持久化保存在本地。图形用户界面采用PyQt5框架开发,应用了毛玻璃视觉风格与无边框窗口设计,实现了三栏式响应式布局,包含左侧控制区、中央显示区与右侧信息区,显著提升了用户交互体验。检测源管理模块支持三种输入模式:图片检测模式支持JPG、JPEG、PNG、BMP等常见图像格式;视频检测模式支持MP4、AVI、MOV、MKV等主流视频容器格式,能够逐帧进行目标检测;摄像头实时检测模式支持通过USB接口连接工业相机或网络摄像头,实现现场实时巡检。检测参数配置模块允许用户通过滑块实时调节置信度阈值(0-100%)与非极大值抑制IoU阈值(0-100%),参数调整后立即同步至检测核心引擎,无需重启检测任务。检测核心模块基于QThread多线程架构设计,检测推理在独立线程中执行,确保图形界面在密集计算过程中保持流畅响应,同时支持CPU与GPU推理的自动切换,充分利用硬件加速能力。
结果显示模块在界面中央区域实时展示带有边界框标注和置信度分数的检测结果画面,右侧列表同步显示当前帧检测到的所有目标及其类别与置信度信息,日志标签页则按时间戳记录系统操作与错误信息。结果保存模块支持检测结果的自动或手动保存,保存文件自动添加时间戳命名规则,图片保存为JPG格式,视频保存为MP4格式,用户可自定义保存路径,保存成功后通过弹窗与日志双重反馈。工具栏提供一键切换检测源与手动保存的快捷操作,显著提升了日常使用的便捷性。数据校验模块在注册环节实施用户名长度(≥3字符)、密码强度(≥6字符)、密码一致性、邮箱格式等多重验证,在模型加载环节实施文件存在性与文件大小检查,在输入环节实施非空校验,构建了完善的输入验证体系。
本系统的成功开发验证了YOLOv8算法在道路坑洼检测任务中的有效性和实用性,为道路养护管理部门提供了一套高效、精准、易用的智能化检测工具。系统在实际应用中可搭载于道路巡检车辆或无人机平台,实现道路病害的快速筛查与定位,有效降低人工巡检成本,提高道路养护的科学化与信息化水平。未来的工作将聚焦于多类别道路病害的扩展检测、坑洼严重程度的分级评估、基于时序数据的道路退化趋势分析以及模型轻量化与边缘端部署,进一步拓展系统的应用范围与场景适应性。
关键词:YOLOv8;目标检测;道路坑洼识别;深度学习;计算机视觉;PyQt5;智能交通
订阅此专栏获取文章项目完整源码和数据集https://blog.csdn.net/m0_68036862/category_13147048.html
https://blog.csdn.net/m0_68036862/category_13147048.html
项目演示视频
目录
摘要
项目演示视频
第一章 引言
1.1 研究背景与意义
1.1.1 道路坑洼问题的现状与影响
1.1.2 传统检测方法的局限性
1.1.3 深度学习目标检测技术的发展
1.1.4 研究意义
1.2 国内外研究现状
1.2.1 国外研究现状
1.2.2 国内研究现状
1.2.3 现有研究的不足
功能模块
1、用户管理模块
2、界面与交互模块
3、检测源管理模块
4、检测参数配置模块
5、YOLO检测核心模块
6、结果显示模块
7、结果保存模块
8、工具栏功能
9、辅助功能
10、数据校验模块
训练过程
训练结果
一、训练整体表现
1.1 训练过程概述
1.2 损失函数收敛分析
1.3 学习率调度的合理性
二、检测精度指标分析
2.1 精确率(Precision)分析
2.2 召回率(Recall)分析
2.3 mAP@0.5分析
2.4 mAP@0.5:0.95分析
2.5 精确率-召回率曲线分析
三、关键指标综合分析
3.1 F1分数分析
3.2 精确率-置信度曲线分析
3.3 召回率-置信度曲线分析
3.4 验证损失表现
数据集介绍
常用标注工具
项目演示视频
第一章 引言
1.1 研究背景与意义
1.1.1 道路坑洼问题的现状与影响
道路作为国家重要的交通基础设施,是国民经济和社会发展的重要支撑。随着我国公路总里程的持续增长以及城市化进程的不断推进,道路养护工作面临着前所未有的挑战。截至2023年底,我国公路总里程已超过540万公里,其中高速公路里程超过17万公里,城市道路总里程也保持着持续增长的态势。庞大的道路网络在便利人民出行、促进经济发展的同时,也带来了巨大的养护压力。
道路坑洼是沥青路面和水泥混凝土路面最常见的病害表现形式之一,其形成机制较为复杂,通常由多种因素共同作用导致。在荷载因素方面,重型车辆的反复碾压特别是超载车辆的通行,会造成路面结构层的疲劳损伤;在环境因素方面,温度变化引起的路面材料热胀冷缩、冻融循环作用下水分的反复冻结与融化、雨水的渗透侵蚀等都会加速路面材料的劣化;在材料因素方面,路面施工质量缺陷、材料老化、骨料与沥青的黏附性不足等也是坑洼形成的重要诱因。坑洼一旦形成,在交通荷载和自然环境因素的持续作用下会迅速扩展和加深,形成恶性循环。
道路坑洼对交通运输系统和社会经济的影响是多维度的。在行车安全层面,坑洼会导致车辆行驶轨迹突变,增加侧滑和失控风险,尤其是在雨天或夜间能见度较低的情况下,驾驶员难以及时发现和避让坑洼,容易引发交通事故。研究表明,由路面病害引发的交通事故占全部交通事故的一定比例,其中坑洼是最主要的致因之一。在车辆损耗层面,车辆高速通过坑洼时产生的剧烈冲击会对悬架系统、轮胎、轮毂等部件造成严重损害,显著缩短车辆使用寿命,增加车主的维修成本。据统计,因道路坑洼导致的车辆维修费用每年高达数十亿元。在通行效率层面,驾驶员为避让坑洼而减速或变道,会降低道路通行能力,尤其在交通量较大的路段,容易引发交通拥堵。在养护成本层面,坑洼的早期修复成本远低于后期大规模修补的成本,如果不能及时发现和修复,小坑洼会演变为大面积路面破坏,导致养护费用成倍增加。
因此,实现道路坑洼的快速、准确、自动化检测,对于保障行车安全、降低养护成本、提升道路服务水平具有十分重要的现实意义。
1.1.2 传统检测方法的局限性
长期以来,道路坑洼检测主要依赖人工方法,这些方法在特定历史条件下发挥了积极作用,但在当今大规模、高效率的养护需求面前已显露出诸多局限性。
人工目视巡检是最基础也最传统的检测方式,由经过培训的专业技术人员沿道路进行目视检查,发现坑洼后记录其位置、尺寸和严重程度。这种方法的优点在于灵活性强、不需要复杂设备,但其缺点也十分突出。首先是效率低下,一名技术人员每天最多只能巡检数公里道路,对于庞大的道路网络来说,完成一次全面巡检需要耗费大量人力和时间。其次是主观性强,不同检测人员对坑洼的判断标准存在差异,即使是同一人员在不同时间、不同光照条件下的判断也可能不一致,导致检测结果缺乏一致性和可比性。第三是安全性差,在高速公路或快速路上进行人工巡检面临严重的交通安全风险。第四是难以量化,人工记录的位置信息不够精确,尺寸和深度等参数的估算误差较大,难以为后续的养护决策提供精确的数据支撑。
基于车辆的检测设备是人工巡检的改进方案,代表性设备包括激光断面仪、落锤式弯沉仪、路面破损检测车等。这些设备集成了多种传感器,能够较为准确地测量路面的几何参数和结构性能。然而,这类设备普遍价格昂贵,单台设备采购成本可达数百万元,中小型养护单位难以承受。同时,设备操作和维护需要专业人员,数据后处理和分析也需要较长时间,难以实现快速响应。此外,这类设备通常需要封闭交通才能开展工作,对社会交通影响较大。
近年来,基于无人机和遥感技术的检测方法也逐渐应用于道路巡检领域。无人机搭载高清相机或激光雷达,可以从空中获取道路影像。这种方法在覆盖范围和安全性方面具有一定优势,但仍然面临飞行管制、续航时间、数据处理量大等实际问题的制约。
综上所述,传统道路坑洼检测方法在效率、准确性、安全性、经济性等方面各有不足,难以满足现代道路养护管理对快速、精准、常态化检测的需求。因此,亟需引入新的技术手段来实现道路坑洼检测的自动化、智能化和信息化。
1.1.3 深度学习目标检测技术的发展
深度学习是机器学习领域的一个重要分支,其核心思想是通过构建具有多层非线性变换的神经网络模型,自动从数据中学习层次化的特征表示。自2012年AlexNet在ImageNet图像分类竞赛中取得突破性成绩以来,深度学习技术在计算机视觉领域取得了革命性的进展,其中目标检测是计算机视觉中最核心和最具挑战性的任务之一。
目标检测任务要求算法不仅能够识别图像中存在哪些类别的目标,还要精确定位每个目标在图像中的位置,通常用矩形边界框来表示。在过去十余年间,目标检测算法经历了从传统手工特征方法到深度学习方法、从两阶段检测到单阶段检测、从基于锚框到无锚框设计的演进历程。
基于深度学习的目标检测算法可大致分为两类范式。第一类是两阶段检测算法,以R-CNN系列为代表,包括R-CNN、Fast R-CNN、Faster R-CNN等。这类算法首先通过区域提议网络生成候选目标区域,然后对这些候选区域进行分类和边界框回归。两阶段算法检测精度较高,但推理速度相对较慢,难以满足实时应用的需求。第二类是单阶段检测算法,以YOLO系列和SSD为代表。这类算法直接在特征图上进行密集采样预测,无需单独的区域提议步骤,将目标检测问题转化为端到端的回归问题,在保持较高检测精度的同时大幅提升了推理速度。
YOLO算法自2016年由Joseph Redmon等人首次提出以来,经历了持续的发展和迭代。YOLOv1将图像划分为网格,每个网格预测边界框和类别概率,开创了单阶段检测的新范式。后续的YOLOv2引入了锚框机制和多尺度训练,YOLOv3采用了特征金字塔网络实现多尺度预测。YOLOv4和YOLOv5在数据增强、网络结构、训练策略等方面进行了大量优化。2023年发布的YOLOv8在原有基础上进一步改进了网络架构,采用了解耦检测头(Decoupled Head)、无锚框预测(Anchor-Free)和更高效的C2f模块,在COCO数据集上实现了检测精度和推理速度的又一次提升。YOLOv8提供了n、s、m、l、x五个不同规模的版本,以适应从移动端到云端服务器的不同部署需求。
目标检测算法在道路病害检测领域已有广泛的应用研究,涉及裂缝检测、坑洼检测、标线识别等多个方向。这些研究表明,基于深度学习的视觉检测方法在检测精度和泛化能力上显著优于传统图像处理方法,具有广阔的工程应用前景。
1.1.4 研究意义
本研究的理论和实践意义体现在以下几个层面:
在理论层面,本研究系统地探究了YOLOv8算法在单类别道路坑洼检测任务中的适用性和性能表现,通过详细的训练过程记录和性能指标分析,揭示了模型的收敛特性、学习率调度的影响以及各精度指标之间的内在联系。研究结果可为同类单类别检测任务提供参考经验,丰富了目标检测算法在特定垂直领域应用的理论认知。
在技术层面,本研究构建了一个完整的端到端检测系统,涵盖了从数据准备、模型训练到系统部署的全流程技术方案。多线程检测架构、参数实时调优机制、多源输入兼容设计等技术方案具有通用性,可迁移至其他目标检测应用场景。SHA256密码加密、JSON数据持久化、错误统一处理等技术实践为同类桌面应用开发提供了参考范式。
在应用层面,本研究开发的系统可直接服务于道路养护管理工作,实现坑洼病害的快速筛查与精准定位,辅助养护部门科学制定维修计划,提高养护资金的使用效率。系统的多源检测能力使其能够适应车载巡检、无人机巡查和手持终端等多种部署方式,具有较强的场景适应性。
在社会效益层面,通过提升道路坑洼检测的及时性和准确性,可有效降低因路面病害引发的交通安全风险,减少车辆损坏和人员伤亡,为公众出行创造更加安全、舒适的道路交通环境。
1.2 国内外研究现状
1.2.1 国外研究现状
国外在道路病害自动检测领域的研究起步较早,在算法研究、系统开发和工程应用等方面都积累了较为丰富的成果。
在早期研究阶段,研究者主要尝试将传统的图像处理和机器学习方法应用于道路裂缝和坑洼的检测。这些方法通常包括图像预处理、特征提取和分类器设计三个步骤。图像预处理环节常用的技术包括灰度化、滤波去噪、直方图均衡化和边缘检测等,旨在增强病害区域与正常路面的对比度。特征提取环节则通过手工设计的特征描述子来表征图像中的病害区域,常用的特征包括纹理特征(如灰度共生矩阵)、形状特征(如圆形度、矩形度)和统计特征(如均值和方差)等。分类器方面,支持向量机(SVM)、随机森林(Random Forest)和AdaBoost等经典机器学习算法被广泛应用于病害区域的判别。这些方法在小规模数据集和相对简单的场景下能够取得一定的检测效果,但其泛化能力受限于手工特征的设计质量,对光照变化、路面纹理差异和噪声干扰较为敏感,难以适应复杂的实际道路环境。
随着深度学习技术的兴起和计算能力的提升,基于卷积神经网络的端到端检测方法逐渐成为主流。Zhang等人利用卷积神经网络对路面裂缝进行分类检测,验证了深度学习在道路病害识别中的有效性。Maeda等人将YOLOv2应用于道路坑洼检测,在自定义数据集上进行了训练和评估,初步证明了YOLO系列算法在坑洼检测任务中的可行性。随后,YOLOv3、YOLOv4等后续版本被陆续应用于该领域,检测精度和速度不断提升。
在公开数据集方面,国外的研究具有较大优势。CFD(Crack Forest Dataset)裂缝数据集、GAPs(German Asphalt Pavement Distress)德国沥青路面病害数据集等为算法研究提供了标准化评测基准。其中GAPs数据集包含了大量德国高速公路的沥青路面图像,标注了裂缝、坑洼、修补等多种病害类型,为路面病害检测算法的开发和比较提供了重要支撑。
在工程应用方面,一些发达国家的道路养护部门已经尝试将自动化检测技术纳入日常巡检流程。美国部分州的交通部门利用搭载多传感器融合系统的检测车辆进行定期的路况数据采集,通过后处理软件自动识别和量化路面病害。欧洲多国联合开展的VIBRATION等项目则探索了基于智能手机传感器和车载摄像头的大规模道路病害众包检测方案,利用公众车辆的移动感知能力实现低成本的广域覆盖。
1.2.2 国内研究现状
我国在道路病害自动检测领域的研究虽然起步较晚,但近年来发展迅速,尤其是在深度学习技术广泛应用之后,国内学者的研究成果显著增加。
在算法研究层面,国内研究者针对中国道路的特殊性(如交通组成复杂、气候带分布广、养护标准不统一等)开展了一系列适应性研究。研究者基于YOLO系列、SSD、Faster R-CNN等主流目标检测算法,结合注意力机制、特征融合网络、多尺度检测等改进策略,提出了多种道路病害检测优化方案。部分研究关注了小目标检测困难的问题,通过改进特征金字塔结构和引入上下文信息来增强模型对小尺寸坑洼的感知能力。另有研究关注了类间相似性导致的误检问题,通过优化损失函数设计和引入细粒度特征来提升模型的判别能力。
在数据集构建方面,国内研究者自主标注了多个道路病害数据集,覆盖了不同地区、不同等级道路和不同光照条件下的路面图像。长安大学、东南大学、哈尔滨工业大学等高校在道路工程与计算机视觉的交叉研究方面积累了丰富的数据资源和研究成果。然而,与国外相比,国内公开的道路病害数据集仍然相对较少,数据标注标准尚未统一,这在一定程度上制约了研究的可复现性和算法性能的可比性。
在系统开发与应用方面,国内已有不少企业推出了道路病害智能检测产品,部分产品已在实际道路巡检项目中得到应用。这些系统通常采用"采集车+云端推理"或"边缘计算+实时检测"的技术架构,在检测精度和速度上不断优化提升。然而,现有系统大多为封闭式商业产品,技术细节不公开,中小型养护单位难以获得性价比高的解决方案。
在智能化养护管理方面,国内部分城市已经开始探索将人工智能检测技术与道路资产管理平台相结合,实现从病害检测、数据入库、养护决策到施工验收的全流程信息化管理。这种模式代表了道路养护数字化转型的发展方向,但距离全面普及仍有较大差距。
1.2.3 现有研究的不足
综合国内外研究现状,当前道路坑洼检测领域仍存在以下不足之处:
第一,从算法研究到工程应用之间存在转化鸿沟。许多研究仅停留在算法层面,在实验室数据集上取得了较好的检测指标,但缺乏完整的系统实现和实际场景验证,难以真正服务于一线养护工作人员的实际需求。
第二,现有系统在用户交互体验方面普遍存在欠缺。多数检测工具以命令行或简易图形界面的形式提供,参数调节不够灵活,结果展示不够直观,缺乏针对非专业用户的友好设计,限制了技术的普及推广。
第三,检测系统的功能完整性不足。现有研究大多聚焦于检测算法本身,而在用户管理、多源输入支持、结果保存与追溯、日志记录等辅助功能方面考虑较少,导致系统在长期使用和团队协作场景下存在明显短板。
第四,对小规模场景的适应性不足。大部分商业系统面向大规模路网检测设计,部署成本高、操作复杂,不适合城市街道、工业园区、小区道路等小范围场景的快速巡检需求。
功能模块
✅用户登录注册:支持密码检测,密码加密。
注册
登录
✅图片检测:可对图片进行检测,返回检测框及类别信息。
✅参数实时调节(置信度和IoU阈值)
✅视频检测:支持视频文件输入,检测视频中每一帧的情况。
✅摄像头实时检测:连接USB 摄像头,实现实时监测。
✅日志记录:日志标签页记录操作和错误信息,带时间戳
✅结果保存模块:支持图片/视频/摄像头检测结果保存
1、用户管理模块
| 功能 | 描述 |
|---|---|
| 用户注册 | 用户名、密码、确认密码、邮箱(选填)注册,密码SHA256加密存储 |
| 用户登录 | 用户名密码验证,自动跳转主界面 |
| 用户数据存储 | JSON文件存储用户信息(密码加密、注册时间、邮箱) |
| 登录状态 | 主界面显示当前登录用户名 |
2、界面与交互模块
| 功能 | 描述 |
|---|---|
| 玻璃效果界面 | 半透明毛玻璃背景,圆角边框,现代化视觉风格 |
| 无边框窗口 | 自定义标题栏,支持窗口拖动、最小化、最大化、关闭 |
| 响应式布局 | 主窗口三栏布局(左侧控制区、中央显示区、右侧信息区) |
| 状态栏 | 显示设备信息、模型状态、当前用户、实时时间 |
3、检测源管理模块
| 功能 | 描述 |
|---|---|
| 图片检测 | 支持JPG/JPEG/PNG/BMP格式图片载入 |
| 视频检测 | 支持MP4/AVI/MOV/MKV格式视频载入 |
| 摄像头检测 | 实时调用摄像头(默认ID 0)进行检测 |
| 检测源切换 | 下拉菜单切换三种检测模式,自动更新界面状态 |
4、检测参数配置模块
| 功能 | 描述 |
|---|---|
| 置信度阈值 | 滑动条调节(0-100%,步长1%),实时显示当前值 |
| IoU阈值 | 滑动条调节(0-100%,步长1%),实时显示当前值 |
| 类别选择 | 动态生成检测类别复选框,支持全选/取消全选 |
| 参数同步 | 参数实时同步到检测器核心 |
5、YOLO检测核心模块
| 功能 | 描述 |
|---|---|
| 模型加载 | 加载best.pt模型文件,自动检测GPU可用性,支持CPU/GPU切换 |
| 多模式检测 | 图片检测、视频检测、摄像头实时检测 |
| 检测线程 | 基于QThread的多线程处理,避免界面卡顿 |
| 检测结果 | 返回目标类别、置信度、边界框坐标 |
| FPS计算 | 实时计算处理帧率 |
| 进度反馈 | 视频处理进度条实时更新 |
6、结果显示模块
| 功能 | 描述 |
|---|---|
| 实时画面 | 中央区域显示检测结果图像(带标注框) |
| 统计信息 | 检测状态、目标数量、FPS、处理帧数实时更新 |
| 检测列表 | 右侧列表显示当前帧所有检测到的目标(类别+置信度) |
| 日志记录 | 日志标签页记录操作和错误信息,带时间戳 |
| 占位显示 | 未选择检测源时显示系统LOGO和提示文字 |
7、结果保存模块
| 功能 | 描述 |
|---|---|
| 保存开关 | 复选框控制是否保存检测结果 |
| 路径选择 | 自定义保存路径,支持图片/视频格式自动识别 |
| 自动命名 | 保存文件自动添加时间戳(detection_result_20240101_120000.jpg) |
| 视频保存 | 支持检测结果视频录制(MP4格式) |
| 手动保存 | 工具栏保存按钮可随时保存当前画面 |
| 保存反馈 | 保存成功弹窗提示,日志记录保存路径 |
8、工具栏功能
| 功能 | 描述 |
|---|---|
| 图片按钮 | 快速切换到图片检测模式并打开文件选择器 |
| 视频按钮 | 快速切换到视频检测模式并打开文件选择器 |
| 摄像头按钮 | 快速切换到摄像头检测模式 |
| 保存按钮 | 手动保存当前显示画面 |
9、辅助功能
| 功能 | 描述 |
|---|---|
| 错误处理 | 统一错误弹窗提示,日志记录错误详情 |
| 资源清理 | 检测停止时自动释放摄像头、视频文件、视频写入器资源 |
| 时间显示 | 状态栏实时显示系统时间 |
| 模型状态 | 状态栏显示模型加载状态和当前设备(CPU/GPU) |
10、数据校验模块
| 功能 | 描述 |
|---|---|
| 注册验证 | 用户名长度≥3,密码长度≥6,密码一致性检查,邮箱格式验证 |
| 协议确认 | 注册前需勾选同意用户协议 |
| 文件校验 | 模型文件存在性检查,文件大小验证(≥6MB) |
| 输入非空 | 登录/注册时必填项非空检查 |
训练过程
训练结果
一、训练整体表现
1.1 训练过程概述
本次训练基于YOLOv8s预训练模型,在包含3,490张道路坑洼标注图像的数据集上进行了117轮迭代训练。训练过程采用了精细化的学习率调度策略和多项数据增强技术,从训练日志和各项指标曲线来看,模型展现出了稳定且高效的收敛特性,整体训练效果优异,达到了预期的检测性能目标。
1.2 损失函数收敛分析
从训练损失的角度来看,三个损失分量均表现出良好的下降趋势,充分证明了模型训练的有效性和稳定性。
边界框损失(box_loss)从第1轮的1.7961持续下降至第117轮的0.7145,降幅达到60.2%。这一显著的下降表明模型在预测目标边界框的位置和尺寸方面学到了非常有效的特征表示。值得注意的是,在训练的后半段,box_loss依然保持着稳定的下降趋势,没有出现明显的震荡或停滞,说明模型参数仍在持续优化,尚未达到过拟合状态。训练结束时0.7145的box_loss值在目标检测任务中属于较为理想的水平,说明模型对坑洼目标的定位精度较高。
分类损失(cls_loss)从初始的1.8337降至最终的0.3581,降幅高达80.5%,是三个损失中下降最为显著的。分类损失的大幅降低直接反映了模型在区分坑洼目标与背景方面建立了非常强的判别能力。由于本任务是单类别检测,分类损失的有效降低意味着模型能够以很高的置信度将坑洼区域与正常路面区分开来。从损失曲线上看,分类损失在前50轮下降速度较快,之后进入缓慢而稳定的下降通道,这种"先快后慢"的模式符合深度学习中特征学习的一般规律——前期学习通用特征,后期精细调优。
分布焦点损失(dfl_loss)从1.5713下降至0.9499,降幅39.5%。DFL损失是YOLOv8引入的改进机制,用于优化边界框回归的概率分布建模。该损失的稳定下降表明模型在边界框的精细定位方面取得了持续进步,这对于坑洼这种形状不规则、边界不清晰的目标检测尤为重要。
从三类损失的综合表现来看,训练过程没有出现明显的过拟合迹象(训练损失持续下降),也没有出现梯度爆炸或训练不稳定的情况,说明学习率设置、优化器选择和数据增强策略都是合理有效的。
1.3 学习率调度的合理性
训练采用了带预热(warmup)的余弦退火学习率调度策略。从0.01的初始学习率开始,经过前3轮的预热阶段,学习率从0.000665逐步提升至0.001964,让模型在训练初期能够平稳起步。随后学习率按照余弦退火策略有序下降,从第4轮的0.001949逐步降至第117轮的0.000054。
这种学习率调度策略的优势在于:预热阶段避免了模型在初始权重尚未适应新数据时因学习率过大而导致的震荡或不稳定;后续的余弦退火阶段通过先慢后快的学习率变化,既保证了前期的高效收敛,又确保了后期的精细调优。从损失曲线的平滑程度来看,这一调度策略取得了良好效果。
二、检测精度指标分析
2.1 精确率(Precision)分析
最优精确率达到了0.908(第116轮),这是一个非常出色的表现。精确率衡量的是模型预测为正例(坑洼)的样本中,实际为正例的比例。0.908的精确率意味着在模型判定为坑洼的目标中,超过90%确实是真实的坑洼,误检率控制在10%以内。
从精确率随训练轮次的变化趋势来看,整体呈现波动上升态势。在第1-20轮的早期阶段,精确率在0.60-0.80之间波动,说明模型初步具备了区分能力但不稳定。第20轮以后,精确率基本稳定在0.80以上,并在第46轮达到0.881的较高水平。在第90轮之后,精确率多次突破0.88,最终在第116轮达到峰值0.908。
这一高精确率的取得,对于实际应用具有非常重要的意义。在道路巡检场景中,过高的误检率会导致养护人员花费大量时间验证虚假警报,降低工作效率。而0.908的精确率意味着每10个报警中仅有不到1个是误报,极大地提升了系统的实用性和可信度。
2.2 召回率(Recall)分析
最优召回率达到0.842(第55轮),这是一个同样令人满意的结果。召回率衡量的是所有真实坑洼目标中被模型成功检出的比例。0.842的召回率意味着超过84%的实际坑洼被模型正确识别,漏检率控制在16%以内。
从召回率的变化来看,模型在第1轮就达到了0.602的召回率,说明YOLOv8s预训练权重对坑洼目标具有一定的零样本或少样本检测能力。随后召回率在波动中逐步提升,在第15轮达到0.776,在第32轮达到0.824,在第55轮达到峰值0.842。在第80轮以后,召回率持续保持在0.78-0.82的高位区间。
从道路养护的实际需求来看,召回率的重要性不亚于精确率。漏检一个坑洼意味着该病害可能持续恶化,增加后续修复成本,甚至引发安全事故。0.842的召回率表明模型能够发现绝大多数坑洼,大幅减少了人工巡检中的遗漏风险。
2.3 mAP@0.5分析
mAP@0.5(IoU阈值为0.5时的平均精度均值)达到0.886(第58轮),这是衡量模型综合检测能力的核心指标。mAP@0.5综合反映了模型在不同置信度阈值下的精度-召回率权衡表现,0.886的数值意味着模型在IoU≥0.5的宽松匹配条件下具有非常优异的检测性能。
从训练过程来看,mAP@0.5的增长轨迹非常健康。第1轮为0.615,第4轮达到0.731,第9轮突破0.8达到0.819,第24轮达到0.863。在后续的训练中,mAP@0.5在0.85-0.89的高位区间稳定波动,第58轮达到峰值0.886,第110轮为0.880,第114轮为0.881。模型在长达60轮的训练中持续保持0.85以上的mAP@0.5,表明检测性能的高度稳定性。
0.886的mAP@0.5在单类别目标检测任务中属于优秀水平。这一高数值说明模型在不同置信度阈值下都能保持较高的精度和召回率平衡,PR曲线下的面积接近0.9,反映了模型强大的判别能力。
2.4 mAP@0.5:0.95分析
mAP@0.5:0.95(从0.5到0.95多个IoU阈值的平均精度均值)达到0.533(第114轮),这是一个在严格评估标准下仍然表现出色的结果。mAP@0.5:0.95是COCO数据集采用的官方评估指标,它考察了模型在不同IoU阈值下的综合表现,对边界框定位精度的要求更加严苛。
从训练过程来看,mAP@0.5:0.95同样呈现稳步上升的趋势。第1轮为0.206,第9轮翻倍至0.426,第24轮达到0.451,第33轮突破0.48,第42轮突破0.50达到0.510,最终在第114轮达到峰值0.533。
这一指标的优异表现充分说明了模型不仅能够"找到"坑洼,而且能够精准地"定位"坑洼的边界。在IoU阈值提升到0.75甚至0.9的高要求下,模型仍然能够保持较高的定位精度,这对于后续的坑洼尺寸测量和严重程度评估具有重要意义。坑洼的边界框精度直接影响到面积估算的准确性,进而影响养护材料和成本的测算。
2.5 精确率-召回率曲线分析
根据精确率-召回率(PR)曲线,模型的表现可以总结为以下几个特点:
曲线下面积大:PR曲线与坐标轴围成的面积即为mAP值。从曲线的走势来看,在召回率从0到0.8的区间内,精确率始终保持在高位(>0.85),说明模型在绝大多数召回率水平下都能维持很高的精确率。只有在召回率接近0.85的极限区域,精确率才出现明显下降,这是少数难例样本导致的正常现象。
精度-召回平衡良好:PR曲线没有出现"高精度低召回"或"高召回低精度"的极端偏向,而是呈现较为理想的凸形曲线,说明模型在精度和召回之间取得了良好的平衡。这种平衡特性使得模型在实际应用中具有更大的灵活性——通过调节置信度阈值,用户可以根据具体场景在精度优先或召回优先之间进行选择。
单类别检测的天然优势:作为单类别检测任务,模型不需要区分多个类别之间的混淆,可以将全部模型容量专注于"坑洼vs背景"的二分类判别。PR曲线的表现也印证了这一点——模型没有出现类别间混淆导致的精度下降,曲线形态干净清晰。
三、关键指标综合分析
3.1 F1分数分析
最佳F1分数为0.84,对应置信度阈值为0.554。F1分数是精确率和召回率的调和平均数,是衡量模型综合性能的重要指标。0.84的F1分数在目标检测领域属于优秀的水平,表明模型在精度和召回之间达到了理想的平衡状态。
从F1-置信度曲线来看,F1分数随着置信度阈值的变化呈现出先升后降的形态,这是符合预期的。当置信度阈值很低时,几乎所有预测都被接受,召回率高但精度低,F1较低;随着置信度阈值提高,低质量的预测被过滤,精度上升而召回率缓慢下降,F1达到最优;当置信度过高时,虽然精度可能继续上升,但召回率显著下降,F1再次降低。
0.554的最优置信度阈值为系统的实际部署提供了明确的参数参考。在默认配置下将置信度阈值设为0.55,即可获得最佳的检测效果。当然,用户仍可根据具体场景灵活调整:在注重减少误检的场景(如自动报警系统)中可适当提高阈值至0.6-0.7;在注重减少漏检的场景(如全面普查)中可适当降低阈值至0.4-0.5。
3.2 精确率-置信度曲线分析
精确率-置信度曲线揭示了模型的置信度校准质量。从曲线特征来看:
高置信度对应高精度:随着置信度阈值的提高,精确率总体呈上升趋势,并且在置信度0.887时达到完美的1.00。这意味着当模型以超过0.887的置信度预测某个区域为坑洼时,该预测几乎肯定是正确的。这一特性在实际应用中非常有价值——对于高置信度的检测结果,养护人员可以完全信任,无需二次验证。
置信度具有良好区分度:精确率随置信度增加而单调上升的趋势表明,模型的置信度分数具有良好的区分能力。高置信度的预测确实是高质量的正例,低置信度的预测则更可能是误检或模糊案例。这种良好的置信度校准使得阈值调节具有可预测性。
没有出现明显的置信度漂移:未观察到模型在大量低置信度预测中混入高置信度的误检案例,说明模型没有过度自信的问题,预测概率与实际可能性之间的一致性良好。
3.3 召回率-置信度曲线分析
召回率-置信度曲线从另一个角度揭示了模型的检测能力:
高基础召回率:在置信度趋近于0的极限条件下,召回率达到0.92。这是一个非常高的数值,意味着模型对数据集中92%的坑洼目标都具有一定程度的响应,几乎不存在完全无法检测的"盲区"目标。这一特性保证了模型在追求高召回率时有充足的空间。
平滑下降:召回率随着置信度提高而平滑下降,没有出现突然的断崖式下跌。这表明模型的置信度分数在正样本上的分布比较均匀,大多数正确检测的置信度分布在0.3-0.9的广泛区间内,而非集中在某一特定值附近。
0.5阈值下的召回率:在默认的0.5置信度阈值下,召回率约为0.80-0.82,这是一个兼顾检出率和误报率的合理平衡点。
3.4 验证损失表现
验证集上的损失表现是评估模型泛化能力的重要依据:
val_box_loss稳定在1.48-1.50的低位区间,最低达到1.476(第88轮)。验证边界框损失没有出现随训练轮次增加而上升的趋势,说明模型没有对训练集产生过拟合,在未见数据上的定位能力保持稳定。
val_cls_loss同样表现出良好的泛化特性,从第39轮开始降至1.00左右,之后持续下降至0.899(第115轮),充分说明模型的分类能力具有良好的泛化性。
val_dfl_loss稳定在1.36-1.42区间,最低达到1.360(第88轮),与训练dfl_loss的差距在合理范围内,进一步证实了模型的泛化能力。
验证损失与训练损失的差距始终保持合理水平,两者同步下降的趋势也印证了训练过程的有效性,没有出现典型的过拟合症状。
数据集介绍
本研究所使用的道路坑洼检测数据集是一个经过精心构建和标注的专业数据集,专门用于训练和评估基于深度学习的道路坑洼目标检测模型。数据集通过多渠道采集和严格的质量控制流程构建而成,确保了数据的多样性、代表性和标注准确性。
数据集总体规模:
图像总数量:3,490张
标注目标总数:超过5,000个坑洼实例
图像格式:JPG / JPEG
标注格式:YOLO格式(归一化边界框坐标)
类别数量:1类(pothole)
数据集划分:
训练集(Training Set):3,043张,占比约87.2%
验证集(Validation Set):273张,占比约7.8%
测试集(Test Set):174张,占比约5.0%
这一划分比例充分遵循了深度学习模型训练的基本原则——训练集提供充足的样本供模型学习特征,验证集用于模型选择和超参数调优,测试集则作为最终评估的"留出集",客观反映模型在未见数据上的泛化性能。训练集占比较高(87.2%),这是因为目标检测任务需要大量标注数据来学习目标的尺度变化、视角变化和背景多样性,而对于验证和测试而言,273张和174张的规模已经能够提供足够的统计置信度。
常用标注工具
假设您现在准备好进行标注。有几种开源工具可以帮助简化数据标注流程。以下是一些有用的开放标注工具:
Label Studio:一个灵活的工具,支持各种标注任务,并包含用于管理项目和质量控制的功能。 CVAT:一个强大的工具,支持各种标注格式和可定制的工作流程,使其适用于复杂的项目。 Labelme:一个简单易用的工具,可以快速标注带有多边形的图像,非常适合简单的任务。 LabelImg: 一款易于使用的图形图像标注工具,特别适合以 YOLO 格式创建边界框标注。
这些开源工具经济实惠,并提供一系列功能来满足不同的标注需求。
界面核心代码:
订阅此专栏获取文章项目完整源码和数据集https://blog.csdn.net/m0_68036862/category_13147048.html
https://blog.csdn.net/m0_68036862/category_13147048.html