摘要:本文面向安防巡检与交通感知场景,构建一套基于深度学习的行人/车辆检测与计数桌面系统,覆盖从数据输入、模型推理到结果归档的完整闭环。系统提供可下载的完整工程与数据集,前端采用 PySide6/Qt 实现“左侧源与阈值—中部可视化—右侧目标详情—底部记录与进度”的交互布局,支持图片/视频/本地摄像头三类输入并以进度显示/处理进度条反馈批处理状态;检测结果在主显示区叠加类别名+置信度与边界框,同时输出逐帧/逐文件的计数统计。系统内置CSV 导出与带框结果一键导出能力,单帧可保存为 PNG,多帧序列可封装为 AVI,便于复核与回放;历史检测、统计与账户信息通过SQLite 本地入库实现可追溯管理。登录/注册提供入口且支持跳过以快速进入主流程,并在会话期内维持用户配置与最近记录。算法侧覆盖 YOLOv5–YOLOv12(共 8 种),支持模型选择/权重加载(.pt 热切换),并对比 mAP、F1、PR 以及训练曲线等指标,为不同算力与实时性需求提供可量化选型依据。文末提供完整工程与数据集链接

功能效果展示视频:热门实战|《基于深度学习的行人车辆检测与计数》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换

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


1. 系统功能与效果

(1)登录注册:系统在启动页提供登录、注册与跳过三种入口,登录成功后会话在本次运行期间生效,支持在主界面随时注销并切换账号;账号信息与口令校验以本地数据库方式管理,既满足基本安全性,也避免依赖外部网络。进入系统后,用户按“概览—检测入口—模型选择—结果导出”的动线完成一次完整任务,并可在记录区快速定位最近一次检测与对应的统计信息,便于复查与追溯。
在这里插入图片描述

(2)功能概况:主界面围绕“输入、推理、展示、记录、导出”形成闭环,操作上强调少跳转与可视化反馈:左侧集中管理输入源与阈值参数,中部显示检测叠加结果,右侧呈现目标详情与计数统计,下方用于进度、用时与历史记录汇总。系统对批量任务提供明确的进度展示,用户能够在不中断流程的情况下查看当前帧/当前文件的状态,并通过记录区在不同页面间共享最近结果,形成连续的使用体验。
在这里插入图片描述

(3)选择模型:系统支持在运行时选择不同 YOLO 系列模型并加载本地权重文件,实现无需重启的热切换;切换后会同步刷新类别信息与可视化配色,保证不同模型输出在界面展示与统计口径上保持一致。模型相关的常用配置与界面偏好会被本地持久化保存,使用户在多次实验对比时无需重复设置,从而更专注于精度、速度与计数稳定性的观察与决策。
在这里插入图片描述

(4)图片检测:用户导入单张图片后可即时完成推理,在主显示区叠加边界框、类别名与置信度,便于快速核验误检漏检;同时支持通过置信度与 IoU 等阈值调节控制检出密度,并对特定目标进行选择与高亮,以辅助计数与误差分析。检测完成后可将结构化结果导出为表格数据,统计项与逐目标信息保持一致,方便后续在离线分析或业务系统中复用。
在这里插入图片描述

(5)文件保存:系统提供统一的导出视图与一键保存能力,支持保存带框结果与统计文件,并采用时间戳命名策略降低覆盖风险,便于溯源与批量管理。导出后的文件可按原始文件名快速检索定位,配合历史记录实现“回看原图—核对框与置信度—复查计数”的闭环复核流程,使实验对比与业务留档更加高效可靠。
在这里插入图片描述


2. 绪论

2.1 研究背景及意义

在智慧城市与交通精细化治理背景下,行人与车辆的检测与计数已成为路口流量统计、拥堵评估、行人安全预警与事件检索的基础能力,而其工程落地通常依赖“可解释的可视化界面 + 可复现的离线评测”共同闭环支撑。现有综述工作指出,深度学习检测器在车辆目标检测任务中已成为主流路线,但仍需在复杂道路场景下兼顾精度、实时性与鲁棒性,这也直接指向本文系统化设计与对比评测的必要性1。同时,面向真实交通摄像头与车载感知的数据集呈现跨城市、跨天气、跨时间分布的强域移与长尾特征,使得“训练集指标优”并不必然等价于“上线可用”,这要求从数据、模型到交互与存储的全链路协同优化[2]。在通用目标检测基准中,MS COCO 等数据集提供了可对齐的评价口径与指标体系,使不同检测范式在 mAP、延迟与模型规模上的权衡可以被定量讨论与复现[3]。

从任务属性看,行人/车辆的检测与计数不仅是“定位与分类”的静态问题,更常以视频流为载体形成“检测—关联—计数”的时序决策链条,这要求模型在遮挡、密集、尺度变化与光照扰动下保持稳定输出,并可被后续计数逻辑可靠消费。YOLO 系列以单阶段实时检测为代表,通过端到端的密集预测实现较好的速度优势,为边缘侧与准实时业务提供了可行路径[4]。另一方面,两阶段方法在小目标与精细定位上往往具备更强上限,但其推理开销与部署复杂度通常更高,因此在交通在线统计场景中需要谨慎评估其性价比[5]。基于上述矛盾,本文以“面向桌面端交互的实时检测与计数系统”为目标,强调模型对比、可视化可解释与结果可追溯的统一设计。

在工程意义上,桌面端交互并非“锦上添花”,而是将模型能力转化为生产工具的关键载体:一方面,用户需要在同一界面完成多源输入接入、阈值调参、目标高亮与导出复核;另一方面,系统需要对检测记录、导出文件与账户信息进行本地化持久化管理,以便形成可审计的实验与应用闭环。本文实现的桌面端原型采用 PySide6/Qt 组织交互布局,支持图像/视频/摄像头统一接入、阈值滑块实时同步、表格记录与导出能力,并以本地数据库完成登录注册与口令校验,从而将“算法评测”与“产品体验”在同一系统内串联起来。

2.2 国内外研究现状

面向道路监控的行人车辆检测与计数,研究难点通常集中在类间相似性(不同车型/相似外观)、类内差异(同类跨尺度与姿态)、目标密集遮挡(斑马线与车流汇聚)、光照与天气变化(夜间、逆光、雨雪雾)以及长尾分布(少见车型与非机动车混入)等方面,而这些因素会共同放大误检与漏检在统计口径上的累积误差[2]。车辆检测综述类工作普遍指出,复杂道路环境下的遮挡与小目标是影响精度的核心因素,且实时性约束会限制高复杂度结构的直接应用1。从评测角度看,COCO 等通用基准使用 mAP@0.5:0.95 为代表指标,能够较全面反映不同 IoU 阈值下的检测质量,但在交通场景中仍需结合类别级召回、误检代价与跨时序稳定性综合分析[3]。

从检测范式演进看,两阶段检测器以区域建议与 RoI 特征为核心,典型代表 Faster R-CNN 在精度上长期作为对照基线,但其端到端时延与算力消耗往往不利于高帧率视频流部署[5]。单阶段检测器通过密集预测直接回归目标框,SSD 以多尺度特征图覆盖不同尺寸目标,为轻量部署提供了早期范式参考[6]。针对前景稀疏与正负样本极不平衡的问题,RetinaNet 提出的 Focal Loss 通过动态调制难易样本权重显著改善了密集检测训练稳定性,这对道路场景的长尾类别具有直接启发[7]。在 Anchor-free 方向,FCOS 以像素级中心度与回归分支降低了对先验框的依赖,往往在小目标与尺度变化场景中更易获得稳定收敛[8]。

为支撑下文对 YOLOv5–YOLOv12 的系统化比较,表 2-1 选取若干公开报告了 COCO 指标与效率数据的代表模型,给出其范式、关键机制与性能权衡(其中部分数值来自 Ultralytics 文档汇总口径,便于在同一硬件/导出设置下对齐比较)。(Ultralytics Docs)

表 2-1 代表性检测方法对比(公开基准口径示例)

方法 范式/家族 主要对齐数据集 关键改进点(概述) 优势与局限性(面向交通场景) 关键指标(示例) 更适合对应难点
YOLOv5u-n 单阶段,YOLO COCO 分裂检测头的工程化实现,强调速度与易用性 优:部署成熟、生态完善;限:小目标与遮挡场景仍依赖数据与训练策略 mAP(50–95)≈34.3@640;CPU ONNX≈73.6ms 边缘实时、快速迭代[12]
YOLOv6-N 单阶段,YOLO COCO 工业场景取向的结构与训练策略优化 优:极高帧率;限:高遮挡下仍需更强特征融合 AP≈37.5;T4≈1187FPS 高帧率视频流[13]
YOLOv8-n 单阶段,YOLO COCO Anchor-free 分裂头与多任务生态扩展 优:速度与精度均衡;限:跨域泛化需配合增强/迁移 mAP≈37.3@640;CPU ONNX≈80.4ms 尺度变化、工程部署[15]
YOLOv9-t 单阶段,YOLO COCO PGI 与 GELAN 提升梯度信息与层聚合效率 优:轻量下精度提升明显;限:训练策略与实现细节更敏感 mAP≈38.3@640;params≈2.0M 轻量端精度上限[16]
YOLOv10-n 单阶段,YOLO COCO NMS-free 与双分配策略,降低后处理时延 优:端到端低延迟;限:对匹配策略与训练细节依赖更强 AP≈38.5@640;T4 FP16≈1.84ms 低延迟在线推理[17]
YOLO11-n 单阶段,YOLO COCO 文档口径下的速度-精度再平衡 优:轻量端进一步提升;限:仍需任务数据适配 mAP≈39.5@640;T4≈1.5ms 轻量实时与稳定性[18]
YOLO12-n 单阶段,YOLO COCO “注意力中心”设计取向的结构演进 优:轻量端 mAP 继续抬升;限:复杂交通域移仍需再训练 mAP≈40.6@640;T4≈1.64ms 遮挡与背景干扰[19]
RT-DETR-R18 Transformer,DETR系 COCO 端到端 Transformer 检测,强调实时性 优:端到端无需 NMS;限:部署与加速链路更复杂 mAP≈46.5;T4≈4.58ms 高精度端到端方案[10]

在 YOLO 家族的技术演进中,从早期统一回归框架到后续的结构、分配与后处理优化,核心目标始终是提升实时性条件下的精度上限。YOLOX 通过更强的数据增强与训练策略,在当时推动了单阶段检测的性能边界,并强化了工程侧可复现的训练范式[11]。YOLOv5 作为工程化影响力极强的版本,在工业界形成了“模型训练—导出—部署”的成熟链路,并以开源生态降低了实际应用门槛[12]。YOLOv6 进一步面向工业应用强调速度与精度平衡,为高帧率视频流提供了更激进的效率选择[13]。在 Ultralytics 体系下,YOLOv8 明确采用 anchor-free 分裂头并扩展多任务能力,使得同一框架可覆盖检测、分割与姿态等任务形态,从而更利于构建统一的业务代码与评测体系[15]。

除 YOLO 外,Transformer 检测器以全局建模与端到端匹配为特点,DETR 以集合预测与二分图匹配改变了传统检测的后处理范式,但其早期版本在收敛速度与小目标上存在瓶颈[9]。Deformable DETR 通过稀疏可变形注意力在保持端到端框架的同时显著提升训练效率与多尺度特征利用能力,使其更贴近真实部署需求[10]。面向实时场景的 RT-DETR 则进一步讨论了端到端 Transformer 在速度与精度上的可达边界,并为“无需 NMS 的实时检测”提供了可参考路径[10]。在交通业务中,这类方法的价值往往体现在高精度与结构简洁的推理图上,但其部署链路对算子支持与加速后端更敏感,需要系统层面配套验证。

在“检测与计数”一体化研究中,主流做法通常将计数问题转化为多目标跟踪后的事件统计,即先用检测器在每帧输出候选框,再通过关联策略生成轨迹并在虚拟线圈/区域上进行出入计数,这能在一定程度上缓解单帧误检对统计的影响。SORT 以卡尔曼滤波与匈牙利匹配构建了轻量在线跟踪框架,适合与实时检测器组合形成可部署的计数流水线[20]。DeepSORT 在关联阶段引入外观特征度量以提升遮挡与交叉场景的身份一致性,对行人密集路口等场景更具优势[21]。ByteTrack 通过“关联所有检测框”增强了低分数检测的轨迹连接能力,在遮挡与低置信度波动下更易保持轨迹连续性,从而提升计数稳定性[22]。从系统趋势看,算法研究正与部署研究深度耦合,ONNX/TensorRT 导出、量化与轻量化结构设计越来越多地与评测指标一起被报告与比较,这也促使本文在桌面端系统中显式纳入延迟、导出与可追溯管理的工程指标。

2.3 要解决的问题及其方案

围绕“基于深度学习的行人车辆检测与计数桌面系统”,本文需要解决的关键问题可概括为:(1)检测与计数的准确性与实时性难以兼得,尤其在密集遮挡、夜间与逆光场景下误检漏检会被计数累积放大;(2)模型对道路监控域移与长尾分布的适应不足,跨相机、跨天气与跨城市场景下性能波动明显;(3)桌面端交互需要同时满足多源输入互斥切换、阈值实时可控、目标可解释可复核以及结果快速导出等综合体验要求;(4)批量处理的效率与数据安全性需要体系化设计,包括检测记录、导出文件与账户信息的本地化持久化与可追溯管理。

对应上述问题,本文的解决思路为:(1)以 YOLOv12 为核心候选模型,同时纳入 YOLOv5–YOLOv12 多版本对比,结合数据增强与迁移学习,在 mAP、F1、PR 与推理延迟等指标上进行统一评测,以获得更适配实时场景的模型选择;(2)在训练与推理链路中引入面向道路场景的增强与清洗策略,并通过跨场景验证与错误案例分析提升模型泛化;(3)采用 PyTorch 作为深度学习框架,使用 PySide6/Qt 构建桌面交互,支持图像、视频与本地摄像头输入互斥切换,并将 conf 与 IoU 阈值以滑块形式实时同步到推理参数,从而形成可控的交互闭环;(4)以本地 SQLite 完成登录注册与口令校验,并将检测结果以表格记录、CSV 导出与带框图像/视频导出统一编排,配合时间戳命名与序列缓存机制提升批量处理效率与可追溯性。

2.4 博文贡献与组织结构

本文的主要贡献体现在以下方面:(1)在面向交通监控的行人与车辆检测与计数任务上,结合实时性约束对 YOLO 家族与典型检测范式进行较系统的文献梳理,并明确各类方法对遮挡、小目标与域移问题的适配机理;(2)围绕 YOLOv5–YOLOv12 建立统一训练、推理与评测流程,采用 mAP、F1、PR 曲线与训练曲线等指标进行可复现对比,为实际选型提供依据;(3)实现一套以 PySide6/Qt 为核心的桌面端检测与计数工具,完成多源输入、阈值交互、目标高亮、记录与导出等功能闭环,并通过本地数据库管理账户与结果可追溯性;(4)从误检漏检与轨迹稳定性角度分析计数误差来源,给出面向复杂道路场景的工程优化建议,为后续轻量化部署与持续迭代提供可落地路径。

在文章组织上,后续章节将依次介绍:数据集处理与标注规范、YOLO 模型原理与关键组件、各版本 YOLO 的实验对比与结果分析、以及桌面端系统的分层设计与实现细节,最后总结系统效果并展望模型侧与系统侧的可扩展方向。


3. 数据集处理

本文已给出样例可视化、划分数量与类别映射,其余部分可在发布工程时随配置一同补全以保证可复现。数据集共 5542 张图像,按 2856/1343/1343 划分为训练、验证与测试集合,整体比例约为 51.5%/24.2%/24.2%,这种相对均衡的验证与测试规模更利于在模型对比中稳定估计泛化性能。类别体系面向交通与安防的常见目标,包含行人、自行车、小汽车、摩托车、公交车、卡车与火车 7 类,并在界面端以中文名呈现,便于导出记录与人工复核时快速理解统计口径。标签及其对应中文名如下:

Chinese_name = {'person': "行人", 'bicycle': '自行车', 'car': '小汽车', 'motorcycle': '摩托车',
                'bus': '公交车', 'truck': '卡车', 'train': '火车'}

在这里插入图片描述

从标注与分布特征看,本项目训练流程与 Ultralytics YOLO 的数据管线保持一致,因此默认采用 YOLO 系列常用的归一化框表达(中心点与宽高归一化到 ([0,1]) 区间),并在训练前统一将输入缩放到 640×640 以对齐推理侧预处理;从标注尺度相关的可视化可以观察到目标宽高分布呈现明显的“小目标占比高、少量大目标拉长尾”的特点,这与道路监控中远距离车辆、密集人群及遮挡并存的实际情况一致。结合样例拼图可见,场景覆盖白天与夜晚、室外开阔与遮挡边界、近景大目标与远景小目标混合等情况,意味着训练阶段需要同时兼顾尺度变化、运动模糊与光照扰动对检测与计数稳定性的影响。
在这里插入图片描述

在预处理与增强策略上,建议以“提升小目标可见性与跨域鲁棒性”为主线组织:对训练集采用随机缩放裁剪与平移以模拟不同拍摄距离,配合水平翻转与轻度颜色扰动以覆盖视角与曝光变化;对视频监控常见的拖影与抖动,可加入一定比例的运动模糊与噪声扰动;对密集与遮挡场景,可使用拼接类增强提升同帧目标密度,使模型在高拥挤度下仍能维持较好的召回。与此同时,验证与测试集应尽量保持“弱增强或仅尺度对齐”的原则,避免因过强数据扰动引入评测偏差,从而让后续 YOLOv5–YOLOv12 的 mAP、F1 与 PR 对比更能真实反映模型结构与训练策略差异带来的收益。


4. 模型原理与设计

本文面向“行人—车辆”检测与计数场景,核心建模任务仍是目标检测:在单帧图像中同时回归边界框并预测类别与置信度,随后在系统层将逐帧检测结果按类别聚合得到计数统计。考虑到道路与监控画面中常见的尺度跨度大、遮挡密集与光照变化,我们在模型侧优先选择单阶段 YOLO 系列的端到端推理范式,在 640×640 统一输入尺度下,通过多尺度特征与轻量后处理获得较高的实时性与稳定性;在本文默认主线中,YOLOv12 以“注意力为中心”的结构替代传统纯 CNN 的堆叠方式,在不显著牺牲延迟的前提下提升对拥挤场景与背景干扰的建模能力。(Ultralytics Docs)

从结构上看,YOLOv12 仍沿用“Backbone 提取语义特征—Neck 融合多尺度信息—Head 输出分类与回归”的整体脉络,但将关键计算从卷积强化为高效注意力与更易优化的特征聚合模块。其核心之一是 Area Attention:对特征图按区域划分(常用等分区域,默认可取 l = 4 l=4 l=4),在每个区域内计算缩放点积注意力
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}!\left(\frac{QK^\top}{\sqrt{d}}\right)V, Attn(Q,K,V)=Softmax!(d QK)V,
从而把全局注意力的二次复杂度由 O ( ( H W ) 2 ) O((HW)^2) O((HW)2) 近似压缩为 O ! ( ∑ i = 1 l n i 2 ) O!\left(\sum_{i=1}^{l} n_i^2\right) O!(i=1lni2),在等分情形 n i ! ≈ ! H W / l n_i!\approx! HW/l ni!!HW/l 时可理解为 O ( ( H W ) 2 / l ) O((HW)^2/l) O((HW)2/l),以更低的代价获得更大的有效感受野;与之配合的 R-ELAN 通过残差与更合理的特征汇聚路径缓解大模型优化难题,使注意力模块在训练中更易收敛并兼顾吞吐。检测头侧通常采用解耦思想,将分类与回归分支分离以减少梯度干扰,并在多尺度输出上同时覆盖远处小目标与近处大目标,有利于“行人/自行车”等小目标在复杂背景下的稳定检出。网络关键模块示意图如下图所示:(Ultralytics Docs)

在这里插入图片描述

在损失建模上,本文训练与推理沿用 YOLO 系列的多任务联合优化思路,将框回归、类别分类与置信度学习统一到同一目标函数中,常见形式可写为
L = λ box L ∗ iou + λ ∗ cls L ∗ cls + λ ∗ dfl L ∗ dfl , \mathcal{L}= \lambda_{\text{box}}\mathcal{L}*{\text{iou}}+\lambda*{\text{cls}}\mathcal{L}*{\text{cls}}+\lambda*{\text{dfl}}\mathcal{L}*{\text{dfl}}, L=λboxLiou+λclsLcls+λdflLdfl,
其中 L ∗ iou \mathcal{L}*{\text{iou}} Liou 通常基于 IoU 族损失刻画定位误差, L ∗ cls \mathcal{L}*{\text{cls}} Lcls 为分类分支的交叉熵或 BCE 类损失, L ∗ dfl \mathcal{L}*{\text{dfl}} Ldfl 则用于提升边界框离散回归的精细度。以 IoU 为基础量, I o U = ∣ B ∩ B ∗ ∣ ∣ B ∪ B ∗ ∣ \mathrm{IoU}=\frac{|B\cap B^*|}{|B\cup B^*|} IoU=BBBB,进一步可引入 CIoU 与 EIoU 等改进项来同时约束中心距离与宽高匹配,例如
L ∗ CIoU = 1 − I o U + ρ 2 ( b , b ∗ ) c 2 + α v , L ∗ EIoU = 1 − I o U + ρ 2 ( b , b ∗ ) c 2 + ( w − w ∗ ) 2 c w 2 + ( h − h ∗ ) 2 c h 2 , \mathcal{L}*{\text{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^*)}{c^2}+\alpha v,\quad \mathcal{L}*{\text{EIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^*)}{c^2}+\frac{(w-w^*)^2}{c_w^2}+\frac{(h-h^*)^2}{c_h^2}, LCIoU=1IoU+c2ρ2(b,b)+αv,LEIoU=1IoU+c2ρ2(b,b)+cw2(ww)2+ch2(hh)2,
其中 b , b ∗ \mathbf{b},\mathbf{b}^* b,b 为预测与真值框中心点, ρ ( ⋅ ) \rho(\cdot) ρ() 表示欧氏距离, c c c 为最小外接框对角线长度, w , h w,h w,h w ∗ , h ∗ w^*,h^* w,h 为预测与真值宽高, α v \alpha v αv 则刻画长宽比一致性项;这些设计对“车辆相互遮挡、行人细长目标、远距离小框”这类定位不稳定问题更敏感,能提升收敛后的边界框质量。

训练与推理策略上,YOLOv12 在注意力引入后更强调“效率与稳定性”的平衡:一方面可结合高效注意力实现(如 FlashAttention)降低显存访问开销,使注意力模块更贴近实时推理需求;另一方面在归一化与模块堆叠深度上进行取舍,以避免注意力堆叠导致的训练不稳与 CPU 端吞吐下降。落到本文系统的在线检测流程中,推理阶段会对输出候选框按置信度阈值过滤,并通过 NMS 等后处理抑制重复框,阈值(Conf/IoU)在界面侧可实时调节,从而在“漏检更少”与“误检更少”之间快速切换;计数统计则建立在“稳定的逐帧检测结果”之上,并通过统一的类别映射与可视化叠框输出,保证不同模型权重热切换时仍能维持一致的业务语义与可追溯结果。(Ultralytics Docs)


5. 实验结果与分析

本章实验旨在验证不同 YOLO 版本在“行人/车辆 7 类检测与计数”任务中的精度–速度权衡,并为桌面端部署给出可操作的选型依据。实验在 NVIDIA GeForce RTX 3070 Laptop GPU(8GB)上完成推理计时,统计端到端耗时由预处理、推理与后处理三部分构成;精度侧采用 Precision、Recall、F1、mAP@0.5 与 mAP@0.5:0.95 作为主指标,其中 mAP@0.5 更贴近“检出是否稳定”,而 mAP@0.5:0.95 对定位质量更敏感,通常更能反映遮挡与密集目标下的框回归能力。

表 5-1 汇总了轻量组(n/tiny)与中等规模组(s/标准)对比结果。轻量组中,YOLOv9t 在 Recall=0.524 与 F1=0.596 上领先,同时 mAP50=0.586 为该组最高,但其 InfTime=16.51ms 使端到端耗时约 19.67ms(约 50.8 FPS),更适合“精度优先、仍需实时”的场景;若以吞吐为先,YOLOv8n 与 YOLOv6n 的 InfTime 分别为 6.83ms 与 6.78ms(端到端约 10ms、接近 100 FPS),其中 YOLOv8n 的 F1=0.577、mAP50=0.551 在高速度条件下仍保持较强的综合表现,适合作为默认部署模型。值得注意的是,YOLOv10n 的 Precision=0.707 为轻量组最高,但 Recall=0.499 相对偏低,说明其更“保守”,在计数任务中可能带来“欠计数”风险,需要结合阈值与业务偏好进行再平衡。

表 5-1 各模型精度、复杂度与端到端耗时对比(RTX 3070 Laptop GPU,单位:ms)

组别 Model Params(M) FLOPs(G) Pre Inf Post Precision Recall F1 mAP50 mAP50-95
n YOLOv5nu 2.6 7.7 1.90 7.73 1.31 0.661 0.481 0.557 0.535 0.342
n YOLOv6n 4.3 11.1 2.17 6.78 1.39 0.630 0.482 0.546 0.512 0.326
n YOLOv7-tiny 6.2 13.8 2.28 14.74 4.06 0.685 0.459 0.549 0.510 0.286
n YOLOv8n 3.2 8.7 1.95 6.83 1.39 0.698 0.492 0.577 0.551 0.362
n YOLOv9t 2.0 7.7 1.87 16.51 1.29 0.691 0.524 0.596 0.586 0.393
n YOLOv10n 2.3 6.7 2.08 11.24 0.63 0.707 0.499 0.585 0.557 0.368
n YOLOv11n 2.6 6.5 2.11 9.44 1.42 0.671 0.524 0.589 0.575 0.377
n YOLOv12n 2.6 6.5 1.91 12.47 1.37 0.666 0.511 0.578 0.567 0.373
s YOLOv5su 9.1 24.0 2.28 8.45 1.51 0.692 0.538 0.606 0.598 0.385
s YOLOv6s 17.2 44.2 2.22 8.59 1.45 0.645 0.494 0.559 0.534 0.340
s YOLOv7 36.9 104.7 2.44 23.62 3.46 0.780 0.596 0.676 0.660 0.446
s YOLOv8s 11.2 28.6 2.31 7.66 1.42 0.716 0.532 0.610 0.596 0.394
s YOLOv9s 7.2 26.7 2.12 18.66 1.39 0.732 0.542 0.623 0.621 0.426
s YOLOv10s 7.2 21.6 2.21 11.38 0.60 0.710 0.526 0.604 0.601 0.404
s YOLOv11s 9.4 21.5 2.37 9.74 1.36 0.708 0.550 0.620 0.609 0.407
s YOLOv12s 9.3 21.4 2.09 13.23 1.42 0.674 0.543 0.601 0.589 0.393

从中等规模组看,YOLOv7 以 F1=0.676、mAP50=0.660、mAP50-95=0.446 取得最佳精度上限,尤其在更严格的 mAP50-95 上优势明显,说明其定位质量与困难样本处理能力更强;但其推理时间 23.62ms、端到端约 29.52ms(约 33.9 FPS),在多路视频或高帧率实时场景中压力较大。综合“精度与效率”,YOLOv11s 与 YOLOv8s 的端到端耗时约 13.47ms(74 FPS)与 11.39ms(88 FPS),同时 F1 均在 0.61 左右,较适合作为“桌面端实时预览 + 可接受精度”的折中选择;若更看重 mAP50,YOLOv9s 的 mAP50=0.621 为该组(除 YOLOv7 外)最高,但其 InfTime=18.66ms 使实时性明显回落,更适合单路或离线批处理。另一个工程细节是 YOLOv10 系列的 PostTime 显著偏低(0.63ms/0.60ms),这会直接改善视频流场景下的整体吞吐,对“边推理边渲染”的桌面端体验更友好,但其精度收益需要结合数据分布与阈值进一步验证。

在这里插入图片描述
在这里插入图片描述

上图给出了轻量组与中等规模组的 F1 与 mAP50 对比,可直观看到:轻量组内部差距相对收敛,YOLOv9t/YOLOv11n 在“召回与综合质量”上更占优;中等规模组的差距更明显,YOLOv7 拉高了精度上限,而 YOLOv8s/YOLOv11s 提供了更稳健的实时折中。

进一步结合 PR 曲线、F1-Confidence 曲线与混淆矩阵,可以更具体地解释“为什么会这样”。
在这里插入图片描述

从类别级 PR 结果看,train 与 bus 的 AP 较高(分别约 0.757 与 0.716),person 处于中上水平(约 0.660),而 bicycle 与 truck 偏低(约 0.436 与 0.379),这通常意味着两类问题:其一是目标在画面中尺度更小或更易被遮挡(如自行车与卡车在远景、夜间或车流交叠时更容易被背景吞没),其二是样本量与外观多样性不足导致的长尾与域移。
在这里插入图片描述

混淆矩阵也反映出 truck 更容易与相近外观的车辆类别互相混淆,car 的错误主要集中在与其他车辆类的边界上,这会直接影响“按细粒度类别计数”的可靠性;因此若业务更关心“人流/车流总量”,将车辆类合并为 coarse-grained 的 vehicle 往往能显著降低统计波动,而若必须输出细分车型计数,则更推荐对 truck/bicycle 做定向增广(拷贝粘贴、尺度抖动、夜间增强)并补充典型误检场景样本。
在这里插入图片描述

F1-Confidence 曲线显示全类最优点约出现在置信度 0.36 左右(F1≈0.60),这对桌面端默认阈值具有直接指导意义:若系统初始 conf 过低会引入更多低质量框导致“过计数”,过高则会漏掉小目标导致“欠计数”,实践中可将默认 conf 设在 0.30–0.40 区间,并在视频计数场景配合 IoU 与目标高亮复核来稳定统计口径。
在这里插入图片描述

最后从训练曲线与验证指标收敛形态看,mAP50 在前期快速上升、随后进入平台期,说明模型主要收益来自早期对基础外观与几何先验的学习;而验证损失在中后期趋于平稳甚至略有回升,提示继续单纯延长训练轮次的边际收益有限,更有效的提升通常来自“数据侧补强 + 难例重采样 + 更贴近场景的增强策略”。综合本文结果,如果目标是桌面端单路实时检测与计数,博主更倾向于以 YOLOv8n(轻量、吞吐高)或 YOLOv11s(折中、稳定)作为默认配置;若是离线批处理追求最高精度与更强的定位质量,则 YOLOv7 或 YOLOv9s 更具优势,但需预留更充足的推理预算与存储带宽。


6. 系统设计与实现

6.1 系统设计思路

本系统采用分层架构组织桌面端检测与计数的全链路能力,将“表现与交互层(Qt 客户端)—业务与会话管理层—推理与任务调度层—数据持久化层”解耦为清晰的职责边界。表现与交互层以 PySide6/Qt 为核心,围绕“左侧源与阈值控制—中央检测画面—右侧目标详情—底部记录与进度条”的布局闭环承载可视化与操作反馈;业务与会话管理层负责输入源互斥、阈值与模型选择状态的一致性维护,以及导出编排与历史记录索引;推理与任务调度层以事件驱动帧流为主线,将图片/视频/摄像头统一抽象为帧序列任务,串联预处理、YOLO 推理与后处理;数据持久化层则将账户、配置与检测记录写入本地数据库,并对导出文件与日志进行归档管理,从而保证实验可追溯与系统可审计。

跨层协同的关键在于“多源输入的一致预处理与参数同步”。系统将输入帧统一缩放到 640×640 并进行归一化与张量转换,使训练与部署端的尺度假设对齐;推理阶段支持 YOLOv5–YOLOv12 多模型与权重热切换,后处理以 Conf/IoU 阈值过滤与 NMS 抑制重复框,并在坐标还原后将 {类别、位置、置信度、用时} 等结构化信息回流到界面端。为降低用户在实时调参与源切换时的认知负担,系统将阈值滑块、目标高亮选择与统计信息绑定为同一交互闭环,使“参数变化—画面变化—表格记录变化”在同一帧周期内完成一致更新。

实时性与一致性保障主要体现在任务调度与状态互斥两方面:视频与摄像头采用事件驱动的帧流处理,避免阻塞式读取导致界面卡顿;当用户切换源或切换模型时,系统在业务层先完成任务取消与资源释放,再启动新的帧流任务,从而避免不同输入源竞争同一推理资源。扩展性方面,权重热切换、统计与导出、主题与配置本地化均以“可插拔组件 + 统一数据契约”实现,使后续引入更多模型、更多导出格式或更细粒度计数策略时,不需要破坏既有交互与数据链路;异常恢复则通过任务级失败隔离与日志记录降低单帧异常对整体流程的影响。

在这里插入图片描述

图 6-1 系统流程图
图注:系统自初始化进入多源输入处理,完成 640×640 预处理、YOLO 推理与后处理,并将结果同步到界面叠框显示;在“继续获取下一帧”的控制分支中形成循环闭环,同时突出 Conf/IoU 滑块、目标高亮、CSV/PNG/AVI 导出与时间戳命名的可追溯机制。

在这里插入图片描述

图 6-2 系统设计框图
图注:框图划分为四层:Qt 客户端负责可视化与交互;业务与会话层负责源互斥、参数与记录编排;推理与调度层负责帧流接入、推理与后处理;数据层负责账户与记录入库、导出与归档,数据流与控制流通过统一的数据契约在层间传递。

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 杨伟, 杜学峰, 张勇, 高越. 基于深度学习的车辆目标检测算法综述[J]. 智能网联汽车, 2022(2): 24-26.
[2] YU F, CHEN H, WANG X, et al. BDD100K: A Diverse Driving Dataset for Heterogeneous Multitask Learning[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.
[3] LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO: Common Objects in Context[C]//European Conference on Computer Vision. Cham: Springer, 2014.
[4] REDMON J, DIVVALA S, GIRSHICK R, FARHADI A. You Only Look Once: Unified, Real-Time Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.
[5] REN S Q, HE K M, GIRSHICK R, SUN J. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[C]//Advances in Neural Information Processing Systems. 2015.
[6] LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot MultiBox Detector[C]//European Conference on Computer Vision. Cham: Springer, 2016.
[7] LIN T Y, GOYAL P, GIRSHICK R, et al. Focal Loss for Dense Object Detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017.
[8] TIAN Z, SHEN C, CHEN H, HE T. FCOS: Fully Convolutional One-Stage Object Detection[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.
[9] CARION N, MASSA F, SYNNAEVE G, et al. End-to-End Object Detection with Transformers[C]//European Conference on Computer Vision. Cham: Springer, 2020.
[10] ZHU X, SU W, LU L, et al. Deformable DETR: Deformable Transformers for End-to-End Object Detection[C]//International Conference on Learning Representations. 2021.
[11] GE Z, LIU S, WANG F, et al. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021.
[12] JOCHER G. Ultralytics YOLOv5[EB/OL]. Zenodo, 2020. DOI:10.5281/zenodo.3908559.
[13] LI C, LI L, JIANG H, et al. YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications[EB/OL]. arXiv:2209.02976, 2022.
[14] 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.
[15] ULTRALYTICS. Explore Ultralytics YOLOv8[EB/OL]. Ultralytics YOLO Docs, 2023.
[16] ULTRALYTICS. YOLOv9: A Leap Forward in Object Detection Technology[EB/OL]. Ultralytics YOLO Docs, 2024.
[17] ULTRALYTICS. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. Ultralytics YOLO Docs, 2024.
[18] ULTRALYTICS. YOLO11[EB/OL]. Ultralytics YOLO Docs, 2024.
[19] ULTRALYTICS. YOLO12[EB/OL]. Ultralytics YOLO Docs, 2025.
[20] BEWLEY A, GEVERS R, OTT L, et al. Simple Online and Realtime Tracking[C]//2016 IEEE International Conference on Image Processing. 2016.
[21] WOJKE N, BEWLEY A, PAULUS D. Simple Online and Realtime Tracking with a Deep Association Metric[C]//2017 IEEE International Conference on Image Processing. 2017.
[22] ZHANG Y, SUN P, JIANG Y, et al. ByteTrack: Multi-Object Tracking by Associating Every Detection Box[C]//European Conference on Computer Vision. Cham: Springer, 2022.

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐