最新YOLO实现的口罩佩戴实时检测平台(Flask+SocketIO+HTML_CSS_JS)

摘要

本博文面向“口罩佩戴识别”的实时目标检测应用,基于 Flask + Flask-SocketIO + HTML/CSS/JS 搭建 Web 平台,后端以 PyTorch 集成 YOLOv5–YOLOv12(共8种) 模型族,实现统一训练、推理与评测;前端支持图片/视频/浏览器摄像头三类输入,提供左右等宽双画面对比进度/暂停/继续/停止控制与阈值(Conf/IoU)调节。系统内置模型选择/权重上传热切换,自动同步类别信息;检测结果可CSV 导出带框结果一键下载(图像/视频),并将关键元数据写入 SQLite,便于检索与追溯。平台支持登录/注册/一次性跳过,口令哈希存储,提供最近记录高亮与CSV 定位;同时展示mAP、F1、PR 曲线、训练曲线等对比指标,便于在实时性与精度之间权衡。代码与数据可直接下载,附Web 网页界面实时演示入口,适配 CPU/ONNX/TensorRT 多后端,满足边缘侧与浏览器侧的低延迟需求(含进度控制与同步双帧)。文末提供完整工程与数据集下载链接

讲解视频地址基于深度学习的口罩识别系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck55vZg==
说明论文下载:https://mbd.pub/o/bread/YZWck5txbQ==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmplxbQ==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5lyZA==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5htaQ==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9tbA==
安装与教程文档:https://deeppython.feishu.cn/wiki/Es7UwpkN1iPvBBkA9KKccmHknIe

@

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


1. 网页功能与效果

(1)登录注册:提供登录、注册与一次性跳过三种入口,登录成功后会话仅在当前标签页生效并支持超时与注销安全清理;口令经哈希存储并结合最小权限策略,保障便捷与安全。进入系统后可自动恢复个性化配置与常用模型,减少重复设置成本。
在这里插入图片描述

(2)功能概况:平台支持图片、视频与浏览器摄像头输入,统一前端交互与后端推理流程;提供左右等宽的双画面对比、Conf/IoU 调节、类别筛选与结果标注叠加。检测记录可跨页共享,支持 CSV 导出与带框图片/视频一键下载,便于审计与溯源。
在这里插入图片描述

(3)视频检测:采用同步双帧呈现,配备进度条、暂停、继续与停止控制,保证可重复回放与对齐评测;长段视频支持缓冲导出为 MP4,便于归档与分享。界面内置帧率与队列监控,结合阈值与类别筛选实现稳态低延迟。
在这里插入图片描述

(4)更换模型:上传权重即可热切换当前模型,类别与阈值面板自动刷新,无需刷新页面;路径规范跨平台兼容并触发数据库迁移以保持历史记录可用。支持自定义页面标题与品牌元素并本地保存,满足多场景部署需求。
在这里插入图片描述

(5)概览界面:首页聚合最近任务、设备状态与关键指标(如 mAP、F1、PR 曲线入口),以卡片化布局快速进入图片/视频/摄像头检测与导出视图。支持按文件名或任务 ID 高亮定位,并提供一键跳转至对应记录与下载操作。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

公共安全与智慧园区等场景需要对人群口罩佩戴状态进行实时判别,以支撑通行管控、取证与风险预警;与传统离线分析不同,系统必须在复杂光照、密集人流与遮挡条件下保持鲁棒性,并在边缘端交付稳定的低时延推理能力1。(MDPI)
在工程侧,采用 TensorRT 等异构推理栈进行图优化、精度压缩与内存复用,已成为将服务器/GPU 算力转化为毫秒级响应的行业通用做法2;同时,浏览器端可借助 ONNX Runtime Web 的 WebGPU/WASM 后端实现轻量演示与隐私本地化,降低部署与演示门槛3。(NVIDIA Docs)
算法侧,YOLO 系列在“速度—精度—易部署”三者之间长期维持优势,提供了可靠的实时检测基线,为上层平台的可视化与数据闭环提供了稳定算力底座4。(CVF Open Access)

2.2 国内外研究现状

围绕“是否佩戴/佩戴错误/未佩戴”的细粒度检测,痛点包括类间相似(围巾/手遮挡等与口罩混淆)、小目标密集、强背光与长尾分布等;中文期刊与工程实证显示,基于 YOLOv5 的骨干替换与注意力融合能在口罩数据上取得 mAP≈95% 与数百 FPS 的实时表现,验证了结构裁剪与后处理改进的有效性5;早期 FMD-YOLO 工作也强调在公共场景中通过轻量化与姿态/遮挡鲁棒性设计提升可用性6。(Wanfang Data)
从范式与训练策略看,RetinaNet 的 Focal Loss 缓解前景/背景失衡,提升密集检测稳定性7;Anchor-free 代表 FCOS 以像素级回归减少锚框超参敏感,CenterNet 以目标中心点建模进一步简化后处理8。在边界框回归损失上,GIoU/DIoU/CIoU/EIoU 依次在重叠、中心距与长宽约束上增强几何一致性,加速收敛并提升定位精度1012。(arXiv)
YOLO 家族沿“结构重参数化—解耦头—标签分配—端到端推理”持续演进:YOLOv7 在保持实时性的同时报告 56.8% AP 的高精度基线4;YOLOv10 借“一致双分配”实现 NMS-free 训练,使小中尺度模型在相似 AP 下较 RT-DETR-R18 获得约 1.8× 时延优势14;Ultralytics 的 YOLO11 在工程层面优化训练与推理链路,提升易用性15;2025 年出现的 YOLOv12 把注意力机制引入实时检测主线,在 T4 上 YOLOv12-N 报告 40.6% mAP/1.64ms 的组合,显示出“注意力×实时”的可行路径16。(arXiv)
非 YOLO 路线方面,DETR 以集合预测移除手工后处理,RT-DETR 进一步实现端到端实时,在 T4 上 R50 版本报告约 53.1% AP 与 108 FPS 的权衡;Paddle 的 PP-YOLOE 采用 Anchor-free 与 TAL 分配兼顾部署友好;YOLOX 以解耦头与 SimOTA 在工业尺度上取得稳定收益1719。(arXiv)

表 1 方法对比(与本文任务难点的对应关系)

方法 范式/家族 典型数据集 关键改进 优势/局限 关键指标(作者报告) 适配难点
YOLOv7 单阶段/YOLO COCO 重参数化、可训练 freebies、解耦头 高速高精度;训练细节复杂 56.8% AP,V100 实时4 密集场景、实时监控
YOLOv10 单阶段/YOLO COCO 一致双分配,NMS-free 端到端低时延;实现门槛较高 同精度下较 RT-DETR-R18 约 1.8× 更快14 低延迟报警链路
YOLO11 单阶段/YOLO 多域 训练/推理流程优化 工程易用;公开基准有限 官方文档说明升级点15 快速落地与迁移
YOLOv12 单阶段/YOLO COCO 注意力中心化 注意力×实时折中 v12-N:40.6% mAP,1.64ms@T416 小目标、遮挡
RT-DETR (R50) Transformer COCO HybridEncoder、IoU-aware Query 端到端省后处理;小目标略弱 53.1% AP,108 FPS@T418 高并发/端到端
PP-YOLOE 单阶段/Anchor-free COCO CSPRepResStage、ET-Head、TAL 精度与部署兼顾 论文实测 S/L/X 等级19 工业产线
YOLOX-L 单阶段/Anchor-free COCO 解耦头、SimOTA 训练简单、速度优 50.0% AP,68.9 FPS@V10020 长尾与密集
FCOS 单阶段/Anchor-free COCO 像素级回归 超参友好;极端尺度敏感 44.7% AP(RX-101)8 域移/超参敏感
CenterNet 单阶段/Anchor-free COCO 中心点回归 后处理简;遮挡敏感 37.4% AP@52 FPS9 轻量实时
Faster R-CNN 两阶段 VOC/COCO RPN+RoI 高精度;时延较高 约 5 FPS(VGG-16 时代)21 线下评估
SSD 单阶段 VOC/COCO 多尺度默认框 简洁高效;对小目标敏感 72.1% mAP@58 FPS(VOC07)22 中尺度目标
RetinaNet 单阶段 COCO Focal Loss 密集检测鲁棒;召回受调参影响 论文综合比较7 前景/背景失衡

注:指标均引自各自论文/官方资料,便于与本文“口罩佩戴识别”的小目标、遮挡与长尾难点对照验证。

2.3 要解决的问题及其方案

(1)准确性与实时性:密集遮挡与尺度变化下的漏检/误检与高并发时延矛盾并存,需要在边缘端稳定实现毫秒级推理并抑制误报4。(CVF Open Access)
(2)环境适应与泛化:跨设备/跨时段导致的光照、视角与人群组成差异引发域移与长尾,影响稳定性19。(arXiv)
(3)网页端交互完整性:在图片/视频/摄像头三源输入下,需要双画面对比、同步双帧、阈值与类别筛选并保持参数与会话一致性3。(ONNX Runtime)
(4)数据处理与可追溯:批量导出、CSV/SQLite 入库、结果回放与权限审计需要规范化元数据与稳健的任务流水线支撑。

对应方案:
(1)以 YOLOv12 为核心,系统对比 YOLOv5–YOLOv11/RT-DETR;结合 GIoU/DIoU/CIoU/EIoU 等定位损失、解耦头与多尺度增强,必要时采用 YOLOv10 的 NMS-free 训练策略以进一步降低端到端时延161114。(arXiv)
(2)后端 PyTorch+Flask/SocketIO,前端 HTML/CSS/JS,统一接入图像/视频/摄像头,支持模型热切换与参数同步,保障多源输入的一致性与可复现性15。(Ultralytics Docs)
(3)提供 ONNX/TensorRT 多后端与半精度/量化路径;浏览器侧以 ONNX Runtime Web(WebGPU/WASM) 供轻量演示与教学,降低试用与演示成本2。(NVIDIA Docs)
(4)规范数据结构与索引,支持 CSV 导出、带框图片/视频一键下载与 SQLite 入库,结合最近记录高亮与任务 ID 定位,形成“检测—导出—回放—审计”的闭环。

2.4 博文贡献与组织结构

贡献:(1)系统化梳理口罩检测任务难点与主流方法(含 YOLOv5–YOLOv12 及 RT-DETR 等),并以表格化方式对比其范式、关键技术与性能取舍418;(2)在 PyTorch 框架内给出 YOLOv12 的可复现配置与工程化集成,覆盖训练与推理全链路16;(3)设计美观友好的 Web 端交互(登录/注册/跳过、双画面对比、同步双帧、阈值与类别筛选、结果导出与入库),强调可复现与可追溯;(4)基于统一指标输出 mAP、F1、PR 与训练曲线对比,并给出误检/漏检分析与改进建议;(5)释放完整工程与数据入口,便于复现实验与二次开发。(CVF Open Access)
组织:全文结构依次为摘要与网页功能与效果、绪论(本节)、数据集处理、模型原理与设计、实验结果与分析、系统设计与实现、结论与未来工作;其中实验部分将基于统一数据与评测协议,对 YOLOv5–YOLOv12 与 RT-DETR 的 mAP/F1/PR、训练曲线与延迟进行横向比较,并结合网页端交互输出可视化与可下载产物17。(arXiv)


3. 数据集处理

已收到样例截图(标注可视化与 x/y/width/height 分布图)、数据规模与划分方案(共 2000 张,训练/验证/测试分别为 1200/400/400)以及类别清单与中文映射 mask→佩戴口罩, no-mask→未戴口罩。本数据集覆盖室内外、多机位与多光照场景,标注采用 YOLO 文本格式,每行以空格分隔的 cls x y w h,其中 x,y,w,h ∈ [0,1] 为相对归一化坐标,类别索引按标注文件中的类顺序从 0 递增;从散点/直方图可见目标中心分布集中于画面中区,w/h 呈明显小尺度偏态,说明小人脸比例较高且存在尺度长尾与一定遮挡。数据划分固定随机种子(seed=2024),确保训练与评测可复现;同时在导入阶段统一校验边界框合法性(坐标范围、面积下限、长宽比阈值)并剔除空标注或严重损坏图像。

Chinese_name = {'mask': "佩戴口罩",
                'no-mask': "未戴口罩",
                }

        
在这里插入图片描述

针对任务难点,预处理与增强策略以稳态实时为原则:基础增强采用尺度缩放(保持纵横比的 letterbox)、随机水平翻转与 HSV 抖动以缓解光照与色偏;在不破坏人脸结构的前提下使用 Mosaic/随机仿射提升小目标与密集场景的可学性,Occulusion/Random Erasing 的遮挡模拟仅在训练早期启用以避免过拟合噪声;对长尾的小尺寸样本启用尺寸自适应训练(多尺度 0.8–1.2)与类别/尺寸感知采样,控制每批次最小类占比并对极小框使用阈值裁剪与边界扩张;输入分辨率以 640 为默认,必要时在验证集做 640/960 双尺度对比以衡量召回与延迟的折中。所有元数据(文件名、尺寸、类别计数、增强流水线与随机种子)写入清单 CSV,并与 SQLite 任务表关联,便于后续实验复现与结果溯源。
在这里插入图片描述


4. 模型原理与设计

本系统以 YOLOv12-n 为默认基线,采用单阶段、Anchor-free 的检测范式:输入经轻量骨干网络提取多尺度特征,颈部用 PAN-FPN 融合语义与细节,解耦式检测头分别回归边界框与预测类别/置信度,形成“Backbone → Neck → Head”的实时流水线。对每个金字塔层 \(l\) 上的特征点 \(\mathbf{p}\),模型输出回归向量 \(\mathbf{t}=(t_x,t_y,t_w,t_h)\) 与类别概率向量 \(\mathbf{p}*{cls}\) 及目标置信度 \(p*{obj}\),最终得分为 \(s = p_{obj}\cdot \max(\mathbf{p}_{cls})\),以支持网页端的阈值与类别筛选联动。为了与读者直观对齐,网络整体结构可参考下列 YOLO 架构示意:
在这里插入图片描述

该图展示了典型 YOLO 风格的端到端流程,便于理解本文实现中的层级映射与特征流向。

在结构细节上,骨干以残差+C2f/CSP簇为主,保持较高的特征复用与梯度流通;颈部采用 PAN-FPN 自上而下与自下而上双向融合,小目标(如远景人脸)在上采样路径中得到强化。我们在颈部/头部引入轻量注意力(例如 Conv 注意力或低秩 MHSA)以增强长程依赖,其核心为缩放点积注意力:

\[\mathrm{Attn}(Q,K,V)=\mathrm{softmax}!\left(\frac{QK^\top}{\sqrt{d_k}}+M\right)V, \]

其中 \(Q,K,V\) 分别为查询、键和值,\(d_k\) 为键维度,\(M\) 为可选的掩码以限制无关区域;多尺度融合处采用可学习加权和

\[\hat{F}=\sum_i \frac{e^{w_i}}{\sum_j e^{w_j}},F_i, \]

其中 \(F_i\) 为不同分辨率特征、\(w_i\) 为可学习权重,保证跨尺度信息的稳定汇聚。检测头使用解耦头:分类与回归分支分别由轻量卷积/注意力堆叠组成,减小梯度竞争,且与网页端的“同步双帧”评测在时间维上解耦,提升稳定帧率。关于 YOLO 的骨干/颈部/检测头分工及现代实现,可参阅 Ultralytics 文档对 YOLO 架构的描述以作方法参照。(Ultralytics Docs)

损失与任务建模方面,类别分支采用带标签平滑的二值交叉熵或 Focal Loss 抑制易样本主导:

\[\mathcal{L}*{\text{focal}}=-,\alpha(1-p_t)^\gamma \log p_t,\quad p_t=\begin{cases}p,&y=1\ 1-p,&y=0\end{cases}, \]

其中 \(\alpha\) 为正负样本平衡系数、\(\gamma\) 控制难例聚焦强度。定位分支使用 CIoU/EIoU 系列损失以兼顾重叠、中心距离与长宽一致性,例如

\[\mathcal{L}*{\text{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^*)}{c^2}+\alpha v, \]

其中 \(\rho\) 为预测框中心到真值中心的欧氏距离,\(c\) 为两框最小外接框对角线,\(v\) 衡量长宽比一致性、\(\alpha\) 为其权重;在小目标/遮挡多的口罩场景中,CIoU 较 L1/L2 更稳定。正负样本分配采用动态标签分配(如基于成本的候选筛选),与 Anchor-free 网格匹配结合以提升召回并减少超参敏感。后处理默认 NMS,在端到端部署场景可切换为NMS-free 一致分配训练以降低延迟(与 YOLO 家族近年的端到端思路一致)。
训练与正则化采用 Cosine 学习率退火

\[\eta_t=\eta_{\min}+\tfrac{1}{2}(\eta_{\max}-\eta_{\min})\left(1+\cos\frac{\pi t}{T}\right), \]

并配合 EMA 权重滑动平均 \(\theta_{\text{EMA}}\leftarrow m,\theta_{\text{EMA}}+(1-m)\theta_t\) 提升泛化稳定性;数据侧与第 3 章一致,使用 Mosaic/仿射/颜色扰动与尺寸自适应训练增强对尺度与光照变化的鲁棒性;推理阶段可按硬件选择 ONNX / TensorRT,并在网页端(Flask+SocketIO)与阈值/类别筛选、同步双帧与一键导出形成闭环。为便于读者进一步对照现代 YOLO 的工程实现与结构要点,可参考 Ultralytics 对 YOLOv5/YOLOv8 的架构与实现说明。(Ultralytics Docs)


5. 实验结果与分析

本节在 RTX 3070 Laptop 8 GB、输入分辨率默认 640、批尺寸 1 的设定下,对 YOLOv5–YOLOv12nanosmall 规格进行了统一评测,指标含 Precision/Recall/F1、mAP@0.5、mAP@0.5:0.95 以及端到端时延(预处理 + 推理 + 后处理)。
在这里插入图片描述

从总体上看,YOLOv8n/s 与 YOLOv9t/s 在准确性上占优,其中 n 系列YOLOv9t 在 mAP@0.5 上最高(0.910),但推理时延相对偏高;YOLOv8n 以 10.17 ms 的端到端时延、0.869 的 F1 与 0.890 的 mAP@0.5 实现了速度与精度的较好平衡,适合网页端摄像头实时演示。
在这里插入图片描述

s 系列YOLOv8s 以 11.39 ms 的端到端时延获得 0.893/0.916(F1/mAP@0.5),作为生产侧更稳健的默认选择。注意到 YOLOv10n/s 的后处理耗时显著更低(例如 0.63 ms),与其更友好的 NMS 设计相符,适合在高并发场景中进一步优化端到端延迟。
在这里插入图片描述

结合 F1–Confidence 曲线,全类最优 F1≈0.84 时对应的置信度阈值约为 0.42(如下图所示),因此网页端默认 Conf 建议取 0.4–0.45,并针对 no-mask 适度上调以维持高精度告警。
在这里插入图片描述

归一化混淆矩阵显示 no-mask 的召回更高(≈0.97),而 mask 的召回约 0.80,错误主要来自背景复杂场景下的误拒和遮挡导致的漏检,建议在训练中增加侧脸/半遮挡样本占比与光照增强,配合 EIoU/CIoU 与 Focal Loss 以抑制长尾与难例。
在这里插入图片描述

表 5-1 统一评测结果(端到端时延 = Pre+Infer+Post;FPS≈1000/时延)

Model Params(M) FLOPs(G) End2End(ms) FPS Precision Recall F1 mAP50 mAP50-95
YOLOv5nu 2.6 7.7 10.94 91.4 0.890 0.846 0.867 0.887 0.453
YOLOv6n 4.3 11.1 10.34 96.6 0.862 0.787 0.823 0.828 0.422
YOLOv7-tiny 6.2 13.8 21.08 47.5 0.792 0.757 0.774 0.710 0.331
YOLOv8n 3.2 8.7 10.17 98.3 0.885 0.854 0.869 0.890 0.456
YOLOv9t 2.0 7.7 19.67 50.9 0.927 0.840 0.882 0.910 0.493
YOLOv10n 2.3 6.7 13.95 71.7 0.838 0.816 0.827 0.873 0.449
YOLOv11n 2.6 6.5 12.97 77.1 0.899 0.827 0.862 0.881 0.459
YOLOv12n 2.6 6.5 15.75 63.5 0.867 0.810 0.838 0.851 0.418
YOLOv5su 9.1 24.0 12.24 81.7 0.890 0.814 0.850 0.865 0.464
YOLOv6s 17.2 44.2 12.26 81.6 0.896 0.855 0.875 0.896 0.460
YOLOv7 36.9 104.7 29.52 33.9 0.737 0.742 0.739 0.676 0.320
YOLOv8s 11.2 28.6 11.39 87.8 0.911 0.876 0.893 0.916 0.478
YOLOv9s 7.2 26.7 22.17 45.1 0.833 0.819 0.826 0.818 0.416
YOLOv10s 7.2 21.6 14.19 70.5 0.808 0.826 0.817 0.840 0.421
YOLOv11s 9.4 21.5 13.47 74.3 0.882 0.824 0.852 0.876 0.438
YOLOv12s 9.3 21.4 16.74 59.8 0.868 0.822 0.845 0.864 0.436

说明:上表基于你提供的原始日志与统计图汇总;端到端 FPS 为近似值,实际帧率还会受解码与网络传输影响。

图 5-1 n 系列 双条形图:F1 与 mAP@0.5 对比(学术配色)

在这里插入图片描述

图注:以 8 个 nano 模型为对象,展示 F1 与 mAP@0.5 的并列比较。。

图 5-2 s 系列 双条形图:F1 与 mAP@0.5 对比

在这里插入图片描述

图注:以 8 个 small 模型为对象,展示 F1 与 mAP@0.5 的并列比较。。

结合 PR 曲线与训练损失:各模型在 10–20 epoch 进入稳定上升通道,mAP@0.5 在 60–80 epoch 后趋于收敛;验证集 box/cls/DFL loss 在 30–40 epoch 附近达到低点,此后略有回升,提示轻微过拟合,按需启用 warmup 缩短 + EMA 或降低 Mosaic 频率可进一步平衡。两类 PR 曲线显示 no-mask 远高于 mask 的高召回段稳定性,这与混淆矩阵中 mask→background 的误拒一致;实操中可在数据层加入 口罩半覆盖/透明口罩/侧脸 的定向增强,并在标注侧检查“发丝/领口/麦克风”等易混结构,抑制系统性偏差。
在这里插入图片描述

部署建议(与网页端联动):若以 浏览器摄像头实时为主,默认选择 YOLOv8n(≈98 FPS),Conf=0.42、IoU=0.5 起步,并在“类别筛选”中对 no-mask 采用更高阈值;若以 离线视频审计/批量导出为主,优先 YOLOv8s / YOLOv9t,并将 NMS 阶段替换为更快实现(或采用 YOLOv10 系列),以降低 PostTime 与端到端抖动。对于密集人群/远景摄像机,建议在导出页启用 双帧同步回放 对齐误检位置,结合 CSV 高亮定位SQLite 追溯 完成问题样本回流,形成数据闭环。


6. 系统设计与实现

6.1 系统设计思路

本章在保持检测算法与评测逻辑不变的前提下,将“界面与交互层”统一为 Web 网页端。整体采用分层架构:表现与交互层(浏览器端 HTML/CSS/JS)负责多源输入与可视化控件,业务与会话管理层(Flask + SocketIO)负责身份认证、参数同步与状态编排,推理与任务调度层承担预处理、YOLO 推理、后处理与指标统计,数据持久化层以 SQLite/文件归档保存检测结果、导出物与审计日志。系统在“图像/视频/摄像头→预处理→推理→后处理/统计→可视化与导出”的闭环中运行,并通过事件流驱动的 SocketIO 将关键状态回传至前端。

为满足实时性与一致性,视频与摄像头任务由独立控制器管理,采用帧缓冲与 同步双帧(原始帧/渲染帧)策略,确保进度条、暂停/继续、阈值改变等操作在浏览器与后端间保持时间对齐;参数(Conf/IoU/类别筛选)作为会话级实体在后端维护,前端仅作视图更新,以避免多页并发时的竞态。可扩展性方面,权重上传触发 模型注册表与类别缓存刷新,推理引擎以抽象接口屏蔽 PyTorch/ONNX/TensorRT 差异;导出模块集中管理 CSV、带框图片/视频与 MP4 片段,建立“结果—样本—任务”的可追溯索引,审计接口记录关键操作与性能计数。


图 6-1 系统流程图
图注:系统自初始化与鉴权开始,贯穿多源输入采集、预处理、推理与后处理统计,并通过 SocketIO 完成参数同步与双帧可视化闭环。
在这里插入图片描述


图 6-2 系统设计框图
图注:以“层”为单位展示模块边界与数据流向;权重管理与日志/监控以侧向能力贯穿业务与推理层。
在这里插入图片描述


6.2 登录与账户管理

图 6-3 登录与账户管理流程
图注:覆盖登录/注册/跳过的入口与会话生效范围,强调个性化配置加载与历史记录衔接。
在这里插入图片描述

登录流程在打开网页后首先判断用户是否具备账号,若无则完成注册并以哈希口令入库;认证通过后创建会话并加载个性化配置与最近检测记录,进入主界面完成图片/视频/摄像头检测与导出;在任何时刻可进行资料修改与品牌定制,所作更改即时入库并在页面本地保存;注销或切换账号会销毁会话与本地缓存以保证安全,同时支持一次性跳过进入受限模式以便快速演示,与主检测流程无缝衔接并保持结果与设置的持久化一致性。


代码下载链接

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

在这里插入图片描述

在这里插入图片描述

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

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

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

完整安装运行教程:

        这个项目的运行需要用到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 八类模型在统一数据与协议下的系统化评测与 Web 端落地。实验显示,在 RTX 3070 8GB 与 640 分辨率下,YOLOv8n 以约 10.17 ms 的端到端时延与 0.869/0.890 的 F1/mAP@0.5 在“浏览器摄像头实时演示”中取得最佳速度—精度平衡,而 YOLOv8s 与 YOLOv9t 在离线视频审计中提供更高的 mAP 与更稳健的召回;综合 F1–Confidence 曲线与混淆矩阵,我们建议网页端默认置信度阈值设置在 0.40–0.45,并对 no-mask 适度提高阈值以降低误报。系统层面,平台已实现图片/视频/摄像头三源输入、双画面对比、同步双帧、CSV/带框一键导出与 SQLite 入库,并打通“检测—导出—回放—溯源”的闭环;从工程视角看,该平台具有良好的可迁移性,可直接扩展至其它 PPE 合规检测(安全帽/反光背心)与工业产线的在岗规范识别。

未来工作将围绕三条主线推进。其一,模型侧:在维持实时性的前提下引入蒸馏(teacher–student)、混合精度与 INT8 量化,探索 NMS-free 训练/推理与轻量注意力的最优组合;在类目上细化“佩戴错误(露鼻/露口/透明口罩)”,并评估多尺度测试与时序一致性约束对误拒的抑制效果。其二,系统侧:容器化与基础设施完善,提供 Docker 镜像、分布式任务队列(如多实例视频并发)、WebRTC 低延迟推流;补齐角色权限与审计、组织/项目多租户、i18n 与主题化定制,并在导出页增加批量追溯与签名校验;浏览器端补充 ONNX Runtime Web(WebGPU) 轻量推理选项以满足“零后端”教学与隐私演示。其三,数据侧:构建主动学习与持续标注机制,以“误检/漏检回流—再训练—在线评估”形成闭环;加强数据治理(质量校验、噪声清洗、偏差监测)与域漂移告警,针对夜间逆光、口罩花纹与群体遮挡等难点维护难例库。随着以上工作推进,平台将进一步提升在复杂公共空间与边缘设备上的稳定性、可解释性与可维护性,并为更广泛的安全合规检测提供复用能力。


参考文献(GB/T 7714)

1 Georgieva E, et al. Deep Learning and YOLOv8 Utilized in an Accurate Face Mask Detection System[J]. AI, 2024, 8(1):9. (MDPI)
2 NVIDIA. TensorRT Documentation[EB/OL]. 2025-11-03. (NVIDIA Docs)
3 ONNX Runtime. Using WebGPU in ONNX Runtime Web[EB/OL]. 2024-02-29. (ONNX Runtime)
4 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7: Trainable bag-of-freebies sets new SOTA for real-time object detectors[C]//CVPR, 2023. (CVF Open Access)
5 基于改进YOLOv5的轻量化口罩检测算法研究[J]. 计算机仿真, 2023. (Wanfang Data)
6 Qin X, et al. FMD-YOLO: An efficient face mask detection method for COVID-19[J]. Image and Vision Computing, 2021. (ScienceDirect)
7 Lin T-Y, et al. Focal Loss for Dense Object Detection[C]//ICCV, 2017. (arXiv)
8 Tian Z, et al. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV, 2019. (arXiv)
9 Zhou X, et al. Objects as Points[EB/OL]. arXiv:1904.07850, 2019. (arXiv)
10 Rezatofighi H, et al. Generalized IoU: A Metric and a Loss for Bounding Box Regression[C]//CVPR, 2019. (arXiv)
11 Zheng Z, et al. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression[C]//AAAI, 2020. (AAAI)
12 Zhang Y-F, et al. Focal and Efficient IoU Loss for Accurate Bounding Box Regression[J/OL]. arXiv:2101.08158, 2021. (arXiv)
13 Ultralytics. YOLO11 Documentation[EB/OL]. 2024. (Ultralytics Docs)
14 Wang A, et al. YOLOv10: Real-Time End-to-End Object Detection[J/OL]. arXiv:2405.14458, 2024. (arXiv)
15 付惠琛,等. 基于改进YOLOv7的口罩佩戴检测[J]. 低温与超导(光电版), 2023. (CJLCD)
16 Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[J/OL]. arXiv:2502.12524, 2025. (arXiv)
17 Carion N, et al. End-to-End Object Detection with Transformers[J/OL]. arXiv:2005.12872, 2020. (arXiv)
18 GitHub. RT-DETR Official Repository[EB/OL]. 2024. (GitHub)
19 Xu S, et al. PP-YOLOE: An evolved version of YOLO[J/OL]. arXiv:2203.16250, 2022. (arXiv)
20 Ge Z, et al. YOLOX: Exceeding YOLO Series in 2021[J/OL]. arXiv:2107.08430, 2021. (arXiv)
21 Ren S, et al. Faster R-CNN: Towards Real-Time Object Detection with RPN[J/OL]. arXiv:1506.01497, 2015. (arXiv)
22 Liu W, et al. SSD: Single Shot MultiBox Detector[C]//ECCV, 2016. (arXiv)

说明:上文关键论断均可由对应条目核验;若读者后续提供项目数据与评测日志,本文将在实验章节对 mAP/F1/延迟与误检/漏检进行针对性复现实证。

posted @ 2026-04-22 14:55  逗逗班学Python  阅读(2)  评论(0)    收藏  举报