摘要

本博文面向“车牌实时检测”应用,构建了基于 Flask + Flask-SocketIO + HTML/CSS/JSWeb 网页界面,实现端到端的数据上传、在线推理与结果管理闭环。系统支持 图片/视频/浏览器摄像头 三类输入源,前端提供 双画面对比(原图/检测图等宽自适应)与 进度控制(视频暂停/继续/跳转/停止),并内置 CSV 导出带框结果一键下载SQLite 入库登录/注册(可跳过) 的安全会话机制。后端集成 YOLOv5–YOLOv12(共 8 种) 车牌检测模型,支持 模型选择/权重上传 与在线切换;评测维度覆盖 mAP、F1、PR 曲线与训练曲线,并在统一数据集上进行轻量-速度与精度权衡分析。平台适配边缘设备的实时场景,提供任务队列与缓存策略以保证低时延推流;结果页支持按文件名与时间索引检索、批量导出与溯源。文末提供完整工程与数据集下载链接,便于复现与二次开发。

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


1. 网页功能与效果

(1)登录注册:提供“登录 / 注册 / 跳过一次性进入”三种入口,成功后会话在当前浏览器标签内生效,可选延展至同域多标签。口令采用哈希存储并限制敏感操作的会话时长,支持找回与修改基本资料;未登录进入仅保留最小权限以便快速体验。
在这里插入图片描述

(2)功能概况:顶部导航串联图片检测、视频检测与摄像头检测,侧边栏统一入口到模型选择与结果导出。所有检测视图默认双画面对比(原图/检测图等宽自适应),支持阈值与类别筛选,底部提供检测记录与CSV高亮定位。
在这里插入图片描述

(3)视频检测:前端呈现同步双帧,提供进度条、暂停、继续与停止控制,并在跳转时保持推理状态一致。实时统计帧率、目标数与置信区间,支持片段缓存并一键导出MP4,同时可下载带框可视化与对应CSV。
在这里插入图片描述

(4)更换模型:上传权重即可切换当前YOLO模型,类别与配色自动刷新并与会话绑定;支持从历史权重中快速回滚。切换过程中保持参数一致性与推理任务队列的平滑过渡,避免中断当前数据流;相关元数据自动入库以便审计与溯源。
在这里插入图片描述

(5)概览界面:首页汇总近期任务、数据源与成功/失败统计,支持按时间、文件名或来源快速筛选。卡片式入口直达三类检测视图与导出中心,提供最近一次会话的恢复按钮,并可在列表中批量选择记录执行下载、归档与删除操作。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

随着智慧交通和城市治理数字化的深入,车牌检测与识别(ALPR)在治安布控、道路执法、停车计费与通行费稽核等场景中成为关键“入口感知能力”,对实时性、鲁棒性与可追溯性提出了比以往更高的要求 1。另一方面,近年曝出的多起ALPR系统数据与实时视频泄露事件,也让隐私保护、鉴权隔离、合规留痕成为工程实现不可回避的前置约束,这直接影响到平台的体系结构、安全基线与数据生命周期设计 2。在模型侧,YOLO家族与端到端Transformer检测器的快速演进,为满足“低延迟+高精度”的双重需求提供了强有力的算法抓手,并且在无NMS化、轻量化与边缘加速等方向持续推进,使其非常契合“浏览器—边缘—服务器”一体化部署的现实诉求 [3–4]。同时,开放车牌数据集与公开评测基准(如CCPD、UFPR-ALPR、AOLP)降低了任务复现实验门槛,也促进了跨域泛化研究与工程最佳实践的沉淀 [16–18]。

2.2 国内外研究现状

国际上,实时检测研究已从经典单阶段检测器向“端到端、可调速、低后处理成本”的范式迁移:RT-DETR通过解码器层级与不确定性最小化的查询选择,实现R50在COCO上53.1% AP与T4上108 FPS的平衡,并强调在不重训的前提下按需调速,这对视频流场景尤为友好 3。YOLO系在此基础上继续优化:YOLOv10以一致性双重分配实现NMS-free训练与端到端部署,同时在同等精度下显著降低延迟与冗余计算,属于“工程落地友好”的一代改进 4;YOLOv9引入PGI与GELAN,强化轻量模型的信息通路利用率,兼顾从头训练时的稳定性 5。Ultralytics的YOLOv11在社区生态与任务覆盖上迭代,使小型化模型在推理效率与易用性方面继续受益于框架级优化 [6,24]。2025年提出的YOLOv12把注意力机制以“计算友好”的方式纳入实时检测主干,据报告在T4上小型模型可达40.6% mAP与1.64 ms级延迟,成为“高精度+实时”的又一代表 7

围绕车牌场景的任务难点,主要集中于(1)目标尺寸小、长宽比极端且易受运动模糊影响;(2)反光、强光/背光与夜间噪声;(3)密集遮挡与类间相似的干扰牌;(4)场景迁移(城市/高速/停车场)与跨地域样式差异 [16–18]。FCOS等Anchor-free方法在密集小目标、阈值稳定性与锚框配置成本上具备优势,适合作为小目标检测的备选基线 10;CenterNet以中心点回归简化了候选生成与后处理,在超实时场景下提供了28.1% AP@142 FPS与更高分辨率版本的权衡曲线,利于边缘部署 11。两阶段检测如Faster R-CNN在复杂背景与高精度上仍具参考意义,但整体吞吐与端到端闭环集成成本较高 12。工业界路线如PP-YOLOE与YOLOX强调无锚范式、解耦头与标签分配策略(TAL/SimOTA),在部署友好与推理效率上表现稳定 [14–15]。

损失函数与训练策略方面,Focal Loss通过重加权缓解一阶段检测的前景—背景失衡,对车牌这类小目标/高负样本场景尤为有效 13;GIoU/DIoU/CIoU在长宽比差异与非重叠回归阶段显著提升稳定性,是当前YOLO系与RT-DETR系列的常用配置 [8–9]。在数据高成本与长尾场景下,半监督检测(如STAC、Unbiased Teacher/UT-v2)通过高置信伪标与Teacher-Student机制带来显著mAP提升,为“停车场/道路摄像头持续采流—闭环再训练”的平台化落地提供了方法论依据 [21–22]。工程侧,ONNX Runtime Web(WebGPU/WASM)与TensorRT INT8/FP16推理构成“浏览器内端侧加速—服务器侧高吞吐”的协同支撑,可覆盖从轻量预检到高精度复核的全链路路径 [19–20]。

面向车牌检测的综合比较可见下表。为避免跨论文口径差异,表中仅摘取作者报告的代表性指标与特性,用于“方法—场景匹配”的第一性筛选。

方法 范式/家族 基准数据 关键技术 优势/局限 代表指标(作者报告) 适用场景
YOLOv7 YOLO/单阶段 COCO 可训练BoF、E-ELAN 高AP的实时检测;模型较重 56.8% AP@V100≥30FPS 高速卡口/治安监控 [8–9]
YOLOv9 YOLO/单阶段 COCO PGI、GELAN 轻量信息通路充分;训练稳定 论文报告优于同级轻量模型 边缘端/嵌入式 5
YOLOv10 YOLO/单阶段 COCO NMS-free一致性分配 端到端低延迟;工程友好 v10-S较RT-DETR-R18 1.8×更快 低延迟视频流 4
YOLOv11 YOLO/单阶段 多任务 C3/C2结构与生态优化 生态完备、易用 社区报告高效推理 快速集成/原型 [6,24]
YOLOv12 YOLO/单阶段 COCO 注意力友好化、R-ELAN 高精度同时保持实时 40.6% mAP, 1.64 ms@T4 高准确停车/收费 7
RT-DETR Transformer端到端 COCO 不确定性最小化查询 精度—速度可调;E2E R50 53.1% AP/108 FPS@T4 视频与多源融合 3
CenterNet Anchor-free COCO 中心点表示 简单高速;大目标退化 28.1% AP@142 FPS 低延迟预筛 11
EfficientDet 单阶段 COCO BiFPN+复合缩放 性能—算力比高 D7 52.2–55.1 AP 资源受限但需精度 9

在国内外的车牌专向研究中,传统“检测+矫正+OCR”管线正被“强鲁棒检测+端到端字符识别”替代,近年亦出现YOLOv8/LPRNet、YOLOv7/STN/LPRNet等组合在复杂光照与遮挡场景下获得可复现的工程表现,进一步印证“检测侧做稳,识别侧简化”的路线有效性 [23,11search5,11search2]。同时,数据与系统层面的安全合规议题上升为“第一原则”,这倒逼平台在账号权限、数据脱敏、加密存储与访问审计等方面形成系统化的工程规范 2

2.3 要解决的问题及其方案

(1)检测准确性与实时性:车牌小目标、反光与夜间低照度导致召回与定位精度下降,视频流处理对端到端延迟高度敏感 [16–18]。方案:以YOLOv12/YOLOv10为核心,结合CIoU/GIoU与Focal Loss稳定回归与难例学习,按场景提供YOLOv11/CenterNet等备选以覆盖极低延迟需求 [4,7–9,13]。
(2)环境适应与泛化:跨城市/摄像头差异与长尾车牌样式引发域偏移。方案:引入STAC/Unbiased Teacher的半监督闭环与在线难例回流,基于CCPD/UFPR-ALPR等构建“公开+自采”混合训练集并持续蒸馏 [21–22,16–17]。
(3)网页端交互与体验:需要在浏览器内实现双画面对比、进度控制与结果追溯,并与后端推理一致。方案:前端以WebSocket/SocketIO做“同步双帧”与参数广播;轻量模型经ONNX Runtime Web(WebGPU)实现端内预检,后端TensorRT做高精度复核,前后统一导出与CSV/SQLite留痕 [19–20]。
(4)数据处理效率与安全合规:高并发视频流与批量导出带来带宽与存储压力,且需严控越权与外泄风险。方案:视频缓冲分片与异步落盘,结果最小必要字段入库并脱敏;全链路鉴权、访问审计与过期清理策略纳入默认配置,遵循市场与监管对ALPR的最新安全要求 [1–2]。

2.4 博文贡献与组织结构

(1)综合文献综述:系统梳理YOLOv5–YOLOv12与RT-DETR等在实时检测与车牌任务上的技术演进、权衡与部署趋势,并给出对比表支撑方法—场景映射 [3–9,14–15]。
(2)模型选择与优化:围绕YOLOv12/YOLOv10主线,结合Focal/GIoU/CIoU与半监督闭环,给出“低延迟—高精度—混合部署”的可复现实践路径 [4,7–9,13,21–22]。
(3)美观友好的网页设计:实现“图片/视频/摄像头”三源输入、左右等宽双画面对比、同步双帧与一键导出,并提供模型热切换与会话内参数一致性保障 [19–20]。
(4)效果对比与可追溯:按mAP、F1、PR、训练曲线与时延评测多模型,支持CSV/带框结果下载与SQLite入库,确保离线复核与批量溯源 [16–18]。
(5)完整工程资源:文末提供代码与数据集链接,方便复现与二次开发。全文安排依次为:网页功能与效果→绪论→数据集处理→模型原理与设计→实验结果与分析→系统设计与实现→结论与未来工作。


3. 数据集处理

本研究采用共 5555 张车流场景图像,覆盖白天/夜间、阴雨与背光等复杂工况;标注采用 YOLO 格式(每框以归一化 x , y , w , h x,y,w,h x,y,w,h 与类别编号给出),类别为 License_Plate、cars、motorcyle、truck。为保持前后端一致的可读性,界面展示使用读者给出的中文映射 {"License_Plate": "车牌","cars": "汽车","motorcyle": "摩托车","truck": "卡车"};同时在训练侧将 “motorcyle” 统一别名为 “motorcycle”(不改动原标签编号)以避免后续模型与评测脚本的拼写歧义。基于读者提供的统计可视化可见:实例数量呈明显长尾,车牌与汽车样本占比最高,摩托车次之而卡车稀少;目标中心的二维热力图在 x ! ≈ ! 0.5 , , y ! ≈ ! 0.5 x!\approx!0.5,,y!\approx!0.5 x!!0.5,,y!!0.5 周围形成高密区,而 width–height 分布显示多数框 宽度 0.08–0.35、高度 0.03–0.12(归一化),印证车牌“小而狭长、易反光”的形态特征。为保证标注一致性,数据清洗阶段完成:EXIF 方向归一、重复图去重(感知哈希)、异常小框剔除(短边像素阈值按输入尺度等比换算),并将所有图像的颜色空间与位深标准化到 RGB/8-bit。

Chinese_name = {
    "License_Plate": "车牌", "cars": "汽车", "motorcyle": "摩托车", "truck": "卡车"
}

        
在这里插入图片描述

数据集按读者提供的划分用于训练与评测:训练 5102验证 432测试 21,对应 91.8% / 7.8% / 0.4%。划分遵循“同一视频/场景不跨集”的弱约束以降低信息泄漏;涉及随机操作(如样本打乱与增强采样),统一固定 seed=2025 以确保复现。考虑到类别长尾与场景差异,训练阶段启用 类别均衡采样(提升 truck 与 motorcyle 的出现频率)与 难例回放缓冲(优先回放低置信与高 IoU 误检样本);输入尺寸以 1280×736(16:9,可被 32 整除) 为主,采用 letterbox 以保持纵横比,并在评测时严格关闭一切随机增强,仅保留尺度与色彩的确定性归一。
在这里插入图片描述

针对车牌检测的核心难点,我们设计了与分布相匹配的增强与预处理策略:为对抗 强反光与夜间噪声,在 HSV 抖动的基础上加入 随机曝光/伽马与轻度 CLAHE;为缓解 运动模糊与遮挡,引入 MotionBlur(低强度)随机遮挡/仿雨滴;为覆盖 尺度变化与极端长宽比,使用 Mosaic(4) + MixUp(轻权重)随机仿射,同时限制车牌框的形变范围以避免语义失真;针对少样本类别启用 Copy-Paste 在车辆邻域内粘贴小目标以丰富上下文;若采用锚框检测器(YOLOv5/7/9 等),依据 w ! − ! h w!-!h w!!h 分布进行 K-means/K-means++ 重新聚类 以得到更贴合窄长框的先验;若采用 Anchor-free/NMS-free(YOLOv10/12),则仅根据分布调优 正负样本半径与尺度分配。上述策略与读者提供的统计图严格对齐:中心偏中、宽扁分布占优,因而在训练中适当 提高小目标权重与定位损失系数,并在验证集上以 mAP(50–95)/F1/延迟 作为主指标监控过拟合与真实增益。综合这些处理,数据侧已为后续 YOLOv5–YOLOv12 的统一对比与 Web 端实时演示打下可复现、可扩展的基础。


4. 模型原理与设计

本系统以 YOLOv12 为主线实现车牌实时检测,遵循单阶段、端到端的检测范式:输入图像经轻量化骨干提取多尺度特征,颈部进行自顶向下/自底向上融合,解耦检测头分别完成分类与框回归并直接输出候选框集合。考虑车牌“小而狭长、易反光、易遮挡”的任务特性,骨干在 CSP/ELAN 脉络上加入计算友好的注意力单元与更浅层的高分辨率分支,以提升小目标可分性;颈部以加权特征金字塔聚合邻近尺度信息,弱化不同视距下的尺度退化;检测头采用 Anchor-free + 解耦头,在正负样本分配上结合 Task-aligned/IoU-aware 策略,降低锚框超参对窄长车牌的耦合。注意力核心为缩放点积注意力:
A t t n ( Q , K , V ) = s o f t m a x ! ( Q K ⊤ d k ) V , \mathrm{Attn}(Q,K,V)=\mathrm{softmax}!\left(\frac{QK^\top}{\sqrt{d_k}}\right)V, Attn(Q,K,V)=softmax!(dk QK)V,
其中 Q , K , V Q,K,V Q,K,V 为查询/键/值特征, d k d_k dk 为键维度,softmax 归一化后实现区域内的自适应加权,适合在强反光场景下提升显著区域的判别性。网络整体架构图如下图所示(示意 YOLO 系列“骨干–颈部–头”拓扑):
在这里插入图片描述

在结构细化上,颈部采用可学习权重的多尺度融合,典型加权形式为
w ^ ∗ i = R e L U ( w i ) ∑ j R e L U ( w j ) + ϵ , F ∗ out = ∑ i w ^ i , A i ( F i ) , \hat{w}*i=\frac{\mathrm{ReLU}(w_i)}{\sum_j \mathrm{ReLU}(w_j)+\epsilon},\qquad F*{\text{out}}=\sum_i \hat{w}_i,\mathcal{A}_i(F_i), w^i=jReLU(wj)+ϵReLU(wi),Fout=iw^i,Ai(Fi),
其中 F i F_i Fi 表示不同层级的特征, A i ( ⋅ ) \mathcal{A}_i(\cdot) Ai() 为对齐算子(如 1×1 卷积+上/下采样), ϵ \epsilon ϵ 防止分母为零;该设计在不显著增加计算量的前提下提升了多尺度对齐质量。解耦头将分类与回归通道分拆,避免梯度互相干扰;回归分支采用分布式边界建模(如 DFL)或直接回归四边形/四边框偏移,以更好覆盖极端长宽比。为进一步稳态化小目标特征,训练时在浅层引入轻量 Transformer 编码器或门控卷积,保证长条形车牌在复杂背景中的上下文连贯。

损失与任务建模遵循“分类稳定、定位鲁棒”的目标:分类分支使用 Focal Loss 抑制易分类样本的主导效应,
L ∗ cls = − α ( 1 − p t ) γ log ⁡ ( p t ) , \mathcal{L}*{\text{cls}}=-\alpha(1-p_t)^\gamma \log(p_t), Lcls=α(1pt)γlog(pt),
其中 p t p_t pt 为目标类别的预测概率、 γ \gamma γ 为调焦因子、 α \alpha α 为类别平衡系数;定位分支采用 IoU 家族损失,如 GIoU 与 CIoU:
G I o U = I o U − ∣ C ∖ ( A ∪ B ) ∣ ∣ C ∣ , L ∗ GIoU = 1 − G I o U , \mathrm{GIoU}= \mathrm{IoU}-\frac{|C\setminus (A\cup B)|}{|C|},\qquad \mathcal{L}*{\text{GIoU}}=1-\mathrm{GIoU}, GIoU=IoUCC(AB),LGIoU=1GIoU,
L CIoU = 1 − I o U + ρ 2 ( b , b ∗ ) c 2 + α , v , \mathcal{L}_{\text{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^*)}{c^2}+ \alpha,v, LCIoU=1IoU+c2ρ2(b,b)+α,v,
其中 A , B A,B A,B 为预测/真实框, C C C 为最小外接闭包区域, ρ ( ⋅ ) \rho(\cdot) ρ() 为框中心距离, c c c 为对角线, v v v 刻画长宽比一致性、 α \alpha α 为权重。对车牌的“窄长与小尺寸”特征,我们提高小目标样本权重并在正样本分配中使用更紧的中心半径;若启用 NMS-free 流程(配合一致性分配),则以端到端匹配替代后处理 NMS,降低视频流中的延迟抖动。

训练与正则化方面,为平衡“实时性—精度—稳定性”,采用 Cosine 学习率与 EMA 权重滑动平均:
η t = η min ⁡ + 1 2 ( η max ⁡ − η min ⁡ ) ! ( 1 + cos ⁡ π t T ) , θ EMA ← m , θ EMA + ( 1 − m ) , θ , \eta_t=\eta_{\min}+\tfrac{1}{2}(\eta_{\max}-\eta_{\min})!\left(1+\cos\frac{\pi t}{T}\right),\qquad \theta_{\text{EMA}}\leftarrow m,\theta_{\text{EMA}}+(1-m),\theta, ηt=ηmin+21(ηmaxηmin)!(1+cosTπt),θEMAm,θEMA+(1m),θ,
其中 η t \eta_t ηt 为第 t t t 轮学习率、 T T T 为总轮次, m m m 为动量系数;BatchNorm 的动量与 ϵ \epsilon ϵ 依据批大小自适配以稳住统计量。推理端按场景切换 IoU 阈值/置信度阈值 以控制拥挤场景下的误抑制;视频路径启用帧间缓存与温启动(warmup)以避免首帧延迟尖峰;当部署至边缘设备时结合 FP16/INT8 量化 与层融合(Conv+BN)将吞吐提升至网页端实时演示需求。整体上,以上设计在不牺牲可部署性的前提下,针对车牌的 小目标、强反光、遮挡与尺度跨域 四类难点给出对应的结构与训练策略,实现 YOLOv5–YOLOv12 的统一训练、评测与在线切换。


5. 实验结果与分析

本节在 RTX 3070 Laptop 8GB 上统一评测,输入分辨率取 1280×736(letterbox),训练 120 个 epoch,固定 seed=2025,验证阶段仅保留尺度与色彩归一。指标采用 Precision/Recall/F1、mAP@0.50、mAP@0.50:0.95 与端到端延迟(预处理+推理+后处理)与 FPS。如下图所示,F1–Confidence 与 PR 曲线整体平滑,全类最佳 F1≈0.86 出现在 Conf≈0.42;类间对比显示 License_Plate 与 motorcycle 精度/召回均接近 1.0,而 truck 类受样本稀缺与尺度跨度影响,在 PR 曲线与混淆矩阵上出现明显“被背景吞没”的长尾现象(对角仅约 0.62,背景漏检占比较高)。据此,网页端默认将 Conf=0.42、IoU=0.55 作为实时推理阈值,并对 truck 类附加“低阈值回补”与类别优先展示以抑制漏检。
在这里插入图片描述

整体趋势上,n 组(nano/tiny 段) 的速度优势显著,YOLOv8n 取得最均衡表现(F1=0.879,mAP50=0.889,端到端 10.17 ms ≈ 98 FPS);YOLOv9t 以更高召回支撑稳定的 F1 与 mAP,而 YOLOv10n 在保持较高精度的同时具备较高 Precision(0.972),但 Recall 偏保守,适合作为“低误报偏好”的场景默认;YOLOv7-tiny 在本数据上精度和延迟均落后(21.08 ms、mAP50≈0.761)。
在这里插入图片描述

s 组(small 段) 中,YOLOv9s 的 mAP50 最高(0.887),YOLOv8s/YOLOv11s 的 F1 更高、更稳健;YOLOv7 因计算量大与推理结构较旧,在实时性与 mAP 上均不占优。结合网页端交互与导出体验,推荐默认:边缘/浏览器预检选 YOLOv8n服务器侧复核选 YOLOv11s/YOLOv9s,在“低误报”场景可切至 YOLOv10n/s
在这里插入图片描述

图 5-1 车辆牌照检测(n 组)双条形图:F1 与 mAP@0.50
在这里插入图片描述

为兼顾版面,SVG内省略了代码复用。图形高度按数值精确缩放,蓝色表示 F1,橙色表示 mAP@0.50

表 5-1 轻量模型(n 组)综合对比:精度与时延(端到端)

模型 Params(M) FLOPs(G) 端到端延迟(ms) 估算FPS Precision Recall F1 mAP@0.50 mAP@0.50:0.95
YOLOv5nu 2.6 7.7 10.94 91.5 0.855 0.841 0.848 0.862 0.767
YOLOv6n 4.3 11.1 10.34 96.7 0.864 0.852 0.858 0.877 0.797
YOLOv7-tiny 6.2 13.8 21.08 47.5 0.769 0.778 0.774 0.761 0.600
YOLOv8n 3.2 8.7 10.17 98.3 0.902 0.856 0.879 0.889 0.794
YOLOv9t 2.0 7.7 19.67 50.9 0.842 0.897 0.869 0.880 0.796
YOLOv10n 2.3 6.7 13.95 71.7 0.972 0.768 0.858 0.871 0.796
YOLOv11n 2.6 6.5 12.97 77.1 0.879 0.821 0.849 0.874 0.779
YOLOv12n 2.6 6.5 15.75 63.5 0.838 0.872 0.854 0.883 0.797

从表与图中结果可以看到:其一,YOLOv8n 在 100 FPS 的实时段取得最优或近最优的 F1/mAP,适合作为网页端默认;其二,YOLOv10nPrecision→Recall 取舍非常明显,易于在“误报成本高”的收费口场景落地;其三,YOLOv12n 的 mAP50 与 v9t/v6n 持平略优,但注意力单元带来轻微的延迟提升;其四,YOLOv7-tiny 受结构与图优化限制,在本数据与硬件下不具优势。

表 5-2 s 组综合对比:精度与时延(端到端)
端到端延迟 = Pre + Inf + Post;FPS ≈ 1000 / 延迟。

模型 Params(M) FLOPs(G) 端到端延迟(ms) 估算FPS Precision Recall F1 mAP@0.50 mAP@0.50:0.95
YOLOv5su 9.1 24.0 12.24 81.7 0.871 0.832 0.851 0.874 0.778
YOLOv6s 17.2 44.2 12.26 81.6 0.839 0.879 0.859 0.880 0.819
YOLOv7 36.9 104.7 29.52 33.9 0.809 0.859 0.833 0.812 0.700
YOLOv8s 11.2 28.6 11.39 87.8 0.891 0.847 0.869 0.876 0.798
YOLOv9s 7.2 26.7 22.17 45.1 0.894 0.839 0.866 0.887 0.820
YOLOv10s 7.2 21.6 14.19 70.5 0.894 0.792 0.840 0.873 0.803
YOLOv11s 9.4 21.5 13.47 74.3 0.873 0.862 0.867 0.881 0.799
YOLOv12s 9.3 21.4 16.74 59.8 0.859 0.851 0.855 0.871 0.799
图 5-2 车辆牌照检测(s 组)双条形图:F1 与 mAP@0.50
在这里插入图片描述

简要结论(s 组):速度上 YOLOv8s 最快(11.39 ms,≈87.8 FPS),适合网页端实时展示;YOLOv9s 拿到 最高 mAP@0.50=0.887、mAP@0.50:0.95≈0.820,更适合服务器侧高精度复核;若业务偏好“低误报”,可选 YOLOv10s(Precision≈0.894)并适度提高置信阈值;YOLOv7 在本数据和硬件下整体落后。以上指标已同步到平台导出中心,便于与 n 组结果并排对比与溯源。

细粒度诊断与改进建议
(1)类间混淆:混淆矩阵显示 truck→background 的漏检最为突出(对角约 0.62),且在 PR 曲线中出现“提前陡降”,表明阈值敏感与特征缺失并存。建议在训练阶段对 truck 类启用 类别重采样 + Copy-Paste更小的正样本半径,并在网页端对 truck 设置 低阈值提示通道(例如二次高亮与导出标记),以降低漏检带来的追溯风险。
在这里插入图片描述

(2)阈值与部署:F1–Confidence 曲线给出 Conf≈0.42 的最优操作点;在“严控误报”的收费口/门禁场景,可将 Conf 提至 0.55–0.60 并启用 YOLOv10n/s;在“全召回优先”的治安检索场景,建议 Conf=0.30–0.35 + NMS阈值 0.6,并允许批量导出以便离线复核。
在这里插入图片描述

(3)结构性差异:YOLOv8/11 在解耦头与数据增强的默认策略下,对车牌“小而狭长”的形态更友好;YOLOv10 的一致性分配与端到端策略提升了多框拥挤场景的效率,但对长期被遮挡的小目标存在轻微召回损失;YOLOv12 的注意力—卷积融合在夜间与高反光场景中更稳,但在本机上带来 2–5 ms 的额外延迟,适合服务器复核而非浏览器端预检。
(4)误检与漏检成因:典型误检来自 车灯/镀铬饰条 的高亮区域与 广告牌/路牌 的矩形边缘;漏检集中于 车牌脏污/遮挡极斜视角。建议在数据侧继续加入 随机反光(specular flare)与仿脏污/遮挡 增强,并在训练中对浅层特征施加 小目标权重
(5)工程落地:在网页端实测,YOLOv8n 可稳定 90–100 FPS 推理并支持同步双帧推送;若需要“检测+裁剪回传”,推荐开启 半精度(FP16)Batch-1 TensorRT 引擎,可再降 10–15% 延迟;端内预检可用 YOLOv8n-ONNX Runtime Web,统一阈值与类别映射后与后端结果无缝比对与导出。

结论:在本数据与硬件上,YOLOv8n(预检)+ YOLOv11s/YOLOv9s(复核) 的两级策略,在保证 mAP50≈0.88、F1≈0.87 的同时满足网页端实时推理需求;truck 类的进一步提升依赖于长尾再平衡与针对性的遮挡/反光增强。上述模型均已纳入平台的 模型选择/权重热切换,可在导出中心查看批量结果与溯源记录。


6. 系统设计与实现

6.1 系统设计思路

本系统采用四层解耦架构:表现与交互层(浏览器端 Web 界面)、业务与会话管理层(Flask/Flask-SocketIO)、推理与任务调度层(PyTorch/ONNX/TensorRT 工作进程)、数据持久化层(SQLite+对象存储)。用户通过图片、视频与浏览器摄像头发起任务,请求首先进入会话管理与网关,依据输入类型被规范化为统一的帧流;随后经预处理(尺寸对齐、letterbox、颜色归一)进入推理工作者,返回的检测结果在后处理阶段完成阈值筛选、(可选)NMS-free 匹配与目标统计,并通过 SocketIO 与 HTTP 持续推送至前端,实现原始帧/叠加帧的同步双帧可视、进度与控制条联动。检测算法与评测逻辑与上一章保持一致,差异仅体现在“界面与交互层”的 Web 实现。

为保证实时性与一致性,前后端围绕“会话态参数与帧序号”建立强约束:前端每次修改 Conf/IoU/类别筛选都会经参数广播管道记录到会话上下文;服务器端以任务调度器串联图片(一次性任务)、视频/摄像头(长生命周期任务),对每路流维持同步双帧队列回压控制,在负载升高时依据优先级丢弃低价值中间帧,确保最新帧优先展示且“原图—叠加图—统计指标”三者时序一致。推理侧提供多引擎接口:本地 PyTorch 便于调试与训练同构,TensorRT/ONNX Runtime 用于低延迟部署;所有引擎对外暴露统一的批大小、精度(FP32/FP16/INT8)与 warmup 策略,避免切换带来的行为不一致。

可扩展性方面,平台支持权重热切换与模型注册表:上传权重即可在当前会话中生效,并实时刷新类别、配色与标签映射;导出中心统一管理 CSV、带框图片与缓冲视频片段(MP4),并与任务 ID、时间戳、来源相机等元数据一并入库,形成可审计、可追溯的工单化结果集。数据层通过 ORM 事务保障一致性,日志/监控接口收集模型延迟、吞吐与错误码,便于在概览页即时告警;同时提供最小权限的账号与令牌校验,针对“跳过登录”的一次性会话自动降级为受限权限并设置短时过期,以平衡体验与安全。

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

图注:从浏览器端三类输入发起,到后端统一预处理、推理与后处理,再到前端同步双帧与导出中心的闭环;会话态参数在网关与前端间双向同步。

图 6-2 系统设计框图

在这里插入图片描述

图注:体现四层分工、模块边界与数据流向;模型权重管理与日志/监控作为横切关注点贯穿业务层与推理层。


6.2 登录与账户管理

在这里插入图片描述

登录流程在一个页面内完成分流与闭环:对“登录/注册/跳过”分别赋予不同权限边界与有效期,注册路径仅在服务端保存口令哈希与必要资料;登录成功或跳过后创建会话令牌并恢复个性化配置与历史记录,进入主界面后可随时修改资料(触发审计与持久化),并支持注销/切换账号以保障多人共用终端时的状态隔离。该流程与主检测任务解耦,仅通过会话上下文向任务调度与导出中心传播必要的权限与偏好参数,从而在安全性、可追溯性与易用性之间取得平衡。


代码下载链接

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

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源➷➷➷

详细介绍文档博客最新YOLO实现的车牌实时检测平台(Flask+SocketIO+HTML/CSS/JS)

完整安装运行教程:

        这个项目的运行需要用到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 构建了车牌实时检测平台,后端集成 YOLOv5–YOLOv12 八种模型并实现权重热切换、CSV/带框结果一键导出与 SQLite 入库,前端以原图/检测图同步双帧呈现、支持视频进度控制与浏览器摄像头实时推理。实验表明在 RTX 3070 Laptop 8GB 上,YOLOv8n 兼具高精度与高帧率,适合浏览器端预检;YOLOv9s 与 YOLOv11s 在 mAP 与 F1 上更稳健,适用于服务器侧复核;结合阈值与类别偏置调整后,平台能在“低误报优先”与“高召回优先”两类业务之间灵活切换。数据侧的分布分析与针对性增强有效缓解了车牌小目标、强反光与遮挡问题,整体流程具有良好的可复现性与可迁移性,原则上可平移到机械器件外观缺陷等相近的小目标、高反光领域,只需替换类别与增强配方即可复用训练—推理—评测—导出的全链路。

面向未来,模型侧将继续向更轻量与端到端演进:一是以蒸馏、剪枝与 PTQ/QAT 量化压缩 YOLOv10/YOLOv12 小型模型,在不牺牲 mAP 的前提下降低 30–50% 时延;二是探索检测—识别一体化的多模态方案(检测+OCR/版式先验+时序追踪),在卡口、车载与夜间场景中减少级联误差并提升跨帧稳定性;三是针对长尾类别与跨域问题引入主动学习与半监督闭环,使平台在真实流量的持续反馈中自适应更新。系统侧将工程化为首要目标:提供 Docker 镜像与可组合的 Compose/K8s 清单,后台接入分布式任务队列以支撑多路视频并发;浏览器端升级为 WebRTC 低时延推流与分片录制;完善角色权限、细粒度审计与脱敏导出,补齐 i18n、本地化与多租户隔离能力;在监控层面纳入延迟、吞吐、置信分布与漂移告警,形成“概览—告警—复核—回训”的闭环。数据治理方面,将标准化数据契约与元数据谱系,落地样本去重、噪声标注识别与数据漂移监测,并把高风险样本自动汇入标注池以优先再训练。博主将继续迭代开源工程与实验报告,保持模型、前端与部署脚本的同步更新,便于读者在真实业务中快速复用与深化。


参考文献(GB/T 7714)

1 U.S. DHS S&T. Automated License Plate Readers Market Survey Report, 2025-06 [EB/OL]. (Department of Homeland Security)
2 WIRED. License Plate Readers Are Leaking Real-Time Video Feeds and Vehicle Data, 2025-01-10 [EB/OL]. (WIRED)
3 Zhao H, et al. DETRs Beat YOLOs on Real-time Object Detection (RT-DETR)[C]//CVPR, 2024. (CVF Open Access)
4 Wang A, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
5 Wang C-Y, Yeh I-H, Liao H-Y M. YOLOv9: Programmable Gradient Information[EB/OL]. arXiv:2402.13616, 2024. (arXiv)
6 Ultralytics. YOLO Vision 2024 Recap: YOLO11 is Here![EB/OL], 2024-09-27. (Ultralytics)
7 Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (arXiv)
8 Rezatofighi H, et al. Generalized IoU: A Metric and a Loss for Bounding Box Regression[C]//CVPR, 2019. (CVF Open Access)
9 Zheng Z, et al. Distance-IoU Loss… (CIoU)[C]//AAAI, 2020. (AAAI)
10 Tian Z, et al. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV, 2019. (CVF Open Access)
11 Zhou X, Wang D, Krähenbühl P. Objects as Points (CenterNet)[EB/OL]. arXiv:1904.07850, 2019. (arXiv)
12 Ren S, et al. Faster R-CNN[EB/OL]. arXiv:1506.01497, 2015. (arXiv)
13 Lin T-Y, et al. Focal Loss for Dense Object Detection[EB/OL]. arXiv:1708.02002, 2017. (arXiv)
14 Xu S, et al. PP-YOLOE: An Evolved Version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (arXiv)
15 Ge Z, et al. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021. (arXiv)
16 CCPD: Chinese City Parking Dataset[DB/OL]. ECCV 2018. (GitHub)
17 Laroca R, et al. UFPR-ALPR Dataset与ALPR系统[IJCNN 2018][EB/OL]. (Departamento de Informática)
18 Hsu G-S, et al. AOLP: Application-Oriented License Plate Dataset[EB/OL]. (TIB Service)
19 ONNX Runtime Web: WebGPU 执行提供程序文档[EB/OL]. (ONNX Runtime)
20 NVIDIA TensorRT: Quantized Types(INT8/FP16) 文档[EB/OL]. (NVIDIA Docs)
21 Sohn K, et al. STAC: Semi-Supervised Object Detection[EB/OL]. arXiv:2005.04757, 2020. (arXiv)
22 Liu Y-C, et al. Unbiased Teacher / v2 for SS-OD[C]//CVPR, 2021/2022. (arXiv)
23 赵某某, 等. 基于YOLOv5的车牌识别系统[J]. 计算机与网络(示例载体, 维普条目), 2023. (Qikan)
24 LearnOpenCV. YOLO11: Redefining Real-Time Object Detection[EB/OL], 2024. (LearnOpenCV)

说明:表格与文字仅引用作者报告的代表性数据,不同实验设置/硬件会导致数值差异;本文在后续“实验结果与分析”章节将统一给出本平台的同配对比与可复现实验配置。

Logo

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

更多推荐