最新YOLO实现的危险物品实时检测平台(Flask+SocketIO+HTML/CSS/JS)
摘要
本文面向“危险物品实时检测”应用场景,构建并开源一套Flask + Flask-SocketIO/HTML/CSS/JS 的端到端平台,支持图片/视频/浏览器摄像头多源输入与即时双画面对比(原图/标注等宽对照),提供进度控制(播放/暂停/继续/停止)与帧级时间轴预览,内置Conf/IoU 调节、类别筛选、CSV 导出与带框结果一键下载。系统包含登录/注册(可跳过)与会话管理、SQLite 入库与可追溯记录,支持模型选择/权重上传热切换,算法覆盖 YOLOv5–YOLOv12(共 8 种),内置实验面板对比 mAP、F1、PR 曲线、训练曲线 等指标,并给出典型误检/漏检案例与可解释可视化。后端基于 PyTorch 推理与异步队列,实现 GPU/CPU 自适应与轻量部署;前端以响应式布局适配 16:9 自适应显示,提供批量导出与记录检索。平台面向安检/园区/仓储等场景,可在边缘设备快速上线,支持持续数据闭环与模型迭代,文末提供完整工程与数据集下载链接。
文章目录
1. 网页功能与效果
(1)登录注册:提供登录、注册与一次性跳过三种入口,跳过仅在当前会话生效以便快速试用。成功登录后自动载入个性化配置、最近检测记录与默认模型,口令经哈希存储并配合会话过期控制保障安全。异常登录会以温和提示引导重试或重置密码,不打断既有浏览流程。
(2)功能概况:概览页汇集平台能力与状态面板,涵盖数据源(图片/视频/摄像头)、模型版本与设备占用、当前阈值与类别筛选等核心信息。常用操作被折叠为快捷卡片,支持一键进入检测、导出或历史回放,减少跨页面跳转。统计卡实时刷新处理帧率、检测数与告警占比,便于快速判断系统健康度。
(3)视频检测:采用“同步双帧”布局对齐同一时间点的原始帧与检测结果,左右等宽、16:9 自适应显示。提供进度、暂停、继续与停止控制,并保留缓冲用于导出 MP4;支持按时间片段标注重点片段与快速回看。可在线调节 Conf/IoU、按类别开关可视化元素,同时生成可追溯的 CSV 与带框视频一键下载。
(4)更换模型:支持上传权重或从模型库选择以热切换当前检测模型,类别清单与颜色映射同步刷新,避免口径不一致。切换过程展示加载与校验进度,并在完成后自动触发一次短帧试推理以验证可用性。历史权重与备注集中管理,便于不同场景在精度与速度间快速切换。
(5)概览界面:以卡片化信息架构呈现系统概况、近任务列表与告警摘要,支持按文件名与时间高亮定位。页面标题、品牌与主题色可编辑并本地保存,满足团队风格化需求。支持跨平台路径规范与数据库自动迁移,保证升级后记录、统计与导出结果的连续可用。
2. 绪论
2.1 研究背景与意义
危险物品的实时检测事关公共安全与运行韧性,其在安检通道、园区与仓储等高风险场景中需要在复杂遮挡、类间相似与长尾分布下同时兼顾高召回与低延迟,这一现实需求推动了单阶段检测器与端侧可视化平台的一体化演进 21。在数据层面,安检 X 光图像广泛存在重叠与密集遮挡、阴影与材质弱纹理等问题,代表性基准如 SIXray 覆盖百万级样本并明确揭示了类别极度不均衡与目标互相遮挡的挑战 5。在系统层面,浏览器端 WebGPU 与边缘推理的成熟降低了部署与维护成本,使“采集—推理—可视—反馈”的闭环可以直接在前后端协同中达成,从而缩短模型迭代周期 3。与此同时,推理侧的量化与算子优化(如 INT8/FP8)在不显著牺牲精度的前提下显著降低延迟与能耗,为值守型场景释放更多吞吐冗余并提升可扩展性 4。(Crad ICT)
2.2 国内外研究现状
围绕安检与视频巡检场景的“危险物品检测”,研究首先面临 X 光透视带来的目标互相穿叠、纹理缺失与伪影,以及极不均衡的正负样本分布,这些因素共同抬升了误检与漏检的难度 5。近期综述工作进一步概括了该方向的关键挑战:遮挡与重叠、设备域差异、有限标注与长尾分布在现实系统中普遍存在,并直接影响召回曲线与阈值稳健性 20。在通用目标检测层面,国内综述指出“速度—精度—部署”三元约束仍是研究主线,工程化落地促使训练范式、特征融合与部署接口联动优化 21。(CVF Open Access)
为应对长尾与前景—背景极不均衡,Focal Loss 通过重加权难例有效提升一阶段检测器的精度并稳定训练,为危险物品类弱信号学习提供了经典路径 9。Anchor-free 范式代表 FCOS 以逐像素回归与中心度建模减少锚框先验对细长/小尺度目标的适配难度,降低了阈值超参敏感性 10。基于关键点的 CenterNet 将目标视作中心点并回归尺度与偏移,在拥挤遮挡下仍具较好定位鲁棒性 11。Transformer 端到端检测器 RT-DETR 通过混合编码器与不确定性最小查询选择,在 COCO 上 R50 达到 53.1 AP 与 T4 108 FPS,省去 NMS 的同时兼顾速度与精度,显示出实时部署潜力 1。YOLOX 则以解耦头与 SimOTA 动态分配在 COCO 上实现 50.0 AP 与 V100 68.9 FPS,维持了良好的工程可用性 12。(arXiv)
YOLO 家族在近三年围绕骨干/颈部、标注分配与端到端推理持续演进:PP-YOLOE 以 ET-Head 与 TAL 在 COCO test-dev 报告 51.4 mAP、V100 78.1 FPS,并在 TensorRT FP16 下达 149 FPS,凸显“工业级部署友好”的整体取向 3。YOLOv9 引入 GELAN 与 PGI 可编程梯度,在轻量模型的参数利用率与从零训练上取得进展并报道更低延迟 13。YOLOv10 通过一致性双重分配实现 NMS-free 训练,并以整体效率—精度协同设计将延迟与参数规模系统性下降,如 v10-S 在相近 AP 下较 RT-DETR-R18 快 1.8×,v10-B 较 v9-C 延迟下降 46% 2。Ultralytics 发布的 YOLO11 面向云边协同与更易用的导出生态进一步优化训练/推理体验 7;YOLO12 则作为“社区研究模型”偏向高精度探索但在训练稳定性与 CPU 吞吐上需谨慎用于生产 8。(arXiv)
工程侧的轻量化与部署技术与上述算法并行推进:GIoU/DIoU/EIoU 等几何感知回归损失缓解遮挡与尺度差异导致的定位不稳定,常与解耦头/金字塔特征联合使用 14。在两阶段与单阶段的平衡方面,Faster R-CNN 仍提供高精度候选区域基线,SSD 与 RetinaNet 分别以多尺度默认框与 Focal Loss 在速度—精度间取得良好权衡 159。面向浏览器与边缘的推理优化,ONNX Runtime Web 的 WebGPU 执行提供端内加速与轻部署路径,TensorRT 的 INT8/FP8 量化则在数据中心与边缘 GPU 上带来显著吞吐提升,为实时检测的全链路优化提供工具箱 3。(arXiv)
表 1 代表检测器与关键指标对比(公开基准)
| 方法 | 范式/家族 | 数据集 | 关键技术 | 指标与硬件 | 主要优势 | 局限/注意点 |
|---|---|---|---|---|---|---|
| RT-DETR-R50 | Transformer 端到端、免 NMS | COCO | 混合编码器、UMQ 查询 | 53.1 AP;T4 108 FPS | 省去 NMS、端到端 | 训练/部署对算力要求较高 |
| YOLOX-L | Anchor-free 单阶段 | COCO | 解耦头、SimOTA | 50.0 AP;V100 68.9 FPS | 实时性与工程成熟 | 极端长尾下仍需再平衡 |
| PP-YOLOE-l | Anchor-free 单阶段 | COCO test-dev | ET-Head、TAL | 51.4 mAP;V100 78.1 FPS;TRT FP16 149 FPS | 部署友好、吞吐高 | 生态与框架耦合 |
| YOLOv9-C | YOLO 家族 | COCO | GELAN、PGI | 论文报告更优参数效率与低延迟 | 轻量高效、从零训练强 | 生态沉淀相对较新 |
| YOLOv10-S/B | YOLO 家族(NMS-free 训练) | COCO | 一致性双重分配、整体协同设计 | v10-S 较 RT-DETR-R18 速度 +1.8×;v10-B 较 v9-C 延迟 −46% | 同精度更快更小 | 需按导出规范测速 |
数据来源:RT-DETR 论文/项目页、YOLOX 论文、PP-YOLOE 论文、YOLOv9 论文、YOLOv10 论文。(arXiv)
2.3 要解决的问题及其方案
(1)检测准确性与实时性:在遮挡、重叠与类间相似条件下维持高召回,同时将视频端到端延迟控制在可值守范围内;方案采用 YOLOv12/YOLOv11/YOLOv10 多模型对比与迁移学习,并优先选用支持 NMS-free 训练与整体协同设计的版本以降低后处理瓶颈,结合 TensorRT/ONNX 导出实现 GPU/CPU 适配与吞吐提升 23。(arXiv)
(2)环境适应性与泛化:针对跨设备与跨场景域差异与长尾分布,采用类别重加权、难例挖掘与增广策略,并在回归端结合 GIoU/DIoU/EIoU 等几何损失以提升定位稳定性与收敛速度 1417。(arXiv)
(3)网页端交互与可视:构建 Flask + Flask-SocketIO/HTML/CSS/JS 的双画面对比与“同步双帧”视频界面,提供阈值/类别筛选、播放控制、结果一键导出与 CSV 追溯,并预留浏览器端 WebGPU 推理路径与端云混合部署能力 3。(ONNX Runtime)
(4)数据处理效率与存储安全:设计高并发队列与会话管理、SQLite/日志归档与导出规范,配合量化与导出图优化缩短批处理耗时并强化可追溯性与权限管控 3。(ONNX Runtime)
2.4 博文贡献与组织结构
(1)综合文献综述:系统梳理 YOLOv5–YOLOv12、Transformer 检测器与两阶段/Anchor-free 等方法在实时检测与工程部署方面的关键进展,并形成可追溯的对比表与指标出处。
(2)深度学习模型的选择与优化:在危险物品场景下给出 YOLOv12/YOLOv11/YOLOv10 的选型依据、损失与标签分配策略,以及量化/导出的实证路径。
(3)美观友好的网页设计:实现图片/视频/摄像头三源输入、双画面对比与同步双帧、进度控制与一键导出,并支持浏览器端推理与边缘部署。
(4)算法效果对比分析:统一评测 mAP、F1、PR 与训练曲线,结合误检/漏检样例进行结构性原因分析与改进建议。
(5)完整的数据集与代码资源:提供可复现实验工程、示例数据与导出脚本,支撑二次开发与落地复用。
3. 数据集处理
本研究使用的危险物品数据集共 2486 张图像,按“训练/验证/测试”划分为 1661/580/245 张,并在工程中固定随机种子(默认 42)以保证结果可复现。标注采用 YOLO 格式(每框以归一化的 x c , y c , w , h x_c,y_c,w,h xc,yc,w,h 表示,类别从 0 开始),类别包含 10 个:Axe(斧头)、Celurit(大镰刀)、Cleaver(切肉刀)、Cutlass(弯刀)、Damageable(破坏器械)、Knife(刀)、Linggis(撬棍)、Mace(狼牙棒)、Spear(矛)、Wrench(扳手)。从你提供的统计可视化看,实例数呈明显长尾:Knife、Wrench 与 Damageable 占比较高,而 Spear、Mace 等稀有;目标中心的二维热力图在画面居中及四分位区域出现聚集,宽高分布呈“细长物体”偏态,且框叠加图显示多尺度、密集与部分遮挡并存。这些特征提示我们在训练时需对细长小目标与遮挡重叠投入更多关注,并在评估阶段采用按类别分层抽样,确保验证和测试集对稀有类保有代表性。
Chinese_name = {"Axe": "斧头", "Celurit": "大镰刀", "Cleaver": "切肉刀", "Cutlass": "弯刀",
"Damageable": "破坏器械", "Knife": "刀", "Linggis": "撬棍", "Mace": "狼牙棒", "Spear": "矛", "Wrench": "扳手"}

针对上述数据特性,预处理采用等比例 letterbox + 矩形训练避免几何形变;数据清洗阶段对空框、越界框与重复标注进行规则校验与自动修复,并统一同义类别命名(如 Linggis 统一为“撬棍”)以消除标签漂移。增强策略以Mosaic/RandomAffine/HSV 抖动/运动模糊/随机压缩噪声为主,前两者提升对尺度变化与视角偏差的鲁棒性,颜色与压缩扰动贴近安防视频在光照与压缩比变化下的真实噪声分布;同时使用 MixUp/Copy-Paste(小概率)合成拥挤场景以缓解遮挡带来的漏检。为降低长尾影响,对稀有类在采样时适度类别重加权并限制 Mosaic 的过度遮挡比例;在验证与测试阶段关闭所有随机增强,仅保留 letterbox 与归一化,确保指标客观稳定。上述流程与可视统计(类别柱状图、中心与宽高热力、样例 Mosaic 与检出可视)共同构成“数据—增强—评估”的闭环,为后续 YOLOv5–YOLOv12 系列模型的对比训练与部署提供一致、可追溯的数据基础。
4. 模型原理与设计
本平台默认以 YOLOv12 的单阶段、Anchor-free、解耦头范式为主线,并在工程上兼容 YOLOv5–YOLOv11 以做横向对比。整体思路仍遵循“Backbone–Neck–Head”三段式:骨干网络以轻量残差/跨层聚合(如 C2f/CSP 族)提取分层语义,颈部采用 FPN/PAN 的自上而下与自下而上融合以获得稳健的多尺度表示,检测头将分类与回归通道解耦,回归分支输出边界框参数并与 IoU 系列损失联合优化。针对本任务中细长器具(如扳手、刀)、密集遮挡与尺度跨度大的特点,骨干阶段控制下采样步幅、引入空洞卷积与 SPPF 以放大感受野,颈部强调跨层特征的高低频互补,头部引入更稳定的分配/对齐策略,减少小目标与细长目标的退化风险。
结构设计上,特征融合可抽象为对齐与拼接后的卷积变换:记 F i F_i Fi为第 i i i层特征, ↑ ( ⋅ ) \uparrow(\cdot) ↑(⋅)与 ↓ ( ⋅ ) \downarrow(\cdot) ↓(⋅)分别表示上/下采样,融合后的表示为
F ~ i = ϕ ( C o n c a t ( ↑ ( F i + 1 ) , , F i , , ↓ ( F i − 1 ) ) ) , \tilde{F}_i=\phi\Big(\mathrm{Concat}\big(\uparrow(F_{i+1}),,F_i,,\downarrow(F_{i-1})\big)\Big), F~i=ϕ(Concat(↑(Fi+1),,Fi,,↓(Fi−1))),
其中 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)为含归一化与激活的卷积映射,用以抑制拼接后通道间冗余并增强跨层交互。为进一步提升对细长目标与反光金属边缘的响应,YOLOv12 采用“注意力中心化”的局部–全局混合注意策略,可用缩放点积注意力刻画:
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!(dkQK!⊤)V,
其中 Q , K , V ∈ R N × d Q,K,V\in\mathbb{R}^{N\times d} Q,K,V∈RN×d分别为查询、键与值, d k d_k dk为键的维度;在实现上对长宽方向作分解或以窗口化限制计算量,从而在实时推理下仍保持较高帧率。解耦头以分类分支输出类别概率 p ∈ [ 0 , 1 ] C p\in[0,1]^C p∈[0,1]C,回归分支输出 ( x , y , w , h ) (x,y,w,h) (x,y,w,h)或四边距离 ( l , t , r , b ) (l,t,r,b) (l,t,r,b),两者在训练期通过不同损失项分别收敛,避免“任务冲突”造成的梯度干扰。
损失与任务建模方面,分类采用带调制的 Focal Loss 抑制易样本并聚焦难例:
L F L = − α t ( 1 − p t ) γ log ( p t ) , \mathcal{L}_{\mathrm{FL}}=-\alpha_{t}(1-p_t)^{\gamma}\log(p_t), LFL=−αt(1−pt)γlog(pt),
其中 p t p_t pt为目标类别的预测概率, γ \gamma γ控制难例聚焦程度, α t \alpha_t αt平衡类间不均衡。边界框回归以 CIoU/EIoU 为主,兼顾重叠、中心距离与形状约束:
L C I o U = 1 − I o U + ρ 2 ( b , b ∗ ) c 2 + α v , v = 4 π 2 ! ( arctan w ∗ h ∗ − arctan w h ) ! 2 , \mathcal{L}_{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(b,b^{*})}{c^2}+\alpha v,\quad v=\frac{4}{\pi^2}!\left(\arctan\frac{w^{*}}{h^{*}}-\arctan\frac{w}{h}\right)^{!2}, LCIoU=1−IoU+c2ρ2(b,b∗)+αv,v=π24!(arctanh∗w∗−arctanhw)!2,
其中 b b b与 b ∗ b^{*} b∗为预测与真值框中心, c c c为最小闭包框对角线, w , h w,h w,h为宽高;EIoU 在此基础上显式约束宽高偏差:
L E I o U = 1 − I o U + ρ 2 ( b , b ∗ ) c 2 + ( w − w ∗ ) 2 c w 2 + ( h − h ∗ ) 2 c h 2 , \mathcal{L}_{\mathrm{EIoU}}=1-\mathrm{IoU}+\frac{\rho^2(b,b^{*})}{c^2}+\frac{(w-w^{*})^2}{c_w^2}+\frac{(h-h^{*})^2}{c_h^2}, LEIoU=1−IoU+c2ρ2(b,b∗)+cw2(w−w∗)2+ch2(h−h∗)2,
其中 c w , c h c_w,c_h cw,ch为闭包框的宽高。对于 Anchor-free 参数化,若采用四边距离 ( l , t , r , b ) (l,t,r,b) (l,t,r,b),可配合分布式回归(DFL)细化定位,将连续距离投影到 K K K个离散 bin 并以交叉熵最小化其软标签分布;在实际工程中我们按类别难度自适应调权,使稀有类与细长类在回归项上获得更多梯度关注。
训练与正则化遵循“稳定收敛、易部署”的原则:优化器选用 SGD/AdamW 搭配 Warmup+Cosine 学习率调度
η ( t ) = η min + 1 2 ( η max − η min ) ! ( 1 + cos π t T ) , \eta(t)=\eta_{\min}+\tfrac{1}{2}\big(\eta_{\max}-\eta_{\min}\big)!\left(1+\cos\frac{\pi t}{T}\right), η(t)=ηmin+21(ηmax−ηmin)!(1+cosTπt),
其中 t t t为当前步、 T T T为总步数;配合 EMA 权重滑动平均、标签平滑与 MixUp/Mosaic 等增广增强泛化,对应我们在第 3 章观察到的长尾与多尺度分布。推理阶段采用高效的 NMS/DIoU-NMS 或在 YOLOv10/12 兼容配置下进行 NMS-free 训练 + 轻量后处理,并将 Conf/IoU 阈值、类别开关与双画面对比贯通到 Web 前端,方便一线值守在不同场景下按需权衡召回与精度。网络整体架构图如下图所示:
5. 实验结果与分析
本节在同一数据划分(训练1661/验证580/测试245)与统一训练策略下,对 YOLOv5nu、YOLOv6n、YOLOv7-tiny、YOLOv8n、YOLOv9t、YOLOv10n、YOLOv11n、YOLOv12n 以及 YOLOv5su、YOLOv6s、YOLOv7、YOLOv8s、YOLOv9s、YOLOv10s、YOLOv11s、YOLOv12s 共 16 个模型进行对比评测;指标包括 Precision/Recall/F1、mAP@0.5、mAP@0.5:0.95,以及端到端延迟(Pre/Inf/Post,单位 ms),硬件为 RTX 3070 Laptop 8GB。
总体结论(n 型号,小参数):在测试集上,YOLOv10n 取得 F1=0.798、mAP@0.5=0.807 的均衡表现,并以 13.95 ms(≈71.7 FPS) 的端到端延迟在实时性上更具优势;YOLOv9t 与 YOLOv12n 的 mAP@0.5 稍高(分别 0.812/0.811),但前者推理更慢(总延迟 19.67 ms),后者延迟 15.75 ms,二者适合对召回更敏感但延迟不极限的场景。YOLOv5nu/YOLOv8n 在 ≈10–10.2 ms(≥98 FPS) 的速度下给出 0.789–0.788 的 mAP@0.5,是“在线预演/CPU 端导出”的稳妥基线。YOLOv6n 精度显著偏低(mAP@0.5=0.501),不建议在本数据上作为主力模型。
中参数(s 型号):若允许更高算力,YOLOv7 在本数据上取得最高精度(F1=0.849、mAP@0.5=0.882),但总延迟 29.52 ms(≈33.9 FPS),适合离线复核或低帧率巡检。综合精度与时延,YOLOv12s(F1=0.805、mAP@0.5=0.837、16.74 ms)与 YOLOv11s(mAP@0.5=0.836、13.47 ms)是更均衡的在线选择;YOLOv8s 也保持了 0.816 mAP@0.5、11.39 ms 的良好性价比。与 n 型号一致,YOLOv6s 表现偏弱(mAP@0.5=0.615)。
按类别与错误模式:混淆矩阵显示 Cutlass(弯刀)与 Mace(狼牙棒) 的识别极稳(对角线约 1.00),Celurit(大镰刀)、Linggis(撬棍)、Wrench(扳手) 也保持 0.81–0.84 的对角精度;Cleaver(切肉刀) 对角仅 ≈0.58,且存在被压到“背景”的比例,推测与小尺度/遮挡、刀锋反光导致的纹理缺失有关;Knife(刀) 的对角约 0.65,易与 Cleaver/背景混淆。
提供的 PR 曲线(单类 AP 注记)进一步验证:Mace 0.995、Cutlass 0.964 明显高于 Knife 0.679、Cleaver 0.768,提示后续可通过 小目标/细长目标特化增强(Copy-Paste、更高输入尺寸、DFL/优先回归权重) 与 类别重加权 提升尾部类别。基于 F1-Confidence 走势,随阈值提升到 0.7 以上,多类 F1快速下滑,说明应避免在高阈值下追求过高 Precision 而牺牲 Recall。
训练收敛与稳定性:训练曲线显示 box/cls/dfl loss 单调下降,mAP@0.5 与 mAP@0.5:0.95 稳步上升并在 100–120 epoch 逼近平台期,验证曲线与训练曲线间距可接受,未见明显过拟合;结合数据分布(第 3 章),建议在二阶段迭代中尝试 更长训练 + 轻度 Cosine 再热身 与 Freeze-BN→解冻 策略,配合少量 EMA 滑动平均与 AutoAugment/Mosaic 限幅,在不显著增加延迟的前提下为 Knife/Cleaver 等难类争取 1–2 个百分点的 F1 提升。
综合建议(面向 Web 实时部署):
(i)默认在线模型:YOLOv10n(阈值初始 0.42,IoU 0.6,开启 DIoU-NMS),在 ≤14 ms 的延迟下获得最优综合 F1;
(ii)高精度巡检/离线复核:YOLOv7 或 YOLOv12s/11s,结合 多尺度测试 + 置信度 0.3–0.4;
(iii)轻量/边缘 & ONNX/TensorRT:YOLOv5nu/YOLOv8n FP16/INT8 导出,网页端保持“同步双帧 + 双画面对比”,并在 UI 中暴露 Conf/IoU/类别筛选 以适配不同场景。
表 5-1 各模型性能与时延对比(RTX 3070 Laptop,测试集)
| Model | Params(M) | FLOPs(G) | Pre(ms) | Inf(ms) | Post(ms) | Latency(ms) | FPS | Precision | Recall | F1 | mAP@0.5 | mAP@0.5:0.95 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| YOLOv5nu | 2.6 | 7.7 | 1.90 | 7.73 | 1.31 | 10.94 | 91.5 | 0.822 | 0.726 | 0.771 | 0.789 | 0.622 |
| YOLOv6n | 4.3 | 11.1 | 2.17 | 6.78 | 1.39 | 10.34 | 96.6 | 0.861 | 0.413 | 0.559 | 0.501 | 0.372 |
| YOLOv7-tiny | 6.2 | 13.8 | 2.28 | 14.74 | 4.06 | 21.08 | 47.5 | 0.734 | 0.620 | 0.672 | 0.657 | 0.441 |
| YOLOv8n | 3.2 | 8.7 | 1.95 | 6.83 | 1.39 | 10.17 | 98.3 | 0.821 | 0.725 | 0.770 | 0.788 | 0.617 |
| YOLOv9t | 2.0 | 7.7 | 1.87 | 16.51 | 1.29 | 19.67 | 50.9 | 0.782 | 0.773 | 0.777 | 0.812 | 0.654 |
| YOLOv10n | 2.3 | 6.7 | 2.08 | 11.24 | 0.63 | 13.95 | 71.7 | 0.865 | 0.740 | 0.798 | 0.807 | 0.653 |
| YOLOv11n | 2.6 | 6.5 | 2.11 | 9.44 | 1.42 | 12.97 | 77.1 | 0.621 | 0.814 | 0.704 | 0.799 | 0.658 |
| YOLOv12n | 2.6 | 6.5 | 1.91 | 12.47 | 1.37 | 15.75 | 63.5 | 0.841 | 0.714 | 0.772 | 0.811 | 0.654 |
| YOLOv5su | 9.1 | 24.0 | 2.28 | 8.45 | 1.51 | 12.24 | 81.7 | 0.693 | 0.798 | 0.742 | 0.793 | 0.640 |
| YOLOv6s | 17.2 | 44.2 | 2.22 | 8.59 | 1.45 | 12.26 | 81.6 | 0.589 | 0.600 | 0.594 | 0.615 | 0.460 |
| YOLOv7 | 36.9 | 104.7 | 2.44 | 23.62 | 3.46 | 29.52 | 33.9 | 0.892 | 0.810 | 0.849 | 0.882 | 0.702 |
| YOLOv8s | 11.2 | 28.6 | 2.31 | 7.66 | 1.42 | 11.39 | 87.8 | 0.829 | 0.778 | 0.803 | 0.816 | 0.645 |
| YOLOv9s | 7.2 | 26.7 | 2.12 | 18.66 | 1.39 | 22.17 | 45.1 | 0.820 | 0.748 | 0.782 | 0.811 | 0.662 |
| YOLOv10s | 7.2 | 21.6 | 2.21 | 11.38 | 0.60 | 14.19 | 70.5 | 0.749 | 0.789 | 0.768 | 0.804 | 0.654 |
| YOLOv11s | 9.4 | 21.5 | 2.37 | 9.74 | 1.36 | 13.47 | 74.3 | 0.834 | 0.689 | 0.754 | 0.836 | 0.677 |
| YOLOv12s | 9.3 | 21.4 | 2.09 | 13.23 | 1.42 | 16.74 | 59.8 | 0.825 | 0.787 | 0.805 | 0.837 | 0.677 |
说明:Latency = Pre + Inf + Post;FPS = 1000 / Latency。粗体为组内较优值或关键推荐。
综上,若以 Web 实时检测为核心需求,YOLOv10n 作为默认“在线模型”最为合适;对精度要求更高的场景可选 YOLOv12s/11s 或 YOLOv7 做二阶段复核;对极限速度或 CPU/ONNX 部署,可采用 YOLOv5nu/YOLOv8n 并在前端开放 阈值/类别筛选 与 同步双帧可视,在保持用户体验的同时实现“精度—速度—可用性”的最佳折中。
6. 系统设计与实现
6.1 系统设计思路
本系统采用分层与事件驱动相结合的架构,自上而下划分为表现与交互层(浏览器端 HTML/CSS/JS)、业务与会话管理层(Flask REST + Flask-SocketIO)、推理与任务调度层(异步任务队列、模型与源管理、同步双帧控制)与数据持久化层(SQLite/对象化结果与日志)。用户完成登录/跳过后在概览界面选择图像、视频或浏览器摄像头作为输入,业务层为每个会话分配唯一的任务通道,并将阈值、类别筛选、进度控制等参数打包为“会话配置”,通过 WebSocket 广播至推理与前端两端,保证配置的强一致性。
实时性通过“同步双帧”机制与背压控制协同保障:调度层对每个源维护环形缓冲区,按时间戳对齐原始帧与推理帧并成对推送到浏览器,前端以 16:9 自适应的双画面对比渲染,并在用户执行暂停/继续/停止或拖动进度条时,将指令以事件回传,触发调度层的解码速率调整与队列清理;在高吞吐场景下,系统按会话配置降采样或切换轻量模型,保证端到端延迟稳定在可值守范围内。异常与超时通过心跳与重试策略处理,并在业务层记录为告警事件。
可扩展性体现在模型与结果的集中管理:权重上传后在模型管理器中完成签名校验与冷启动加载,类别体系与颜色映射同步刷新到会话;导出的 CSV、带框图片与 MP4 按任务编号集中归档并写入 SQLite 以支持审计与溯源。系统对多模型并存、批量导出和在线评估提供统一的任务抽象,便于在 YOLOv5–YOLOv12 间做热切换与对比测试,同时通过统计卡片展示帧率、告警占比与资源占用,辅助运维决策。
** 图 6-1 系统流程图**

图注:流程从登录与输入源选择开始,预处理—推理—后处理在推理层完成,“同步双帧”确保原始帧与结果帧时间一致;所有参数与控制指令通过 WebSocket 在前后端与调度层间闭环传递。
** 图 6-2 系统设计框图**

图注:四层结构清晰分工:UI 负责渲染与交互,业务层统一鉴权与会话,推理层处理数据流与模型热切换,数据层负责入库、导出与日志;消息通过 HTTP/WS 与内部事件总线贯通。
6.2 登录与账户管理

上述流程以“最小打扰”为原则:用户可选择注册或一次性跳过(跳过仅对当前会话有效),登录成功后业务层加载个性化主题、默认模型与最近任务,连同会话令牌一并下发;在主界面中可随时修改资料,所有结果、设置与导出记录写入 SQLite,以保证跨版本的持续可用与可追溯,并与主检测管线在会话与权限上保持一致性。
代码下载链接
如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:


资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源➷➷➷
详细介绍文档博客:最新YOLO实现的危险物品实时检测平台(Flask+SocketIO+HTML/CSS/JS)
完整安装运行教程:
这个项目的运行需要用到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. 结论与未来工作
本文围绕“危险物品实时检测”的实际落地,完成了从数据治理、模型选择到 Web 端可视交互的一体化实现:以 2486 张图像的数据基础与针对长尾、遮挡、细长目标的增强策略为前提,综合比较 YOLOv5–YOLOv12 共 16 个模型,给出以 YOLOv10n 为默认在线模型、YOLOv12s/11s 或 YOLOv7 作为复核备选的工程结论,并在 Flask + Flask-SocketIO/HTML/CSS/JS 平台中实现了图片/视频/摄像头三源输入、同步双帧与双画面对比、阈值与类别筛选、CSV/带框结果一键导出、SQLite 入库与可追溯管理;实验表明在 RTX 3070 Laptop 上可在 60–90 FPS 范围内稳定运行,综合 F1 与 mAP@0.5 指标满足值守场景需求,且通过混淆矩阵与 F1-Confidence 曲线明确了 Knife/Cleaver 等难类的改进方向。
未来工作将从三条主线推进:其一是模型侧继续探索轻量化与泛化,包括蒸馏(教师为 s 型或大模型)、INT8/FP8 量化与剪枝、NMS-free 训练与分布式回归细化,以及多模态融合(RGB+X 光/深度)与小目标/细长目标的结构性增强;其二是系统侧强化可运维与低时延,引入 Docker 容器化与镜像分层、基于 Celery/RQ 的分布式任务队列、WebRTC 实时推流与边缘节点协同、全链路日志与指标监控(Prometheus/Grafana)、细化 RBAC/审计与多租户、i18n 与主题定制,并完善断点续传与权重版本回滚;其三是数据侧构建持续学习闭环,在前端标注回流与在线评估的基础上落地主动学习与难例采样、漂移检测与数据治理、跨域自适应与增量训练,同时以更严格的隐私与合规要求规范数据采集与导出。通过上述迭代,平台有望在更广泛的安检、园区与仓储场景中实现“高召回、低延迟、可追溯”的稳定服务,并可迁移到机械器件与工业质检等相近任务,形成通用的边缘智能视觉解决方案。
参考文献(GB/T 7714)
1 Zhao Y, Lv W, Xu S, et al. DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. arXiv:2304.08069, 2023. (arXiv)
2 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
3 ONNX Runtime. Using the WebGPU Execution Provider[EB/OL]. 2024. (ONNX Runtime)
4 NVIDIA. Working with Quantized Types — TensorRT Documentation[EB/OL]. 2025. (NVIDIA Docs)
5 Miao C, Xie L, Wan F, et al. SIXray: A Large-Scale Security Inspection X-Ray Benchmark for Prohibited Item Discovery in Overlapping Images[C]//CVPR, 2019. (CVF Open Access)
6 Xu P, Wang W, et al. PP-YOLOE: An Evolved Version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (arXiv)
7 Ultralytics. All you need to know about YOLO11[EB/OL]. 2024. (Ultralytics)
8 Ultralytics. YOLO12: Attention-Centric Object Detection — Docs[EB/OL]. 2025. (Ultralytics Docs)
9 Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//ICCV, 2017. (CVF Open Access)
10 Tian Z, Shen C, Chen H, He T. 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[EB/OL]. arXiv:1904.07850, 2019. (arXiv)
12 Ge Z, Liu S, Wang F, et al. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021. (arXiv)
13 Wang C-Y, Yeh I-H, Liao H-Y M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[C]//ECCV, 2024. (ECVA)
14 Rezatofighi H, Tsoi N, Gwak J, et al. Generalized Intersection over Union: A Metric and a Loss for Bounding Boxes[C]//CVPR, 2019. (CVF Open Access)
15 Ren S, He K, Girshick R, Sun J. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[C]//NeurIPS, 2015. (arXiv)
16 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[C]//ECCV, 2016. (UNC Computer Science)
17 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. (arXiv)
18 Zheng Z, Wang P, Liu W, et al. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression[J]. AAAI, 2020. (AAAI Open Symposium)
19 ONNX Runtime. Quantize ONNX Models — Performance Guide[EB/OL]. 2024. (ONNX Runtime)
20 Papadopoulos G. Illicit Object Detection in X-ray Imaging using Deep Learning — A Survey[EB/OL]. arXiv:2507.17508, 2025. (arXiv)
21 目标检测模型综述[J]. 计算机研究与发展, 2024. (Crad ICT)
注:表 1 指标均采自各论文或官方页面的公开设定与硬件环境,跨设备/实现的绝对值不可直接横比,分析以相对趋势为主并标注来源。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)