💡本文主要内容: 详细介绍了基于YOLOv11的红绿灯检测系统,包括算法原理、Pytorch源码、训练数据集、Flask可视化Web界面。系统支持图片、视频、摄像头实时检测,支持置信度、IoU阈值调节,检测结果可视化与导出等功能。

01 数据集介绍

数据集

本项目采用自建红绿灯检测数据集,包含红灯、绿灯两类目标,适用于交通场景下的目标检测任务。数据集已整理为YOLO格式,便于直接训练。

细节图


02 基于YOLOv11的红绿灯检测

修改dataset.yaml:

train: dataset/coco/train+val/train2017
val: dataset/coco/train+val/val2017
test: dataset/coco/test/val2017

nc: 2
names: ['green', 'red']

启动训练:

from ultralytics import YOLO
import torch
from pathlib import Path

def main():
    model_path = "models/yolo11n.pt"
    config_path = "traffic_light.yaml"
    device = 'cuda' if torch.cuda.is_available() else 'cpu'
    model = YOLO(model_path)
    model.train(
        data=config_path,
        epochs=100,
        imgsz=640,
        batch=16,
        device=device,
        project='traffic_light_results',
        name='yolo11n_traffic_light',
        exist_ok=True,
        patience=50,
        save=True,
        verbose=True,
        val=True,
        plots=True,
        lr0=0.01,
        lrf=0.01,
        momentum=0.937,
        weight_decay=0.0005,
        warmup_epochs=3,
        hsv_h=0.015,
        hsv_s=0.7,
        hsv_v=0.4,
        degrees=0.0,
        translate=0.1,
        scale=0.5,
        shear=0.0,
        perspective=0.0,
        flipud=0.0,
        fliplr=0.5,
        mosaic=1.0,
        mixup=0.0,
        copy_paste=0.0,
    )

if __name__ == "__main__":
    main()


03 训练结果分析

01 混淆矩阵

本图展示了模型在"green"、"red"和"background"三类上的预测分布。对角线上的深蓝色块占主导,表明红绿灯目标被准确检测。green类别和red类别的召回率均为1.00,说明模型对主要类别的检测能力极强。background类别的误检率极低,整体误判极少。

02 F1分数-置信度曲线

曲线显示F1分数随置信度阈值的变化趋势。所有类别的F1分数在最佳置信度区间均接近1.0,说明模型在精度和召回率之间取得了极佳平衡。该图反映了当前模型在不同置信度下的最优表现区间。

03 精度-置信度曲线

曲线反映了随着置信度阈值的提高,模型预测精度的变化。所有类别的精度在高置信度下均接近1.0,说明模型几乎不会误报。该图有助于选择合适的置信度阈值,平衡准确率和召回率。

04 精度-召回率曲线

曲线展示了模型在不同召回率下的精度表现。当前模型mAP@0.5接近1.0,属于极高的精度指标。曲线大部分区域保持在高位,说明模型在不同阈值下都能保持极高精度和召回率。

05 召回率-置信度曲线

曲线反映了随着置信度阈值的提高,模型检出所有真实红绿灯目标的比例变化。在置信度为0时,召回率接近1.0,说明模型几乎能检出所有目标。随着置信度提升,召回率逐渐下降,说明模型变得更"保守",漏检增多。


04 Flask Web界面与系统设计

4.1 Flask简介

Flask 是一个用 Python 编写的轻量级 Web 应用框架,具有简单易用、扩展性强等特点。它非常适合快速开发和部署基于 Web 的人工智能应用。通过 Flask,可以将深度学习模型与前端界面无缝集成,实现模型的在线推理和结果可视化

4.2 依赖安装 

pip install -r requirement.txt

4.3 系统功能与运行方式

python app.py

图片检测示例:

Logo

更多推荐