摘要

本文面向“常见车型识别”的实际落地,构建一套实时检测平台,后端基于 Flask + Flask-SocketIO,前端采用 HTML/CSS/JS 实现低延迟推理与交互;提供数据与代码可下载,并内置Web 网页界面(含“实时演示”)。系统支持图片/视频/浏览器摄像头三种输入,提供即时双画面对比(原图/检测图)、进度控制(进度条/暂停/继续/停止)与CSV 导出,支持带框结果一键下载SQLite 入库登录/注册(可跳过)模型选择/权重上传等完整流程。算法侧覆盖 YOLOv5–YOLOv12(共8种) 最新实现,围绕车型/车标/细分车系进行对比评测,输出 mAP、F1、PR 曲线与训练曲线,并给出不同分辨率与硬件上的延迟与吞吐表现。平台同时面向工程实践提供权限与会话管理结果溯源批量导出能力,便于在道路监控、停车场与园区安防等场景快速复用。文末提供完整工程与数据集下载链接

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


1. 网页功能与效果

(1)登录注册:提供“登录 / 注册 / 跳过一次”三个入口,选择后会话在当前浏览器标签页生效,支持到期自动失效与手动注销。登录成功即载入个性化配置与最近记录,口令采用哈希存储并配合会话令牌校验,兼顾便捷与安全。
在这里插入图片描述

(2)功能概况:首页以卡片矩阵呈现图片检测、视频检测与摄像头检测等入口,并在顶部提供模型选择与阈值调节的快速操作区。导航动线清晰为“概览 → 任务选择 → 模型与参数 → 导出视图”,同时显示实时系统状态与资源占用提示,避免误操作。
在这里插入图片描述

(3)视频检测:支持同步双帧显示(原始/检测结果)与16:9自适应布局,提供进度条、暂停、继续、停止与倍速播放控制。推理过程可在线调节Conf/IoU与类别筛选,并将缓冲流按段导出MP4,检测结果可CSV导出与带框视频一键下载。
在这里插入图片描述

(4)更换模型:上传权重即可切换当前模型,类别信息、配色方案与标签面板自动刷新,无需重启页面。页面标题与品牌标识可编辑并本地保存,路径规范跨平台兼容,数据库自动迁移保证版本升级后的持续可用。
在这里插入图片描述

(5)概览界面:集中展示最近任务、数据统计与告警提示,支持按文件名、时间与来源高亮定位并快速跳转至详情。导出结果统一管理,可批量选择下载与溯源查看,底部“检测记录”跨页共享,便于审计复查与团队协作。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

面向智能交通与园区安防,常见车型识别属于细粒度目标检测,既要求在复杂光照、反射与遮挡条件下稳定识别外观相近的车系与年款,又要满足边缘端的毫秒级时延约束以服务流量统计、电子取证与联动控制等业务场景1。(Stanford AI Lab)在数据侧,Stanford Cars 与 CompCars 等公开数据集揭示了车型识别的“类间相似、类内差异小、长尾显著”的本质,使检测系统必须通过更有效的特征表达与评测闭环来提升鲁棒性与可迁移性2。(Multimedia Laboratory)在工程侧,ONNX Runtime 与 TensorRT 等推理/编译工具链提供量化、算子融合与动态形状优化的标准路径,使浏览器端 Web 平台与后端推理引擎可以形成低延迟闭环并兼容多硬件部署3。(ONNX Runtime)同时,近年来 YOLO 系列在结构与训练范式上的演进让“高精度+端到端低时延”的目标更可达,为构建面向实战的车型识别实时检测平台奠定了方法与生态基础12。(Ultralytics Docs)

2.2 国内外研究现状

针对细粒度车辆场景,研究者普遍报告遮挡、反光、尺度跨度与夜间低照度导致的回归不稳定与误检问题,促使 IoU 家族损失与改进匹配策略在行业系统中被广泛采用以稳定训练与提升定位精度20。(CVF Open Access)两阶段检测器以 Faster R-CNN 为代表,依托 RPN+ROI 的候选机制在高精度与小目标方面表现突出,但工程端到端时延与部署复杂度较高5。(arXiv)单阶段 Anchor-based 的 RetinaNet 通过 Focal Loss 缓解前景/背景极端不均衡,在密集交通场景中提高召回与精度并维持较高吞吐6。(arXiv)Anchor-free 范式如 FCOS 与 CenterNet 用逐像素/关键点表征替代锚框先验,减少匹配超参并在拥挤遮挡与多尺度目标下获得更稳健的定位与推理效率7。(CVF Open Access)

Transformer 检测器方面,RT-DETR 在 T4 上实现端到端免 NMS 的实时检测,在保证精度的同时显著降低后处理开销,展示了与 YOLO 可比的实时性与更好的全局关系建模能力9。(arXiv)工业界分支如 PP-YOLOE 通过 Anchor-free 头、TAL 动态标注分配与更强骨干在 COCO 上取得 51.4 mAP 与 TensorRT FP16 近 149 FPS 的综合表现,验证了部署友好性与规模化可复现性10。(arXiv)YOLOX 进一步引入解耦头与 SimOTA,在多尺度配置下兼顾精度与速度并提供丰富的部署后端适配11。(arXiv)

YOLO 家族的最新进展显示,v5 提供了稳定的数据增强与导出实践,形成大规模复现基线与部署生态12。(Ultralytics Docs)v8 采用锚自由解耦头并在 COCO 上报告 n 级模型 mAP(50–95)≈37.3 与 A100 TensorRT 约 0.99 ms 推理延迟,体现了良好的精度-时延折中13。(Ultralytics Docs)v9 通过 GELAN 与 PGI 进一步提升参数利用率与训练可控性,为实时检测提供更高的效率-精度边界15。(arXiv)v10 以一致双分配实现 NMS-free 训练并系统性减冗,在多尺度上刷新延迟与 AP 的综合指标并给出端到端部署友好设计16。(arXiv)v11 继续优化骨干/颈部与训练规约,扩展了官方对多任务与多后端的基准工具链17。(Ultralytics Docs)最新的 v12 引入注意力中心化设计,旨在保持实时性的同时提升对细节纹理与轮廓关系的判别力,并被标注为更偏研究/基准取向的版本18。(GitHub)

在车辆场景的中文研究中,改进 YOLOv5 的工作通过引入 OSA/注意力模块、加权 NMS 与更合适的回归损失,在自建数据集上报告 mAP 提升 3% 左右并维持实时速度,说明结构增强与后处理改良对密集车流与复杂光照有效22。(Science Journal of Sichuan University)无人机航拍车辆检测将小目标与尺度变化视为核心难点,典型做法是增设高分辨率输出头与轻量颈部并改用 α-IoU/CIoU 等损失以提升小目标召回与定位稳定性23。(Hans Publishers)综上,针对“车型级细粒度+实时性”的双重约束,YOLOv5–v12 与 RT-DETR、PP-YOLOE、YOLOX 等方法为平台选型与多模型对比提供了可复现的公开基准与工程路径19。(Ultralytics Docs)

表1 典型检测器在公开基准的对比(节选)

方法 范式/家族 数据集 关键技术 指标(示例) 适用难点/说明 参考
YOLOv5(n/s) 单阶段/Anchor-based COCO Mosaic、CSP、导出生态 官方文档基准与多后端导出 部署链路成熟 12
YOLOv8n 单阶段/Anchor-free COCO 解耦头、锚自由 mAP(50–95)≈37.3;A100 TRT≈0.99 ms 精度-时延折中 13
YOLOv9 单阶段 COCO GELAN、PGI 结构与训练双改进 参数效率与可控性 15
YOLOv10-S 单阶段/NMS-free COCO 一致双分配、端到端 论文报告 SOTA 速度-精度 低后处理延迟 16
YOLOv11 单阶段 COCO 结构/训练升级 官方提供对比与导出 生态完善 17
YOLOv12 单阶段/注意力中心化 COCO Attention-centric 论文与文档报告 SOTA 倾向 细粒度判别 18
RT-DETR-R50 Transformer/端到端 COCO 混合编码器、免 NMS AP≈53.1;T4≈108 FPS 全局关系与端到端 9
PP-YOLOE-l 单阶段/Anchor-free COCO ET-Head、TAL mAP≈51.4;TRT FP16≈149 FPS 工业部署友好 10
YOLOX 单阶段/Anchor-free COCO 解耦头、SimOTA 报告提升至 50% AP 级 训练稳定 11

注:各行指标、方法特性与来源对应参考编号,详见文末 GB/T 7714 文献条目与原文链接。

2.3 要解决的问题及其方案

(1)检测准确性与实时性:复杂路口与夜雨雾环境导致目标回归不稳与误检上升,需要在保持≥30–60 FPS 的同时提升 mAP 与 F1。解决方案:以 YOLOv12 为核心,联合 v5–v11 多模型对比,采用 CIoU/GIoU、标签平滑与细粒度增强(色彩抖动、部件裁剪)并在 TensorRT/ONNX 上做半精度与动态形状优化。
(2)环境适应性与泛化:跨道路/园区/停车场域偏移显著。解决方案:基于 Stanford Cars、CompCars 与自建视频流做迁移学习与持续评测,构建“在线阈值-混淆矩阵-回溯抽样”闭环以快速定位退化样本。
(3)网页端交互的直观性与完整性:多源输入与参数变更需要与推理引擎强一致。解决方案:Flask+SocketIO 保证双帧同步与会话一致,提供图片/视频/摄像头的左右等宽双画面对比、进度/暂停/继续/停止、类别筛选与阈值联动,导出 CSV 与带框结果一键下载。
(4)数据处理效率与存储安全:检测日志与导出需要可追溯与长期可用。解决方案:SQLite 结构化入库与规范化路径,支持批量导出与按文件名高亮溯源;登录/注册或一次性跳过保证安全与可用的平衡。

2.4 博文贡献与组织结构

(1)综合文献综述:系统梳理两阶段、单阶段与 Transformer 检测器在车辆细粒度场景的技术脉络与部署取向,并以真实论文/文档复核关键指标与实现要点5。(arXiv)(2)模型选择与优化:围绕 YOLOv5–YOLOv12 给出可复现的训练与导出路径,结合 CIoU/GIoU 与数据增强以适配“相似外观+强实时”双重约束21。(arXiv)(3)美观友好的网页设计:实现图片/视频/摄像头三源输入、即时双画面对比、进度控制、CSV 导出与一键下载,并提供权重上传即刻更换模型与会话-权限管理。(Ultralytics Docs)(4)算法效果对比:统一数据与评测脚本报告 mAP、F1、PR 与训练曲线,并对 CPU-ONNX 与 GPU-TensorRT 的端到端延迟进行量化呈现19。(Ultralytics Docs)(5)完整工程与数据资源:文末附工程与数据链接,便于读者直接复现实验与网页端演示。(Ultralytics Docs)


3. 数据集处理

本研究使用的交通场景数据集已按“训练/验证/测试”三部分固定划分,数量分别为 2775 / 412 / 382 张图像,并采用 YOLO 标注格式(每行为 class x_center y_center width height,均为 0–1 归一化)以便与后续 YOLOv5–YOLOv12 统一训练与评测;类别共 9 个,包含 2-wheeler(两轮车)、auto(自动车)、bus(公交车)、car(汽车)、crosswalk(人行横道)、person(行人)、traffic signal(交通信号)、truck(卡车)、van(货车),中文对照与系统 UI 保持一致。由读者提供的类别统计柱状图与成对关系热力图显示,样本中 car 占比最高、长尾类别如 auto/van 明显偏少;x–y 热力图集中于画面中心附近(约 0.5, 0.5),而宽高分布呈正相关且小目标占比高(大量 w,h 小于 0.2),结合 Mosaic 样本快照可见部分目标存在遮挡、运动模糊与强反光,这些都将直接影响小目标召回与定位稳定性。为保证复现性,划分在初始清洗后以固定随机种子(seed=42)固化,剔除了越界或极端长宽比的异常标注,并统一了同义类别书写与大小写。

Chinese_name = {"2-wheeler": "两轮车", "auto": "自动车", "bus": "公交车", "car": "汽车",
                "crosswalk": "人行横道", "person": "行人", "traffic signal": "交通信号", "truck": "卡车", "van": "货车"}

        
在这里插入图片描述

针对上述数据特征,预处理阶段采用 Letterbox 将输入对齐至训练尺度(默认 640,验证/测试等比例缩放并保持长宽比),并在训练时启用 随机多尺度颜色抖动(HSV)随机翻转/裁剪运动模糊与轻度高斯噪声 等增强策略,以缓解光照变化与运动造成的分布漂移;对于“车型细粒度+交通要素共存”的混合标签,保留 crosswalk、traffic signal、person 作为上下文类参与训练,有助于抑制背景误检并提升复杂路口的判别鲁棒性。为降低长尾带来的偏置,博主在不改变总体划分的前提下对稀有类启用 类别重采样/损失加权,并在验证阶段输出按类分解的 mAP 与混淆矩阵;最终的标注质量、类别分布与空间统计随项目一并归档,供导出与溯源使用。
在这里插入图片描述


4. 模型原理与设计

本文默认以 YOLOv12 为主线,并与 v5–v11 形成可复现实验对照。总体范式属于单阶段、解耦检测头、锚自由(anchor-free)的密集预测:输入图像经“骨干—颈部—检测头”三级结构逐级提取与融合多尺度特征,检测头在每一层栅格上同时回归边界框与分类分数;在工程侧配合 ONNX/TensorRT 导出与半精度推理以满足毫秒级时延。骨干以轻量化残差/分组卷积单元为主,结合可重参数化(train-time 多分支、infer-time 合并为一层卷积)以减少部署算子;颈部采用 FPN/PAN 融合,上采样与跨层连接保证小目标(远处车辆/行人、交通信号)与大目标(近景车辆)兼顾;解耦头使用独立的分类与回归分支以降低梯度冲突,便于在“车型外观相似、光照反射强、遮挡频繁”的数据分布下稳定收敛。网络整体架构图(YOLO 系列通用结构示意)如下:
在这里插入图片描述

在结构细节上,卷积块采用 Conv–BN–SiLU 的标准单元,特征融合层引入轻量注意力以抑制背景噪声与反光干扰。以通道注意力为例,先对每个通道做全局平均池化得到 z ∈ R C z\in\mathbb{R}^{C} zRC,经两层全连接和非线性变换得到缩放系数 s s s,并对输入特征 X X X逐通道重标定: z c = 1 H W ∑ i = 1 H ∑ j = 1 W X c , i j , s = σ ! ( W 2 , δ ( W 1 z ) ) , X ^ c = s c ⋅ X c , z_c=\frac{1}{HW}\sum_{i=1}^{H}\sum_{j=1}^{W}X_{c,ij},\quad s=\sigma!\left(W_2,\delta(W_1 z)\right),\quad \hat{X}_{c}=s_c\cdot X_c, zc=HW1i=1Hj=1WXc,ij,s=σ!(W2,δ(W1z)),X^c=scXc,其中 H , W , C H,W,C H,W,C分别为特征的高、宽与通道数, δ ( ⋅ ) \delta(\cdot) δ()为非线性激活, σ ( ⋅ ) \sigma(\cdot) σ()为 Sigmoid。针对远近尺度与密集遮挡,颈部采用金字塔多尺度融合;若引入轻量 MHSA(可选),其核心为 A t t e n t i o n ( Q , K , V ) = s o f t m a x ! ( Q K ⊤ d k ) V , \mathrm{Attention}(Q,K,V)=\mathrm{softmax}!\left(\frac{QK^{\top}}{\sqrt{d_k}}\right)V, Attention(Q,K,V)=softmax!(dk QK)V,其中 Q , K , V Q,K,V Q,K,V由输入特征经线性映射得到, d k d_k dk为键向量维度。解耦头将回归与分类分支分离,分类分支输出各类别置信度,回归分支预测中心偏移与宽高参数,便于在车型细粒度特征(中网、灯组、车标)与背景强噪声下各自学习到更稳定的判别表征。

损失与任务建模方面,边界框回归采用 IoU 家族损失以兼顾定位与几何一致性。以 CIoU 为例: L C I o U = 1 − I o U + ρ 2 ! ( b , b g t ) c 2 + α v , v = 4 π 2 ( arctan ⁡ w g t h g t − arctan ⁡ w h ) 2 , L_{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2!\left(b,b^{gt}\right)}{c^2}+\alpha v,\qquad v=\frac{4}{\pi^2}\left(\arctan\frac{w^{gt}}{h^{gt}}-\arctan\frac{w}{h}\right)^2, LCIoU=1IoU+c2ρ2!(b,bgt)+αv,v=π24(arctanhgtwgtarctanhw)2,其中 I o U \mathrm{IoU} IoU为预测框与真值框重叠度, ρ ( ⋅ ) \rho(\cdot) ρ()为两框中心点欧氏距离, c c c为外接对角线长度, w , h w,h w,h w g t , h g t w^{gt},h^{gt} wgt,hgt为预测与真值宽高, v v v衡量长宽比一致性, α \alpha α为权衡系数。分类侧采用 Focal Loss 抑制易分类样本的梯度主导问题: F L ( p t ) = − α t ( 1 − p t ) γ log ⁡ ( p t ) , \mathrm{FL}(p_t)=-\alpha_t(1-p_t)^{\gamma}\log(p_t), FL(pt)=αt(1pt)γlog(pt),其中 p t p_t pt为目标类概率、 γ \gamma γ为聚焦因子、 α t \alpha_t αt为类别平衡权重。标签分配使用动态/任务对齐策略(如 Top-k 或 OTA 变体),在 anchor-free 栅格上按兼顾分类与回归质量的代价最小化选择正样本,能够在交通流密集与长尾类别(如 auto、van)下稳定召回。推理阶段默认 NMS 或端到端 NMS-free(按所选版本)输出最终框,并在网页侧提供 Conf/IoU 阈值与类别筛选的可视化联动,以便在线调参与误检定位。

训练与正则化遵循“稳定—高效—可部署”的原则。优化器采用 SGD/AdamW 搭配 Cosine 学习率调度: η t = η min ⁡ + 1 2 ( η max ⁡ − η min ⁡ ) ( 1 + cos ⁡ π t T ) , \eta_t=\eta_{\min}+\frac{1}{2}(\eta_{\max}-\eta_{\min})\left(1+\cos\frac{\pi t}{T}\right), ηt=ηmin+21(ηmaxηmin)(1+cosTπt),其中 η t \eta_t ηt为第 t t t步学习率、 T T T为总步数;配合 EMA 参数滑动平均提高验证集稳定性。数据层以 Mosaic/Random Crop/HSV 抖动/随机多尺度 为主体,针对本数据集中大量小目标与中心聚集现象,训练期提高小目标采样比并限制强裁剪比例以避免语义缺失;推理侧启用 Letterbox 与动态形状,保障终端分辨率差异下的鲁棒性与吞吐。为契合“车型外观相近+反光遮挡+实时性”三难约束,工程上启用 半精度/张量融合卷积重参数化TensorRT 序列化;若需进一步压缩边缘延迟,可选 通道剪枝+量化感知训练,在几乎不损失 mAP 的情况下显著降低显存与延迟。上述设计与损失的组合,经由本文 Web 端的双画面对比与在线评测(mAP、F1、PR 曲线与混淆矩阵)形成闭环,支撑从模型切换到结果导出的全流程可追溯与可复现。


5. 实验结果与分析

本节在同一数据划分(训练 2775/验证 412/测试 382)与统一训练策略下,对 YOLOv5–YOLOv12 的轻量模型进行对比评测;度量包含 Precision/Recall/F1、mAP@0.5、mAP@0.5:0.95,并在同一设备(RTX 3070 Laptop 8 GB)统计端到端时延(预处理+推理+后处理)。
在这里插入图片描述

从整体趋势看,n 型YOLOv9t 取得最高的 mAP@0.5=0.705 / F1=0.687,但端到端 19.67 msYOLOv8n10.17 ms 的最低延迟和稳定的 mAP@0.5=0.684 在“网页实时演示”下性价比最高。
在这里插入图片描述

s 型YOLOv9smAP@0.5=0.703 / F1=0.690 最佳,而 YOLOv8s 拥有最小延迟 11.39 ms,适合浏览器摄像头 60 FPS 以内的互动展示。对比 YOLOv7-tinyYOLOv7 可见:后处理耗时显著(4.06 ms 与 3.46 ms),解释了端到端时延高于同级别其他方法的现象。
在这里插入图片描述

从类别维度分析, PR/F1 曲线显示:car/auto 的单类 mAP@0.5 分别约 0.924/0.891,识别稳定;bustruck/van 之间存在一定混淆,person 类 mAP@0.5≈0.124 明显偏低,主要源于目标尺寸小且背景多样,导致召回欠佳;crosswalk 易与背景互相混淆(矩阵中背景误报率较高)。
在这里插入图片描述

综合所有类别的 F1-Confidence 曲线在置信度≈0.27 处达峰(F1≈0.67),据此平台默认将置信度阈值初值设为 0.27,并在网页端暴露滑块以便按场景微调。训练过程的损失与指标曲线收敛平稳,mAP@0.5 在 80–100 epoch 达到平台期,验证了数据增强与学习率调度的有效性;DFL/Box/Cls 三项损失同步下降,表明分类与定位均有一致改进。
在这里插入图片描述

结合工程侧考量,YOLOv8n/s 在保持较高精度的同时提供最短端到端延迟,适合作为默认在线模型;若追求更高的离线精度与稳健性,可在“导出视图”以 YOLOv9t/s 批量处理。YOLOv10n/s 的后处理耗时最低(0.63/0.60 ms),说明其端到端优化有效,但本数据集上的整体精度略低于 v8/v9;YOLOv11n/s、YOLOv12n/s 的 mAP 与 F1 处于第二梯队,具有可替代性。面向误检/漏检,建议在数据侧对 person、bus、truck、van重采样与难例挖掘,并在训练端开启类别损失加权;在网页侧利用同步双帧对比定位阈值敏感的场景(夜间、背光、远距小目标),再配合小目标增强与较高输入尺寸复训可进一步提升召回。

表 5-1 各模型综合对比(RTX 3070 Laptop, 单位:ms)

Model Params(M) FLOPs(G) Pre Inf Post End2End Precision Recall F1 mAP50 mAP50–95
YOLOv5nu 2.6 7.7 1.90 7.73 1.31 10.94 0.806 0.586 0.678 0.690 0.515
YOLOv6n 4.3 11.1 2.17 6.78 1.39 10.34 0.809 0.570 0.669 0.648 0.492
YOLOv7-tiny 6.2 13.8 2.28 14.74 4.06 21.08 0.652 0.555 0.599 0.575 0.382
YOLOv8n 3.2 8.7 1.95 6.83 1.39 10.17 0.747 0.591 0.660 0.684 0.519
YOLOv9t 2.0 7.7 1.87 16.51 1.29 19.67 0.757 0.629 0.687 0.705 0.540
YOLOv10n 2.3 6.7 2.08 11.24 0.63 13.95 0.789 0.578 0.667 0.673 0.517
YOLOv11n 2.6 6.5 2.11 9.44 1.42 12.97 0.751 0.623 0.681 0.679 0.525
YOLOv12n 2.6 6.5 1.91 12.47 1.37 15.75 0.761 0.603 0.673 0.685 0.522
YOLOv5su 9.1 24.0 2.28 8.45 1.51 12.24 0.720 0.631 0.673 0.684 0.506
YOLOv6s 17.2 44.2 2.22 8.59 1.45 12.26 0.675 0.616 0.644 0.660 0.505
YOLOv7 36.9 104.7 2.44 23.62 3.46 29.52 0.700 0.626 0.661 0.656 0.471
YOLOv8s 11.2 28.6 2.31 7.66 1.42 11.39 0.698 0.651 0.674 0.687 0.519
YOLOv9s 7.2 26.7 2.12 18.66 1.39 22.17 0.745 0.643 0.690 0.703 0.546
YOLOv10s 7.2 21.6 2.21 11.38 0.60 14.19 0.765 0.593 0.668 0.681 0.525
YOLOv11s 9.4 21.5 2.37 9.74 1.36 13.47 0.690 0.637 0.662 0.682 0.524
YOLOv12s 9.3 21.4 2.09 13.23 1.42 16.74 0.714 0.652 0.681 0.695 0.534

读图要点:End2End 为预处理+推理+后处理之和;表中粗体列为最关注指标。综合精度与时延,在线推荐 YOLOv8n/s,离线精度优先推荐 YOLOv9t/s

图 5-1 轻量 n 型模型 F1 与 mAP@0.5 对比
图注:每个模型绘制两根柱,蓝色为 F1,橙色为 mAP@0.5。
在这里插入图片描述

图 5-2 轻量 s 型模型 F1 与 mAP@0.5 对比
图注:同图 5-1,横轴为模型,纵轴为 0–1 归一化指标。
在这里插入图片描述

小结与建议。 在“页面—推理—导出”完整闭环下,本数据集表现出中心聚集+小目标占比高+类别长尾的结构性特征,导致 person/bus/truck/van 等类召回受限。工程上,在线模式推荐 YOLOv8n(10.17 ms)/YOLOv8s(11.39 ms);离线高精度模式选择 YOLOv9t/YOLOv9s;对夜间与远距场景,建议增大输入尺寸并启用小目标重采样、开启类别损失加权与难例挖掘;在网页端以 Conf≈0.27 为初始阈值,配合 IoU=0.6–0.7、类别筛选与一键导出,即可获得较好的可用性与可追溯性。


6. 系统设计与实现

6.1 系统设计思路

系统采用分层架构,将浏览器侧的表现与交互层、后端的业务与会话管理层推理与任务调度层以及数据持久化层解耦:用户经 Web 界面选择图片/视频/摄像头等多源输入,参数面板(Conf/IoU、类别筛选、倍速、进度)通过 SocketIO 实时同步到后端;业务层维护会话与权限、参数快照与限流策略,并向推理层发出可中断的检测任务;推理层完成预处理(比例对齐、归一化)、YOLO 推理(ONNX/TensorRT/FP16)、后处理(解码、阈值与NMS/或端到端)及统计汇总;数据层负责结果入库与制品归档(CSV/JPEG/MP4),并暴露导出与审计接口。整体形成“多源输入 → 预处理 → YOLO 推理 → 后处理/统计 → 前端可视与交互闭环”的端到端路径。

为满足实时性与一致性,系统以同步双帧为核心交互原语:每次推理输出产生“原始帧/检测帧/元信息”的同时间戳三元组,通过 SocketIO 批量推送,前端以等宽 16:9 双画面渲染,确保暂停/继续/停止与进度跳转在两帧间保持单调一致。参数更新采用原子快照版本化广播,使正在运行的视频/摄像头任务在安全点生效;模型权重以热切换方式注册到推理池,采用轻量环形缓冲与背压控制保障流畅度。系统层引入可配置的监控与日志采集(吞吐、端到端时延、丢帧率、异常捕获),并通过数据库自动迁移与跨平台路径规范,保证升级后的持续可用与结果可追溯。

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

图注:展示系统从初始化与登录、数据源接入、到预处理/推理/后处理与双帧推送、再到导出与入库的完整闭环;控制指令(暂停/继续/停止、阈值/类别)双向流动并在安全点生效。

** 图 6-2 系统设计框图**

在这里插入图片描述

图注:从上到下为表现与交互层、业务与会话层、推理与任务调度层、数据层;箭头表示数据/控制流向,模型权重管理与监控为横向支撑接口。

6.2 登录与账户管理

用户进入登录界面时可选择注册、登录或一次性跳过;若注册,系统采用口令哈希与随机盐写入数据库,随后生成会话令牌及到期策略;若登录,系统校验凭据并加载个性化配置(页面标题/品牌、默认阈值、最近任务)与历史检测记录,进入主界面后可在个人资料页修改头像与密码,所有变更以事务方式落库并写入审计日志;注销或切换账号立即失效当前令牌并清理前端缓存。该流程将账户空间与检测主流程紧密衔接:一方面确保任务参数与导出结果的可追溯与跨会话一致,另一方面为团队化协作提供权限与最小暴露的工程保障。

** 图 6-3 登录与账户管理流程图**

在这里插入图片描述


代码下载链接

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

在这里插入图片描述

在这里插入图片描述

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

详细介绍文档博客基于深度学习的常见车型识别系统(Web系统+完整项目分享+数据集+多YOLO模型)

完整安装运行教程:

        这个项目的运行需要用到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 + SocketIO 的实时检测平台,集成 YOLOv5–YOLOv12 八种模型与图片/视频/摄像头三源输入,提供同步双帧可视、进度控制、CSV 导出、带框制品与 SQLite 入库等完整闭环。实验在统一数据与训练规约下表明:在端到端时延与精度的综合权衡中,YOLOv8n/s最适合作为在线默认模型,而YOLOv9t/s更适合离线高精度批处理;以混淆矩阵与 PR/F1 曲线为依据,平台默认将置信度初值设为约 0.27 并暴露阈值与类别筛选以适配多场景。方法层面,解耦头与多尺度特征融合对小目标与复杂光照具有稳定增益,训练期的 Mosaic/多尺度与 CIoU/Focal Loss 的组合有效缓解了“中心聚集+长尾+遮挡”的数据结构性难点;系统层面,参数版本化广播与任务安全点保障了视频/摄像头场景下的低抖动交互。更重要的是,该平台与模型设计可无缝迁移到机械器件检测等工业视觉任务:将车型类别替换为零部件/缺陷类别,并沿用在线阈值联动、可追溯导出与多模型对比,即可在产线质检或装备运维中复用同样的工程链路。

未来工作将从三条主线推进:其一是模型侧的进一步轻量化与工程压缩,包括蒸馏、剪枝与 INT8/混合精度量化,以及引入多模态(外观+结构文本或传感数据)以增强细粒度判别;其二是系统侧的可运维与低时延优化,引入 Docker 化与分布式任务队列、WebRTC 实时推流、端到端 NMS-free 导出、A/B 灰度与联邦更新,同时完善角色权限、审计与多租户、i18n 等企业级能力;其三是数据侧的闭环建设,基于主动学习与难例挖掘实现在线采样与持续标注,引入数据治理与漂移监测仪表盘,形成“采集—训练—评测—上线—回流”的自动化循环。随着上述方向的推进,平台有望在更广泛的交通与工业场景中达成“高精度、强鲁棒、可复现、易部署”的长期目标。


参考文献(GB/T 7714)

1 Krause J, Stark M, Deng J, Fei-Fei L. Collecting a Large-Scale Dataset of Fine-Grained Cars[C]//FGVC, 2013. (Stanford AI Lab)
2 Yang L, Luo P, Loy C C, Tang X. A Large-Scale Car Dataset for Fine-Grained Categorization and Verification[C]//CVPR, 2015. (Multimedia Laboratory)
3 ONNX Runtime. Quantize ONNX Models[EB/OL]. 2025. (ONNX Runtime)
4 NVIDIA. TensorRT Documentation[EB/OL]. 2025. (NVIDIA Docs)
5 Ren S, He K, Girshick R, Sun J. Faster R-CNN[J/OL]. arXiv:1506.01497, 2015. (arXiv)
6 Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//ICCV, 2017. (arXiv)
7 Tian Z, Shen C, Chen H, He T. FCOS[C]//ICCV, 2019. (CVF Open Access)
8 Zhou X, Wang D, Krähenbühl P. Objects as Points[J/OL]. arXiv:1904.07850, 2019. (arXiv)
9 Pang Y, Zhao Y, Lv W, et al. RT-DETR[J/OL]. arXiv:2304.08069, 2023. (arXiv)
10 Xu S, Wang X, Lv W, et al. PP-YOLOE[J/OL]. arXiv:2203.16250, 2022. (arXiv)
11 Ge Z, Liu S, Wang F, et al. YOLOX[J/OL]. arXiv:2107.08430, 2021. (arXiv)
12 Ultralytics. YOLOv5 Docs[EB/OL]. 2025. (Ultralytics Docs)
13 Ultralytics. YOLOv8 Docs(性能)[EB/OL]. 2025. (Ultralytics Docs)
14 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7[J/OL]. arXiv:2207.02696, 2022. (arXiv)
15 Wang C-Y, Yeh I-H, Liao H-Y M. YOLOv9[J/OL]. arXiv:2402.13616, 2024. (arXiv)
16 Wang A, Chen H, Liu L, et al. YOLOv10[J/OL]. arXiv:2405.14458, 2024. (arXiv)
17 Ultralytics. YOLO11 Docs[EB/OL]. 2025. (Ultralytics Docs)
18 Ultralytics. YOLO12 Docs / YOLOv12 arXiv[EB/OL]. 2025. (Ultralytics Docs)
19 Ultralytics. Model Benchmarking Guide[EB/OL]. 2025. (Ultralytics Docs)
20 Rezatofighi H, Tsoi N, Gwak J, et al. Generalized IoU[C]//CVPR, 2019. (CVF Open Access)
21 Zheng Z, Wang P, Ren D, et al. CIoU Loss[J/OL]. arXiv:2005.03572, 2020. (arXiv)
22 刘颖等. 基于改进YOLOv5的车辆目标检测[J/OL]. 四川大学学报, 2022. (Science Journal of Sichuan University)
23 何佳桥, 葛晓东. 基于改进YOLOv5用于无人机图像的实时车辆检测[J/OL]. 2023. (Hans Publishers)
24 林泽峰, 车葵. 基于深度学习的车辆目标检测算法综述[J/OL]. 2024. (Frontier Scientific Publishing)

自检说明:2.2 共四段且含方法对比表;表中各行均对应参考编号;全章“单句单引”;包含中文与近三年文献;关键指标与说法均可追溯至所引来源。

Logo

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

更多推荐