基于深度学习的夜间车辆检测系统(YOLOv12完整代码+论文示例+多算法对比)
摘要:本文面向夜间低照度、车灯眩光与雨雾反射等复杂场景,构建一套可落地的夜间车辆目标检测桌面系统:提供数据集与代码可下载,前端基于 PySide6/Qt,支持图片/视频/本地摄像头多源输入与实时可视化叠加框(类别名+置信度),并具备处理进度条、批量检测记录浏览与CSV 导出。系统支持一键导出带框结果(单帧 PNG / 多帧 AVI),检测日志与账号信息写入本地 SQLite,提供登录/注册与可选跳过入口以兼顾安全与易用性;同时支持模型选择/权重加载(.pt 热切换),在 YOLOv5–YOLOv12(共 8 种)之间快速切换并对比 mAP、F1、PR 以及训练曲线等指标,便于在精度、速度与部署成本间做工程取舍。文末提供完整工程与数据集链接。
文章目录
功能效果展示视频:热门实战|《基于深度学习的夜间车辆检测系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
1. 系统功能与效果
(1)登录注册:系统启动后提供登录、注册与可选跳过入口,登录成功后会话在本次运行周期内生效,便于管理个人历史记录与导出权限。用户进入主界面后可按“概览—图片检测—模型选择—结果导出”的动线完成一次完整检测流程,并能快速定位最近一次检测记录。账户信息与关键操作记录以本地 SQLite 方式管理,兼顾口令校验与离线可用性。
(2)功能概况:桌面端以“左侧数据源与阈值控制—中部主显示区—右侧目标详情—底部记录与进度”的布局组织功能,核心操作集中在单屏内完成,减少频繁切换页面的成本。主显示区同步展示检测叠加效果与当前输入源状态,底部进度与耗时信息帮助用户把握处理节奏。整体交互强调可解释与可追溯,便于在夜间复杂光照条件下快速复核误检与漏检。
(3)选择模型:系统支持从本地选择权重文件并即时切换当前 YOLO 模型,完成加载后会同步刷新类别名称与配色规则,保证显示与导出结果的一致性。模型切换不打断既有的交互习惯,用户可以在同一输入源上快速比较不同权重的检测表现。常用配置会在本地持久化,便于重复实验与长期迭代。
(4)图片检测:用户导入单张图片后可即时完成推理,检测框以类别名与置信度叠加显示,并支持对目标进行选择与高亮以聚焦关注区域。Conf/IoU 等阈值可在界面内实时调整,便于在弱光、眩光与反射干扰下控制误报与漏报的权衡。检测结果会同步写入记录视图,便于按时间顺序回看与后续导出。
(5)文件保存:系统支持将检测结果按统一命名规则归档保存,包含带框图片导出、结构化记录导出以及必要的统计信息沉淀,方便批量管理与溯源复查。导出流程尽量“一键化”,减少夜间场景下反复操作带来的误触与遗漏。关键记录同时可写入本地 SQLite,保证断网环境下的长期留存与查询效率。
2. 绪论
2.1 研究背景及意义
夜间道路环境的光照强度低且分布不均,车辆外观纹理与轮廓信息显著弱化,使得基于视觉的车辆检测更容易出现漏检、误检与定位偏移,从而直接影响智能交通监测与辅助驾驶的安全边界与可用性。面向真实道路场景的规模化数据(包含不同时间段与天气条件)推动了夜间车辆感知从“可用”走向“可部署”,例如 BDD100K 提供了超过 100K 驾驶视频及多任务标注,为复杂道路条件下的鲁棒学习提供了基准支撑。1
从工程落地看,夜间车辆检测系统往往需要在有限算力下实现稳定实时推理,并在可解释可视化的交互中完成阈值调参与结果追溯,这对检测模型的速度、稳定性与误差可控性提出了更高要求。低照度专用数据集揭示了夜间视觉的“数据稀缺”与“分布偏移”问题,例如 ExDark 以 7363 张弱光图像与 12 类目标标注刻画了低光对检测特征的深层影响。2
此外,夜间道路数据往往伴随眩光、反射、运动模糊与遮挡等耦合干扰,单纯依赖白天数据训练的模型容易出现泛化崩塌,因此学界也在通过夜间/黄昏域数据构建与跨域评测来刻画“从白天到夜晚”的性能退化。以 Dark Zurich 等夜间道路数据为代表的研究强调了夜间视觉任务的域适应与不确定性评估价值,为夜间车辆检测系统的可靠性分析提供了方法论参考。3
2.2 国内外研究现状
面向夜间车辆检测这一具体场景,核心挑战集中在光照不足导致的细节缺失、车灯眩光引发的局部过曝、远距小目标与密集遮挡带来的尺度与拥挤问题,以及真实道路长尾分布导致的类别与姿态覆盖不足等方面。国内外综述工作普遍指出,夜间模式下传统依赖车灯或几何先验的方法在复杂照明与低清晰度条件下受限明显,而深度学习检测逐渐成为主流路线。5
在数据与评测层面,夜间车辆检测一方面受益于大规模道路视频数据对场景多样性的覆盖,另一方面仍面临“夜间标注昂贵、有效样本不足”的现实约束。BDD100K 提供跨城市与多环境条件的驾驶视频及框标注,为夜间车辆检测的训练与泛化评估提供了可复用基准。1 低照度专用数据方面,ExDark 通过弱光图像与目标级标注补足了公开基准中夜间样本占比偏低的问题。2 在真实部署中,利用大规模未标注道路数据进行自监督或半监督预训练也被证明具有现实意义,SODA10M 以 10M 未标注图像与 20K 标注样本构建了面向自动驾驶的自/半监督检测评测框架。[23]
在算法范式上,两阶段检测器通常以更强的候选框筛选提升精度,但在高帧率需求下存在速度瓶颈。Faster R-CNN 通过 RPN 与检测网络共享卷积特征提升了提案效率,并给出了包含全部步骤约 5fps 的工程化参考速度,体现了两阶段方法在实时场景中的上限约束。10 单阶段方法通过密集预测换取速度优势,但夜间场景的前景背景极度不均衡会放大训练难度,Focal Loss 通过抑制易分类样本的损失权重缓解了这一问题并推动了高质量单阶段检测的发展。11 在锚框机制方面,FCOS 以逐像素预测实现 Anchor-free 检测,并报告在 ResNeXt-101 单尺度测试下达到 44.7% AP,体现了在减少超参数敏感性的同时保持精度的可行性。13 另一方面,端到端集合预测的 Transformer 检测器尝试消除 NMS 与锚框等手工组件,DETR 将检测建模为集合匹配问题以简化流水线。14 面向实时性约束,RT-DETR 报告在 T4 上达到 53.1% AP 与 108 FPS,说明端到端检测在速度与精度上已具备与 YOLO 系列竞争的能力。15
| 方法 | 范式/家族 | 数据集与任务 | 关键改进技术 | 优势与局限性 | 关键指标(原文口径) | 适用场景/对应难点 | 来源 |
|---|---|---|---|---|---|---|---|
| Faster R-CNN | Two-stage | VOC/COCO 检测 | RPN 共享特征的候选框生成 | 精度强但实时性受限 | VGG-16 全流程约 5fps | 精度优先、可接受较高延迟 | 10 |
| FCOS | One-stage / Anchor-free | COCO 检测 | 逐像素预测、免锚框设计 | 超参数更少但仍依赖 NMS | ResNeXt-101 单尺度 44.7% AP | 拥挤与尺度变化、锚框敏感场景 | 13 |
| DETR | Transformer / End-to-End | COCO 检测 | 集合预测与二分图匹配损失 | 简化后处理但训练收敛较慢 | 去除锚框与 NMS 的集合预测框架 | 追求流水线可解释与端到端一致性 | 14 |
| RT-DETR | Transformer / Real-time | COCO 检测 | 高效混合编码器与查询选择 | 端到端且速度快 | T4 上 53.1% AP、108 FPS | 实时在线检测与部署一致性 | 15 |
| YOLOv6 | YOLO 系列 | COCO 检测 | 工业友好网络设计与量化优化 | 速度优势显著 | T4 上 35.9% AP、1234 FPS(v6-N) | 边缘端实时推理、吞吐优先 | 17 |
| YOLOv7 | YOLO 系列 | COCO 检测 | Trainable bag-of-freebies 训练策略 | 速度精度兼顾 | V100 上 56.8% AP(≥30FPS 范围) | 实时高精度检测、工程复现成熟 | 18 |
| YOLOv10 | YOLO 系列 / End-to-End | COCO 检测 | NMS-free 训练与组件级效率优化 | 降延迟且利于端到端部署 | v10-S 同 AP 下较 RT-DETR-R18 快 1.8× | 低延迟在线检测、端到端部署 | 20 |
| YOLOv12 | YOLO 系列 / Attention-centric | COCO 检测 | 注意力机制与实时性协同设计 | 精度提升且保持速度 | T4 上 40.6% mAP、1.64ms(v12-N) | 复杂光照与纹理缺失下的表征增强 | 21 |
| 改进 YOLOv8n 夜间检测 | YOLO 系列(国内) | 夜间车辆检测 | Zero-DCE 增强+LSKNet 主干等 | 针对弱光与不均匀照明 | 精确率与 mAP 分别提升 4.7%/4.9% | 弱光、不均匀照明、细节模糊 | 9 |
| Dim env-YOLO | YOLO 系列(国内) | 昏暗车辆多目标检测 | 结构改造以增强昏暗表征 | 面向低照度场景优化 | 低照度下 mAP 90.49% | 昏暗环境、遮挡与尺度变化 | 7 |
围绕 YOLO 家族的演进,工程侧更关注“同等精度下更低延迟”与“同等延迟下更强鲁棒性”的边界推进。YOLOv5 以 PyTorch 实现并提供 ONNX 等导出能力,为后续桌面端与边缘端的统一部署提供了成熟起点。16 YOLOv6 给出了在 T4 上 1234 FPS 的吞吐示例,体现了单阶段检测在工业实时应用中的可塑性。17 YOLOv7 强调可训练的“bag-of-freebies”策略并报告在实时区间内达到 56.8% AP,说明训练与结构协同对实时精度上限的贡献依旧显著。18 在更近的工作中,YOLOv9 以可编程梯度信息(PGI)为核心讨论了“学习想学的内容”的训练机制,为在复杂域中稳定收敛提供了新思路。19 YOLOv10 进一步围绕 NMS-free 训练与组件级效率重检实现端到端部署友好性,并给出相对 RT-DETR-R18 的速度优势示例。20 YOLOv12 则以注意力为中心推进实时检测表征能力,并报告 v12-N 在 T4 上 40.6% mAP 与 1.64ms 延迟,为夜间复杂光照下的鲁棒特征建模提供了新路径。21 与夜间任务紧耦合的策略也逐渐从“仅做检测”转向“增强+检测”的协同范式,例如 Zero-DCE 提供了无需参考图像的弱光增强思路,常被用作夜间检测的前置改善环节。4
从部署与系统趋势看,夜间车辆检测正在形成“数据闭环与可追溯”的工程范式:一方面利用大规模道路未标注数据进行预训练或半监督学习以缓解夜间标注稀缺问题,另一方面在端侧推理中强调导出链路与加速接口的稳定性。SODA10M 明确以自/半监督评测为目标,强调夜间与极端天气等难以穷尽标注的长尾场景对鲁棒检测的重要性。[23] 国内面向夜间车辆的改进 YOLOv5 研究报告了 mAP 提升与推理帧率提升的综合收益,体现了结构轻量化与训练策略对夜间在线检测的现实价值。6 同类工作也常结合 Retinex 或注意力机制等策略提升弱光可分性,并给出如精度 84.8% 与速度 48fps 的指标以验证端到端实时性可达。8
2.3 要解决的问题及其方案
本系统围绕“夜间车辆检测的可用性与可部署性”展开,既要解决模型侧的鲁棒检测,也要完成桌面端交互、结果管理与可追溯导出的一体化落地。
要解决的问题:(1)夜间弱光与眩光叠加下的检测准确性与实时性难以兼顾,尤其是远距小目标与遮挡密集区域更易出现漏检与框漂移;(2)不同道路、天气与摄像设备带来的域偏移显著,模型在跨场景迁移时容易产生泛化退化;(3)桌面端交互需要在多源输入(图片、视频、摄像头)之间保持一致的参数语义与可视反馈,否则难以形成稳定的人机协同调参闭环;(4)检测过程与结果的存储、检索与导出若缺乏结构化管理,将削弱工程复查效率与数据安全性。
解决方案:(1)以 YOLO 系列实时检测为核心框架,结合夜间场景的增强策略与阈值可控的后处理流程,在精度与延迟之间建立可调的工程折中;(2)通过迁移学习、数据增强与多模型对比评测提升跨场景稳定性,并以统一指标体系对不同权重版本进行可重复评估;(3)在桌面端以 PySide6/Qt 构建多源输入互斥与参数同步机制,将推理可视化、目标高亮、阈值滑块与进度反馈联动起来,降低交互成本并提升可解释性;(4)以本地结构化存储与时间戳归档组织检测记录与导出物,实现快速检索、批量复查与可追溯审计,兼顾效率与安全。
2.4 博文贡献与组织结构
本文的主要贡献体现在:(1)结合夜间道路场景的任务难点,对目标检测范式、YOLO 系列演进与端到端 Transformer 检测的发展脉络进行系统梳理,并以可追溯的指标对方法取舍给出依据;(2)围绕夜间弱光、眩光与小目标等关键痛点,给出以 YOLO 为核心的模型选择与训练评测思路,强调精度、速度与部署可行性的统一;(3)从工程落地角度给出桌面端交互式检测系统的设计要点,使图片、视频与摄像头推理在同一交互范式下完成阈值调参、可视化与结果导出;(4)通过多模型对比与可追溯的数据管理设计,形成“评测—部署—反馈”的闭环工程路径;(5)配套开放数据与代码资源,便于复现与二次开发。
全文组织结构如下:第 3 章介绍夜间车辆数据集的来源、标注与增强策略;第 4 章围绕 YOLO 主线阐述检测模型原理与关键设计;第 5 章给出 YOLOv5 至 YOLOv12 等模型的对比实验与误差分析;第 6 章从分层架构出发描述桌面端系统的设计与实现,并提供关键流程图;第 7 章总结工作并展望轻量化、多模态与系统工程化方向。
3. 数据集处理
本系统使用的夜间目标检测数据集共包含 9867 张图像,覆盖道路夜间低照度、局部过曝与背景噪声较高等典型条件;从样例可视化可以直观看到,画面中经常出现远距小目标密集分布、车灯与路面反射造成的高亮区域,以及行人与非机动车在边缘区域的遮挡与截断,这些因素会同时拉低分类置信度与定位稳定性。标注采用 YOLO 风格的目标框表达,单个目标以“类别编号 + 归一化中心点坐标与宽高”进行记录,便于与后续 YOLOv5–YOLOv12 的训练与推理链路保持一致。标签及其对应中文名如下:
Chinese_name = {"bicycle": "自行车", "car": "汽车", "dog": "狗", "person": "人"}

在数据统计与难点对应关系上,框中心分布呈现明显的“道路场景先验”,即目标更集中在图像中部与地平线附近;同时宽高分布存在显著长尾,小框占比较高且随距离增加快速变小,这意味着训练阶段需要重点保障小目标召回与密集场景下的分离能力,否则模型容易在远距车流中产生漏检与框漂移。针对类别层面的不均衡与长尾现象,工程上通常会在损失与采样策略上做稳健配置(例如适度提高难样本权重、对极小框样本进行有效性过滤),并在评估中同时关注 mAP(50–95) 与 F1/PR 变化,以避免仅在少量近景大目标上取得“表面提升”而忽略远距与遮挡条件下的真实性能。
数据集划分方面,训练集 7410 张、验证集 1457 张、测试集 1000 张,约占总量的 75.11%/14.76%/10.14%,该比例在保证训练样本覆盖的同时也为参数选择与最终泛化评估留出了稳定的对照集合;为降低重复实验中的偶然波动,建议固定随机种子并记录在实验配置中,确保不同模型与不同权重版本的对比具有可复现性。预处理阶段统一输入尺度并采用等比例缩放与填充以减少几何畸变,清洗阶段重点排查坐标越界、异常极小框与空标注等问题以避免噪声监督;增强策略则建议在常规的随机尺度/平移/翻转与多图拼接基础上,结合夜间特性加入亮度与对比度扰动、伽马扰动、噪声与轻度运动模糊模拟,并辅以遮挡类增强以对应车辆遮挡、路侧目标截断与眩光反射造成的局部信息缺失,从而在“抑制高亮误检”和“提升弱光小目标召回”之间获得更稳定的训练收益。
4. 模型原理与设计
夜间车辆检测的核心矛盾在于“弱纹理与强干扰并存”:低照度会压缩有效边缘与纹理对比度,车灯眩光与路面反射又会制造局部过曝与伪目标,使得检测器既要具备更强的全局建模能力来区分真实车辆轮廓与高亮噪声,又要在远距小目标密集时保持足够的召回与定位稳定性。本文默认以 YOLOv12 作为主线,其总体仍属于单阶段实时检测范式:通过分层特征提取与多尺度融合生成密集候选,并在检测头输出类别与边界框回归结果;与以往主要依赖 CNN 的 YOLO 演进不同,YOLOv12 将注意力机制放在架构中心,通过更高效的注意力设计与工程化优化,在保持低延迟的前提下提升特征表征能力,从而更贴合夜间“全局上下文不足、局部强光干扰显著”的数据分布。
从结构上看,YOLOv12 可以抽象为 Backbone–Neck–Head 三段式:骨干负责在不同下采样倍率上抽取语义与细节特征,颈部负责多尺度特征融合以增强远距小目标的可分性,检测头则将分类与定位信息映射到最终输出。其关键改动之一是将自注意力写成标准形式 A t t n ( Q , K , V ) = S o f t m a x ( Q K ⊤ / d ) V \mathrm{Attn}(Q,K,V)=\mathrm{Softmax}(QK^{\top}/\sqrt{d})V Attn(Q,K,V)=Softmax(QK⊤/d)V,并用更“轻”的区域化注意力替代全局注意力:若特征图 token 数为 N = H × W N=H\!\times\!W N=H×W,全局注意力的计算量近似为 O ( N 2 d ) \mathcal{O}(N^{2}d) O(N2d);将特征划分为 L L L 个区域后,每块规模约为 N / L N/L N/L,总复杂度可写为 L ⋅ O ( ( N / L ) 2 d ) = O ( N 2 d / L ) L\cdot\mathcal{O}((N/L)^2 d)=\mathcal{O}(N^{2}d/L) L⋅O((N/L)2d)=O(N2d/L),在夜间场景中相当于用更低代价获得更大的有效感受野与更稳定的全局依赖建模。另一个关键模块是带残差与缩放的特征聚合单元,可用 y = x + α F ( x ) y=x+\alpha F(x) y=x+αF(x) 描述,其中 F ( ⋅ ) F(\cdot) F(⋅) 表示聚合分支、 α \alpha α 为较小的缩放系数以改善深层/大模型训练稳定性,这对夜间数据中“亮暗跨度大、梯度更易震荡”的优化过程尤为重要。网络整体架构图如下图所示:
在检测任务建模与损失设计上,本文沿用 YOLO 系列常见的“分类+置信度+边界框回归”联合优化,定位项以 IoU 家族为核心以增强对尺度变化与遮挡的鲁棒性。对预测框 B B B 与真值框 B ∗ B^{*} B∗,交并比定义为 I o U = ∣ B ∩ B ∗ ∣ ∣ B ∪ B ∗ ∣ \mathrm{IoU}=\frac{|B\cap B^{*}|}{|B\cup B^{*}|} IoU=∣B∪B∗∣∣B∩B∗∣,其对应的基本损失可写为 L ∗ I o U = 1 − I o U \mathcal{L}*{\mathrm{IoU}}=1-\mathrm{IoU} L∗IoU=1−IoU;为进一步约束中心偏移与形状差异,CIoU 常写作 L ∗ C I o U = 1 − I o U + ρ 2 ( c , c ∗ ) C 2 + α v \mathcal{L}*{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^{2}(c,c^{*})}{C^{2}}+\alpha v L∗CIoU=1−IoU+C2ρ2(c,c∗)+αv,其中 ρ 2 ( c , c ∗ ) \rho^{2}(c,c^{*}) ρ2(c,c∗) 为中心点欧氏距离平方、 C C C 为最小外接框对角线长度, v v v 刻画长宽比一致性、 α \alpha α 为平衡系数;EIoU 则将宽高差直接纳入惩罚项,常写为 L E I o U = 1 − I o U + ρ 2 ( c , c ∗ ) C 2 + ( w − w ∗ ) 2 C w 2 + ( h − h ∗ ) 2 C h 2 \mathcal{L}_{\mathrm{EIoU}}=1-\mathrm{IoU}+\frac{\rho^{2}(c,c^{*})}{C^{2}}+\frac{(w-w^{*})^{2}}{C_{w}^{2}}+\frac{(h-h^{*})^{2}}{C_{h}^{2}} LEIoU=1−IoU+C2ρ2(c,c∗)+Cw2(w−w∗)2+Ch2(h−h∗)2,对夜间远距小目标“框尺寸极小且易抖动”的情况更敏感。分类与置信度项通常采用二元交叉熵或其加权形式,以缓解夜间场景中“背景占比极高、易样本主导梯度”的不均衡问题,从而在强反光区域降低误报倾向,并在弱光边缘保留必要召回。
训练与正则化策略需要与夜间难点一一对应:首先,分层结构与多尺度监督对小目标召回很关键,因此训练阶段应保持输入尺度与部署一致,并通过合理的学习率热身与平滑衰减降低早期震荡,配合 BN 等归一化稳定批内统计,使模型在亮度分布剧烈变化时仍能收敛到可泛化的表示;其次,针对眩光与反射造成的“高置信误检”,推理侧的置信度阈值与 NMS IoU 阈值需要联动调参,较高的 conf 可压制伪目标但可能牺牲远距召回,而较低的 NMS IoU 可减少重复框但在密集车流中可能误抑制真实目标,因此本文系统提供 Conf/IoU 的实时可视调节以在不同路段与天气下快速找到折中点。最后,适度的数据增强与权重衰减能提升跨设备与跨场景鲁棒性,但夜间任务应避免过强的颜色扰动引入“非真实夜景分布”,更推荐以对比度/噪声/轻度模糊与遮挡模拟为主,配合可追溯的评测指标闭环,确保模型改动带来的收益真实来源于夜间难例的误差下降而非偶然波动。
5. 实验结果与分析
本节实验目标是比较 YOLOv5–YOLOv12 不同轻量规模在夜间数据集上的检测精度与推理效率,并为桌面端“权重热切换”提供可量化的选型依据。所有模型在同一数据划分(训练 7410/验证 1457/测试 1000)与同一评测口径下统计 Precision、Recall、F1、mAP@0.5(记为 mAP50)与 mAP@0.5:0.95(记为 mAP50-95),同时记录端到端耗时分解为预处理、推理与后处理三段;测试硬件为 NVIDIA GeForce RTX 3070 Laptop GPU(8GB),因此耗时数据可直接反映移动端中高端显卡环境下的实时性上限与后处理开销差异。
| 规模 | Model | Params(M) | FLOPs(G) | Pre(ms) | Inf(ms) | Post(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| n | YOLOv5nu | 2.6 | 7.7 | 1.90 | 7.73 | 1.31 | 0.6372 | 0.4272 | 0.5115 | 0.4841 | 0.2563 |
| n | YOLOv6n | 4.3 | 11.1 | 2.17 | 6.78 | 1.39 | 0.6936 | 0.4175 | 0.5213 | 0.4857 | 0.2516 |
| n | YOLOv7-tiny | 6.2 | 13.8 | 2.28 | 14.74 | 4.06 | 0.6651 | 0.4379 | 0.5281 | 0.4766 | 0.2394 |
| n | YOLOv8n | 3.2 | 8.7 | 1.95 | 6.83 | 1.39 | 0.6798 | 0.4615 | 0.5498 | 0.5086 | 0.2815 |
| n | YOLOv9t | 2.0 | 7.7 | 1.87 | 16.51 | 1.29 | 0.7074 | 0.4968 | 0.5837 | 0.5407 | 0.2914 |
| n | YOLOv10n | 2.3 | 6.7 | 2.08 | 11.24 | 0.63 | 0.6891 | 0.4232 | 0.5244 | 0.4959 | 0.2769 |
| n | YOLOv11n | 2.6 | 6.5 | 2.11 | 9.44 | 1.42 | 0.5863 | 0.4178 | 0.4879 | 0.4530 | 0.2572 |
| n | YOLOv12n | 2.6 | 6.5 | 1.91 | 12.47 | 1.37 | 0.6342 | 0.4551 | 0.5299 | 0.5094 | 0.2711 |
| s | YOLOv5su | 9.1 | 24.0 | 2.28 | 8.45 | 1.51 | 0.6853 | 0.4956 | 0.5753 | 0.5545 | 0.2933 |
| s | YOLOv6s | 17.2 | 44.2 | 2.22 | 8.59 | 1.45 | 0.6574 | 0.3993 | 0.4968 | 0.4633 | 0.2447 |
| s | YOLOv7 | 36.9 | 104.7 | 2.44 | 23.62 | 3.46 | 0.7963 | 0.5173 | 0.6272 | 0.5700 | 0.3076 |
| s | YOLOv8s | 11.2 | 28.6 | 2.31 | 7.66 | 1.42 | 0.6518 | 0.5134 | 0.5743 | 0.5697 | 0.2990 |
| s | YOLOv9s | 7.2 | 26.7 | 2.12 | 18.66 | 1.39 | 0.7703 | 0.5284 | 0.6268 | 0.5964 | 0.3328 |
| s | YOLOv10s | 7.2 | 21.6 | 2.21 | 11.38 | 0.60 | 0.7003 | 0.5009 | 0.5841 | 0.5729 | 0.3107 |
| s | YOLOv11s | 9.4 | 21.5 | 2.37 | 9.74 | 1.36 | 0.6771 | 0.5224 | 0.5898 | 0.5730 | 0.3144 |
| s | YOLOv12s | 9.3 | 21.4 | 2.09 | 13.23 | 1.42 | 0.7083 | 0.4895 | 0.5789 | 0.5683 | 0.3104 |

从整体趋势看,n 组更接近“端侧实时”的部署目标,其中 YOLOv9t 在精度侧表现最强(F1=0.5837,mAP50=0.5407),但推理耗时显著偏高(16.51ms),更像是“用更强表征换鲁棒性”的选择;若以速度为优先约束,YOLOv8n(Inf=6.83ms)在保持较高 F1(0.5498)与 mAP50(0.5086)的同时,将延迟控制在更适合视频流的区间,是 n 组里更均衡的方案。

s 组中 YOLOv9s 给出了全表最强的 mAP50-95(0.3328)与最高 mAP50(0.5964),同时 F1 达到 0.6268,说明其对遮挡、远距小目标与高亮干扰等“难例”更有优势;但其 Inf=18.66ms 依然偏重,若希望在桌面端保持更稳定的帧率,YOLOv11s(Inf=9.74ms)在精度侧接近第二梯队(F1=0.5898,mAP50=0.5730)且延迟更可控,适合作为“默认权重”,再通过热切换提供 YOLOv9s 的“高精度模式”。
在工程链路上,一个容易被忽视的差异来自后处理耗时:YOLOv10n/YOLOv10s 的 PostTime 分别为 0.63ms 与 0.60ms,明显低于其他模型约 1.3–1.5ms 的水平,这类差异在视频逐帧推理时会累积成可感知的延迟抖动;因此对桌面端体验而言,除了关注 mAP 与 F1,也应把“后处理是否稳定、是否易并行”纳入选型。与此相对,YOLOv7 与 YOLOv7-tiny 的后处理与推理耗时都偏大(尤其 tiny 的 Post=4.06ms),这解释了其虽然在精度上并不弱,但在交互式视频/摄像头场景下更容易出现进度条滞后与预览卡顿。


进一步从类别维度观察误差来源,以 YOLOv12s 的 PR 曲线为例,car 的 AP@0.5 达到 0.738,而 bicycle 仅为 0.383,person 与 dog 处于中间水平(分别约 0.600 与 0.552),这与夜间场景中“汽车轮廓显著、样本更充分”以及“自行车尺寸更小、易被遮挡且与背景高亮纹理混淆”的事实一致。对应的混淆矩阵也揭示了主要问题来自“目标被当成背景”的漏检而非类间互相误判:bicycle、dog、person 在背景行上的占比偏高,说明在弱光与眩光干扰下,模型更倾向于保守输出,从而拉低 Recall;这与 F1-Confidence 曲线给出的最优阈值偏低(全类最优约在 conf=0.107,F1≈0.57)相互印证,即在夜间数据上若沿用较高置信度阈值,召回会被过度压制。落到系统交互层,博主更建议将桌面端默认 conf 设在较低水平并允许用户按场景上调,同时结合 IoU 阈值与目标高亮复核降低误报成本;而在训练侧,提升 bicycle 等小目标类别的有效样本占比(补采、重采样或针对性增强)、提高输入分辨率或强化多尺度特征融合,通常是比“单纯堆更大模型”更直接的收益来源。
6. 系统设计与实现
6.1 系统设计思路
本系统采用分层架构组织桌面端交互与夜间车辆检测能力,整体由表现与交互层、业务与会话管理层、推理与任务调度层以及数据持久化层构成。表现层以 PySide6/Qt 承载“左侧数据源与阈值、中央检测视图、右侧目标详情、底部记录与进度条”的统一布局,使阈值调参、目标高亮、进度反馈与导出操作能够在同一交互闭环中完成。业务层负责会话状态与多源输入互斥、参数一致性维护与统计汇总,确保从登录态到检测态的状态切换可控且可追溯。推理层以事件驱动的帧流作为调度主线,统一接入图片、视频与摄像头输入,并以异步队列隔离界面响应与推理耗时波动,从而在夜间复杂场景下仍保持界面可用性与反馈稳定性。
在跨层协同链路上,系统以“多源输入—预处理—YOLO 推理—后处理—前端可视化—记录与导出”形成端到端流水线,其中预处理阶段将输入规范到统一尺度并完成归一化与张量化,以保证训练与部署的尺度假设一致;推理阶段支持 YOLOv5–YOLOv12 多版本权重加载,输出结构化的类别、置信度与边界框;后处理阶段将 Conf/IoU 过滤与 NMS 作为可控环节,并完成坐标还原以在原始分辨率上绘制叠加框。可视化层除展示类别与置信度外,还支持“目标选择与高亮”,并同步更新右侧详情与底部记录,使用户能够在眩光、反射与遮挡同时存在时快速定位误检与漏检样例。系统流程如图 6-1 所示,其中帧流读取与推理调度以事件驱动方式串联,避免视频与摄像头模式下的阻塞式卡顿。
为保证实时性与一致性,系统将阈值参数与模型状态视为跨层共享的“单一事实源”,任何界面侧变更都会同步到推理与后处理逻辑,并通过进度条与用时统计即时反馈处理压力,从而减少夜间场景下反复试错的交互成本。面向扩展性,系统对权重热切换、统计与导出编排、主题与配置本地化、异常恢复与日志留存均保留独立边界,使后续引入更高分辨率推理、批量任务队列或新的部署后端时,不需要改动现有交互范式与数据结构。系统总体设计框图如图 6-2 所示,图中明确了 Qt 客户端、会话与调度、推理引擎与后处理、以及本地数据库与文件归档之间的职责划分与数据流向。

图 6-1 系统流程图
图注:系统自初始化加载配置开始,完成多源输入接入、预处理、YOLO 推理与后处理,并在 Conf/IoU 滑块、目标高亮与进度条反馈的交互中形成闭环,同时支持 CSV/PNG/AVI 的统一导出与时间戳命名归档。

图 6-2 系统设计框图
图注:框图以分层方式明确 Qt 客户端、会话与调度、推理引擎与后处理、以及 SQLite 与文件归档的边界,数据从多源输入进入推理链路后回到可视化与导出编排形成闭环。
6.2 登录与账户管理 — 流程图

图 6-3 登录与账户管理流程图
图注:流程覆盖启动进入登录界面、注册写库、登录口令校验、载入个性化配置与历史记录,并与主检测流程衔接,支持注销与切换账号以隔离不同用户的结果与偏好。
登录与账户管理流程在系统层面的价值不在于增加操作步骤,而在于为“个性化配置与历史记录的本地持久化”提供稳定锚点:应用启动后进入登录界面,用户可根据是否已有账号选择注册或直接登录,注册信息写入本地数据库以形成可追溯的账户记录,登录阶段通过口令校验建立会话并载入主题、默认模型与最近检测记录,从而让主界面的检测与导出流程天然继承用户偏好与历史上下文;在使用过程中,用户可对口令与偏好进行修改并随时注销或切换账号,使不同用户的结果、设置与导出归档相互隔离并与主检测流程无缝衔接。
7. 项目资源链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

项目完整文件请见项目介绍及功能演示视频处给出:
功能效果展示视频:热门实战|《基于深度学习的夜间车辆检测系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd;
或者环境配置视频教程:Pycharm软件安装视频教程;(2)Anaconda软件安装视频教程;(3)Python环境配置视频教程;
数据集标注教程(如需自行标注数据):数据标注合集
参考文献(GB/T 7714)
1 Yu F, Chen H, Wang X, et al. BDD100K: A Diverse Driving Video Database with Scalable Annotation Tooling[EB/OL]. arXiv:1805.04687, 2018. (arXiv)
2 Loh Y P, Chan C S. Getting to Know Low-light Images with The Exclusively Dark Dataset[EB/OL]. arXiv:1805.11227, 2018. (arXiv)
3 Sakaridis C, Dai D, Van Gool L. Guided Curriculum Model Adaptation and Uncertainty-Aware Evaluation for Semantic Nighttime Image Segmentation[EB/OL]. arXiv:1901.05946, 2019. (arXiv)
4 Guo C, Li C, Guo J, et al. Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement[EB/OL]. arXiv:2001.06826, 2020. (arXiv)
5 李柯泉, 陈燕, 刘佳晨, 等. 基于深度学习的目标检测算法综述[J]. 计算机工程, 2022, 48(7): 1-12. DOI:10.19678/j.issn.1000-3428.0062725. (Zhangqiaokeyan)
6 霍婷婷, 郑向敏. 基于YOLOv5的夜间交通道路车辆检测方法设计[J]. 公路与汽运, 2024(5): 12-19. DOI:10.20035/j.issn.1671-2668.2024.05.002. (Glyqy Journal)
7 谢天涯, 陈长兴, 闫纪涛, 等. Dim env-YOLO:昏暗场景下的车辆多目标检测算法[J]. 计算机工程, 2023, 49(3): 285-294. DOI:10.19678/j.issn.1000-3428.0063769. (EciCe06)
8 张蕊, 高诗博, 赵霞, 侯先磊. 基于改进YOLOv5s的无人驾驶夜间车辆目标检测算法[J]. 电子测量技术, 2023. (期刊网)
9 冯迎宾, 刘艾妮. 基于YOLOv8n的夜间车辆检测[J]. 沈阳理工大学学报, 2025, 44(2): 1-6. DOI:10.3969/j.issn.1003-1251.2025.02.001.
10 Ren S, He K, Girshick R, Sun J. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[EB/OL]. arXiv:1506.01497, 2015. (arXiv)
11 Lin T Y, Goyal P, Girshick R, He K, Dollár P. Focal Loss for Dense Object Detection[EB/OL]. arXiv:1708.02002, 2017. (arXiv)
12 Tan M, Pang R, Le Q V. EfficientDet: Scalable and Efficient Object Detection[EB/OL]. arXiv:1911.09070, 2019. (arXiv)
13 Tian Z, Shen C, Chen H, He T. FCOS: Fully Convolutional One-Stage Object Detection[EB/OL]. arXiv:1904.01355, 2019. (arXiv)
14 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[EB/OL]. arXiv:2005.12872, 2020. (arXiv)
15 Zhao Y, Lv W, Xu S, et al. DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. arXiv:2304.08069, 2023. (arXiv)
16 Jocher G, et al. ultralytics/yolov5: Initial Release[EB/OL]. Zenodo, 2020. (Zenodo)
17 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)
18 Wang C Y, Bochkovskiy A, Liao H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[EB/OL]. arXiv:2207.02696, 2022. (arXiv)
19 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)
20 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
21 Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (arXiv)
[22] Zheng Z, Wang P, Liu W, et al. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression[EB/OL]. arXiv:1911.08287, 2019.
[23] Han J, Liang X, Xu H, et al. SODA10M: A Large-Scale 2D Self/Semi-Supervised Object Detection Dataset for Autonomous Driving[EB/OL]. arXiv:2106.11118, 2021. (arXiv)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)