最新YOLO实现的自动驾驶目标实时检测平台(Flask+SocketIO+HTML_CSS_JS)

摘要

本文面向自动驾驶多目标实时检测,构建一套集训练、推理与可视化于一体的Web 平台,后端基于 Flask + Flask-SocketIO,前端采用 HTML/CSS/JS 实现低延迟推流与交互。系统支持图片/视频/浏览器摄像头三类输入,提供左右等宽双画面对比视频同步双帧进度/暂停/继续/停止控制与阈值/类别筛选。平台内置 YOLOv5–YOLOv12(8 种)模型可一键切换,支持模型选择/权重上传,并以统一评测面板展示 mAP、F1、PR 曲线与训练曲线等指标。为工程落地,平台实现CSV 导出带框结果一键下载SQLite 入库最近记录快速定位结果溯源;提供登录/注册(可跳过)流程,口令哈希存储与会话隔离保障数据安全。系统面向自动驾驶典型目标(车辆、行人、骑行者、交通标志/信号灯等)进行端到端实时推理与可解释可视化,兼顾低延迟跨平台部署,并预留 ONNX/TensorRT 加速接口。文末提供完整工程与数据集下载链接,便于复现与二次开发。

讲解视频地址基于深度学习的自动驾驶目标检测系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck59paw==
说明论文下载:https://mbd.pub/o/bread/YZWck5xqZw==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmppsZQ==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5pqbA==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5lraw==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9xaQ==
安装与教程文档:https://deeppython.feishu.cn/wiki/XdmbwtpgyisLnvkknKNc5CNbnvg

@

➷点击跳转至文末所有涉及的完整代码文件下载页☇


1. 网页功能与效果

(1)登录注册:提供登录、注册与一次性跳过三种入口,跳过仅对当前会话生效以便快速体验;账号凭证采用口令哈希与会话隔离,避免敏感信息泄露。成功登录后自动载入个性化配置与最近记录,后续操作在同一会话中无缝衔接。
在这里插入图片描述

(2)功能概况:系统围绕自动驾驶多目标检测提供图片、视频与浏览器摄像头三种输入形态,前端以左右等宽双画面对比呈现原始帧与检测帧。支持阈值与类别筛选、CSV 导出、带框结果一键下载,并在导出视图中统一管理历史结果与溯源备注。
在这里插入图片描述

(3)视频检测:采用同步双帧展示并提供进度、暂停、继续与停止控制,时间轴拖拽回放保证音画与标注一致。浏览器端推理延迟可控,关键片段自动缓冲并可导出为 MP4,支持按文件名与时间戳高亮定位到对应 CSV 记录。
在这里插入图片描述

(4)更换模型:上传权重即可切换当前检测模型,类别列表、颜色映射与推理参数即时刷新;支持从 YOLOv5–YOLOv12 的预置组合中选择或导入自训练权重。路径与命名遵循跨平台规范,数据库自动迁移保障版本演进下的可用性。
在这里插入图片描述

(5)概览界面:以任务卡片汇总最近图片/视频/摄像头会话与性能统计,支持按时间与文件名检索并一键跳转至检测或导出页面。导航动线清晰:概览 → 图片/视频/摄像头检测 → 模型选择 → 导出视图,底部“检测记录”在多页面间共享以保持审计与复盘的一致性。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

自动驾驶的安全闭环依赖对行人、车辆、非机动车与交通设施的实时目标检测,其延迟与召回直接影响纵横向控制与冗余策略设计 1。在工程部署维度,FP16/INT8 量化与图级融合等推理优化可在一致精度下显著降低延迟与显存占用,为车端毫秒级在线决策预留算力余量 2。单阶段 YOLO 家族以解耦检测头与高效特征融合在速度/精度权衡上长期占优,成为车载视觉实时检测的主流基线 3。端云协同兴起使浏览器端利用 ONNX Runtime Web 的 WebGPU 执行提供端内推理与可视交互能力,便于在线复核与隐私合规展示 4。同时,KITTI、BDD100K 与 nuScenes 等数据集在多地域、多天气与多传感器条件下推动评测规范化与泛化研究,为系统级实验提供可靠数据基座 [5–6]。

2.2 国内外研究现状

针对本文“城市道路场景多目标实时检测”的任务,既有研究指出主要难点包括:远近尺度跨度导致小目标易漏检、动态遮挡与目标密集造成匹配混乱、昼夜与恶劣天气引发分布漂移、类别长尾影响阈值选择与评测稳定性,这些在 BDD100K 的多任务设定与跨天气统计中有系统呈现 6。在多模态驾驶数据中,nuScenes 以 360° 传感覆盖与夜雨场景增大了检测与跟踪的域内差异,强调了模型对复杂工况的鲁棒性需求与新评价指标的重要性 1

方法层面,Anchor-free 范式以逐像素回归替代锚框先验,减少超参与匹配复杂度,在密集与遮挡场景提升稳定性,典型代表为 FCOS 的全卷积设计 7。负样本占优的密集检测可通过 Focal Loss 抑制易样本梯度、聚焦困难样本,从而在 COCO 上提升单阶段检测器的 AP 与稳健性 8。动态样本分配方面,YOLOX 的 SimOTA 与 PP-YOLOE 的 TAL 通过一致性与任务对齐策略缩短优化偏差并改进收敛,在 COCO 上取得更优速度/精度折中 [9–10]。

工程与部署方面,ONNX Runtime 提供 8bit 线性量化与算子融合工具链,覆盖 CPU/GPU/浏览器等异构环境,利于形成从训练到推理的一致通道 11。NVIDIA TensorRT 在 FP16/INT8 与图级融合上提供面向数据中心与 Jetson 边缘设备的一体化低时延方案,是车端落地的常见路径之一 2

YOLO 技术演进强调“结构+训练+后处理”的协同:YOLOX 引入 Anchor-free 与解耦头并在流式感知挑战中验证其实时性 9;YOLOv6 针对工业部署给出量化友好设计与多尺度模型族 12;YOLOv7 在 30 FPS 以上区间以可训练“免费技巧”与重参数化实现更高 AP,形成重要工程基线 3;YOLOv9 提出 PGI 与 GELAN 以改善梯度与轻量骨干的利用效率 13;YOLOv10 以一致性双分配实现 NMS-free 训练并以整体效率驱动设计在同 AP 下显著降时延 14;社区版 YOLO11 强化易用生态与轻量端适配,而 YOLO12 引入注意力中心化设计探索更高精度上限并给出使用建议 [15–16]。与此同时,端到端 Transformer 检测器以集合预测简化 NMS,DETR 通过匈牙利匹配建立一对一分配但早期收敛较慢,而 RT-DETR 在实时端到端场景与 YOLO 展开竞争,展示了新范式的可行性 [17–18]。非 YOLO 单阶段与两阶段方法仍具参考价值:EfficientDet 借助 BiFPN 与复合缩放在资源受限与云端扩展间取得效率优势,而 SSD 与 RetinaNet 分别代表早期的快速单阶段与基于 Focal Loss 的里程碑式改良 [19–20,8]。在中文场景化研究中,针对雾天与小目标的交通标志以及遮挡下的行人与车辆,改进 YOLOv5/YOLOv8 的结构与损失设计在 KITTI/TT100K 等数据集上验证了可观的精度与速度提升,为城市道路的工程改造提供了可复现路径 [21–22]。

方法对比表(节选,可溯源)

方法 范式/家族 数据集 关键改进 优势与局限 关键指标(作者报告) 适用场景/难点
YOLOX-L Anchor-free/YOLO COCO 解耦头、SimOTA 速度/精度折中佳;仍依赖后处理 50.0 AP, 68.9 FPS(V100) 9 实时多目标、遮挡与密集
PP-YOLOE-l/+-l Anchor-free/YOLO COCO CSPRepResStage、ET-Head、TAL TRT FP16 可至≈149 FPS;部署友好 51.4–53.3 mAP, 78.1 FPS 10 工程部署、加速优化
YOLOv7(E6/E6E) Anchor-based/YOLO COCO 可训练“免费技巧”、重参数化 ≥30 FPS 区间高 AP;体量较大 峰值≈56.8% AP 3 高精度实时基线
YOLOv10-S/B 端到端/YOLO COCO NMS-free、一致性分配 同精度更低时延与更小参数 S 对 RT-DETR-R18 1.8× 更快;B 较 v9-C 时延-46% 14 低时延端到端
RT-DETR-R18 Transformer 端到端 COCO 实时 DETR 设计 免 NMS;小骨干下可实时 CVPR’24 实证为首个实时端到端 DETR 18 一致性评估/后处理简化
EfficientDet-D7 单阶段/非 YOLO COCO BiFPN、复合缩放 可扩展;大模型非实时 55.1 AP;参数/算力较高 19 云端高精度
SSD300 单阶段/非 YOLO VOC07 多分辨率特征+默认框 结构简单、速度快;小目标受限 72.1% mAP@VOC07;≈58 FPS 20 入门实时基线

2.3 要解决的问题及其方案

(1)检测准确性与实时性:城市路口的小目标、遮挡与密集目标易导致漏检与延迟累积,需在 mAP/召回与端到端时延之间取得稳态折中 6方案:构建 YOLOv5–YOLOv12 可切换模型池,以 YOLOv10 的 NMS-free 一致性分配与 YOLOv7/YOLOv9 的结构优化作为两类基线,并通过 CIoU/EIoU、数据增强与混合精度训练共同提升速度/精度边界 [14,3,13]。
(2)环境适应性与泛化:昼夜/雨雾/逆光及不同相机内参导致分布漂移,模型在跨域场景易退化 1方案:引入跨天气与跨时段数据重加权与类别重采样,结合 BDD100K 与 nuScenes 统计特性做目标尺度/光照感知的增广与自适应阈值校准,并以迁移学习与轻量蒸馏稳固泛化 [6,1]。
(3)网页端交互与可视评测完整性:需要低延迟可视化、参数可调与可追溯导出,支持图片/视频/摄像头多源输入与双画面对比 4方案:后端 Flask+SocketIO 推送同步双帧,前端基于 HTML/CSS/JS 集成阈值/类别筛选与一键导出,浏览器侧可选 ONNX Runtime WebGPU/WASM 进行端内预览或轻量推理,配合 CSV/SQLite 记录与高亮定位实现闭环复核 [4,11]。
(4)推理加速与可部署性:不同硬件与平台下算子与精度档位差异显著,需要稳定的导出/加速链路 2方案:采用 PyTorch 训练与 ONNX 导出,CPU 侧使用 ORT 图优化与 8bit 线性量化,GPU/边缘端采用 TensorRT 的 FP16/INT8 与图级融合,并在 A/B 配置下绘制精度-时延退化曲线以确定上线档位 [11–2]。

2.4 博文贡献与组织结构

本文贡献体现在四点:(1)综合文献综述:系统梳理 YOLOv5–YOLOv12、RT-DETR 等在自动驾驶实时检测中的技术演进与部署趋势,并以数据集与工程路径为轴建立任务难点-技术对齐的映射 [3–6,10,14–16,18];(2)模型选择与优化:给出 NMS-free/端到端与传统 YOLO 的取舍原则,结合量化与混合精度的推理加速策略与可复现配置 [14,11–2];(3)美观友好的网页设计:实现双画面对比、视频同步双帧、阈值/类别筛选、模型热切换与结果溯源的一体化交互闭环 4;(4)算法效果对比:统一给出 mAP、F1、PR、训练曲线与端到端延迟的评测面板与导出机制,便于复现与审计 6。全文组织为:第 3 章给出数据集处理与增强策略,第 4 章介绍以 YOLOv12 为主线的模型原理与训练要点,第 5 章报告各模型的定量对比与可视化分析,第 6 章面向 Flask+SocketIO+HTML/CSS/JS 的系统设计与实现,最后在第 7 章总结与展望部署与数据闭环方向 16


3. 数据集处理

本研究采用城市道路前视相机数据,共计 29800 张图片,已按训练集 23800、验证集 3000、测试集 3000 的配比固定划分;标注采用 YOLO 常用的归一化中心点与宽高格式 \((c_x,c_y,w,h)\in[0,1]\),与读者提供的散点矩阵与直方图一致,其中 \(w,h\) 呈显著长尾、小目标占多数,\(c_y\) 分布略偏下方,符合车道线与路面占画面较大的道路场景特征。类别体系包含 11 类:biker/骑手、car/汽车、pedestrian/行人、truck/卡车,以及 trafficLight/交通灯与其细分的 Red/Green/Yellow 与 Left 方向(中文映射如给定 Chinese_name 字典),为避免语义重叠,数据整理阶段采用“细粒度优先”的互斥规则:若同一目标同时出现粗粒度 trafficLight 与细粒度颜色标注,仅保留后者。样例九宫格可见昼夜、阴影与逆光等多样光照,目标密集与遮挡频繁出现,验证了自动驾驶场景下小目标与遮挡检测的挑战性。


Chinese_name = {"biker": "骑手",
                "car": "汽车",
                "pedestrian": "行人",
                "trafficLight": "交通灯",
                "trafficLight-Green": "绿灯",
                "trafficLight-GreenLeft": "左转绿灯",
                "trafficLight-Red": "红灯",
                "trafficLight-RedLeft": "左转红灯",
                "trafficLight-Yellow": "黄灯",
                "trafficLight-YellowLeft": "左转黄灯",
                "truck": "卡车"}

        
在这里插入图片描述

数据划分沿用所提供的训练/验证/测试集合并保持文件级固定;为了保证可复现性,训练时默认设置随机种子为 42,并在加载阶段对图像执行 letterbox 等比缩放与边缘填充以适配网络输入尺寸,标注同步尺度与偏移。针对长尾与小目标问题,训练期启用多尺度与 Mosaic/MixUp、随机透视与轻度仿射、色域(HSV/亮度/对比度)抖动、运动模糊与合成雨雾等增强;遮挡与密集场景采用 Copy-Paste 与随机裁剪的弱裁切策略以丰富近邻分布;夜景与强反光样本在数据管线中增加 Gamma 调整与可选的 CLAHE 以稳定亮度直方图。为控制标注噪声,清洗阶段统一类名与大小写、剔除极小框(短边小于 4 像素的框以阈值回收为忽略标签)、移除重复帧与空标注异常样本,并在 SQLite 中记录每张图像的散点统计与类频以支撑后续“最近记录”与 CSV 高亮定位。验证与测试阶段严格禁用强增广,仅保留尺度对齐与颜色标准化;评测时针对类不均衡引入按“有效样本数”的重加权与类别重采样备选配置,以在不改变既有划分的前提下缓解长尾带来的 PR 曲线波动。上述处理与提供的统计可视化相互印证:\(w,h\) 分布的尖峰与长尾解释了为什么需要多尺度与小目标友好的增强,而 \(c_y\) 在 0.4–0.6 的集中体现了地平线附近行人与车辆的高发区域,这也指导我们在阈值与 NMS(或一致性分配)上采用更保守的召回配置以降低漏检风险。
在这里插入图片描述


4. 模型原理与设计

本系统默认以 YOLOv12 思路为主线,兼容 YOLOv5–YOLOv11 的结构与权重,以单阶段、Anchor-free、解耦检测头为核心范式,围绕“高效骨干 + 多尺度特征融合 + 分布式回归 +(可选)NMS-free 训练”展开。整体流程为:输入图像经轻量骨干提取不同比例的语义/纹理特征\({C_3,C_4,C_5}\),在颈部通过加权双向金字塔融合得到\({P_3,P_4,P_5}\),再由解耦头输出类别概率\(\hat{\mathbf{p}}\)与分布式边界框\(\hat{\mathbf{b}}\)(每层共享一组小卷积核以降低算力),最后进入后处理(传统 NMS/Soft-NMS一致性分配+端到端 的 NMS-free 路线)。金字塔加权可写为:$$\tilde{\mathbf{f}}i=\sum(i)}\alpha_{ij},\mathcal{U}(\mathbf{f}j),\quad \alpha=\frac{\exp(w_{ij})}{\sum_{k\in\mathcal{N}(i)}\exp(w_{ik})}$$其中\(\mathbf{f}*j\)为相邻尺度特征,\(\mathcal{U}(\cdot)\)表示上/下采样与对齐,\(w*{ij}\)为可学习融合权,软归一化保证数值稳定并适配不同分辨率。为应对道路场景的尺度跨度与小目标\(P_3\)分支保持较高分辨率并在训练期启用多尺度采样;为缓解类间相似与遮挡,检测头采用解耦结构,分别优化分类和回归的统计目标,减少梯度互相干扰。

结构细节方面,骨干网络使用重参数卷积与轻尺度注意力(如 SE/EMA)以在推理期折叠为标准卷积,保持同等感受野下的更低延迟。以 SE 为例,通道权重为

\[\mathbf{s}=\sigma!\left(W_2,\delta!\left(W_1,\mathrm{GAP}(\mathbf{X})\right)\right),\quad \mathbf{X}\in\mathbb{R}^{H\times W\times C} \]

其中\(\mathrm{GAP}\)是全局平均池化,\(\delta\)为ReLU,\(\sigma\)为Sigmoid,\(W_1,W_2\)为可学习矩阵;输出为\(\mathbf{X}\odot\mathbf{s}\),抑制背景噪声、突出车灯/行人轮廓等关键通道。若引入Transformer 编码器增强远距建模,则每头注意力为

\[\mathrm{Attn}(\mathbf{Q},\mathbf{K},\mathbf{V})=\mathrm{softmax}!\left(\frac{\mathbf{Q}\mathbf{K}^\top}{\sqrt{d}}\right)\mathbf{V}, \]

其中\(\mathbf{Q},\mathbf{K},\mathbf{V}\)来自投影后的特征,\(d\)为通道维度,用于在远近车流、红绿灯与背景之间建立长程依赖。回归端采用分布式焦点回归(DFL)对边界框每一维进行离散化建模:设\(L\)个bin及其logits\(\mathbf{z}\in\mathbb{R}^L\),坐标估计为期望

\[\hat{x}=\sum_{b=0}^{L-1}b\cdot \mathrm{softmax}(\mathbf{z})_b, \]

其余\(\hat{y},\hat{w},\hat{h}\)同理;该方式对小盒子量化误差更稳健,适合远距小车与行人。

损失与任务建模遵循“分类—回归—分布”三分量协同。分类端采用Focal Loss缓解前景/背景失衡:

\[\mathcal{L}*{\mathrm{cls}}=-\alpha(1-\hat{p})^\gamma,y\log\hat{p}- (1-\alpha)\hat{p}^\gamma(1-y)\log(1-\hat{p}), \]

其中\(y\in{0,1}\)为真值,\(\hat{p}\)为预测概率,\(\alpha\)为类别权重,\(\gamma\)控制难样本聚焦。回归端使用 CIoU/EIoU 类损失以同时约束重叠、中心距离与长宽比,例如

\[\mathcal{L}*{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{c},\hat{\mathbf{c}})}{d^2}+ \alpha_{\mathrm{ar}};v, \]

其中\(\rho\)为欧氏距离,\(d\)为对角线长度,\(v\)刻画长宽比差异,\(\alpha_{\mathrm{ar}}\)为自适应权重;分布回归端配以KL/CE对离散bins监督,整体损失为\(\mathcal{L}=\lambda_{\mathrm{cls}}\mathcal{L}*{\mathrm{cls}}+\lambda*{\mathrm{box}}\mathcal{L}*{\mathrm{CIoU}}+\lambda*{\mathrm{dfl}}\mathcal{L}_{\mathrm{DFL}}\)。正负样本分配采用动态策略(如 SimOTA/TAL/一致性分配),在密集与遮挡下更稳定;若选择 NMS-free 训练,则以一对一匹配(匈牙利或一致性双分配)替代启发式后处理,提升端到端一致性与低延迟表现。为降低误检/漏检,推理时默认阈值\(\mathrm{conf}\in[0.2,0.4]\)\(\mathrm{IoU}\in[0.5,0.7]\)随场景自适应(夜景略降\(\mathrm{conf}\)以保召回;拥堵路口略升IoU以抑制重叠框)。

训练与正则化方面,采用 EMA 稳定参数更新,BN 同步统计提升多卡一致性,Cosine 学习率调度与线性 Warmup 改善早期收敛;结合 Mosaic/MixUp/Copy-Paste、颜色抖动与运动模糊等增强对抗雨雾/逆光/拖影,并通过 Label Smoothing\(y\leftarrow(1-\varepsilon)y+\varepsilon/K\))抑制过拟合。部署路径遵循 “PyTorch→ONNX→TensorRT/ORT WebGPU”,在骨干与检测头仅使用量化友好算子(SiLU/Conv/BN 可折叠),以 FP16/INT8 获得边缘端时延收益;若浏览器端轻量预览,则降采样到\(640\)\(768\)输入并启用分层推理(高分辨率仅在\(P_3\))。综合而言,该设计针对本任务的小目标、遮挡、光照剧变与实时性四类难点,分别通过高分辨率分支+DFL、动态匹配+解耦头、注意力+颜色稳态增强,以及量化友好与端到端/低开销后处理进行一一对应的工程—算法协同优化。网络整体架构图如下图所示(示意,含骨干/金字塔/解耦头):
在这里插入图片描述


5. 实验结果与分析

本节在“自动驾驶前视相机”数据上对 YOLOv5nu、YOLOv6n、YOLOv7-tiny、YOLOv8n、YOLOv9t、YOLOv10n、YOLOv11n、YOLOv12nYOLOv5su、YOLOv6s、YOLOv7、YOLOv8s、YOLOv9s、YOLOv10s、YOLOv11s、YOLOv12s 进行对比评测,统一输入分辨率与训练流程;评测指标含 Precision/Recall/F1、mAP@0.5、mAP@0.5:0.95 及端到端延迟(Pre/Inf/Post 三段之和)并换算 FPS。测试环境为 RTX 3070 Laptop 8GB
在这里插入图片描述

从提供的验证曲线可见,整体 F1-Confidence 最优约在 conf≈0.255(全类 F1≈0.82),PR 汇总 mAP@0.5≈0.845,训练过程中 loss 稳定下降、mAP50-95 持续爬升,收敛过程平滑且可复现。混淆矩阵显示小目标与形态相近类的混淆最明显,尤其是 trafficLight-Green ↔ GreenLeftRed ↔ RedLeft,以及 trafficLight-Yellow 的召回偏低(该类 mAP≈0.70),这与路口远距小框与不均衡样本分布一致,如图示分析所见。
在这里插入图片描述

Nano/ Tiny 侧(n-type)YOLOv7-tiny 给出最高精度(F1=0.857、mAP50=0.848),但端到端 21.1 ms(≈47.5 FPS);若追求更高帧率,YOLOv8n10.2 ms(≈98.4 FPS) 提供均衡精度(F1=0.743,mAP50=0.730),YOLOv6nYOLOv5nu 也稳定在 ≈90–97 FPS 的区间;YOLOv12n 在 n 阵列中 mAP50=0.761、F1=0.751,延迟 15.8 ms(≈63.5 FPS),属于“精度略优、时延中位”的折中。
在这里插入图片描述

Small/ Base 侧(s-type)YOLOv7F1=0.886、mAP50=0.872 居首,但延迟 29.5 ms(≈33.9 FPS);若兼顾速度,YOLOv10s/YOLOv11s14.2/13.5 ms 取得 mAP50=0.867/0.864、F1=0.829/0.844,整体为“实时高精度”的最佳平衡;YOLOv8s 最快 11.4 ms(≈87.8 FPS),精度略低于 v10s/v11s 但具备极佳的时延优势。综合看,路口/跟车等高动态情形推荐 v8n/v6n(≥90 FPS),稠密行人或小交通灯场景推荐 v10s/v11s(更高 mAP 与稳健召回),需要“更高上限”时可上 v7 但需牺牲帧率。
在这里插入图片描述

图 1 双条形图:n-type 各模型 F1 与 mAP@0.5
图注:同一模型的两根柱分别表示 F1(蓝色)与 mAP@0.5(橙色),便于在“召回-精度”与“面积指标”间直观对比。
在这里插入图片描述

图 2 双条形图:s-type 各模型 F1 与 mAP@0.5
图注:与图 1 相同配色;可直观看到 YOLOv7 的精度上限与 v10s/v11s 的“高速-高精”的综合优势。
在这里插入图片描述

下表汇总了两组模型的参数量、FLOPs、端到端时延(ms)与核心精度指标(可直接用于部署权衡)。为便于阅读,我们额外给出 Total(ms)=Pre+Inf+PostFPS=1000/Total

Model Params(M) FLOPs(G) Total(ms) FPS Precision Recall F1 mAP50 mAP50-95
YOLOv5nu 2.6 7.7 10.94 91.5 0.871 0.627 0.729 0.710 0.428
YOLOv6n 4.3 11.1 10.34 96.6 0.871 0.626 0.728 0.715 0.447
YOLOv7-tiny 6.2 13.8 21.08 47.5 0.903 0.816 0.857 0.848 0.527
YOLOv8n 3.2 8.7 10.17 98.4 0.870 0.648 0.743 0.730 0.446
YOLOv9t 2.0 7.7 19.67 50.9 0.880 0.627 0.733 0.733 0.438
YOLOv10n 2.3 6.7 13.95 71.7 0.873 0.645 0.742 0.744 0.470
YOLOv11n 2.6 6.5 12.97 77.1 0.856 0.660 0.745 0.728 0.457
YOLOv12n 2.6 6.5 15.75 63.5 0.876 0.658 0.751 0.761 0.480
YOLOv5su 9.1 24.0 12.24 81.7 0.740 0.818 0.777 0.837 0.512
YOLOv6s 17.2 44.2 12.26 81.6 0.908 0.740 0.815 0.814 0.542
YOLOv7 36.9 104.7 29.52 33.9 0.915 0.858 0.886 0.872 0.595
YOLOv8s 11.2 28.6 11.39 87.8 0.826 0.759 0.791 0.839 0.519
YOLOv9s 7.2 26.7 22.17 45.1 0.877 0.765 0.817 0.843 0.522
YOLOv10s 7.2 21.6 14.19 70.5 0.886 0.780 0.829 0.867 0.569
YOLOv11s 9.4 21.5 13.47 74.3 0.930 0.772 0.844 0.864 0.569
YOLOv12s 9.3 21.4 16.74 59.8 0.863 0.795 0.828 0.845 0.566

结构与场景耦合看:远距小目标与交通灯的细粒度类别对高分辨率 P3 分支与分布式回归(DFL)收益最大,解释了 v10/v11/v12 在 mAP50-95 上相较早期模型的优势;复杂遮挡下 解耦头 + 动态匹配(SimOTA/TAL/一致性分配) 明显改善召回,使 PR 曲线在高 Recall 区段下降更缓;而 NMS-free/一对一匹配 的设计(v10 系)减轻了后处理瓶颈,在 PostTime 上有确定性优势。速度差异主要由颈部金字塔复杂度与检测头分支数决定:v8s 的结构简单、算子量化友好,因此在同等输入下拥有最小 Total(ms);v7 虽然精度高,但重参数化后卷积分布仍导致推理开销偏大。鲁棒性方面,混淆矩阵中 background 的占比(如行人/骑手被背景吸收的比例 0.29/0.24)提示夜景与强背光下需降低阈值以保召回;F1-Confidence 曲线也支持在夜景场景将 conf 从 0.255 下调到 0.20–0.24 的策略。
在这里插入图片描述

误检/漏检与改进建议
(1)交通灯颜色与左转箭头的混淆多发生在远距小框与半遮挡,建议:提升标注最小框阈值的一致性;在训练期引入 小目标重采样伪标签扩充,并在部署端对交通灯子类设置类别依赖阈值(如 Red/Green 0.26、Yellow/Left 0.22)。
(2)行人与骑手在侧后方轮廓相似时易混淆,可在数据管线加入 人体/车体遮挡合成运动模糊,并在检测头前加入 轻量通道注意力(SE/EMA) 强化生物特征纹理。
(3)端到端延迟优先考虑 v8n/v6n(路口高 FPS 预警)v10s/v11s(复杂场景稳态召回) 的双模型联线;在 Web 端以 conf、IoU 与类别筛选 作为动态控件,结合“同步双帧+进度控制”实现在线调参与效果对照。
(4)部署侧建议 PyTorch→ONNX→TensorRT/ORT,Nano/Small 档位采用 FP16 默认、INT8(校准 500–1000 张)可进一步降时延;浏览器侧轻量预览可用 ORT-Web(WebGPU),仅启用 P3/P4 层以降低算力占用。

总体而言,本次实验验证了:YOLOv7-tiny 在 n 阵列下提供最高精度上限但时延偏高;YOLOv8n/v6n 是“超高 FPS”首选;YOLOv10s/YOLOv11s 在 s 阵列中实现速度-精度的最佳折中;若追求极致精度可选择 YOLOv7。结合混淆矩阵与曲线分析,平台默认 conf=0.26、IoU=0.60,并提供按类自适应阈值与在线调参能力,以满足路口高动态与长距离小目标的实时检测需求。


6. 系统设计与实现

6.1 系统设计思路

系统采用四层分层架构以支撑“多源输入—在线推理—可视交互—可追溯导出”的闭环:表现与交互层(浏览器端 HTML/CSS/JS)负责双画面预览、阈值/类别筛选与进度控制;业务与会话管理层(Flask + Flask-SocketIO)承载会话与权限、参数同步、任务编排与导出触发;推理与任务调度层将图片/视频/摄像头请求映射为独立任务,统一进入预处理、YOLO 推理与后处理流水;数据持久化层以 SQLite 记录结果、账户、操作日志,并归档带框图片/视频与 CSV。整体链路从多源输入进入预处理(等比缩放、归一化、信道排列),在推理引擎中完成 v5–v12 模型热切换与批内/流式混合调度,然后由后处理产出检测框、置信度与统计信息,最终通过 SocketIO 双帧通道推送至前端并写入数据库与导出目录。

实时性与一致性通过“同步双帧 + 事件驱动”的模式保障。视频与摄像头任务在调度层以环形缓冲承载原始帧与带框结果帧,帧号对齐后以同一时间戳推送,避免拖影与错位;参数变更(Conf/IoU/类别筛选)在业务层维护会话级配置,并以版本号广播到推理侧,确保同一会话内的前后端视图与统计指标一致。会话与权限采用口令哈希与过期策略,跳过登录仅对本会话有效;所有导出操作在服务端进行鉴权与签名,下载链接与结果条目在 SQLite 中建立外键以实现溯源。

系统可扩展性体现在三处:其一是权重热切换—模型注册表维护名称、类别文件与权重路径,切换时冻结当前任务队列、热加载新引擎、刷新类别与配色并续跑;其二是统计与导出中心化—CSV、带框图片/视频与评测曲线统一由导出管理器接收任务回传并集中归档,支持批量下载与高亮定位;其三是监控与可观察性—推理与流式节点暴露时延、吞吐与丢帧率指标,异常由日志与告警接口上报,便于在浏览器端直观呈现系统健康度。上述设计与第 5 章的评测逻辑保持一致,使模型层、系统层与交互层协同收敛。

图 6-1 系统流程图
图注:系统自初始化加载配置后,接受图片/视频/摄像头三类输入,经预处理、YOLO 推理与后处理生成结果;参数在会话内同步,结果同时写库与实时推送,形成交互闭环。
在这里插入图片描述

图 6-2 系统设计框图
图注:分层展示浏览器端、业务与会话层、推理与任务调度层、数据层与模型权重/监控接口,箭头表示主要数据/控制流向。
在这里插入图片描述

6.2 登录与账户管理

在这里插入图片描述

登录过程遵循“最小可用 + 安全可控”的原则:用户进入登录页后可选择注册或直接登录,注册以口令哈希入库并进行基本校验,登录通过后在服务端建立会话并回填用户级配置(阈值、主题色、默认模型、导出偏好)与最近记录,继而进入主界面展开图片/视频/摄像头检测与模型切换操作;期间若修改头像或密码则触发数据库更新与会话刷新,注销或切换账号会清理会话并回到登录页。该流程与主检测闭环紧密衔接,保证参数与结果的持久化、一致性与可追溯。


代码下载链接

        如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷

完整项目下载、论文word范文下载与安装文档https://deeppython.feishu.cn/wiki/XdmbwtpgyisLnvkknKNc5CNbnvg

讲解视频地址https://www.bilibili.com/video/BV1xfDXBnEjv/

完整安装运行教程:

        这个项目的运行需要用到Anaconda和Pycharm两个软件,下载到资源代码后,您可以按照以下链接提供的详细安装教程操作即可运行成功,如仍有运行问题可私信博主解决:

  1. Pycharm和Anaconda的安装教程https://deepcode.blog.csdn.net/article/details/136639378

        软件安装好后需要为本项目新建Python环境、安装依赖库,并在Pycharm中设置环境,这几步采用下面的教程可选在线安装(pip install直接在线下载包):

  1. Python环境配置教程https://deepcode.blog.csdn.net/article/details/136639396

7. 结论与未来工作

本文围绕自动驾驶场景构建了一个集训练、推理、评测与可视化为一体的 Web 实时检测平台:后端 Flask+SocketIO 管理多源输入与同步双帧推送,前端 HTML/CSS/JS 提供双画面对比、进度与参数控制,支持 YOLOv5–YOLOv12 热切换、CSV/带框媒体导出与 SQLite 溯源。基于 2.98 万张道路图像的系统化实验表明:在 n 阵列中 YOLOv8n 以约 98 FPS 实现较高实时性,YOLOv7-tiny 取得更高上限精度;在 s 阵列里 YOLOv10s/YOLOv11s 在 70–74 FPS 区间实现更优的速度—精度折中。总体 mAP@0.5≈0.845、F1≈0.82,训练曲线与 PR/F1-Confidence 曲线稳定,混淆矩阵揭示小交通灯与左转箭头的易混现象,博主据此在平台侧加入按类阈值与小目标增强的默认策略。体系化的前后端联动与加速链路(PyTorch→ONNX→TensorRT/ORT-Web)使该方案具备良好的可复现性与可迁移性;在更换数据与类别映射后,平台同样可用于机械部件外观缺陷、车间安全帽行人检测等近实时任务。

未来工作将从模型、系统与数据三个维度推进。模型侧将继续探索更轻量与端到端的一致性训练(NMS-free 与一对一匹配)、跨尺度蒸馏与量化感知训练的联合优化、动态分辨率与内容自适应推理、时序建模与轻量跟踪(例如将检测与 ByteTrack/OC-SORT 解耦融合),并尝试多模态融合(相机+IMU/雷达)与不确定性估计/校准以提升在雨夜、逆光和远距小目标上的稳健性。系统侧将容器化与工程化落地:提供 Docker/K8s 与 Triton/ORTServer 的推理服务化、引入基于 Celery/RabbitMQ 或 Kafka 的分布式任务队列与微批调度、采用 WebRTC 进行低时延摄像头推流、建设 Prometheus/Grafana 指标与日志审计、完善 RBAC 角色权限与多租户/i18n,以及边云协同的权重与配置灰度发布。数据侧将形成闭环:主动学习与难例挖掘驱动持续标注,弱监督/伪标签完善长尾类,结合数据治理与漂移监测(如基于置信度分布与类别占比的统计告警)、数据集版本管理与质量报告,配套在线 A/B 评测与回滚策略。随工程迭代,博主将把以上能力整合为“一站式自动驾驶目标检测与可视化平台”,在保障实时性与可解释性的同时,持续降低部署与维护成本。


参考文献(GB/T 7714)

1 Caesar H, Bankiti V, Lang A H, et al. nuScenes: A multimodal dataset for autonomous driving[EB/OL]. arXiv:1903.11027, 2019. (arXiv)
2 NVIDIA. Working with Quantized Types—TensorRT Documentation[EB/OL]. 2025. (NVIDIA Docs)
3 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7: Trainable bag-of-freebies sets new SOTA for real-time object detectors[EB/OL]. arXiv:2207.02696, 2022. (arXiv)
4 ONNX Runtime. Using WebGPU (ONNX Runtime Web)[EB/OL]. 2025. (ONNX Runtime)
5 Geiger A, Lenz P, Urtasun R. Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite[C]//CVPR, 2012. (TTIC Home)
6 Yu F, Chen H, Wang X, et al. BDD100K: A diverse driving dataset for heterogeneous multitask learning[C]//CVPR, 2020. (CVF Open Access)
7 Tian Z, Shen C, Chen H, He T. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV, 2019. (CVF Open Access)
8 Lin T-Y, Goyal P, Girshick R, He K, Dollár P. Focal Loss for Dense Object Detection[C]//ICCV, 2017. (CVF Open Access)
9 Ge Z, Liu S, Wang F, Li Z, Sun J. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021. (arXiv)
10 Xu S, Wang X, Lv W, et al. PP-YOLOE: An evolved version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (arXiv)
11 ONNX Runtime. Quantize ONNX Models—Documentation[EB/OL]. 2025. (ONNX Runtime)
12 Li C, Li L, Jiang H, et al. YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications[EB/OL]. arXiv:2209.02976, 2022. (arXiv)
13 Wang C-Y, Yeh I-H, Liao H-Y M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[EB/OL]. arXiv:2402.13616, 2024. (arXiv)
14 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. NeurIPS 2024. (NeurIPS Proceedings)
15 Ultralytics. YOLO11—Model Overview[EB/OL]. 2024. (Ultralytics Docs)
16 Ultralytics. YOLO12—Attention-Centric Object Detection[EB/OL]. 2025. (Ultralytics Docs)
17 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[EB/OL]. arXiv:2005.12872, 2020. (arXiv)
18 Zhao Y, Liu W, Yang J, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[C]//CVPR, 2024. (CVF Open Access)
19 Tan M, Pang R, Le Q V. EfficientDet: Scalable and Efficient Object Detection[C]//CVPR, 2020. (CVF Open Access)
20 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[EB/OL]. arXiv:1512.02325, 2016. (arXiv)
21 曲立国, 张鑫, 卢自宝, 等. 基于改进YOLOv5的交通标志识别方法[J]. 光电工程, 2024. (OE Journal)
22 蒋嘉璇, 陆丽丽, 王呈璋, 张志杰. 基于改进YOLOv8模型的行人及车辆检测方法[J]. 航天制造技术/空间领域期刊, 2024. (MC Space Journal)

注:为满足“单句单引”,正文各句至多标注一处引用;表格指标均源自对应论文或官方文档,可按文献编号链接追溯核验。

posted @ 2026-04-23 12:53  逗逗班学Python  阅读(6)  评论(0)    收藏  举报