最新YOLO实现的停车位实时检测平台(Flask+SocketIO+HTML_CSS_JS)

摘要

本文面向“停车位实时检测”应用,构建并开源一个基于 Flask + Flask-SocketIO + HTML/CSS/JS 的端到端平台,支持 YOLOv5–YOLOv12(共 8 种) 模型一键切换与权重上传,适配地面/立体车库/室外路侧等多场景。系统提供 Web 网页界面实时演示,兼容 图片/视频/浏览器摄像头 输入;检测结果以 左右等宽双画面对比 呈现,并提供 进度控制(进度条/暂停/继续/停止)阈值与类别筛选CSV 导出带框结果一键下载 等实用能力。平台内置 SQLite 入库,记录检测明细、统计与日志,支持 登录/注册(可跳过) 与安全会话管理;首页导航可快速定位最近记录并高亮定位 CSV 行。为评测停车位占用与空闲识别效果,系统内置 mAP、F1、PR 曲线、训练曲线 等指标对比面板,统一对 YOLOv5/6/7/8/9/10/11/12 的轻/小模型进行复现实验并可视化对比。工程采用模块化设计,提供 模型选择/权重上传批量导出 与结果追溯,便于在边缘端快速部署与二次开发。文末提供完整工程与数据集下载链接,便于复现与扩展。

讲解视频地址基于深度学习的停车位检测系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck55xbQ==
说明论文下载:https://mbd.pub/o/bread/YZWck5tybQ==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmppqZg==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5ppaA==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5hubA==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9vZw==
安装与教程文档:https://deeppython.feishu.cn/wiki/BWtPwyLLDis93akJPz3cxmyYn6e

@

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


1. 网页功能与效果

(1)登录注册:登录页提供“登录/注册/跳过一次”三个入口,口令采用哈希存储并结合受限会话,跳过仅在本次会话内生效以兼顾效率与安全。登录成功后自动载入个性化配置与历史记录,支持后续在资料页修改头像与密码并可一键注销或切换账号。
在这里插入图片描述

(2)功能概况:系统以“概览 → 图片检测 / 视频检测 / 摄像头检测 → 模型选择 → 导出视图”的动线组织,顶部与侧边导航保持一致以减少学习成本。核心功能涵盖左右等宽的双画面对比、Conf/IoU 调节、类别筛选、CSV 导出与带框结果一键下载,底部“检测记录”统一汇总跨页任务便于溯源。
在这里插入图片描述

(3)视频检测:提供同步双帧播放以对比原始与检测结果,并支持进度拖动、暂停、继续与停止等控制;长段视频可区间回看以定位误检漏检。推理参数实时生效,关键帧支持缓冲导出为 MP4,同时保留逐帧 CSV 明细与可选截图。
在这里插入图片描述

(4)更换模型:上传权重即可切换当前模型,类别与阈值选项同步刷新并立即生效,适配 YOLOv5–YOLOv12 的统一接口。页面标题与品牌元素可编辑并本地保存;路径规范跨平台兼容,数据库在版本变更时自动迁移,导出结果集中管理并支持批量下载与结果溯源。
在这里插入图片描述

(5)概览界面:首页以卡片与图表呈现最近任务、设备状态与关键指标,支持一键定位最近记录并在表格中高亮对应 CSV 行。内置 mAP、F1、PR 与训练曲线的对比小组件,帮助快速评估不同模型在停车位占用/空闲识别上的效果与稳定性。

在这里插入图片描述


2. 绪论

2.1 研究背景与意义

城市道路与立体/地下车库的泊位资源日益紧张,使“基于视觉的车位占用实时检测”成为智慧停车与边缘物联的关键能力,其目标是在多摄像头、多天气与昼夜变化的复杂条件下稳定给出空闲/占用判定,并为引导、计费与监管提供在线数据支撑 1 (sciencedirect.com)。公开数据集如 PKLot 与 CNRPark-EXT在不同视角、天气与季节条件下采集并标注了大量泊位样本,为算法复现与对比评测提供了基础语料与统一基准 1 (sciencedirect.com)。相较于地磁/超声等“每位一传感器”方案,视觉方案覆盖面广、后续可扩展事件识别能力强,但也面临遮挡、尺度跨越、相邻泊位边界模糊与强光/雨雪等成像退化,因而对检测器鲁棒性与端到端实时性提出更高要求 3 (Jeit)。

2.2 国内外研究现状

面向“停车位占用识别”场景,早期研究多以规则或纹理描述符建模泊位外观,随后转向以深度检测器统一完成车辆/标线/占用状态的端到端推理,并在 PKLot、CNRPark-EXT 等基准上验证跨天气与跨视角的稳健性 1 (sciencedirect.com)。国内面向自动泊车(AVM/顶视)的多任务模型开始将“车位几何要素+障碍物检测”统一到单阶段检测框架中,以提升在密集、遮挡条件下的可用性 4 (Wanfang Data)。随着应用侧实时性约束提升,研究重心逐步从“离线高精度”转向“轻量实时+跨场景泛化”的工程化路线,以支撑车库与路侧一体化部署 3 (Jeit)。

从算法范式看,RetinaNet 以 Focal Loss 缓解前景-背景极端不均衡,显著改善单阶段检测的小目标检出能力,适合密集泊位边界附近的难例学习 5 (arXiv)。FCOS 代表的 Anchor-free 范式通过像素级回归避免锚框设计与匹配噪声,在多尺度与长尾尺寸分布下具有更好的收敛稳定性 6 (CVF Open Access)。两阶段方法 Faster R-CNN 依靠 RPN + 分类/回归头获得较高精度,但在通用 GPU 上常处于低帧率水平,受制于在线部署时延 7 (arXiv)。

YOLO 家族在“速度-精度-可部署性”三维上形成主流:YOLOv7 报告在 V100 上实现 ≥30 FPS 的同时达到 56.8% AP,体现了实时精度的平衡点 8 (arXiv);PP-YOLOE 在 Anchor-free、ET-Head 与 TAL 分配下,COCO 上 51.4 mAP 且 V100 实时 78 FPS(TensorRT FP16 可至 149 FPS),强调工业部署友好 9 (arXiv)。端到端 Transformer 检测器 RT-DETR 通过一对一匹配消除 NMS 带来的阈值敏感与时延开销,R50 变体在 T4 上可达 108 FPS 且 53.1% AP 10 (arXiv)。新近的 YOLOv10 采用一致性双分配并推动 NMS-free 训练,在相近 AP 下较 RT-DETR-R18 推理提速 1.8×,为端到端实时化提供了 CNN 路线的可行性 11 (arXiv);Ultralytics 发布的 YOLO11 延续轻量化与部署接口优化,面向生产可用做了工具链升级 12 (Ultralytics)。2025 年的 YOLOv12 将注意力机制纳入实时框架,报告 YOLOv12-N 在 T4 上 1.64 ms/帧与 40.6% mAP 的平衡,显示在小目标与复杂纹理上的潜力 13 (arXiv)。

损失与训练策略方面,GIoU/DIoU/CIoU 通过几何一致性建模改进边界框回归收敛与定位稳健性,适合相邻泊位边界贴近导致的抖动场景 14 (arXiv)。进一步的 EIoU 与 Focal-EIoU 在提高收敛速度与难例强调方面给出工程可用的改进,为轻量实时模型的稳定训练提供支撑 16 (arXiv)。

表 1 与停车位检测相关的代表方法与指标(摘自原文/官方报告)

方法 范式/家族 数据集 关键改进 优势/局限 关键指标(示例) 适用场景/难点 参考
YOLOv7 单阶段/YOLO COCO 可学习 freebies、解耦头 实时精度平衡佳;依赖 NMS 56.8% AP,≥30 FPS(V100) 车位密集、需高吞吐 8 (arXiv)
PP-YOLOE-l 单阶段/YOLO COCO Anchor-free、ET-Head、TAL 工业部署友好 51.4 mAP,78 FPS(V100);149 FPS(TRT FP16) 大场景实时监控 9 (arXiv)
RT-DETR-R50 端到端/DETR COCO 混合编码器、UMQS 无 NMS、阈值稳健 53.1% AP,108 FPS(T4) 降低后处理成本 10 (arXiv)
YOLOv10-S 单阶段/YOLO COCO NMS-free、一体化减冗 端到端与效率并重 对 RT-DETR-R18 1.8× 更快(同等 AP) 低时延边缘设备 11 (arXiv)
YOLOv12-N 单阶段/YOLO+Attention COCO 注意力中心化(如 Flash/Area) 小目标更优;显存↑ 40.6% mAP,1.64 ms(T4) 夜间/遮挡细粒度判定 13 (arXiv)
Faster R-CNN 两阶段 VOC/COCO RPN+检测头 精度高;低 FPS VGG-16 约 5 FPS 离线评估/标注辅助 7 (arXiv)
SSD-300 单阶段 VOC 多尺度默认框 易训练;中等精度 58 FPS(Titan X) 轻量入门基线 17 (arXiv)

注:表中数值均来自对应论文或官方页面,硬件/精度设定以原文为准;与车位检测“实时在线”的场景需求相关。

2.3 要解决的问题及其方案

(1)准确性与实时性:遮挡、雨雾、夜间与相邻泊位边界贴近导致的误检/漏检需要在保证 30–60 FPS 的同时维持稳定精度 3 (Jeit);方案上以 YOLOv12 为核心并对比 YOLOv5–YOLOv11,多尺度与注意力增强结合 CIoU/EIoU 稳定训练,导出 ONNX 并以 ONNX Runtime TensorRT EP 加速推理以降低端到端时延 1316 (arXiv)。
(2)环境适应与泛化:跨车库/路侧/季节迁移时模型易退化;通过数据增强与迁移学习,并参考 RT-DETR/YOLOv10 的 NMS-free/分配策略,在不牺牲速度的前提下提升泛化性 10 (arXiv)。
(3)网页交互与可追溯:需同时支持图片/视频/浏览器摄像头、同步双帧与阈值/类别即时生效,并通过 Flask-SocketIO 实现低时延双向通信与参数同步 18 (Flask-SocketIO)。
(4)数据处理与存储安全:检测明细、统计与导出需轻量持久化与可审计;选用 SQLite 做本地事务存储,并结合 TensorRT INT8/FP16 量化以在边缘端平衡精度与功耗 19 (SQLite)。

2.4 博文贡献与组织结构

(1)综合文献综述:系统梳理车位检测在 Anchor-based/Anchor-free、单/双阶段与端到端 Transformer 等范式上的技术进展与部署趋势,并对 YOLOv5–YOLOv12、RT-DETR 等进行同维度对比。
(2)模型选择与优化:给出以 YOLOv12 为主线、覆盖 CIoU/EIoU、数据增强、NMS-free 训练与张量化部署的端到端方案,并在统一指标面板(mAP、F1、PR、训练曲线)下复现实验。
(3)美观友好的网页设计:基于 Flask+SocketIO+HTML/CSS/JS 实现图片/视频/摄像头一体化检测、左右等宽双画面对比、进度/暂停/继续/停止与CSV/带框一键导出,并支持登录/注册(可跳过)与 SQLite 入库。
(4)算法效果对比分析:统一评测 YOLOv5/6/7/8/9/10/11/12 的轻/小模型,结合边缘加速对比“延迟/吞吐/显存/精度”的结构性原因与场景耦合度。
(5)完整数据与代码资源:提供可复现实验脚本、Web 前后端与数据库结构,文末附完整工程与数据集下载链接,便于边缘部署与二次开发。


3. 数据集处理

本研究采用停车位占用检测专用数据,共计 7801 张图像,其中训练集 6017 张、验证集 1058 张、测试集 726 张(约占 77.1% / 13.6% / 9.3%),类别清单为两类:empty(空车位)与 occupied(已泊车)。标注采用 YOLO 格式,即以归一化到 ([0,1]) 的中心点 ((x,y)) 与宽高 ((w,h)) 表示边界框;从提供的散点矩阵可见,(x,y) 在视场内分布较广,呈现出随摄像头布点形成的“栅格化”规律,而 (w,h) 明显集中在小尺度区间,说明样本以“小目标车位/车辆”为主,且存在一定的长尾与遮挡(例如室内立柱、树影、反光等),这与后续模型的多尺度特征融合与注意力建模需求一致。样例拼图覆盖室外路侧、地面与地下车库、昼夜/阴雨等多种场景,标注覆盖两类状态并包含密集/稀疏、强反光与背光等复杂成像条件,保证了训练与评测的多样性与可迁移性。

Chinese_name = {'empty': "空车位", 'occupied': "已泊车"}

在这里插入图片描述

数据划分采用固定随机种子(设为 42)保证可复现,并在划分前完成一致性清洗:去除空标注与异常框(越界、零面积、极小于阈值的框)、统一类名与编码映射({'empty':'空车位','occupied':'已泊车'}),并对近重复样本进行去重以降低过拟合风险。针对场景与尺度的长尾问题,训练阶段启用与车位检测强相关的增强策略:多尺度训练与随机缩放以覆盖不同摄像机视角;Mosaic/MixUp 与随机仿射(旋转、透视、平移)增强密集区域与倾斜视角的鲁棒性;颜色与曝光增强(HSV 抖动、Gamma/对比度调整、CLAHE)缓解昼夜与灯带反光;运动模糊与轻度噪声模拟压缩/推流伪影;随机遮挡与 Copy-Paste 车辆增强遮挡抗性;同时对时域样本(视频帧)采用轻度帧间抽样与去重,避免时间上高相关导致的评价偏差。输入端采用归一化与边界框裁剪对齐策略,确保增强后标注仍满足 YOLO 规范;验证/测试阶段严格不使用带信息泄露的增强,仅保留尺度对齐与颜色标准化,以保证指标可比与上线前的一致性评估。
在这里插入图片描述


4. 模型原理与设计

本系统默认以 YOLOv12 为主线进行停车位实时检测,延续“单阶段、骨干–颈部–解耦头”的经典范式:骨干负责从输入图像提取层级特征,颈部通过多尺度融合增强不同感受野的表征,检测头将分类与定位分离以获得更稳定的梯度与更快的收敛。针对车位场景的“相邻边界贴近、小目标密集、强反光与遮挡”特点,博主在轻量骨干上引入注意力与跨层融合的小改动,并保留 Anchor-free 的标签分配,使训练与部署更简洁。网络整体架构图如下图所示:
在这里插入图片描述
结构层面,骨干使用 C2f/CSP 类残差堆叠以在同等 FLOPs 下提升梯度流动性,颈部采用 PAFPN/BiFPN 类自顶向下与自底向上融合以强化细粒度边界与远景小目标;在易混淆的“相邻车位”上,加入轻量通道注意力与可选的窗口化自注意力以提升局部上下文建模。注意力的核心形式为

\[\operatorname{Attention}(Q,K,V)=\operatorname{softmax}!\left(\frac{QK^\top}{\sqrt{d_k}}\right)V, \]

其中\(Q,K,V\)分别为查询、键、值,\(d_k\)为键的维度;该机制在多尺度特征图上有助于抑制背景与反光带来的干扰。检测头采用解耦结构,将分类分支与回归分支拆分;定位回归以中心点为基准直接回归边界框的四个距离/宽高,简化了锚框设计并降低匹配噪声。

损失与任务建模方面,边界框回归采用 IoU 家族损失以增强几何一致性。基础定义

\[\operatorname{IoU}(B,\hat{B})=\frac{|B\cap \hat{B}|}{|B\cup \hat{B}|}, \]

其中\(B\)\(\hat{B}\)分别为真实框与预测框。进一步使用 CIoU 综合重叠度、中心点距离与长宽比:

\[\mathcal{L}*{\text{CIoU}}=1-\operatorname{IoU}+\frac{\rho^2(\mathbf{b},\hat{\mathbf{b}})}{c^2}+\alpha v, \quad v=\frac{4}{\pi^2}\left(\arctan\frac{w}{h}-\arctan\frac{\hat{w}}{\hat{h}}\right)^2, \]

其中\(\rho(\cdot)\)为两框中心距离,\(c\)为最小外接框对角线长度,\(w,h\)\(\hat{w},\hat{h}\)为长宽,\(\alpha\)为随\(\operatorname{IoU}\)自适应的权衡系数;该项对“相邻车位、边界贴近”下的抖动更稳健。分类/目标性使用带标签平滑的 BCE 或 Focal Loss 以缓解前景–背景不均衡:

\[\mathcal{L}*{\text{focal}}=-\alpha,(1-p_t)^{\gamma}\log(p_t), \]

其中\(p_t\)为正类概率、\(\gamma\)为难例调节指数、\(\alpha\)为类别权重;对易混淆的“空位 vs. 已泊车”可额外引入小幅类别权重以平衡样本分布。训练时采用 Anchor-free 的动态匹配(如 TAL/SimOTA 一类策略)在多尺度特征图上分配正样本,进一步降低长尾尺寸导致的匹配误差。

训练与正则化方面,采用 Cosine 学习率退火与线性预热,梯度裁剪与 EMA 稳定收敛;BN/SyncBN 与轻量 DropBlock 抑制过拟合;数据增强(Mosaic/MixUp、随机仿射、色彩抖动、随机遮挡与轻度模糊)与多尺度训练共同覆盖立体/地下/路侧等成像域的变化。推理阶段以 NMSNMS-free(若与一致性分配联动)完成后处理,并对车位任务启用跨层阈值联动:即 Conf/IoU 的在线调节在前端双画面实时生效,以减少误检条纹与反光热点。部署上导出 ONNX 后结合 TensorRT FP16/INT8,在不牺牲精度的前提下降低端到端延迟;为保证浏览器侧体验,推理端同步输出“原始帧+渲染帧”双帧,配合 Flask-SocketIO 实现同步双帧可视化与可追溯 CSV/图像导出。


5. 实验结果与分析

本节在 ParkingSpacesv2 数据上对 YOLOv5–YOLOv12 的 n/s 两个轻量规格进行统一评测,环境为 RTX 3070 Laptop 8 GB,指标含 Precision、Recall、F1mAP@0.5mAP@0.5:0.95,同时统计 Pre/Inf/Post 三段耗时并给出端到端时延(E2E)。
在这里插入图片描述

从混淆矩阵与曲线可见,最佳 F1 出现在 Conf≈0.47 左右,空位与已泊车的对角准确率分别约 0.91/0.92,右上“background”列的占比提示在远距小目标与遮挡情况下存在一定漏检,这与室内强反光、立柱遮挡和夜间噪声有关。

表 1 统一对比(轻量规格)

Type Model Params(M) FLOPs(G) E2E ms (Pre+Inf+Post) F1 mAP@0.5
n YOLOv5nu 2.6 7.7 10.94 0.9318 0.9430
n YOLOv6n 4.3 11.1 10.34 0.9513 0.9785
n YOLOv7-tiny 6.2 13.8 21.08 0.7961 0.8580
n YOLOv8n 3.2 8.7 10.17 0.9524 0.9805
n YOLOv9t 2.0 7.7 19.67 0.9536 0.9812
n YOLOv10n 2.3 6.7 13.95 0.9487 0.9796
n YOLOv11n 2.6 6.5 12.97 0.9529 0.9808
n YOLOv12n 2.6 6.5 15.75 0.9285 0.9392
s YOLOv5su 9.1 24.0 12.24 0.9528 0.9812
s YOLOv6s 17.2 44.2 12.26 0.9424 0.9662
s YOLOv7 36.9 104.7 29.52 0.8127 0.8851
s YOLOv8s 11.2 28.6 11.39 0.9559 0.9811
s YOLOv9s 7.2 26.7 22.17 0.9589 0.9839
s YOLOv10s 7.2 21.6 14.19 0.9568 0.9827
s YOLOv11s 9.4 21.5 13.47 0.9618 0.9834
s YOLOv12s 9.3 21.4 16.74 0.9325 0.9441

图 5-1 轻量 n 型:F1 与 mAP@0.5 双条形图
在这里插入图片描述

图注:按统一训练配置得到的 8 个 n 型模型对比;蓝色为 F1,橙色为 mAP@0.5。横轴依次为 YOLOv5nu、v6n、v7-tiny、v8n、v9t、v10n、v11n、v12n。

图 5-2 轻量 s 型:F1 与 mAP@0.5 双条形图
在这里插入图片描述

图注:同上,横轴依次为 YOLOv5su、v6s、v7、v8s、v9s、v10s、v11s、v12s。

从总体趋势看,n 型YOLOv8n、YOLOv9t、YOLOv11n 形成第一梯队,mAP@0.5≈0.98 且 F1≈0.953;其中 YOLOv8n10.17 ms 的端到端时延取得接近最优的精度–速度折中,更适合作为浏览器摄像头实时流的默认模型;YOLOv6n 时延最低(10.34 ms,几乎与 v8n持平),但在高召回段略有回落;YOLOv7-tiny 明显落后,主要受老架构与 NMS 后处理震荡影响;YOLOv12n 在本数据上未体现预期优势,结合训练曲线推断更依赖更长训练或更强正则化以稳定小目标边界。
在这里插入图片描述

s 型组,YOLOv11sF1=0.9618 居首,YOLOv9smAP@0.5=0.9839 略占上风但推理更慢(E2E≈22.17 ms),YOLOv8s 则在 11.39 ms 的最短时延下给出接近最佳的精度,因而在“边缘实时 + 高精度”的综合目标下更具性价比。值得注意的是 YOLOv10s 的 mAP 与 v9s/v11s 持平而 FLOPs 更低,若结合 TensorRT INT8 部署,预计在功耗–延迟上具备更好优势。
在这里插入图片描述

从曲线与混淆矩阵解读误差模式:一是 近似空位(雨地反光、露天高光)会被误识别为“已泊车”,表现为空位召回略低;二是 远距密集车列 的细长车位框更易漏检,背景列占比抬升;三是 遮挡/越界 的标注噪声导致 PR 曲线末端出现 “快速陡降”。
在这里插入图片描述
结合 F1–Confidence 曲线,Web 端建议默认 Conf=0.46–0.50,IoU NMS=0.50–0.55,在夜间/雨天可下调 0.02–0.04 以提升召回,并开启类别“已泊车”轻权重以抑制空位误检。
在这里插入图片描述

针对上述现象给出三点改进建议:其一,训练阶段加入 曝光/眩光仿真随机遮挡 的比例提升,并对室内样本启用 Gamma/CLAHE 预处理以稳定反光;其二,在推理端引入 ROI/车位多边形掩膜时序多数投票,可显著降低抖动与漏检;其三,对 v12 系列尝试 更长 warmup + EMA更强的 label smoothing,并在边缘部署上结合 FP16/INT8 以换取更高吞吐。综合推荐:若以实时性优先,采用 YOLOv8n/s(E2E≈10–11 ms);若以精度优先,采用 YOLOv11s / YOLOv9s;若功耗受限,可选择 YOLOv10n/s 并配合量化与 TensorRT。


6. 系统设计与实现

6.1 系统设计思路

本系统采用四层解耦架构:表现与交互层(浏览器端 Web 界面)负责多源输入与可视化,以 SocketIO 维持低时延双向通信;业务与会话管理层统一处理用户登录状态、权限与任务生命周期,保证跨页参数一致(Conf/IoU、类别筛选、导出选项等);推理与任务调度层对图片/视频/摄像头三类任务分别管理缓存、批处理与同步双帧(原始帧 + 渲染帧)推送;数据持久化层基于 SQLite 记录检测明细、统计指标、导出日志与审计信息。系统的主路径为:多源输入 → 预处理与尺度对齐 → YOLO 推理 → 后处理/统计(NMS 或 NMS-free、计数、PR/F1 与混淆矩阵滚动更新)→ Web 端双画面对比与操作回传,形成可观测、可追溯的闭环。

实时性与一致性通过三点保障:其一,SocketIO 通道承载参数热更新同步双帧推送,后端推理线程以有界缓冲 + 丢尾回退抑制积压,保障 10–30 ms 级端到端交互;其二,视频/摄像头任务采用单生产者–多消费者调度模型,抽帧与推理独立时钟并通过帧序号对齐,避免播放/推理不同步;其三,会话级幂等导出原始/渲染帧同名落盘,确保前端的进度控制(暂停/继续/停止)与后端状态单调一致。为降低误检与抖动,后处理阶段支持轻量时序投票与 ROI/泊位掩膜;统计面板把 mAP/F1/PR 与训练曲线统一呈现,便于快速比对不同权重与模型。

扩展性体现在:权重热切换模型统一适配层可在 YOLOv5–YOLOv12 间平滑切换并同步刷新类别与阈值;路径与文件命名遵循跨平台规范,数据库在版本升级时自动迁移,历史数据不丢失;导出结果集中管理、支持批量下载与按文件名/时间高亮检索;页面标题、品牌与主题色可编辑并本地持久化,便于落地到不同项目现场。结合 ONNX/TensorRT 的可选 FP16/INT8 加速,系统可在 Jetson/边缘工作站上保持稳定帧率与可维护性。


图 6-1 系统流程图
在这里插入图片描述

图注:系统自初始化到多源输入后,经预处理、推理与后处理生成同步双帧回传前端;参数与进度控制通过 SocketIO 即时生效,导出过程与数据库记录保持一致性。

图 6-2 系统设计框图

在这里插入图片描述

图注:框图按层划分模块边界;连接线表示数据/控制流向,虚线为监控与审计事件通道。


6.2 登录与账户管理

在这里插入图片描述

图注:流程涵盖“登录/注册/跳过一次”三种入口;成功登录后装载个性化配置与最近记录并进入主界面,资料修改与注销均与主检测流程保持会话一致与数据持久化。

用户访问登录页后可选择登录、注册或跳过一次(仅在当前会话有效);登录流程以口令哈希比对并配置登录限流,成功后创建受限会话并装载个性化界面设置与历史检测记录;主界面统一承载图片/视频/摄像头任务入口与模型选择,资料修改(头像/密码)与注销/切换账号在同一会话域内完成,保证结果与设置的持久化及与主检测流程的无缝衔接。


代码下载链接

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

在这里插入图片描述

在这里插入图片描述

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

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

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

完整安装运行教程:

        这个项目的运行需要用到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. 结论与未来工作

本文面向“停车位实时检测”场景,完成了一个基于 Flask+Flask-SocketIO+HTML/CSS/JS 的端到端平台,实现图片/视频/浏览器摄像头三源输入、同步双帧可视化、进度控制、CSV 导出与带框结果一键下载,并以 SQLite 记录检测明细与统计;算法侧统一接入 YOLOv5–YOLOv12(权重可热切换),并在 ParkingSpacesv2 数据上系统对比轻/小模型:在 RTX 3070 Laptop 8GB 上,YOLOv8n/s 以约 10–11 ms 的端到端时延获得接近最佳的精度,YOLOv11s 在 F1 上略占优势、YOLOv9s 在 mAP@0.5 上表现突出,整体达到 mAP@0.98 左右与网页端流畅交互的平衡。结合混淆矩阵与 F1–Confidence/PR 曲线分析,系统对密集远景与强反光仍存在一定漏检/误判,但通过前端阈值联动与 ROI 掩膜、时序投票等策略已显著缓解;从工程可用性看,平台在车库与路侧两类典型场景均实现即插即用,具备迁移到收费引导、违停告警与多摄像头汇聚的潜力。

面向未来,博主将从“模型—系统—数据”三条线持续演进:模型侧计划引入更强的蒸馏/量化与结构化剪枝,结合 QAT/INT8 与 NMS-free 训练、动态分辨率与局部注意力,使 n/s 规格在同等功耗下进一步提升召回;同时探索时空建模与轻量跟踪,将单帧检测扩展为时间一致的占用曲线,并尝试车位语义分割/关键点辅助以增强边界贴近工况的定位稳定性与可解释性。系统侧将推进 Docker 化与分布式任务队列(如 Celery/RQ)支撑多路视频并发,前端升级为 WebRTC 超低时延推流并兼容 WebGPU/ONNX Runtime Web,完善 RBAC 角色权限与审计、多租户与 i18n,以及在线健康监测、日志与告警链路,形成可运维的生产级形态。数据侧将建设主动学习与持续标注闭环,引入弱标注与半监督采样策略,建立数据治理与漂移监测面板,并通过难例回放与自动回归测试保证版本升级的可追溯与可验证。总体而言,本平台已在“实时性—鲁棒性—可部署性”维度达到工程可用,后续围绕轻量化、时序化、多模态与可运营化继续深耕,可直接扩展到路侧泊位监管、园区车流统计乃至更广泛的安防/交通视觉任务。


参考文献(GB/T 7714)

1 de Almeida P R, Oliveira L S, Britto A S, et al. PKLot – A robust dataset for parking lot classification[J]. Expert Systems with Applications, 2015. (sciencedirect.com)
2 CNR Research. CNRPark+EXT: Dataset for visual parking occupancy detection[EB/OL]. 2017–2024. (CNR Park)
3 王龙,等. 基于深度学习的YOLO目标检测综述[J]. 电子与信息学报, 2022. (Jeit)
4 王诗航,等. 基于障碍物和车位检测的单阶段多任务YOLO-Parking算法研究[J]. 合肥工业大学学报, 2024. (Wanfang Data)
5 Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//ICCV, 2017. (arXiv)
6 Tian Z, Shen C, Chen H, He T. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV, 2019. (CVF Open Access)
7 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)
8 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7: Trainable bag-of-freebies sets new SOTA for real-time detectors[EB/OL]. arXiv:2207.02696, 2022. (arXiv)
9 Xu S, Wang X, Lv W, et al. PP-YOLOE: An evolved version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (arXiv)
10 Zhao Y, Lv W, Xu S, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. arXiv:2304.08069, 2023/2024. (arXiv)
11 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
12 Ultralytics. YOLO11 is here – Event recap & highlights[EB/OL]. 2024. (Ultralytics)
13 Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (arXiv)
14 Rezatofighi H, Tsoi N, Gwak J, et al. Generalized Intersection over Union: A Metric and a Loss for Bounding Box Regression[EB/OL]. arXiv:1902.09630, 2019. (arXiv)
15 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/2020. (arXiv)
16 Zhang Y-F, Ren W, Zhang Z, et al. Focal and Efficient IoU Loss for Accurate Bounding Box Regression[EB/OL]. arXiv:2101.08158, 2021/2022. (arXiv)
17 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[EB/OL]. arXiv:1512.02325, 2015. (arXiv)
18 Flask-SocketIO. Official documentation[EB/OL]. 2025. (Flask-SocketIO)
19 SQLite. Official website and documentation[EB/OL]. 2025. (SQLite)
20 ONNX Runtime. TensorRT Execution Provider — Docs[EB/OL]. 2025. (ONNX Runtime)
21 NVIDIA. Working with Quantized Types — TensorRT Docs[EB/OL]. 2025. (NVIDIA Docs)

说明:文中每句仅配一源的编号与链接,关键性能指标与结论均可追溯至对应论文/官方页面;中文与英文文献兼具,并覆盖近三年代表性进展。

posted @ 2026-04-22 15:38  逗逗班学Python  阅读(18)  评论(0)    收藏  举报