基于深度学习的口罩识别系统(YOLOv12完整代码+论文示例+多算法对比)
摘要:本文面向工业现场与日常安防的“口罩佩戴识别”需求,设计并实现一套可落地的桌面端检测系统:基于 PySide6/Qt 提供登录、注册与可跳过入口,会话在当前运行周期内生效,并将账户与历史记录统一写入本地 SQLite 以便管理与追溯。系统支持 图片/视频/本地摄像头 多源输入,主显示区实时叠加检测框(类别名+置信度),视频处理配套进度显示与处理进度条,摄像头推理支持序列缓冲并可导出多帧结果。交互侧提供 Conf/IoU 在线调参、目标选择与高亮、跨页共享的检测记录表格,以及 CSV 导出 与带框结果一键导出(单帧 PNG / 多帧 AVI)。模型侧支持模型选择/权重加载(.pt 热切换),覆盖 YOLOv5–YOLOv12(共 8 种) 的训练、推理与评测对比,输出 mAP、F1、PR 以及训练曲线等关键指标,帮助在精度、速度与部署成本之间做出更稳健的选型决策。文末提供完整工程与数据集下载链接。
文章目录
功能效果展示视频:热门实战|《基于深度学习的口罩识别系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
1. 系统功能与效果
(1)登录注册:系统提供登录、注册与跳过入口,用户可在首次进入时选择快速跳过以便直接体验核心功能,后续再补全账户信息也不影响使用连续性。登录成功后会话在本次运行周期内生效,历史记录与偏好设置可在本地统一管理,兼顾使用便捷与数据安全。进入系统后的动线清晰:先在概览页了解能力,再进入检测页完成推理与复核,最后在导出视图集中管理结果。
(2)功能概况:整体交互采用“左侧控制—中部显示—右侧详情—底部记录与进度”的布局,常用操作都能在一屏内完成闭环。左侧聚合数据源选择与关键阈值调节,中部负责可视化结果,右侧展示目标详情与统计信息,底部以记录表与进度条承接批处理与复查。对于多源输入的场景,系统强调状态一致性与可追溯性,避免用户在频繁切换时丢失上下文。
(3)选择模型:系统支持在界面中直接选择本地权重并热切换当前检测模型,切换后会同步刷新类别信息与可视化配色,使不同模型的输出差异更易被对比与理解。模型切换尽量不打断当前工作流,用户可在同一套数据上快速试验不同版本,以更直观地权衡精度与速度。相关配置与主题风格支持本地持久化保存,减少重复设置成本。
(4)图片检测:用户导入单张图片后可即时完成推理,主显示区叠加检测框并展示类别名与置信度,便于快速确认“戴口罩/未戴口罩/佩戴不规范”等状态。系统提供置信度与 IoU 阈值的在线调节,支持对特定目标进行选中与高亮,以辅助人工复核与误检定位。检测结果可同步写入底部记录区,方便按条目回看与对照可视化框。
(5)文件保存:系统提供面向复查与留档的一键导出能力,支持将带框结果按统一规则归档,便于后续批量管理与追溯。导出内容覆盖可视化结果图、结构化统计信息等常用产物,配合时间戳命名可快速定位同一批次的输入与输出。对于需要长期留存的业务场景,检测记录可在本地持久化管理,并支持按文件名或时间范围快速检索与复盘。

2. 绪论
2.1 研究背景及意义
自公共卫生常态化管理以来,“口罩佩戴是否规范”逐渐从临时性的巡检任务,转变为机场、车站、园区、校园等场景的长期合规需求,而仅依赖人工抽查往往面临主观性强、覆盖率低与响应不及时等问题1。(汉斯出版社)
从技术落地视角看,口罩识别并不只是“识别出有没有口罩”,更重要的是在拥挤人群、小目标占比高、遮挡频繁与光照变化明显的条件下,仍能稳定输出可解释的检测结果,以支撑管理侧的快速复核与处置闭环1。(汉斯出版社)
因此,构建一套面向实际业务的口罩识别系统,需要在算法层兼顾精度与实时性,同时在系统层提供可视化、人机协同与可追溯的记录导出能力,使其能够在桌面端完成“检测、复核、统计与留档”的一体化流程。
2.2 国内外研究现状
在数据与任务定义方面,口罩识别通常被归入“戴口罩/未戴口罩/佩戴不规范”等细粒度目标检测或“先检测人脸再分类口罩状态”的两阶段方案,而遮挡、姿态变化与口罩区域相对人脸的尺度偏小,会显著加大检测难度2。(CVF开放获取) 为支撑该类研究,学界构建了面向遮挡人脸与口罩场景的数据资源,例如 MAFA 提供了野外遮挡人脸样本以验证鲁棒检测能力2。(CVF开放获取) 此外,也有工作系统化整理并发布了与口罩人脸相关的数据集与基准设定,为跨场景泛化评测提供了基础条件3。(中国信息科学研究院)
在检测器范式演进方面,两阶段检测器以 Faster R-CNN 为代表,通过候选区域与精细分类回归获得较强的精度上限,但在复杂场景下往往需要更高的计算与后处理开销4。(arXiv) 单阶段检测器如 SSD 通过密集预测简化流程,在速度与工程实现上更易贴近实时应用5。 针对前景-背景极不均衡的密集检测问题,RetinaNet 引入 Focal Loss 以抑制易分类样本对损失的主导效应,从而改善难样本学习6。(arXiv) 为在移动与边缘端获得更优的速度-精度折中,EfficientDet 通过可扩展结构与特征融合设计推动了轻量化检测器的体系化发展7。(arXiv)
在应对小目标与密集遮挡方面,Anchor-free 思路通过中心点或像素级回归减少先验框设计带来的耦合,FCOS 以全卷积方式直接预测分类与回归分支,降低了多尺度场景的手工超参负担8。(arXiv) CenterNet 类方法进一步把目标检测转化为关键点预测,在密集场景中具有较好的表达简洁性与解码效率9。 另一条重要脉络是基于 Transformer 的端到端检测器,DETR 以集合预测替代传统候选框与 NMS 逻辑,为“去后处理化”的部署提供了统一框架10。(arXiv) 在实时性诉求更强的应用中,RT-DETR 通过高效编码器与查询选择等设计,在 COCO 上给出 53.1% AP 与 T4 上 108 FPS 的量级表现,显示了端到端检测在实时场景的可行性11。(arXiv)
围绕工程落地最常用的 YOLO 系列,近年的演进重点集中在结构效率、训练分配策略与端到端推理路径的优化,YOLOv6 在 COCO 上给出了 43.5% AP 与 T4 上 495 FPS 的组合以面向工业实时检测12。(arXiv) YOLOv7 通过可训练的 bag-of-freebies 等策略在精度与实时性边界上继续推进,并在 COCO 上报告了 56.8% AP 的结果以验证其通用检测能力13。(arXiv) 针对深层信息损失问题,YOLOv9 提出可编程梯度信息等思想以改善训练与信息传递路径14。(arXiv) 为减少 NMS 对端到端部署与延迟的不利影响,YOLOv10 提出 NMS-free 训练与全局效率驱动的设计策略,并给出“YOLOv10-S 在相近 AP 下较 RT-DETR-R18 快 1.8×”等对比结论15。(arXiv) 在生态与可用性层面,Ultralytics 的 YOLOv8 与 YOLO11 给出了较完整的模型规格与速度表,例如 YOLOv8n 在 COCO 上为 37.3 mAP、A100 TensorRT 延迟约 0.99 ms,YOLO11n 在 COCO 上为 39.5 mAP、T4 TensorRT10 延迟约 1.5 ms[16-17]。(Ultralytics Docs) 最新的 YOLOv12 进一步把注意力机制纳入“实时检测可用”的结构框架,并在摘要中给出 YOLOv12-N 达到 40.6% mAP 且 T4 上推理延迟 1.64 ms 的示例数据,从而为小目标细节建模提供了新的设计方向18。(arXiv)
在系统与部署趋势方面,研究与工程实践正在形成“训练-导出-加速-反馈”的闭环:知识蒸馏通过把大模型知识迁移到小模型以提升可部署性与推理效率19。(arXiv) 量化方法进一步以整数算子降低端侧推理成本并改善延迟与吞吐的折中关系[20]。(arXiv) 在模型互操作与跨框架部署上,ONNX 作为开放格式支持把训练模型交给不同推理后端进行优化与运行[21]。(ONNX) 针对 GPU 端低延迟推理,TensorRT 文档明确给出了从已训练网络构建高优化运行引擎的工程路径,为实时检测系统提供了成熟的加速支撑[22]。(NVIDIA Docs)
表 2-1 代表性检测方法与本文口罩识别任务的关联对比(指标来自原文摘要或官方文档)
| 方法名称 | 范式/家族 | 数据集/基准 | 关键改进技术 | 优势与局限性 | 关键性能指标(示例) | 对口罩识别任务的启示 |
|---|---|---|---|---|---|---|
| 改进 YOLOv3(DS-YOLOv3)1 | 单阶段/Anchor-based | 人群口罩检测实验 | 稠密模块替换残差模块、优化损失 | 对中小目标更敏感,但指标依赖特定数据分布 | 平均精度 95.35%,较原 YOLOv3 提升 4.49% | 口罩属于小目标时,细节特征保留与损失设计很关键 |
| RT-DETR-R50/R10111 | 端到端/Transformer | COCO | 高效混合编码器、查询选择 | 免 NMS 易部署,但计算结构更复杂 | 53.1/54.3% AP,108/74 FPS(T4) | 适合需要“无后处理、稳定延迟”的在线检测链路 |
| YOLOv6-S12 | 单阶段/YOLO | COCO | 面向工业的效率优化与训练策略 | 速度突出,但跨域需依赖数据增强与再训练 | 43.5% AP,495 FPS(T4) | 在桌面端实时预览场景更易保证流畅交互 |
| YOLOv713 | 单阶段/YOLO | COCO | Trainable bag-of-freebies 等 | 精度高但部署细节需按平台适配 | 报告 56.8% AP(COCO) | 适合对精度更敏感、硬件资源更充足的方案 |
| YOLOv1015 | 单阶段/端到端 YOLO | COCO | NMS-free 双重分配、整体效率驱动设计 | 端到端更利于部署,但需要匹配训练范式 | YOLOv10-S:相近 AP 下较 RT-DETR-R18 快 1.8× | 对“低延迟+免 NMS”的工程目标有直接价值 |
| Ultralytics YOLOv8n16 | 单阶段/YOLO | COCO | 规格化工程体系与多任务支持 | 无正式论文但指标透明,生态完善 | 37.3 mAP;CPU ONNX 80.4 ms;A100 TRT 0.99 ms;3.2M 参数 | 适合作为桌面端快速起步与多源输入的稳定基线 |
| Ultralytics YOLO11n17 | 单阶段/YOLO | COCO | 更高精度且参数更少(官方文档) | 同样以工程文档为主 | 39.5 mAP;CPU ONNX 56.1 ms;T4 TRT10 1.5 ms;2.6M 参数 | 有利于在轻量模型下提升识别率并控制资源占用 |
| YOLOv12-N18 | 单阶段/注意力实时检测 | COCO | Attention-centric 结构以兼顾速度与表达 | 前沿结构仍需验证跨域鲁棒性 | 40.6% mAP;T4 延迟 1.64 ms | 对复杂遮挡与细粒度边界可能更友好,适合作为对比上限 |
2.3 要解决的问题及其方案
结合口罩识别的实际应用与桌面端落地需求,本文需要同时解决检测精度、推理实时性与“可交互、可留痕”的系统闭环问题,避免仅停留在离线评测而难以支撑现场使用。
要解决的问题概括如下:
(1)检测与识别的准确性与实时性:在拥挤人群与小目标条件下保持较高 mAP 与稳定帧率,并降低误检漏检对业务的影响。
(2)模型的环境适应性与泛化能力:面对室内外光照变化、遮挡与拍摄角度差异,减少跨场景性能波动并提升鲁棒性。
(3)桌面端交互界面的直观性与功能完整性:支持图片、视频与本地摄像头输入,提供可视化结果与交互复核,降低使用门槛。
(4)数据处理效率与存储安全性:对检测记录、统计结果与导出文件进行可追溯管理,并保障本地存储的可控与安全。
对应的解决方案如下:
(1)以 YOLOv12 为核心检测模型,并对 YOLOv5–YOLOv12 进行系统化对比训练与评测,在精度与延迟之间选择更适配口罩任务的模型尺度18。(arXiv)
(2)基于 PyTorch 训练范式引入数据增强、迁移学习与多模型对比策略,围绕遮挡与小目标难点优化输入与训练配置,以提高跨场景泛化表现。
(3)采用 PySide6/Qt 构建桌面端交互系统,实现图像、视频与摄像头输入的统一推理闭环,并支持权重热切换以便在不同精度-速度需求下快速切换方案。
(4)在部署侧提供 ONNX 导出与 TensorRT 加速选项,并结合量化与蒸馏等模型压缩思路提升端侧吞吐与稳定性,从而更贴近实时检测系统的工程约束[19-22]。(arXiv)
2.4 博文贡献与组织结构
本文的主要贡献可概括为:
(1)综合文献综述:面向口罩识别这一典型小目标与遮挡场景,梳理从传统检测到端到端检测与 YOLO 系列演进的关键脉络,并对部署趋势进行归纳。
(2)深度学习模型的选择与优化:围绕 YOLOv5–YOLOv12 进行统一训练与评测,对 mAP、F1、PR 曲线与训练过程进行对比分析,给出适配系统落地的模型选择依据。
(3)美观友好的桌面端设计(PySide6/Qt):以多源输入、实时调参、可视化复核与一键导出为核心,形成可实际使用的桌面端检测闭环。
(4)算法效果对比分析:结合口罩识别的误检漏检形态,对不同模型在小目标、遮挡与复杂光照下的性能差异给出解释性分析与可改进方向。
(5)完整的数据集和代码资源:配套提供数据处理、训练评测与桌面端推理部署的完整工程化实现,便于复现与二次开发。
后续章节组织上,本文将在数据集处理部分说明标注规范与增强策略,在模型原理与设计部分以 YOLOv12 为主线解释结构与训练要点,在实验结果与分析部分给出多模型量化对比,并在系统设计与实现部分给出桌面端架构与关键流程,最后总结经验并展望未来优化方向。
3. 数据集处理
本文采用包含 2000 张图像的口罩识别数据集作为训练与评测基础,数据划分为 1200 张训练集、400 张验证集与 400 张测试集,整体规模适中且便于在桌面端部署场景下做稳定复现。结合可视化结果可以看到,数据覆盖室内外、近景与远景、单人到密集人群等多种拍摄条件,目标尺度差异明显且遮挡普遍存在,这类分布更贴近真实监控与巡检画面,也更能检验模型在复杂背景下的泛化能力。标签及其对应中文名如下:
Chinese_name = {'mask': "佩戴口罩",'no-mask': "未戴口罩", }

在预处理流程上,系统采用统一的输入规格对图像进行尺度归一与张量化,使训练与部署侧的推理过程保持一致,并对标注框坐标做同步映射以避免几何失真带来的定位误差。为了提升数据质量与训练稳定性,数据集在进入训练前通常需要进行一致性检查与清洗,例如剔除空标注或异常框、修正越界框、合并重复样本,并对类别名与索引映射进行全流程校验,确保训练、评测与桌面端可视化不会出现“类别错位”或“颜色错乱”等问题。针对口罩识别常见的难点(小目标、人群遮挡、光照与色彩漂移),增强策略建议以不破坏语义为前提引入多尺度训练、随机尺度抖动与颜色扰动等操作,并在密集场景中适度使用拼接类增强以提升模型对不同上下文的鲁棒性。
从你提供的标签分布相关图可以直观看到,目标框尺寸以小框为主且位置分布呈现一定集中性,这意味着模型既要保持对局部纹理与边界细节的敏感性,也要避免在复杂背景下产生过多“看起来像口罩”的误检。与此同时,混淆矩阵的结果提示背景干扰仍可能诱发假阳性,因此在数据层面引入更多“无目标但具有相似纹理”的硬负样本、在训练层面合理设置正负样本分配与置信度学习、在系统侧提供 Conf/IoU 的在线调参与复核闭环,会更有利于把模型表现从“能检出”推进到“可稳定使用”。总体而言,该数据集在规模、场景多样性与标注粒度上为口罩识别任务提供了扎实起点,也为后续 YOLOv5–YOLOv12 的对比训练与桌面端热切换评测奠定了统一的数据基线。
4. 模型原理与设计
本文默认以 YOLOv12 作为口罩识别系统的主线检测器,它仍属于单阶段目标检测范式:输入图像经骨干网络提取多尺度特征,在颈部进行跨层融合后,由检测头直接输出类别置信度与边界框回归结果,从而在“准确性—实时性”之间保持可用的工程平衡。口罩场景的关键难点往往集中在小目标(人脸在画面中占比小)、遮挡与背景干扰(如口罩纹理与衣物/阴影相似)、以及室内外光照变化导致的外观漂移;这类问题本质上需要模型同时具备局部纹理辨别能力与更强的上下文建模能力,而 YOLOv12 的设计动机正是把注意力机制纳入实时检测框架,在不显著牺牲速度的前提下提升对全局关系的刻画能力。
在结构上,YOLOv12 依旧遵循 Backbone–Neck–Head 的三段式流水线,但其核心变化在于“注意力友好”的特征提取与聚合:论文提出 Area Attention(A2)把特征图划分为若干区域并在区域内计算自注意力,从而把标准自注意力在空间维度上的二次复杂度压力分摊到各区域中,兼顾感受野与效率;在形式上仍可写作多头注意力的基本表达:给定输入特征 X X X,先线性映射得到 Q = X W Q , K = X W K , V = X W V Q=XW_Q,\ K=XW_K,\ V=XW_V Q=XWQ, K=XWK, V=XWV,再计算
A t t n ( Q , K , V ) = S o f t m a x ! ( Q K T d ) V , \mathrm{Attn}(Q,K,V)=\mathrm{Softmax}!\left(\frac{QK^{\mathsf T}}{\sqrt{d}}\right)V, Attn(Q,K,V)=Softmax!(dQKT)V,
其中 d d d 为每个 head 的通道维度,而“区域划分”相当于把 Q , K , V Q,K,V Q,K,V 的 token 集合分组后分别执行该算子,以降低计算与访存成本;Ultralytics 的说明中也强调该机制默认可将特征图切分为若干等分区域并配合更高效的注意力实现以减少开销。(Ultralytics Docs) 同时,YOLOv12 引入 R-ELAN(Residual Efficient Layer Aggregation Networks)解决注意力主导架构在优化上的不稳定问题,其关键做法是在聚合块级别加入带缩放的残差捷径以改善梯度传递,论文给出了默认缩放因子(如 0.01)的设置思路,用于在更大规模模型上获得更稳定的收敛。 网络整体架构图如下图所示

在检测任务建模与损失设计上,口罩识别系统最终需要输出每个候选框的类别与定位精度,常用做法是把总损失写成回归项与分类项的加权和: L = λ b o x L ∗ b o x + λ ∗ c l s L ∗ c l s + λ ∗ d f l L ∗ d f l \mathcal{L}=\lambda_{box}\mathcal{L}*{box}+\lambda*{cls}\mathcal{L}*{cls}+\lambda*{dfl}\mathcal{L}*{dfl} L=λboxL∗box+λ∗clsL∗cls+λ∗dflL∗dfl,其中回归项通常基于 IoU 家族度量并配合分布式回归以增强边界细节表达。IoU 的定义为
I o U ( B , B ∗ ) = ∣ B ∩ B ∗ ∣ ∣ B ∪ B ∗ ∣ , \mathrm{IoU}(B,B^{*})=\frac{|B\cap B^{*}|}{|B\cup B^{*}|}, IoU(B,B∗)=∣B∪B∗∣∣B∩B∗∣,
B B B 与 B ∗ B^{*} B∗ 分别表示预测框与真值框;为同时考虑中心距离与长宽比一致性,工程中常用 CIoU/EIoU 等改进形式,例如 CIoU 可写为
L ∗ C I o U = 1 − I o U + ρ 2 ( b , b ∗ ) c 2 + α v , \mathcal{L}*{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^{*})}{c^2}+\alpha v, L∗CIoU=1−IoU+c2ρ2(b,b∗)+αv,
其中 ρ ( ⋅ ) \rho(\cdot) ρ(⋅) 表示预测框与真值框中心点欧氏距离, c c c 为最小外接框对角线长度, v v v 刻画长宽比差异, α \alpha α 为权重系数。分布式回归(DFL)则把边界距离离散成 K K K 个 bin 并预测概率分布 p i p_i pi,再用期望得到连续距离 d ^ = ∑ i = 0 K i ⋅ p i \hat d=\sum_{i=0}^{K} i\cdot p_i d^=∑i=0Ki⋅pi,从而在小目标边界(如口罩上缘与鼻梁附近)更容易学到“亚像素级”的回归细节;YOLOv12 的训练配置中也明确包含 DFL 相关损失权重设置。
训练与正则化方面,YOLOv12 在论文中给出了较完整的训练配方(如采用 SGD、动量与权重衰减、warm-up 与线性学习率衰减等),并配套 Mosaic、MixUp、Copy-Paste 以及 HSV 抖动等增强策略,以增强对遮挡、尺度变化与光照扰动的鲁棒性;对于本文 2000 张规模的数据集,博主更倾向于保留与“遮挡/密集/小目标”强相关的增强组合,同时在验证集上监控过拟合并适度提前关闭强拼接增强,以避免把不真实的几何结构固化到模型中。 推理阶段,系统侧的 Conf/IoU 滑块实质对应“置信度过滤 + NMS 抑制”的两道门槛:先按置信度筛除低可信候选,再以 IoU 阈值控制重叠框的抑制强度,从交互体验上让用户能快速在“漏检更少”与“误检更少”之间切换;而在部署与加速上,YOLOv12 还强调通过更高效的注意力实现(如 FlashAttention)缓解注意力的访存瓶颈,为桌面端实时预览与视频流处理提供更稳定的延迟表现。(Ultralytics Docs)
5. 实验结果与分析
本章实验目标是验证口罩识别任务在桌面端“可用”的综合表现:一方面比较不同 YOLO 版本在两类目标(mask/no-mask)上的检测精度,另一方面结合预处理、推理与后处理耗时评估其实时性上限。数据集采用第 3 章所述的 2000 张图像划分(1200/400/400),评价指标包含 Precision、Recall、F1、mAP50 与 mAP50-95,并额外统计端到端时延拆分(PreTime/InfTime/PostTime),以便把“更准”与“更快”的取舍显式化;所有速度测试在 NVIDIA GeForce RTX 3070 Laptop GPU(8GB) 上完成,确保不同模型处于同一硬件条件下可横向对比。
从 n 系列对比结果看,YOLOv9t 在精度侧表现最突出(F1=0.882,mAP50=0.910,mAP50-95=0.493),但其推理耗时明显偏高(InfTime=16.51ms),端到端约 19.67ms,更适合“精度优先、帧率要求不极限”的离线或半实时场景。若更关注桌面端流畅预览与视频处理吞吐,YOLOv8n 与 YOLOv5nu 的综合体验更均衡:两者端到端延迟约 10ms 左右(v8n:1.95+6.83+1.39≈10.17ms;v5nu:1.90+7.73+1.31≈10.94ms),同时 mAP50 均接近 0.89 且 F1 均在 0.86–0.87 区间,属于“不会明显拖慢交互,又能稳定输出”的优选。YOLOv7-tiny 虽然参数量不算极端,但在该数据集上出现“精度与速度同时吃亏”的现象(InfTime=14.74ms、PostTime=4.06ms 且 mAP50=0.710),更像是结构与实现路径在该任务分布下不占优势;YOLOv12n 在本次实验中精度与速度未形成预期的同时优势(mAP50=0.851,InfTime=12.47ms),推测与默认训练配方、注意力实现及小样本数据规模对收敛的影响相关,后续可通过更贴近口罩小目标的增强策略与更细的超参搜索进一步挖潜。
从 s 系列对比结果看,YOLOv8s 给出了本组最好的整体效果(F1=0.893,mAP50=0.916,mAP50-95=0.478)且推理仍保持在 7–8ms 量级(InfTime=7.66ms,端到端约 11.39ms),说明在该数据规模与两类任务上,“适度增大容量”能显著提升边界质量与召回稳定性。YOLOv6s 的精度接近(F1=0.875,mAP50=0.896),但参数量与 FLOPs 明显更高(17.2M、44.2G),更适合算力更宽裕或需要更强鲁棒性的部署条件;YOLOv10 系列的一个工程特征是后处理开销很小(PostTime≈0.60ms),对“频繁导出、多次刷新表格”的桌面端链路是加分项,但在本数据集上其精度仍与 v8/v9/v11 的最优点存在差距。结合 PR 与 F1-Confidence 曲线可以看到,两类目标并非同等容易:no-mask 往往具有更强的外观一致性与边界可分性,而 mask 会受到材质差异、佩戴方式(露鼻/半遮挡)与强光反射的影响,使其在高召回段更易引入误检;这也解释了为什么系统侧需要把 Conf/IoU 做成可交互滑块,并在导出前提供“目标选择与高亮复核”,让用户能按场景在“更稳(少误报)”与“更全(少漏检)”之间快速切换。
表 5-1 不同 YOLO 模型在 MaskDataset 上的精度与速度对比(RTX 3070 Laptop GPU)
| Scale | Model | Params(M) | FLOPs(G) | Pre(ms) | Inf(ms) | Post(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| n | YOLOv5nu | 2.6 | 7.7 | 1.90 | 7.73 | 1.31 | 0.8896 | 0.8461 | 0.8673 | 0.8868 | 0.4525 |
| n | YOLOv6n | 4.3 | 11.1 | 2.17 | 6.78 | 1.39 | 0.8615 | 0.7873 | 0.8227 | 0.8281 | 0.4224 |
| n | YOLOv7-tiny | 6.2 | 13.8 | 2.28 | 14.74 | 4.06 | 0.7920 | 0.7575 | 0.7743 | 0.7097 | 0.3305 |
| n | YOLOv8n | 3.2 | 8.7 | 1.95 | 6.83 | 1.39 | 0.8851 | 0.8537 | 0.8691 | 0.8901 | 0.4555 |
| n | YOLOv9t | 2.0 | 7.7 | 1.87 | 16.51 | 1.29 | 0.9272 | 0.8402 | 0.8816 | 0.9103 | 0.4929 |
| n | YOLOv10n | 2.3 | 6.7 | 2.08 | 11.24 | 0.63 | 0.8380 | 0.8159 | 0.8268 | 0.8728 | 0.4492 |
| n | YOLOv11n | 2.6 | 6.5 | 2.11 | 9.44 | 1.42 | 0.8994 | 0.8273 | 0.8619 | 0.8814 | 0.4592 |
| n | YOLOv12n | 2.6 | 6.5 | 1.91 | 12.47 | 1.37 | 0.8668 | 0.8103 | 0.8376 | 0.8512 | 0.4179 |
| s | YOLOv5su | 9.1 | 24.0 | 2.28 | 8.45 | 1.51 | 0.8905 | 0.8136 | 0.8503 | 0.8653 | 0.4643 |
| s | YOLOv6s | 17.2 | 44.2 | 2.22 | 8.59 | 1.45 | 0.8955 | 0.8547 | 0.8746 | 0.8955 | 0.4598 |
| s | YOLOv7 | 36.9 | 104.7 | 2.44 | 23.62 | 3.46 | 0.7371 | 0.7416 | 0.7394 | 0.6760 | 0.3195 |
| s | YOLOv8s | 11.2 | 28.6 | 2.31 | 7.66 | 1.42 | 0.9112 | 0.8756 | 0.8930 | 0.9157 | 0.4784 |
| s | YOLOv9s | 7.2 | 26.7 | 2.12 | 18.66 | 1.39 | 0.8335 | 0.8191 | 0.8262 | 0.8179 | 0.4159 |
| s | YOLOv10s | 7.2 | 21.6 | 2.21 | 11.38 | 0.60 | 0.8085 | 0.8263 | 0.8173 | 0.8400 | 0.4211 |
| s | YOLOv11s | 9.4 | 21.5 | 2.37 | 9.74 | 1.36 | 0.8820 | 0.8239 | 0.8519 | 0.8761 | 0.4381 |
| s | YOLOv12s | 9.3 | 21.4 | 2.09 | 13.23 | 1.42 | 0.8685 | 0.8219 | 0.8445 | 0.8640 | 0.4362 |
6. 系统设计与实现
6.1 系统设计思路
本文系统以“桌面端可交互检测”为核心目标,在总体架构上采用分层解耦的组织方式:表现与交互层由 PySide6/Qt 客户端承担,负责多源输入选择、阈值调参与结果可视化;业务与会话管理层负责会话状态、输入源互斥、参数一致性维护以及导出编排;推理与任务调度层封装预处理、YOLO 推理与后处理逻辑,并以事件驱动的帧流模式把耗时计算从界面线程中剥离;数据持久化层则面向账户、历史记录与导出归档提供统一的数据落点。这样的拆分能够把“交互体验”与“算法链路”分离开来,使模型升级、权重热切换或导出策略调整不必牵动界面结构,从而降低迭代成本并提升可维护性。
在跨层协同方面,系统将图片、视频与摄像头统一抽象为“帧序列输入”,由媒体接入模块负责读取与解码,再把帧分发给预处理模块完成 640×640 规格化与归一化张量转换,随后进入 YOLOv5–YOLOv12 的推理引擎得到候选框与类别分数,最终通过 Conf/IoU 过滤与 NMS 抑制完成后处理并将坐标还原到原始分辨率。推理结果以结构化对象形式回传到 Qt 客户端,在主显示区叠加检测框与类别/置信度信息,同时在右侧详情区呈现目标信息与统计,在底部记录区追加检测条目并同步刷新进度条与耗时,使用户在单次检测中获得“可见、可控、可复核”的闭环。
在一致性与实时性保障上,系统强调三点:其一,输入源切换采用互斥策略,确保同一时刻只有一种帧流驱动推理,避免资源竞争导致的延迟抖动;其二,Conf/IoU 等关键参数由业务层统一维护并以信号与槽同步到推理与可视化环节,保证阈值变更立即生效且前后处理口径一致;其三,导出与归档按任务批次组织,并以时间戳命名形成可追溯链路,便于后续按文件名或记录快速定位与复查。整体设计同时预留模型权重管理与日志/监控接口,使系统能够平滑扩展到更多 YOLO 版本、更多导出格式以及更复杂的会话策略。

图 6-2 系统设计框图
图注:系统以“表现与交互—业务与会话—推理与调度—数据持久化”的分层边界组织模块,数据流沿帧序列从媒体接入到推理后处理,再回到界面可视化与记录导出,形成可扩展的工程闭环。
6.2 登录与账户管理 — 流程图

图 6-3 登录与账户管理流程图
图注:流程以“可跳过的登录入口”作为体验与安全的折中点,注册写入本地数据库形成身份落点,登录成功后加载个性化配置与最近记录,并与主检测流程无缝衔接。
从流程组织上看,系统在启动时首先呈现登录界面,并以“已有账号与否”作为分支:无账号用户完成注册信息填写后,账户记录写入本地数据库形成可持久化身份;已有账号用户直接进入口令校验环节,校验失败则回到输入界面以保证安全性与可控性。登录成功后,业务层会加载与用户绑定的个性化配置(主题、默认模型偏好与最近检测记录),使用户进入主界面后能够以最小操作成本恢复常用工作状态;同时,资料修改与注销/切换账号被设计为与主检测流程并列的会话操作,从而实现“账户空间—历史记录—检测闭环”的连续衔接价值。
参考文献(GB/T 7714)
1 周家慧, 王静媛. 基于深度学习的口罩佩戴识别技术研究[J]. 建模与仿真, 2023, 12(5): 4845-4854.
2 GE S, LI J, YE Q, et al. Detecting masked faces in the wild with LLE-CNNs[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017: 2682-2690.
3 WANG Z, WANG G, HUANG B, et al. Masked face recognition dataset and application[J/OL]. arXiv:2003.09093, 2020.
4 REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J/OL]. arXiv:1506.01497, 2015.
5 LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[C]//Computer Vision—ECCV 2016. Cham: Springer, 2016: 21-37.
6 LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[C]//Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2017: 2980-2988.
7 TAN M, PANG R, LE Q V. EfficientDet: Scalable and efficient object detection[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2020: 10781-10790.
8 TIAN Z, SHEN C, CHEN H, et al. FCOS: Fully convolutional one-stage object detection[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). 2019: 9627-9636.
9 ZHOU X, WANG D, KRÄHENBÜHL P. Objects as points[J/OL]. arXiv:1904.07850, 2019.
10 CARION N, MASSA F, SYNNAEVE G, et al. End-to-end object detection with transformers[C]//Computer Vision—ECCV 2020. Cham: Springer, 2020: 213-229.
11 ZHAO Y, LV W, XU S, et al. DETRs beat YOLOs on real-time object detection[J/OL]. arXiv:2304.08069, 2023.
12 LI C, LI L, JIANG H, et al. YOLOv6: A single-stage object detection framework for industrial applications[J/OL]. arXiv:2209.02976, 2022.
13 WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[J/OL]. arXiv:2207.02696, 2022.
14 WANG C Y, YEH I H, LIAO H Y M. YOLOv9: Learning what you want to learn using programmable gradient information[J/OL]. arXiv:2402.13616, 2024.
15 WANG A, CHEN H, LIU L, et al. YOLOv10: Real-time end-to-end object detection[J/OL]. arXiv:2405.14458, 2024.
16 JOCHER G, QIU J. Ultralytics YOLOv8[EB/OL]. (2025-12-20) .
17 JOCHER G, QIU J. Ultralytics YOLO11[EB/OL]. (2025-12-20) .
18 TIAN Y, YE Q, DOERMANN D. YOLOv12: Attention-centric real-time object detectors[J/OL]. arXiv:2502.12524, 2025.
19 HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[J/OL]. arXiv:1503.02531, 2015.
[20] JACOB B, KLIGYS S, CHEN B, et al. Quantization and training of neural networks for efficient integer-arithmetic-only inference[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2018: 2704-2713.
[21] ONNX Community. Open Neural Network Exchange (ONNX)[EB/OL]. (2025-12-20) .
[22] NVIDIA. NVIDIA TensorRT Documentation[EB/OL]. (2025-12-20) .
项目资源链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

项目完整文件请见项目介绍及功能演示视频处给出:
完整项目及文档: https://newtopmat.feishu.cn/wiki/L2QPwdg9nimC6ekF1mRcakRPn2c
功能效果展示视频:热门实战|《基于深度学习的口罩识别系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd;
或者环境配置视频教程:Pycharm软件安装视频教程;(2)Anaconda软件安装视频教程;(3)Python环境配置视频教程;
数据集标注教程(如需自行标注数据):数据标注合集
更多推荐
所有评论(0)