最新YOLO实现的远距离停车位实时检测平台(Flask+SocketIO+HTML_CSS_JS)
摘要
本博文面向“远距离停车位实时检测”场景,基于最新 YOLO 实现构建 Flask + Flask-SocketIO + HTML/CSS/JS 的 Web 网页界面,在城市路侧与园区高点俯拍条件下,对远距小目标车位占用与空闲状态进行毫秒级推理与可视化展示。系统支持 图片/视频/浏览器摄像头 三类输入,提供 即时双画面对比(原图 vs. 检测图)、进度控制(播放/暂停/继续/停止/拖拽)、CSV 导出、带框结果一键下载、SQLite 入库 与可选 登录/注册(可跳过) 的会话管理;并允许 模型选择/权重上传,即插即用切换 YOLOv5–YOLOv12(共 8 种)检测器。算法侧统一对比 mAP、F1、PR 曲线、训练曲线 等指标,并给出不同分辨率与延迟的工程权衡;前后端通过 WebSocket 实时推送检测帧、统计与日志,支持批量导出与溯源。平台面向落地部署,适配路侧摄像头与低算力边缘盒子,附带可运行的 Web 网页界面实时演示 与脚本。文末提供完整工程与数据集下载链接,便于读者复现实验与二次开发。
讲解视频地址:基于深度学习的停车位检测系统(Web系统+完整项目分享+数据集+多YOLO模型)
@
➷点击跳转至文末所有涉及的完整代码文件下载页☇
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck55xbA==
说明论文下载:https://mbd.pub/o/bread/YZWck5xpZA==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmppqZQ==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5ppaQ==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5hvZA==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9vaA==
安装与教程文档:https://deeppython.feishu.cn/wiki/OJxgwd6d7iVczyklmNDcX5xynFg
1. 网页功能与效果
(1)登录注册:提供登录、注册与一次性跳过三种入口,会话在当前浏览器与设备内生效;密码以哈希存储,敏感操作二次确认。首次进入会引导完成基础配置与权限校验,支持后续从个人中心修改头像与口令。

(2)功能概况:平台围绕图片、视频与浏览器摄像头三类输入组织流程,默认以原图/检测图双画面对比展示结果。内置进度与播放控制、CSV 导出、带框结果一键下载与 SQLite 入库,检测记录跨页共享以便检索与溯源。

(3)视频检测:采用同步双帧推送,保证原始与标注帧时间一致;提供进度拖拽、暂停、继续与停止控制。支持实时调节 Conf/IoU 与类别筛选,并将缓冲区直接导出为 MP4,兼顾长视频审阅与片段留存。

(4)更换模型:上传权重即可热切换当前 YOLO 模型,类别与阈值选项同步刷新且本地持久化。路径规范跨平台兼容,数据库自动迁移保障升级不丢历史数据;导出结果集中管理,支持批量下载与文件名高亮定位。

(5)概览界面:首页汇总最近任务、关键统计与告警,支持按时间与来源筛选并一键跳转到对应检测页。博主在此可快速恢复上次会话、查看延迟与帧率概况,结合记录索引实现从概览到细节的高效导航。

2. 绪论
2.1 研究背景与意义
远距离停车位实时检测面向路侧与园区的高点俯拍与大视场监控,受“小目标、弱纹理、密集遮挡、强反光与长尾分布”影响,检测器需要在多尺度表征与鲁棒性之间取得平衡[1]。(CJIG)在复杂城市环境与昼夜/季节变化下,训练–推理环节还需应对光照漂移、动态遮挡与背景相似度提升带来的误检漏检风险[2]。(Researching)从算法范式看,去除后处理NMS的端到端检测(如DETR家族)在延迟稳定性上具备优势,为浏览器/边缘端的实时闭环提供了可能[3]。(arXiv)其中RT-DETR在T4上实现R50模型53.1 AP与108 FPS,兼顾精度与吞吐,体现出端到端范式在“稳态时延”上的工程价值[4]。(arXiv)落地层面,TensorRT 等推理加速工具链与ONNX Runtime Web(WebGPU)显著降低端到端延迟并便于跨端部署[5–6]。(NVIDIA Docs)浏览器侧通过WebRTC实现低时延视频采集与控制通道,便于构建“摄像头—推理—可视化—导出”的实时闭环[7]。(W3C)在实时检测生态中,YOLO家族长期兼顾速度与精度,是远距小目标与视频流场景的工程首选之一[8]。(arXiv)
2.2 国内外研究现状
围绕停车位与路侧俯拍的“小目标+视频流”复合场景,研究共识集中在多尺度特征、解耦头、动态分配与IoU族损失等策略以提升小目标召回与定位稳定性,并以端到端范式降低时延抖动[1]。(CJIG)DETR将目标检测表述为集合预测并通过匈牙利匹配实现端到端训练,省去手工设计的NMS与锚框,使系统结构更简洁但对收敛与算力提出要求[3]。(arXiv)RT-DETR通过混合编码器与不确定性最小查询在COCO上取得53.1 AP/108 FPS(T4),在“高FPS+稳定时延”方向上验证了端到端检测的可行性[4]。(arXiv)与此同时,工程落地日益依赖推理加速与浏览器端执行后端以缩短感知–交互闭环,形成“边缘–云–端”协同部署新范式[5–7]。(NVIDIA Docs)
YOLO系列在v7到v12期间围绕解耦检测头、标签分配、结构高效化与训练–推理一体化持续演进,并保持良好的部署生态与开源可达性[8]。(arXiv)v8进一步完善了解耦头与数据增强策略,成为近年定制开发的常见起点[9]。(Ultralytics Docs)v9以GELAN与PGI在结构与梯度利用上提升精度–效率权衡[10]。(arXiv)v10提出一致的双重分配并实现NMS-free训练,在同等精度下相较RT-DETR具备显著速度优势,适合时延敏感的视频检测[11]。(arXiv)Ultralytics发布的YOLO11在架构与训练细节上继续迭代以覆盖更广的部署谱系[12]。(Ultralytics Docs)最新的YOLOv12以注意力为中心的实时设计,在T4环境下报告小型模型40.6% mAP与1.64 ms延迟,为远距小目标的长程依赖建模提供了新的方向[13]。(arXiv)
除YOLO与端到端Transformer外,经典两阶段与单阶段非YOLO方法在特征金字塔、损失函数与样本分配等方面提供了可复用的模块与经验。例如Faster R-CNN通过RPN共享特征在VOC/COCO上建立高精度基线但延迟较高[14]。(arXiv)RetinaNet提出Focal Loss以缓解前景–背景不均衡并在COCO上取得39.1 AP[15]。(arXiv)SSD以多层默认框实现58 FPS级的实时推理并在VOC07上取得72.1–75.1% mAP[16]。(arXiv)EfficientDet 通过BiFPN与复合缩放在D7模型上达52.2 AP并保持较高效率[17]。(arXiv)Anchor-free方法如FCOS与CenterNet在样本分配与几何建模上简化设计并保持较好速度–精度权衡[18–19]。(arXiv)
在工业级实时检测方面,YOLOX将YOLO转为Anchor-free并采用解耦头与SimOTA,L规模在V100上达50.0 AP@68.9 FPS,强调“精度–吞吐”的工程均衡[20]。(arXiv)PP-YOLOE-L在COCO test-dev达51.4 mAP、V100上78.1 FPS,TensorRT FP16可达约149.2 FPS,验证了“算法–部署”协同优化的收益[21]。(arXiv)面向停车位/泊车垂直领域,国内研究已在AVM与路侧视频上验证“改进YOLO+轻量化/量化/蒸馏+TRT/ONNX”的有效性,为本文平台的落地提供可迁移经验与复现实证[22–23]。(Wanfang Data)
表1 与本文任务相关的代表性检测器对比(指标为论文报告或文档声明)
| 方法 | 范式/家族 | 数据集 | 关键改进 | 优势与局限 | 关键指标(示例) | 适用场景/难点 | 引用 |
|---|---|---|---|---|---|---|---|
| Faster R-CNN | 两阶段 | VOC/COCO | RPN共享特征 | 精度强、延迟高 | ≈5 FPS(VGG-16) | 高精度基准 | 14 |
| RetinaNet | 单阶段 | COCO | Focal Loss | 抗类不均衡、速度中等 | 39.1 AP | 类不均衡 | 15 |
| SSD | 单阶段 | VOC/COCO | 多特征层默认框 | 极快、对小目标一般 | 58 FPS;72.1–75.1% mAP(VOC07) | 资源受限 | 16 |
| EfficientDet-D7 | 单阶段 | COCO | BiFPN+复合缩放 | 高效可伸缩 | 52.2 AP | 多尺度小目标 | 17 |
| FCOS | Anchor-free | COCO | 每像素预测 | 结构简洁、去锚框 | 44.7% AP(R-X101) | 去锚框范式 | 18 |
| CenterNet | Anchor-free | COCO | 中心点回归 | 高速变体可达142 FPS | 28.1% AP@142 FPS | 超高FPS场景 | 19 |
| YOLOX-L | YOLO系 | COCO | SimOTA+解耦头 | 速度–精度均衡 | 50.0 AP@68.9 FPS(V100) | 工程部署 | 20 |
| PP-YOLOE-L | YOLO系 | COCO | CSPRepRes+ET-Head+TAL | 工业SOTA、部署友好 | 51.4 mAP;78.1 FPS;TRT FP16 149.2 FPS | 实时工业场景 | 21 |
| YOLOv7 | YOLO系 | COCO | 可训练BoF/BoS整合 | 实时精度强 | 56.8% AP(V100≥30 FPS) | 实时检测 | 8 |
| RT-DETR-R50 | 端到端Transformer | COCO | 混合编码器+查询选择 | 去NMS、稳延迟 | 53.1 AP/108 FPS(T4) | 时延稳定 | 4 |
| YOLOv10-S/X | YOLO系(NMS-free) | COCO | 双分配+整体效率 | 同精度更快 | 对RT-DETR最多1.8×速度 | 视频时延敏感 | 11 |
| YOLOv12-N | YOLO系(注意力中心) | COCO | 注意力高效化 | 小模型高AP、低延迟 | 40.6% mAP/1.64 ms(T4) | 远距小目标 | 13 |
2.3 要解决的问题及其方案
(1)检测准确性与实时性:远距俯拍下目标极小且易遮挡,需要在高分辨率与低延迟之间取得动态平衡[1]。(CJIG)方案:以YOLOv12为核心对比YOLOv5–YOLOv11与RT-DETR,结合解耦头、动态标签分配与IoU族损失,配合TensorRT/ONNX加速实现“高mAP、稳FPS、低抖动”[11,5–6]。(arXiv)
(2)环境适应与泛化:跨时段/天气/相机位姿的域移导致召回波动,需要增强鲁棒性与数据闭环[2]。(Researching)方案:采用多尺度与光照/遮挡增强、迁移学习与半监督采样,并在Web端形成数据反馈闭环以迭代样本集与阈值策略[7]。(W3C)
(3)Web端交互与可追溯:需要“原/检双画面+同步双帧”的时序一致呈现,且提供CSV/带框导出与入库溯源[22–23]。(Wanfang Data)方案:基于Flask+SocketIO+HTML/CSS/JS构建“进度控制/类别筛选/阈值调节/一键下载”,结果入SQLite并预留迁移能力,浏览器端启用WebGPU/WebRTC以降低端到端时延[6–7]。(ONNX Runtime)
(4)工程部署与稳定性:边缘盒子/中小服务器需在受限算力下稳定运行,要求精简算子与混合精度推理[5]。(NVIDIA Docs)方案:采用ONNX/TensorRT图优化、FP16/INT8量化、批/流式统一队列与异常重试,结合NMS-free的YOLOv10/端到端RT-DETR减少时延抖动[11,4]。(arXiv)
2.4 博文贡献与组织结构
本文面向“远距离停车位实时检测”系统,贡献包括:提出一套YOLOv5–YOLOv12/RT-DETR统一评测与部署实践,明确远距小目标的视频检测难点与工程指标;提供Flask+SocketIO的Web端双画面与同步双帧交互,覆盖进度控制、CSV/带框导出与SQLite入库;给出TensorRT/ONNX/WebGPU/WebRTC的端到端加速与低时延闭环实现要点;整理停车位垂直领域的代表性研究与对比表以支撑复现与二次开发。全文组织为:第3章数据集处理;第4章模型原理与设计(以YOLOv12为主线);第5章实验结果与分析(含对比图表与可下载素材);第6章系统设计与实现(Mermaid流程与框图、登录流程图);第7章结论与未来工作。
3. 数据集处理
本研究采用路侧与园区高点俯拍的停车位占用数据集,共 12,415 张高分辨率图像,按照既定划分用于训练 8,690 张、验证 2,483 张与测试 1,242 张,对应约 70%/20%/10% 的比例;本文直接沿用该划分进行模型训练与评测,并在复现实验时建议固定随机种子(如 42)保持结果稳定。标注采用 YOLO 格式的归一化边界框 ((c_x,c_y,w,h)),从您提供的成对散点/直方图可见 (x) 近似均匀、(y) 呈条带式多峰分布,反映出成排车位的俯拍布局;宽高分布明显右偏,大多数目标满足 (w<0.08,\ h<0.12),属于远距小目标范畴,且不同车场景致使尺度方差增大与遮挡频发。类别共 2 个,分别为 space-empty(空车位) 与 space-occupied(已泊车),中文名称映射用于前端显示与统计汇总;您给出的多图拼贴样例显示在复杂背景、树荫与强反光条件下,两类框密集分布并伴随少量相互遮挡,提示需要在训练中显式关注小目标与光照变化带来的召回波动与误检风险。
Chinese_name = {'space-empty': "空车位", 'space-occupied': "已泊车"}

针对上述特性,数据预处理阶段采用按长边缩放并保持 16:9 纵横比的 letterbox 策略以减少几何形变,同时对超大图像提供可选 滑窗裁剪(例如 1280×720、重叠 20–30%)以提升小目标的有效像素占比;样本清洗环节剔除空标注或极小框(原图尺度下短边 < 3 px)的异常标注,并对近似重复图以 SSIM 去重以降低过拟合风险。增强策略围绕“远距小目标+强光照变化+遮挡”三类难点展开:使用随机多尺度训练、HSV/亮度对比度抖动与 CLAHE 抗反光、运动模糊与随机遮挡模拟行人/树枝遮挡、轻度透视与仿射变换适配俯拍视角变化;在类别可能不均衡或时段差异明显的场景下启用 Focal Loss/类别重加权 或 Repeat-Resampling,并结合 MixUp/Mosaic 控制比例以避免小目标被过度覆盖。为保障评测可追溯,训练与验证集保持地点与时间尽量独立(若新增自采数据,建议按摄像头/地块分组划分以避免信息泄漏),并在导出阶段同步写入 CSV/SQLite 元数据(文件名、时间戳、类别计数、图像源与增强流水线)以支撑后续 Web 端的检索、批量导出与溯源。

4. 模型原理与设计
本系统以 YOLOv12 的实时检测范式为主线,采用“骨干—颈部—解耦检测头”的单阶段、Anchor-free 结构来适配远距离俯拍下的小目标高密度与复杂光照场景。骨干负责从高分辨率航拍图中提炼多尺度语义,颈部进行跨层特征融合,解耦头分别学习分类与回归,从而缓解小目标上的梯度耦合与定位抖动。与两阶段方法不同,单阶段在一次前向中完成候选与回归,显著降低端到端延迟;与传统 Anchor-based 不同,Anchor-free 在远距小目标上减少不必要的先验超参,并配合动态标签分配在密集区域获得更稳的正负样本匹配。结合本任务的小框分布(多数 (w<0.08,h<0.12)),我们在训练中采用高分辨率输入+多尺度训练,并在推理端通过可控阈值(Conf/IoU)与同步双帧渲染保证网页前端的稳定交互与可解释性。
结构上,骨干网络使用 CSP 风格的层次化残差单元以控制参数量与显存占用,并在高语义、低分辨率的阶段引入局部窗多头自注意(W-MHSA)以增强长程依赖对远距车位线性排布的建模。注意力的核心计算为
其中 (Q,K,V) 分别由输入特征线性映射得到,(d_k) 为键向量维度;多头形式将通道分割为若干子空间以并行建模不同的相关性。颈部采用PAN/BiFPN式自顶向下与自底向上融合,并配以跨尺度通道注意(例如 ECA/SE),以提升小目标在上采样路径中的可分性与背景抑制能力。检测头为解耦头:分类分支与回归分支各由轻量卷积堆叠组成,并在最后结合分布式边界回归(DFL)或 IoU 质量分支,减少定位与分类的梯度冲突,适配“车位边界细且规则”的几何属性。网络整体架构图如下图所示:

损失与任务建模方面,回归使用 IoU 家族以提升高 IoU 段的收敛与稳定性。基本交并比为
其中 (B) 为预测框,(B^{*}) 为真值框。广义 IoU 为
(C) 为同时包络 (B) 与 (B^{*}) 的最小外接矩形,用于在无交集时提供有效梯度。CIoU 在距离与纵横比上进一步约束:
其中 (b,b^{*}) 为框中心点,(\rho(\cdot)) 为欧氏距离,(c) 为外接矩形对角线长度,(\alpha) 为自适应权重;EIoU 则将宽高差分解为显式项以加速尺度回归:
(w_c,h_c) 为外接矩形的宽与高。分类与目标存在性采用 Focal Loss 抑制类间不均衡与易负样本:
其中 (p_t) 为正类或负类置信度,(\alpha_t) 为类别权重,(\gamma) 控制难样本聚焦强度。正负样本匹配使用 动态标签分配(如 SimOTA/TAL),其代价可写为
其中 \((\lambda*{1,2,3})\) 为权重,\((\mathrm{BCE})\) 为二元交叉熵;通过候选筛选与局部 Top-k 选择,使密集车位区域的匹配更稳,从而提升召回。
训练与正则化方面,采用 Cosine 学习率调度与 Warm-up 以避免早期震荡,配合 EMA 权重滑动平均提升泛化;数据侧使用 Mosaic/MixUp 的轻配比版本,结合色彩与光照抖动、随机遮挡与轻微透视变换以贴近“树荫/反光/遮挡”的真实分布。推理端默认 FP16 混合精度并导出 ONNX/TensorRT,在 Web 侧提供可调的 Conf/IoU 门限与 类别筛选,以满足不同车场密度与误报容忍度的运营需求;视频流采用同步双帧渲染(原始帧与绘制帧同时间戳)与批—流一体的后处理队列,默认 NMS 或 端到端(NMS-free) 两种路径可切换。若面向更极限的边缘设备,可启用 通道剪枝/蒸馏/INT8 量化与分辨率自适应,在不牺牲关键召回的前提下进一步压缩延迟。整体上,上述设计围绕“长程依赖+多尺度融合+稳定匹配+低延迟部署”四个维度对远距离停车位检测的核心难点逐一对齐,并与网页交互端的参数联动形成可解释的闭环。
5. 实验结果与分析
本节在 NVIDIA GeForce RTX 3070 Laptop GPU(8GB) 上,对 YOLOv5–YOLOv12 的轻量(n 系列)与小型(s 系列)模型进行统一评测。评测口径包含:端侧 预处理(PreTime)+ 推理(InfTime)+ 后处理(PostTime) 的端到端时延、Precision/Recall/F1、mAP@0.5(mAP50)与 mAP@[0.5:0.95]。从混淆矩阵与 PR/F1-Confidence 曲线可见:单类“person/行人”在当前阈值下 误检极低、漏检为主要误差来源;F1 随置信度在 0.36 左右达到峰值(≈0.89),据此博主在网页端默认将 Conf 初始化为 0.36–0.38,IoU 建议 0.5,以在拥挤与半身目标上取得更稳健的召回。训练过程中 mAP50 在 20–30 epoch 即进入平台区,80–100 epoch 收敛更平滑,验证集曲线与训练曲线基本同向,无明显过拟合迹象(如上图所示的各类曲线)。

就 速度—精度 权衡而言,n 系列整体 mAP50 介于 0.932–0.945,F1 介于 0.882–0.890;其中 YOLOv8n 在 端到端 10.17 ms(≈98.3 FPS) 下取得 mAP50=0.9447 / F1=0.8899,是“高 FPS + 稳定精度”的优选;YOLOv7-tiny 的精度接近但 PostTime 明显偏高(4.06 ms),拥挤场景下 NMS 成本上升导致端到端时延 21.08 ms。YOLOv10n 的 PostTime=0.63 ms 体现出 NMS-free/轻后处理的优势,但其骨干/解码开销使整体时延 13.95 ms,F1 略低于 v8n;YOLOv12n 在 F1 上与 v8n 接近,推理时间中等,适合对稳定性有要求的多路部署。

s 系列在相近显存下提升了上限:YOLOv9s mAP50=0.9468(最高),但端到端 22.17 ms;YOLOv7(s) 的 F1=0.8964(最高),代价是 29.52 ms 的总时延;若追求“高精度且可近实时”,YOLOv8s(11.39 ms,mAP50=0.9395) 与 YOLOv11s(13.47 ms,mAP50=0.9408) 是均衡之选。

误检/漏检分析:归一化混淆矩阵表明“背景→person”的误判极少,而“person→背景”约占个位数比例;结合拼贴样例,主要发生在 强背光、局部遮挡、远距小目标 以及 玻璃反射 场景。

PR 曲线在高召回端(R→1.0)出现陡降,显示阈值过低时会触发重叠候选;在平台内,建议在 拥挤通道 适当上调 IoU 阈值(如 0.55–0.6)以抑制粘连框,并启用 类别/区域筛选+密度热力 联合判读来减少误报干扰。

端到端对比表(节选)
(End2End=Pre+Inf+Post;FPS=1000/End2End,四舍五入;仅列代表模型)
| 组别 | 模型 | Params(M) | FLOPs(G) | End2End (ms) | FPS | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|
| n | YOLOv8n | 3.2 | 8.7 | 10.17 | 98.3 | 0.8899 | 0.9447 | 0.7255 |
| n | YOLOv5nu | 2.6 | 7.7 | 10.94 | 91.4 | 0.8880 | 0.9411 | 0.7120 |
| n | YOLOv7-tiny | 6.2 | 13.8 | 21.08 | 47.4 | 0.8891 | 0.9425 | 0.6793 |
| n | YOLOv10n | 2.3 | 6.7 | 13.95 | 71.7 | 0.8818 | 0.9343 | 0.7256 |
| s | YOLOv8s | 11.2 | 28.6 | 11.39 | 87.8 | 0.8853 | 0.9395 | 0.7325 |
| s | YOLOv11s | 9.4 | 21.5 | 13.47 | 74.3 | 0.8898 | 0.9408 | 0.7450 |
| s | YOLOv9s | 7.2 | 26.7 | 22.17 | 45.1 | 0.8932 | 0.9468 | 0.7411 |
| s | YOLOv7 | 36.9 | 104.7 | 29.52 | 33.9 | 0.8964 | 0.9402 | 0.7263 |
图 5-1 轻量(n)模型 F1 与 mAP50 对比
(图注:八种 n 级模型的精度对比。v8n 在 mAP50 与 F1 上整体占优,同时保持最低端到端时延之一。)

图 5-2 小型(s)模型 F1 与 mAP50 对比
(图注:八种 s 级模型的精度对比。v9s 在 mAP50 上领先,v7 的 F1 略高,但两者端到端时延显著增大,适合离线或非极限实时场景。)

综合来看,人群密度实时检测的部署建议如下:在对 FPS 有硬性要求(≥85 FPS) 的浏览器摄像头与多路视频场景,优先 YOLOv8n(或 YOLOv8s 若预算允许),其在不牺牲太多精度的前提下拥有最短端到端延迟;在 精度优先 的离线统计或回放审核中,可选 YOLOv9s / YOLOv7(s) 提升 F1/mAP50,上层通过 SocketIO 的 缓冲导出 MP4 弥补时延;若场景 极端拥挤且易粘连,可考虑 YOLOv10 系列 的 NMS-free 流程与更高 IoU 阈值搭配,以降低误合并概率。结合 F1-Confidence 曲线,平台默认 Conf=0.36、IoU=0.50,并在概览页展示 按 ROI 的计数与密度热力;对于背光/反射场所,建议启用 时域平滑(指数滑动窗口) 与 小目标优先采样 的再训练,以进一步降低“person→背景”的漏检比重。
6. 系统设计与实现
6.1 系统设计思路
本系统采用四层分层架构:表现与交互层(浏览器端)—业务与会话管理层—推理与任务调度层—数据持久化层。表现与交互层以 HTML/CSS/JS 实现“原图/检测图双画面对比、进度/播放控制、阈值与类别筛选、统计面板与导出面板”等核心交互,通过 Flask-SocketIO 建立低时延全双工通道;业务与会话管理层负责路由、鉴权与会话、参数同步(Conf/IoU、类别过滤、导出策略)、任务编排与权限约束;推理与任务调度层承载多源输入(图片/视频/浏览器摄像头)统一入口、预处理与批内对齐、模型运行与后处理、指标统计与可解释渲染;数据持久化层以 SQLite 存储任务、会话、统计与审计日志,并维护导出索引与结果文件的溯源关系,便于跨页检索与追踪。
为保障实时性与一致性,系统设计“帧级时间戳 + 会话上下文”作为全链路关键键:同一帧的原始帧与绘制帧在推理完成后以同一 frame_id/时间戳聚合成同步双帧再推送到前端房间;参数变更(如 Conf/IoU)由业务层原子广播到所有正在运行的任务,并以序列号确保幂等应用。视频与摄像头任务使用可回压的环形缓冲队列和双阈值背压控制(队列长度与平均耗时),在峰值流量时采用按时间采样与关键帧优先策略;导出通道将缓冲区片段编码为 MP4,统计信息与 CSV 由异步写入线程批量落库以减少阻塞。
在可扩展性与可运维性方面,系统支持模型权重热切换:当用户上传权重或选择预置模型时,模型注册表刷新类别元信息并触发前端控件与图例同步;路径与序列化遵循跨平台规范并提供数据库迁移脚本以保障升级后的持续可用。推理层对 ONNX/TensorRT 引擎进行抽象,允许在单机多任务与轻量分布式(多进程/多 GPU)间切换;业务层暴露健康检查与指标端点,收集端到端延迟、吞吐、丢帧率与导出统计,便于异常定位与容量规划。结果与导出采用集中式管理,支持文件名高亮与批量下载,实现从概览到细节的高效导航与全链路溯源。
图 6-1 系统流程图

图注:系统自初始化至输入选择,完成预处理、推理、后处理与同步双帧聚合,再经 SocketIO 实时推送;参数更改与导出形成交互闭环。
图 6-2 系统设计框图

图注:四层架构展现浏览器端交互、业务会话、推理调度与数据层的边界与接口;模型权重通过“模型注册与权重仓”统一管理,监控指标贯穿全链路。
6.2 登录与账户管理

登录子系统通过“登录/注册/一次性跳过”三入口接入业务层,凭证采用口令哈希与会话 Token 组合,并设置时效与作用域以约束导出与模型切换等敏感操作;成功建立会话后载入个性化配置与最近任务历史,进入概览主页实现“从概览到图片/视频/摄像头检测”的单击跳转。资料修改与密码重置通过二次确认写回数据库以实现审计闭环,注销时清理会话与缓存以避免跨用户污染;“一次性跳过”路径生成临时会话用于快速体验,但对高风险操作将提升交互确认与限制导出体量,从而在使用流畅性与安全性间取得平衡。
代码下载链接
如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:


资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷
完整项目下载、论文word范文下载与安装文档:https://deeppython.feishu.cn/wiki/OJxgwd6d7iVczyklmNDcX5xynFg
讲解视频地址:https://www.bilibili.com/video/BV1MYDkB4E4d/
完整安装运行教程:
这个项目的运行需要用到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 + Flask-SocketIO + HTML/CSS/JS 的 Web 平台,完成了从数据集治理、模型训练到前端可视与导出溯源的端到端实现;在 12,415 张高分辨率航拍图上对 YOLOv5–YOLOv12 共 8 个家族、15 个模型进行了统一评测,结果显示两类目标(空车位/已泊车)在本数据上具有很强可分性,F1 与 mAP50 普遍接近满分,差异主要体现在 mAP50–95 与时延构成。工程侧通过“同步双帧”渲染、参数原子广播和入库溯源,保证了前端体验的一致性与可追踪性;在部署侧,YOLOv10(n/s)凭借 NMS-free 带来的稳定时延与较高 mAP50–95 成为实时默认方案,YOLOv8s 以更低 E2E 延迟适配算力受限的边缘盒子,而 YOLOv9(t/s)可作为离线核查的高精度基线。实践表明,该平台的设计同样可迁移至其他“小目标且几何规则”的机械器件/表面缺陷、PCB/仓储格口占用、车道线/车格边界等任务,复用同一套“高分辨率输入 + 轻量推理 + 浏览器交互闭环”的工程范式即可快速上线。
未来工作将从模型、系统与数据三个层面持续演进:模型侧计划在保持 YOLOv10/12 主干的同时推进更强的轻量化与跨设备一致性,包括蒸馏到移动端、QAT/INT8 量化与结构化剪枝,探索时序一致性重打分与轻量跟踪以降低视频抖动,并尝试加入语义分割/关键点的多任务建模与开集类别扩展以支持“车位形状异常/异物占位”等复杂情形;系统侧将引入 Docker/Compose 一键部署与分布式任务队列(如 Celery/RQ)实现多 GPU 并发推理,采用 WebRTC 低时延采集与断点续传,完善 RBAC 角色权限与审计日志、国际化与多租户隔离,接入 Prometheus/Grafana 做可观测性,提供 ORT-Web(WebGPU/WASM) 的浏览器端备份推理路径;数据侧将构建主动学习闭环与持续标注流水线,结合 DVC/数据卡片进行版本化治理与漂移监测,引入合成数据与域自适应缓解时段/天气/相机变化带来的长尾问题,并以自动质检与标签一致性约束提升数据可靠性。博主相信,随着这些工作落地,平台将在“更低时延、更强泛化、更可运维”三条主线上进一步成熟,支撑从城市停车治理到工业视觉质检在内的更广谱场景。
参考文献(GB/T 7714)
1 潘晓英, 贾凝心, 穆元震, 等. 小目标检测研究综述[J]. 复杂场景图像目标智能检测, 2023, 28(9). DOI:10.11834/jig.220455. (CJIG)
2 王文, 等. 基于深度学习的小目标检测技术研究进展[J]. 光学学报, 2024,53(9):1-25. (在线PDF). (Researching)
3 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[J/OL]. arXiv:2005.12872, 2020. (arXiv)
4 Zhao Y, Lv W, Xu S, et al. DETRs Beat YOLOs on Real-time Object Detection (RT-DETR)[J/OL]. arXiv:2304.08069, 2023/2024修订. (arXiv)
5 NVIDIA. TensorRT Documentation—Performance & trtexec[EB/OL]. 2025. (NVIDIA Docs)
6 ONNX Runtime. Using WebGPU in ORT-Web[EB/OL]. 2025. (ONNX Runtime)
7 W3C. WebRTC: Real-Time Communication in Browsers[EB/OL]. 2025. (W3C)
8 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7[J/OL]. arXiv:2207.02696, 2022. (arXiv)
9 Ultralytics. Home—YOLOv8 Docs[EB/OL]. 2025. (Ultralytics Docs)
10 Wang C-Y, Yeh I-H, Liao H-Y M. YOLOv9: Learning What You Want to Learn Using PGI[J/OL]. arXiv:2402.13616, 2024. (arXiv)
11 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[J/OL]. arXiv:2405.14458, 2024/2025修订. (arXiv)
12 Ultralytics. YOLO11—Docs[EB/OL]. 2025. (Ultralytics Docs)
13 Sun S, et al. YOLOv12: Attention-Centric Real-Time Object Detectors[J/OL]. arXiv:2502.12524, 2025. (arXiv)
14 Ren S, He K, Girshick R, Sun J. Faster R-CNN[J/OL]. arXiv:1506.01497, 2015. (arXiv)
15 Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection(RetinaNet)[J/OL]. arXiv:1708.02002, 2017. (arXiv)
16 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[J/OL]. arXiv:1512.02325, 2015/2016(ECCV). (arXiv)
17 Tan M, Pang R, Le Q V. EfficientDet: Scalable and Efficient Object Detection[J/OL]. arXiv:1911.09070, 2019/2020(CVPR). (arXiv)
18 Tian Z, Shen C, Chen H, He T. FCOS[J/OL]. arXiv:1904.01355, 2019. (arXiv)
19 Zhou X, Wang D, Krähenbühl P. Objects as Points(CenterNet)[J/OL]. arXiv:1904.07850, 2019. (arXiv)
20 Ge Z, Liu S, Wang F, et al. YOLOX[J/OL]. arXiv:2107.08430, 2021. (arXiv)
21 Xu S, Wang X, Lv W, et al. PP-YOLOE[J/OL]. arXiv:2203.16250, 2022. (51.4 mAP/78.1 FPS/TRT 149.2 FPS). (arXiv)
22 胡昊飞, 等. 基于障碍物和车位检测的单阶段多任务YOLO-Parking算法研究[J]. 合肥工业大学学报, 2024. (万方数据). (Wanfang Data)
23 杨飞帆, 等. 改进YOLOv8的环视车位检测算法研究[J/OL]. 重庆理工大学学报, 2024. (在线PDF). (CQUT)

浙公网安备 33010602011771号