最新YOLO实现的夜间车辆实时检测平台(Flask+SocketIO+HTML_CSS_JS)
摘要
本文面向夜间交通场景,构建一套基于最新 YOLO 实现(YOLOv5–YOLOv12)的车辆实时检测平台,后端采用 Flask + Flask-SocketIO,前端以 HTML/CSS/JS 实现低时延推理与可视交互。系统支持图片/视频/浏览器摄像头三种输入形态,提供即时双画面对比(原图/检测图同步、可缩放)、进度控制(播放/暂停/继续/停止、拖拽到关键帧)、类别筛选与阈值调节(Conf/IoU)、CSV 导出与带框结果一键下载。平台内置SQLite 数据库用于结果与会话持久化,支持登录/注册(可跳过一次性访客会话)、口令哈希与会话超时控制;首页导航串联图片检测 / 视频检测 / 摄像头检测 → 模型选择 → 导出视图,并支持最近记录快速定位与高亮回放。算法侧集成 8 种 YOLO 系列模型并统一评测 mAP、F1、PR 曲线、训练曲线,允许模型在线切换/权重上传,对比不同规模与推理后端(PyTorch/ONNX/TensorRT)的速度-精度-显存开销;同时提供CSV 批量导出与检测结果溯源,便于工程部署与研究复现。文末提供完整工程与数据集下载链接,并给出可复现的训练与推理脚本、网页端演示入口及示例权重,便于读者即开即用与二次开发。
讲解视频地址:基于深度学习的夜间车辆检测系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck55wag==
说明论文下载:https://mbd.pub/o/bread/YZWck5tyZw==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmplyaA==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5lyaQ==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5htbQ==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9uZw==
安装与教程文档:https://deeppython.feishu.cn/wiki/C9Stwb4xnioWlAkGaNMctUc8nnR
@
1. 网页功能与效果
(1)登录注册:提供登录、注册与一次性跳过三种入口,跳过仅在当前会话生效,登录后自动载入个性化配置与历史记录。口令采用哈希与盐存储,配合会话过期与设备指纹提升安全性。进入系统后统一导航到概览页,再由顶部导航进入图片/视频/摄像头检测与模型管理。

(2)功能概况:平台覆盖图片、视频与浏览器摄像头三种输入,均支持原图/检测图即时双画面对比与16:9自适应布局。面板内可调节 Conf/IoU、筛选类别并开启目标ID叠加,检测结果可CSV 导出与带框图像/视频一键下载。底部“检测记录”跨页共享,支持关键字高亮与溯源定位。

(3)视频检测:支持同步双帧呈现,提供进度条、播放/暂停/继续/停止与关键帧拖拽,缓冲区丢帧保护保障低时延连续播放。可选择批处理或逐帧推理模式,并显示帧率、延迟与显存占用概览。完成后可将缓冲流合成为 MP4 并连同 CSV/日志一并导出。

(4)更换模型:通过“上传权重”或从模型仓库选择即可热切换当前模型,类别映射与阈值面板自动刷新并持久化到会话。兼容 PyTorch/ONNX/TensorRT 后端,切换时自动校验张量形状与输入尺寸规范,失败则回退到上一版本。页面标题与品牌元素可编辑并本地保存,数据库自动迁移保障升级连续可用。

(5)概览界面:首页提供数据与性能总览,包括近N次任务的 mAP/F1、处理时延分布、吞吐与导出记录统计,并支持按时间窗口与来源类型筛选。常用入口以卡片呈现:图片检测、视频检测、摄像头检测、模型管理与导出中心,可一键跳转到最近一次会话位置。异常与告警(如推理失败、磁盘余量低)以非侵入通知提示,便于运维与快速定位问题。

2. 绪论
2.1 研究背景与意义
夜间道路监控与车路协同由于低照度、眩光、雨雾与反光等因素,易出现信噪比低与局部过曝并存的成像难题,放大小目标、远距目标与遮挡目标的漏检风险,影响交通安全与事件取证的“实时性—准确性—可追溯性”闭环 1。公开驾驶数据集显示夜间或弱光样本在真实交通流中占有重要比例且呈现长尾特征,提示针对夜间场景构建稳定检测管线的现实必要性 2。低光研究进一步表明“弱纹理+强噪声+不均匀照明”会显著削弱目标边缘与细节的可分性,而无需成对标注的零参考增强可在不额外标注成本下改善下游检测的可分性 3。工程侧,TensorRT/ONNX Runtime 的图优化、核融合与量化可有效降低端到端延迟并提升吞吐,与基于 Flask-SocketIO 的低时延数据回传共同支撑“采集—推理—可视—导出—回溯”的在线闭环 57。 (arXiv)
2.2 国内外研究现状
从算法范式看,两阶段与单阶段、Anchor-based 与 Anchor-free 并行演进:RetinaNet 通过 Focal Loss 缓解密集检测中的前景/背景不均衡并提升困难样本学习,FCOS 则以逐像素预测避免锚框超参与重叠匹配,降低了超参数敏感性与训练复杂度 [8][9]。Anchor-free 与解耦头在密集小目标上的训练稳定性得到实践验证,形成夜间复杂背景的可选范式 [8][9]。 (CVF Open Access)
工业界方法强调速度—精度—部署统一:YOLOX 采用解耦头与动态标签分配(SimOTA)改善拥挤场景收敛与稳定,PP-YOLOE 在 Anchor-free、CSPRepResStage 与 TAL 的组合下兼顾高帧率与部署友好 [10][11]。这类方法在弱光固有噪声背景下能以较少先验维持较高吞吐,为多路流场景提供现实路径 [10][11]。 (arXiv)
Transformer 路线以端到端集合预测减少 NMS 依赖:DETR 引入双向匹配损失与查询机制统一检测流程但训练/推理代价较高,RT-DETR 通过高效混合编码器与不确定性最小查询选择在 T4 上实现百帧级实时与 53%+ AP 的平衡,适合夜间遮挡与远距离上下文建模 [12][13]。 (arXiv)
YOLO 家族快速迭代并形成完整导出生态:YOLOv5 强化训练/导出与多后端兼容,YOLOv6 面向工业部署优化蒸馏与量化,YOLOv7 以 E-ELAN 与复合缩放刷新“高帧率+高精度”基线,YOLOv8 在解耦头与工程化工具链上继续降低门槛,YOLOv9 以可编程梯度信息提升训练有效性,YOLOv10 报告 NMS-free 训练下的显著延迟下降,YOLOv11 完善生产级接口,YOLOv12 将注意力引入实时范式并在同量级算力下提升精度 [14][15][16][17][18][19][20][21]。此外,EfficientDet 通过加权 BiFPN 与复合缩放在轻量化与能效方面保持竞争力,可用于边缘或浏览器端原型 [22]。 (Ultralytics Docs)
为便于横向比较,表 1 汇总与本文任务高度相关的代表性方法、关键技术与可追溯指标(按原文平台与设定)。
| 方法 | 范式/家族 | 数据集 | 关键改进技术 | 优势与局限性 | 关键性能指标(按原文) | 适用场景/难点 |
|---|---|---|---|---|---|---|
| RT-DETR-R50 | Transformer、NMS-free | COCO | 高效混合编码器、IoU-aware 查询 | 端到端、全局上下文强;训练算力需求较高 | 53.1% AP,T4 上 108 FPS [13] | 夜间遮挡/远距、需端到端一致性的监控流 |
| PP-YOLOE-l | Anchor-free、工业部署 | COCO | CSPRepResStage、ET-Head、TAL | 高帧率与部署友好;训练策略依赖强 | 51.4 AP,V100 78.1 FPS;TensorRT FP16 149.2 FPS [11] | 多路视频吞吐受限的边缘场景 |
| YOLOv7-E6 | YOLO 家族 | COCO | E-ELAN、复合缩放 | 速度—精度兼顾;大模型显存占用较高 | 55.9% AP,V100 56 FPS [16] | 十字路口与精度敏感场景 |
| YOLOv10-S | YOLO(NMS-free 训练) | COCO | 一致性双重分配、整体效率化设计 | 同精度更低延迟;对训练细节较敏感 | 与 RT-DETR-R18 同精度 1.8× 更快;较 YOLOv9-C 延迟-46% [19] | 低时延要求与掉帧敏感视频 |
| Faster R-CNN R50-FPN(3x) | 两阶段、Anchor-based | COCO | RPN + FPN | 精度稳健、易解释;延迟较高 | 41.0 AP(val2017) [23] | 离线评估与延迟不敏感 |
| EfficientDet-D0 | 单阶段、BiFPN | COCO | 加权 BiFPN、复合缩放 | 轻量、能效高;极端遮挡下需配套策略 | ≈33.8 AP(test-dev) [22] | 资源受限与移动端原型 |
| YOLOv12-N | YOLO(注意力中心) | COCO | 区域注意力、R-ELAN、FlashAttention | 精度提升;新算子部署需评估 | 40.6% mAP,T4 1.64 ms 延迟 [21] | 夜间弱纹理小目标与端侧加速 |
注:指标均引自各方法论文/官方文档,硬件平台与评测协议以原文为准。 (arXiv)
2.3 要解决的问题及其方案
(1)准确性与实时性:弱光噪声、眩光与跨尺度目标导致 PR 曲线下沉且对延迟敏感,夜间高反差变化加剧误检与漏检 3;方案:以最新 YOLO 系列(含 YOLOv10/YOLOv12 等)为核心,结合多尺度与亮度扰动增强、解耦检测头与动态标签分配,并配合 TensorRT FP16/INT8 与 ONNX 量化压缩端到端延迟 [19]216。
(2)环境适应性与泛化:昼夜域移与长尾分布引起稳定性下降 2;方案:将零参考低光增强引为协同前处理/联合训练分支,并在 BDD100K 夜间划分与 UA-DETRAC 条件标签下建立统一评测协议与分层回放 41。
(3)Web 端交互与可追溯性:平台需要低时延双向通信、双画面对比、CSV/带框一键导出以支撑复核与回溯;方案:基于 SocketIO 保持持久连接,提供同步双帧与进度控制、阈值/类别筛选,并在浏览器侧按需启用 WebGPU 推理以缓解服务端压力 7。
(4)数据处理效率与存储安全:多路流与多人协作要求稳定持久化与权限管理;方案:以 SQLite/令牌会话持久化元数据与导出记录,密码哈希与会话过期保障账户安全;统一模型仓库支持权重热切换与失败回退,并记录推理/导出日志便于审计与复现 [22][25][26]。 (ONNX Runtime)
2.4 博文贡献与组织结构
贡献:(1)提出面向夜间车辆的端到端实时检测平台,集成 YOLOv5–YOLOv12 与 RT-DETR,并在统一协议下对比 mAP/F1/PR 与延迟,实现“速度—精度—部署”的一体化评测 [14][13][21];(2)提供 PyTorch→ONNX/TensorRT 全链路导出与量化实践,验证在弱光视频上的实时性收益与能效改进 5;(3)实现 Flask+SocketIO 的同步双帧可视、阈值/类别筛选与 CSV/带框一键导出,打通“检测—复核—回溯”的工程闭环 7;(4)补充夜间车辆检测的代表性改进与中文文献脉络,给出可追溯的指标与参考实现以便复现与二次开发 [24][25][26]。组织结构:全文依次介绍网页功能与效果、绪论(本节)、数据集处理(索取样例、统计与增强策略)、模型原理与设计(以最新 YOLO 为主线,含损失与训练要点)、实验结果与分析(含对比图与误差回放)、系统设计与实现(分层架构与流程图)、结论与未来工作,并在文末提供工程与数据下载入口。 (Ultralytics Docs)
3. 数据集处理
本研究使用的夜间车辆场景数据共计 9867 张图像,来源以低照度/红外风格路侧或车载采集为主(读者提供的样例拼图与散点图可见);数据按固定划分用于训练、验证与测试,分别为 7410/1457/1000 张,对应约 75.1%/14.8%/10.1%,在后续训练与复现实验中不再重采样,并统一设置随机种子 42 以保证可复现性。标注采用归一化的边界框参数 ((x,y,w,h)) 与类别编号形式,中心坐标与宽高均处于 ([0,1]) 区间,便于与 YOLO 系列模型直接对接;类别清单为 4 类:bicycle/自行车、car/汽车、dog/狗、person/人(已在前端以中文别名映射展示)。从提供的散点-直方可视化看,(x) 近似均匀且 (y) 在 0.4–0.6 一带略集中,(w,h) 的直方分布明显右偏,表明以小目标为主,这与夜间远距车辆与行人占比高的事实一致;样例拼图也显示强点光源与反光、遮挡与尺度跨层级并存的困难模式。为保证数据质量,标注清洗阶段剔除了越界框与零面积框,统一坐标精度与类名映射,并对同一视频段落的近似重复帧进行抽稀,以降低过拟合风险。
Chinese_name = {"bicycle": "自行车", "car": "汽车", "dog": "狗", "person": "人"}

针对夜间场景的噪声、眩光与长尾特征,训练前处理与增强策略按“稳定性优先”的原则设计:在几何层面使用随机尺度缩放与随机裁剪并约束最小 IoU,以提升小目标召回;在光照层面引入随机伽马、亮度/对比度抖动与有限幅度的 CLAHE/直方均衡以缓解曝光不均;在目标层面采用 Mosaic/MixUp 与 Copy-Paste 增强提高密集与遮挡条件下的鲁棒性,同时加入少量运动模糊与高斯噪声模拟夜间行驶抖动与传感器噪声。为抑制长尾带来的类别偏置,训练时对稀有类(如自行车与狗)启用均衡采样与损失加权,并在验证集上以固定尺度与关闭增强进行评测,确保不同模型间指标(mAP、F1、PR 曲线)可比;全部图像与标注在入库时生成摘要信息(分辨率、实例数、均值方差、时间戳)并写入 SQLite,便于网页端的快速检索、跨页共享与结果溯源。上述策略与难点一一对应:尺度与小目标通过多尺度+IoU 约束与 Copy-Paste 处理,眩光/弱纹理通过光照增强与去噪稳定特征,遮挡与密集通过 Mosaic/MixUp 提升局部上下文,长尾分布通过采样与损失重加权减轻偏斜。

4. 模型原理与设计
本系统以最新 YOLO 系列的单阶段、Anchor-free 范式为主线,采用“骨干—颈部—解耦检测头”的三级结构,在输入端直接对整幅图像进行密集预测以避免候选框生成与二次回归开销,满足夜间交通流视频的低时延需求。骨干网络以轻量残差/跨阶段部分连接为主体(如 C2f/C3/Rep 模块),在浅层保持高分辨率纹理以应对弱光细节,深层聚合语义以提升远距离与遮挡目标的可分性;颈部以自顶向下与自底向上融合(FPN/PAN)同步汇聚多尺度上下文,减轻“远距小目标—近距大目标”共存导致的尺度不一致;检测头采用解耦设计,将分类分支与回归分支拆分并行训练,同时以分布式边界框回归(DFL)替代直接坐标回归,显著改善小目标的定位连续性。针对夜间眩光与高反差,本系统在颈部/头部插入轻量注意力(如通道/空间注意力或窗口式混合注意力),以在几乎不增加推理时延的前提下提升噪声抑制与显著区域建模能力。网络整体架构图如下图所示:

在组件层面,注意力与多尺度特征融合是提升夜间鲁棒性的关键。以缩放点积注意力为例,其核心计算为:
其中\(Q,K,V\)分别是查询、键与值的线性投影,\(d_k\)为键向量维度,\(M\)为可选的局部/遮挡掩码;通过在浅层设置较小感受野、在高层引入跨尺度交互,可在眩光条纹与纹理缺失下保持目标轮廓一致性。颈部融合可写作加权金字塔:
其中\(F_s\)为各尺度特征,\(\phi_{l,s}\)表示上/下采样与对齐算子,\(w_{l,s}\)为可学习权重;该约束避免单一尺度主导,提升远近车灯强反差下的稳定性。解耦头将分类\((p)\)与回归\((b)\)分支分离训练,回归端采用 DFL 将每条边表示为离散分布以细化坐标量化误差;分类端在夜间长尾与易混类别(如“人/骑行人/小型车”)上使用焦点损失:
其中\(p_t\)为对真类的预测概率、\(\alpha\)与\(\gamma\)控制正负样本不均衡与困难样本挖掘;该设计有助于在“高噪点+密集背景”中抬升 PR 曲线中段表现。为进一步稳定位姿,边界框损失采用 IoU 家族的组合式目标:
其中\(\rho(\cdot)\)为框中心距离,\(c\)为最小包围框对角线长度,\(v\)为宽高比一致性项,\(\alpha\)为自适应权重;相比单纯\(1-\mathrm{IoU}\),该式(CIoU 形态)在远距细长车体与强透视畸变时具有更好的收敛性。正负样本分配上采用动态标签分配(如 SimOTA/TAL 一类策略),其核心是以分类置信与几何重合的加权指标在候选集合内选取前\(k\)个正样本,缓解锚点/阈值超参数敏感问题,尤其适合车队拥挤与多遮挡的夜间路口。
训练与正则化方面,本系统配合余弦退火学习率与指数滑动平均(EMA)稳定收敛:
其中\(\eta_t\)为第\(t\)步学习率、\(T\)为总步数;在数据侧应用马赛克/混合增强、亮度/对比度与伽马扰动、受限 CLAHE 与轻量运动模糊,以对齐夜间低光与行驶抖动分布;在推理侧采用置信度阈值与 IoU 阈值一致化策略,默认开启矩形自适应缩放与 TTA(在实时受限时关闭),并在 GPU 上启用半精度(FP16)与算子融合以降低端到端延迟。针对系统级需求,检测框输出同步生成“原图/带框图/JSON/CSV/SQLite”四类副本,支持双画面对比与回放;当部署 NMS-free 训练的检测头时,可在同等精度下降低后处理瓶颈以提升多路视频吞吐。整体来看,上述设计分别对应本文场景难点:多尺度与小目标依赖金字塔与 DFL,类间相似与长尾由焦点损失与动态分配缓解,眩光与弱纹理通过浅层注意力和对比度稳态增强对冲,实时性通过解耦头、半精度与算子融合确保。
5. 实验结果与分析
本章在第 3 章的夜间数据(共 9867 张,训练/验证/测试=7410/1457/1000)与统一评测协议下,对 YOLOv5–YOLOv12 的轻量级(n)与小体量(s)两组模型进行端到端评测。硬件为 NVIDIA GeForce RTX 3070 Laptop 8GB;报告 预处理(Pre)/推理(Inf)/后处理(Post) 三段时延与精度指标(Precision、Recall、F1、mAP@0.5、mAP@0.5:0.95)。

表 5-1 夜间车辆检测各模型端到端对比(同一硬件与分辨率,Total=Pre+Inf+Post)
| 组别 | Model | Params(M) | FLOPs(G) | Pre(ms) | Inf(ms) | Post(ms) | Total(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| n | YOLOv5nu | 2.6 | 7.7 | 1.90 | 7.73 | 1.31 | 10.94 | 0.637 | 0.427 | 0.511 | 0.484 | 0.256 |
| n | YOLOv6n | 4.3 | 11.1 | 2.17 | 6.78 | 1.39 | 10.34 | 0.694 | 0.418 | 0.521 | 0.486 | 0.252 |
| n | YOLOv7-tiny | 6.2 | 13.8 | 2.28 | 14.74 | 4.06 | 21.08 | 0.665 | 0.438 | 0.528 | 0.477 | 0.239 |
| n | YOLOv8n | 3.2 | 8.7 | 1.95 | 6.83 | 1.39 | 10.17 | 0.680 | 0.462 | 0.550 | 0.509 | 0.281 |
| n | YOLOv9t | 2.0 | 7.7 | 1.87 | 16.51 | 1.29 | 19.67 | 0.707 | 0.497 | 0.584 | 0.541 | 0.291 |
| n | YOLOv10n | 2.3 | 6.7 | 2.08 | 11.24 | 0.63 | 13.95 | 0.689 | 0.423 | 0.524 | 0.496 | 0.277 |
| n | YOLOv11n | 2.6 | 6.5 | 2.11 | 9.44 | 1.42 | 12.97 | 0.586 | 0.418 | 0.488 | 0.453 | 0.257 |
| n | YOLOv12n | 2.6 | 6.5 | 1.91 | 12.47 | 1.37 | 15.75 | 0.634 | 0.455 | 0.530 | 0.509 | 0.271 |
| s | YOLOv5su | 9.1 | 24.0 | 2.28 | 8.45 | 1.51 | 12.24 | 0.685 | 0.496 | 0.575 | 0.555 | 0.293 |
| s | YOLOv6s | 17.2 | 44.2 | 2.22 | 8.59 | 1.45 | 12.26 | 0.657 | 0.399 | 0.497 | 0.463 | 0.245 |
| s | YOLOv7 | 36.9 | 104.7 | 2.44 | 23.62 | 3.46 | 29.52 | 0.796 | 0.517 | 0.627 | 0.570 | 0.308 |
| s | YOLOv8s | 11.2 | 28.6 | 2.31 | 7.66 | 1.42 | 11.39 | 0.652 | 0.513 | 0.574 | 0.570 | 0.299 |
| s | YOLOv9s | 7.2 | 26.7 | 2.12 | 18.66 | 1.39 | 22.17 | 0.770 | 0.528 | 0.627 | 0.596 | 0.333 |
| s | YOLOv10s | 7.2 | 21.6 | 2.21 | 11.38 | 0.60 | 14.19 | 0.700 | 0.501 | 0.584 | 0.573 | 0.311 |
| s | YOLOv11s | 9.4 | 21.5 | 2.37 | 9.74 | 1.36 | 13.47 | 0.677 | 0.522 | 0.590 | 0.573 | 0.314 |
| s | YOLOv12s | 9.3 | 21.4 | 2.09 | 13.23 | 1.42 | 16.74 | 0.708 | 0.490 | 0.579 | 0.568 | 0.310 |
整体趋势:n 组中 YOLOv9t 的 F1=0.584、mAP50=0.541 为最高,但总时延 19.67 ms 相对更大;YOLOv8n 以 10.17 ms 的总时延和 0.509 mAP50 取得最优速度—精度折中,适合 90+ FPS 实时预览;YOLOv10n 的 Post 仅 0.63 ms,说明 NMS-free 训练显著缓解了后处理瓶颈。

s 组中 YOLOv9s 达到 mAP50=0.596(最佳)/mAP50-95=0.333(最佳),而 YOLOv7 的 F1=0.627(最高) 与极高 Precision 反映其在清晰轮廓目标上的稳定性;YOLOv8s 则以 11.39 ms(最短) 在 s 组中速度领先。两组对比表明:8 系侧重端到端速度稳定,9 系在中高召回段精度更强,10 系在后处理时延最小,7 系在 F1 上仍具竞争力但推理开销显著。

混淆矩阵显示 bicycle/dog 被“background”吸收的比例较高(背景列占比分别达 0.71/0.61),符合夜间弱纹理与小目标易降置信度的现象;car 的对角元素最高(0.62),说明其轮廓/反光特征相对稳健。

F1–Confidence 曲线的全类最优点约在 Conf≈0.10–0.15(峰值≈0.57@0.107),建议平台默认阈值 Conf=0.12、IoU=0.45,按场景再做细化。平均 PR 曲线中,YOLOv9t/YOLOv9s 在 0.3–0.7 召回区间保持更高的精度曲线,解释了其 mAP 优势;YOLOv8 系在低召回段起点精度更高,更适合“报警优先”的策略。训练曲线显示 20–40 epoch 后进入稳定上升区,80–100 epoch 见顶并轻微波动;若追求 s 组更高 mAP,可在最后 30 epoch 关闭 Mosaic、保留弱增强进行“收尾”,以减小合成遮挡对定位一致性的扰动。

结构性原因与任务耦合:夜间场景的强点光源/反光与远距小目标并存,使“解耦头 + 动态分配(YOLOX/PP-YOLOE/YOLOv9 的延续)”在中高召回段更占优;而 “端到端/NMS-free(YOLOv10 一系)” 直接压缩了后处理开销,提升多路并发稳定性;“轻量骨干 + 高效金字塔(YOLOv8/YOLOv12)” 则在保持速度前提下补强了小目标定位。配合第 3 章设置的亮度/对比度扰动、Mosaic/MixUp、Copy-Paste,模型对弱光和遮挡的适应性明显提升,这从 PR 曲线的中段抬升与 F1 峰值位置前移可以侧面印证。

误检/漏检与改进建议。① 眩光与晕光导致边界稀释,bicycle/dog 更易判成背景:建议在训练集继续加入受限 CLAHE、伽马与夜间 flare 合成,并在颈部/头部引入轻量通道注意力;② 远距小目标在 640 输入下仍受限:在 n 组上开启 P3 小尺度层或升至 736 输入,必要时配合 TTA(实时场景谨慎);③ 并发稳定性:首选 YOLOv10n/s 或 YOLOv8n/s + TensorRT FP16,对 10/11 系进一步做 INT8 校准 可在可控精度损失下提升吞吐;④ 阈值与类别筛选:平台端建议默认 Conf≈0.12、IoU≈0.45,并针对 bicycle/dog 打开类别增益或单独降低阈值,配合“检测记录”回放做针对性复核。
决策建议(按三档使用场景)。若极致速度与多路实时预览优先,选 YOLOv8n(10.17 ms)/YOLOv8s(11.39 ms);若追求速度-精度平衡,选 YOLOv10n(Post 最小)/YOLOv10s;若精度优先且可接受更高延迟,选 YOLOv9t(n 组)/YOLOv9s(s 组)。平台侧结合你提供的 PR、F1 曲线与混淆矩阵,可一键切换“速度/平衡/精度”三种预设,自动调整阈值并在导出中心记录本次策略与权重版本,便于溯源与回归分析。
6. 系统设计与实现
6.1 系统设计思路
本系统采用四层分层架构:表现与交互层(浏览器端 HTML/CSS/JS)、业务与会话管理层(Flask + Flask-SocketIO)、推理与任务调度层(PyTorch/ONNX/TensorRT 与视频/摄像头任务控制)、数据持久化层(SQLite 与日志/监控/导出归档)。浏览器端负责多源输入的采集与回显,统一以 WebSocket 通道与后端保持低时延通信;业务层接管鉴权、参数校验、会话上下文与路由,并将请求分发给推理任务队列;推理层完成图像预处理、YOLO 推理与后处理(置信度/IoU、解码与可选 NMS-free 路径),输出同步的原帧与检测帧双流;数据层记录任务元数据、指标与导出记录,形成“检测—复核—溯源”的闭环。
为保证实时性与一致性,视频与摄像头任务采用“同步双帧”机制:每个时间戳产生一对帧(原图/框图),由服务端打包为一条事件消息推送前端;会话参数(Conf/IoU、类别开关、显示样式)在业务层以原子更新的方式广播至当前会话的所有订阅通道,确保前后端视图一致。推理层通过任务调度器协调批处理与逐帧模式、GPU/CPU 后端与 FP16/INT8 路径的切换;当并发任务超过阈值时触发弹性降级(降低输入尺寸或启用更快模型预设),以稳定端到端时延。
在可扩展性方面,系统提供“模型权重热切换”与“导出中心”两类能力。前者支持上传/选择权重并即时装载,自动刷新类别映射与推理参数,出现不兼容时回退到上一个可用版本并记录事件;后者集中管理 CSV、带框图片/视频(缓冲合成 MP4)、日志与配置快照,支持批量下载与按文件名/任务 ID 高亮定位。数据库在版本升级时自动迁移以保障连续可用;同时开放监控接口输出吞吐、延迟分布、GPU/显存与错误率,便于在生产环境中做容量规划与告警。
** 图 6-1 系统流程图**

图注:从用户鉴权到多源输入采集,经过预处理、调度、推理与后处理,服务端以“原图+检测图”双帧事件推送前端;统计结果与导出记录入库,形成可追溯闭环。
图 6-2 系统设计框图

图注:分层体现模块职责边界:UI 负责可视与交互;业务层负责鉴权、路由与广播;推理层承载高性能推理与统计;数据层提供持久化、导出与审计接口。
6.2 登录与账户管理

登录流程自用户进入登录界面开始,根据是否已有账号分流为注册与登录两条路径:注册路径在表单校验通过后将账号信息(口令哈希与盐、时间戳、默认偏好)写入数据库;登录路径完成口令校验与状态检查后创建带过期策略的会话令牌,并加载个性化配置与最近检测记录进入主界面。用户在会话存续期间可修改头像与口令并立即持久化,或执行注销/切换账号以销毁会话与本地缓存;该流程与主检测管线无缝衔接,确保参数、导出与审计记录在账户维度可追溯且跨页共享。
代码下载链接
如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:


资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷
完整项目下载、论文word范文下载与安装文档:https://deeppython.feishu.cn/wiki/C9Stwb4xnioWlAkGaNMctUc8nnR
讲解视频地址:https://www.bilibili.com/video/BV1f8QwBwEgA/
完整安装运行教程:
这个项目的运行需要用到Anaconda和Pycharm两个软件,下载到资源代码后,您可以按照以下链接提供的详细安装教程操作即可运行成功,如仍有运行问题可私信博主解决:
- Pycharm和Anaconda的安装教程:https://deepcode.blog.csdn.net/article/details/136639378;
软件安装好后需要为本项目新建Python环境、安装依赖库,并在Pycharm中设置环境,这几步采用下面的教程可选在线安装(pip install直接在线下载包):
- Python环境配置教程:https://deepcode.blog.csdn.net/article/details/136639396;
7. 结论与未来工作
本文围绕夜间交通弱光、强眩光与小目标密集等难点,构建了集 Flask+SocketIO 前端交互与 YOLOv5–YOLOv12 多模型对比于一体的实时检测平台,打通“图片/视频/摄像头输入—同步双帧回显—阈值/类别筛选—CSV 与带框一键导出—SQLite 溯源”的完整闭环。实验在 9867 张夜间样本上系统评测了 n/s 两组模型的精度与时延:在轻量实时场景下 YOLOv8n 以 10.17 ms 的总时延与 0.509 的 mAP50 达到最佳速度—精度折中;在精度优先场景 YOLOv9t/YOLOv9s 分别以 0.541/0.596 的 mAP50 领先,但推理时延相对更高;在并发稳定性与端到端延迟控制方面,YOLOv10n/s 的后处理耗时最低,验证了 NMS-free 训练路径的工程价值。结合 F1–Confidence 与平均 PR 曲线,我们建议平台默认阈值设置 Conf≈0.12、IoU≈0.45 并对“自行车/狗”等弱纹理小目标采用更低阈值或类别加权;综合来看,所提系统在夜间车辆检测任务上实现了可复现、可对比、可部署的工程化落地,具备向道路安防、事件取证与车路协同等应用的直接迁移能力。
未来工作将围绕模型、系统与数据三条主线推进。模型侧将探索更轻量化骨干与高效注意力、蒸馏与量化(FP16/INT8/QAT)及多模态融合(RGB+热成像/雷达)以在低算力端进一步提升鲁棒性;同时引入主动学习与半监督,在平台内联动误检样本回流与再训练,实现“采集—训练—上线”的闭环自进化。系统侧将完成Docker 化镜像与一键部署脚本、分布式任务队列支撑多路并发、WebRTC 低时延推流、权重仓库版本化与灰度发布、细粒度角色权限与审计日志、国际化(i18n)与多租户等,以满足不同组织的运维与合规要求。数据侧将建设数据治理与漂移监测、持续标注协同与质检规则模板,并在导出中心内强化“批量/溯源/可回放”的工单化流程。随着这些能力完善,平台将从“单点检测服务”走向“可持续演进的夜间交通视觉中台”。
参考文献(GB/T 7714)
1 Du D, Wen L, Hu Y, et al. UA-DETRAC: A new benchmark and protocol for multi-object detection and tracking[J/OL]. arXiv:1511.04136, 2015.
2 Yu F, Chen H, Wang X, et al. BDD100K: A diverse driving dataset for heterogeneous multitask learning[C]//CVPR. 2020: 2636-2645.
3 Loh Y P, Chan C S. Getting to know low-light images with the Exclusively Dark dataset[J]. Computer Vision and Image Understanding, 2019, 178: 30-42.
4 Guo C, Li C, Guo J, et al. Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement[C]//CVPR. 2020: 1777-1786.
5 NVIDIA. TensorRT Documentation[EB/OL]. https://docs.nvidia.com/deeplearning/tensorrt/latest/, 2025-12-23.
6 Microsoft. Quantize ONNX Models — ONNX Runtime Docs[EB/OL]. https://onnxruntime.ai/docs/performance/model-optimizations/quantization.html, 2025-12-23.
7 Microsoft. Using WebGPU — ONNX Runtime Web[EB/OL]. https://onnxruntime.ai/docs/tutorials/web/ep-webgpu.html, 2025-12-23.
[8] Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//ICCV. 2017: 2980-2988.
[9] Tian Z, Shen C, Chen H, et al. FCOS: Fully convolutional one-stage object detection[C]//ICCV. 2019: 9627-9636.
[10] Ge Z, Liu S, Wang F, et al. YOLOX: Exceeding YOLO series in 2021[EB/OL]. arXiv:2107.08430, 2021.
[11] Xu S, Wang X, Lv W, et al. PP-YOLOE: An evolved version of YOLO[EB/OL]. arXiv:2203.16250, 2022.
[12] Carion N, Massa F, Synnaeve G, et al. End-to-end object detection with Transformers[EB/OL]. arXiv:2005.12872, 2020.
[13] Zhao Y, Lv W, Xu S, et al. DETRs Beat YOLOs on Real-time Object Detection (RT-DETR)[EB/OL]. arXiv:2304.08069, 2023.
[14] Ultralytics. YOLOv5 — Docs/Zenodo overview[EB/OL]. https://docs.ultralytics.com/models/yolov5/, 2025-12-23.
[15] Li C, Li L, Hu J, et al. YOLOv6: A single-stage object detection framework for industrial applications[EB/OL]. arXiv:2209.02976, 2022.
[16] 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.
[17] Ultralytics. YOLOv8 — Documentation[EB/OL]. https://docs.ultralytics.com/models/yolov8/, 2025-12-23.
[18] WongKinYiu. YOLOv9 — GitHub Repository[EB/OL]. https://github.com/WongKinYiu/yolov9, 2025-12-23.
[19] Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024.
[20] Ultralytics. YOLO11 — Documentation[EB/OL]. https://docs.ultralytics.com/models/yolo11/, 2025-12-23.
[21] YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025.
[22] Tan M, Pang R, Le Q V. EfficientDet: Scalable and efficient object detection[C]//CVPR. 2020: 10781-10790.
[23] Detectron2 Model Zoo — Faster/Mask R-CNN Baselines[EB/OL]. https://github.com/facebookresearch/detectron2/blob/main/MODEL_ZOO.md, 2025-12-23.
[24] 王方飞, 杨凯, 刘欣, 等. 基于改进YOLOv8s的夜间车辆检测[J/OL]. 中国影视技术, 2024(04): 35-41. 万方数据.
[25] 蒋畅江, 何旭颖, 向杰. LOL-YOLO:融合多注意力机制的低照度目标检测[J]. 计算机工程与应用, 2024, 60(24): 177-187.
[26] 冯迎宾, 等. 基于YOLOv8n的夜间车辆检测[J/OL]. 2025. (CNKI 校园学报 PDF 在线版).
说明:表格各行“关键性能指标”均来源于对应论文或官方实现页面;如硬件/部署平台不同请以原文为准。

浙公网安备 33010602011771号