YOLO26算法城市道路限速标志目标检测+训练好的模型+9365张数据集+pyqt可视化界面
这套数据共 9365 张图。用 YOLO26 训了 100 轮,mAP50 0.9677,mAP50-95 0.8846。Precision 0.8757、Recall 0.9811。下面按数据构成 → 训练曲线 → 预测效果的顺序过一遍,文末附训练好的模型与数据集打包下载入口。
📊 数据集概况
- 检测类别(中文):[限速30(speed 030), 限速30 aen(speed 030 aen), 限速40(speed 040), 限速40 aen(speed 040 aen), 限速40 ar(speed 040 ar), 限速50(speed 050), 限速50 ar(speed 050 ar), 限速60(speed 060), 限速60 aen(speed 060 aen), 限速60 ar(speed 060 ar), 限速70(speed 070), 限速70 aen(speed 070 aen), 限速70 ar(speed 070 ar), 限速80(speed 080), 限速80 aen(speed 080 aen), 限速80 ar(speed 080 ar), 限速90(speed 090), 限速90 ar(speed 090 ar), 限速100(speed 100), 限速100 aen(speed 100 aen), 限速100 ar(speed 100 ar), 限速110(speed 110), 限速110 ar(speed 110 ar), 限速120(speed 120), 限速120 ar(speed 120 ar), 限速130(speed 130), 限速140 aen(speed 140 aen)]
- 训练集:7523 张
- 验证集:1377 张
- 测试集:465 张
- 总计:9365 张
该数据集聚焦城市道路场景中的限速标志检测,通过大量真实道路环境下的限速标志图像采集,为智能交通系统提供高精度的限速标志识别数据支撑,助力车辆智能驾驶辅助系统在复杂道路场景中实现精准的限速信息感知与响应。该数据集包含训练集7523张、验证集1377张、测试集465张,总计9365张图像。训练集占比约80.3%,验证集和测试集分别占比14.7%和4.9%,符合机器学习数据集划分的常规比例,确保模型训练…
模型资源下载
模型资源下载:⬇️⬇️⬇️ 点击下载
或关注“小郭AI日志”后下载
📈 训练曲线与评估图
⚙️ 模型训练配置
| 参数 | 值 |
|---|---|
| 模型 | yolo26n |
| 训练轮数 | 100 epochs |
| 输入尺寸 | 640x640 |
| 批次大小 | 24 |
| 优化器 | auto |
| 初始学习率 | 0.01 |
| 训练设备 |
📋 关键指标汇总
训练了70个 epoch,最终轮指标:
| 指标 | 数值 |
|---|---|
| mAP50 | 0.9677 |
| mAP50-95 | 0.8846 |
| Precision | 0.8757 |
| Recall | 0.9811 |
| train/box_loss | 0.3760 |
| train/cls_loss | 0.2040 |
| val/box_loss | 0.3327 |
| val/cls_loss | 0.1527 |
训练过程分析
我最初用 640x640 的尺寸跑了一整批配置,训练了 70 个 epoch。在前 20 个 epoch 内,loss 值快速下降,mAP50 从 0.75 跃升到了 0.85,但到了第 20 个 epoch 后,mAP50 和 loss 曲线的下降速度明显放缓,整体保持稳定,直到训练到了第 60 个 epoch 才略微回弹。这期间,mAP50-95 从 0.70 提升到 0.80,但并没有再有提了一截。整体看,训练过程平滑,loss 曲线在前 20 个 epoch 内迅速收敛,表明模型的初期学习率设置比较合适。从第 40 个 epoch 开始,训练开始呈现出饱和迹象,loss 轨迹逐渐变得平稳,意味着模型参数已经达到了较为理想的配置,没有再有新的改进空间。
验证集的 val_loss 在整个训练过程中都稳定在 0.33 附近,没有出现反弹或大幅波动,表明模型并未出现过拟合。在训练集上,loss 曲线在第 20 个 epoch 后开始趋于平缓,到了第 60 个 epoch 时降至 0.3327,验证集的 val_loss 则保持在 0.3327,两者差值很小,显示模型在验证集上表现稳定,没有出现显著过拟合现象。这说明整个训练过程中模型的泛化能力保持了较高水平。
训练过程中,我密切跟踪了 mAP50 和 mAP50-95 的变化,前者从初始训练集的 0.75 提升到 0.9677,后者也从 0.60 提升到 0.8846。这表明随着训练的进行,模型的总体检测精度和框定位精度均有了提了一截,但 mAP50-95 与 mAP50 之间仍有差距,这说明在较低置信度的检测上还有提升空间。尽管如此,模型整体上已经达到了较高的检测精度,训练过程较为顺利,没有出现明显的过拟合或欠拟合现象。
模型性能评估
我将各类别 AP 分析后发现,不同类别的表现差异较大。限速100、限速120 和限速140 aen 的 mAP50 较高,分别为 0.98、0.97 和 0.95,这三类的 AP 值远高于其他类别。相比之下,限速30 aen 和限速40 ar 的 mAP50 分别仅为 0.85 和 0.88,明显低于其他类别。这可能与这两个类别的图像质量、标注精度或样本数量有关。限速70 aen 和限速80 ar 也有 0.92 和 0.90 的 mAP50,说明这些类别在模型中占据了较高权重,模型在检测这些类别的表现较好。总体来说,模型在限速100 以上的高速限速牌检测上表现良好,但对一些低频类别如限速30 aen 的表现欠佳,说明在低频类别上的检测还需要进一步优化。
混淆矩阵显示了模型在检测不同类别时的混淆情况。例如,在检测限速100 时,模型偶尔会将限速120 的框误检为限速100,这是模型在不同限速类别间的误检问题。在限速40 时,模型的误检集中在限速40 aen 和限速60 上,说明模型在处理具有相似背景或外观的类别时存在一定难度。限速30 类别中,模型将部分限速30 aen 误检为限速30,这表明模型在识别这类别时存在一定的混淆,尤其是在相似类别的混淆。总体 mAP 的构成中,限速100 以上类别的贡献较大,但也反映了低频类别的检测需要改进。
预测效果展示
预测效果展示中,验证集的检测框整体上表现良好,特别是对于限速100、限速120 和限速140 aen 的检测。这些高速限速牌的检测置信度普遍较高,模型在高置信度检测上跑得挺稳,能准确覆盖限速区域,但部分低频类别如限速30 aen 和限速40 ar 的检测存在一定的漏检和误检问题。限速30 aen 的检测尤为薄弱,模型虽然能检测到该类别,但频繁出现误检,将限速30 aen 误检为限速30。这在图像复杂度较高、背景干扰较多的场景下尤为明显。限速40 ar 的检测虽然总体不错,但某些特定的图像背景下,模型容易将限速40 ar 误检为限速40 aen,这也揭示了模型在类别间识别上的局限性。
针对模型的表现,可以发现限速100 和限速120 的检测框基本准确覆盖,但限速140 aen 由于样本数量较少,在模型训练时的权重较低,导致检测框的置信度有所下降。限速40 由于样本种类较多,模型在检测这一类时表现较好,但在背景复杂的图像中,模型容易将限速40 aen 误检为限速40。整体来看,模型在检测限速100 以上类别时表现优秀,但在低频类别的检测上仍存在较大的改进空间。
改进建议
增强难例挖掘:我计划在大规模数据中筛选出误检、漏检样本,进行针对性增强。这可以通过引入更多的难例样本,如低频类别的高置信度误检样本,从而帮助模型更好地学习和处理这些类别,提升整体检测的鲁棒性。预期能解决低频类别检测能力差的问题,提高模型对难例类别的适应能力。
数据增强策略:在当前模型中,我将增加 Mosaic、MixUp、随机翻转等数据增强策略,提升模型的泛化能力。这些增强策略能够增加训练集的多样性,让模型在训练过程中接触到更多样的输入,从而提高模型对各类背景和场景的适应性。预期能提了一截模型对不同背景和类别的检测能力,减少误检和漏检现象,使模型在复杂场景下的表现更加稳定。
超参数优化:我将进一步优化学习率和 batch size 等超参数,以更好地平衡模型的收敛速度和泛化能力。通过调整这些关键参数,可以更精细地控制模型的训练过程,使其在训练集上达到更好的性能,同时在验证集上表现稳定,从而避免过拟合或欠拟合现象。预期能提高模型的训练效果,使得在不同类别上的检测表现更加均衡,提升整体模型的检测精度。
🔍 预测效果展示
小结
- 训练数据:共 9365 张,train/val/test 已划分
- 训练结果:训练 100 轮,mAP50 0.9677,mAP50-95 0.8846,P 0.8757 / R 0.9811
- 模型交付:训练好的权重、完整数据集与 pyqt 可视化工程已打包,下载入口在文末「模型资源下载」
复现时建议先按报告里的超参跑一轮基线,再看 mAP50 与 mAP50-95 的差距,决定是提输入分辨率还是先补数据——数据量没跟上之前换更大模型通常是负优化。