基于深度学习的吸烟行为检测系统(YOLOv12完整代码+论文示例+多算法对比)
摘要:本文面向公共场所与园区安防等场景,构建一套基于深度学习的吸烟行为检测桌面系统,目标是在复杂光照、遮挡与尺度变化下实现可用、可追溯、可扩展的实时识别。系统提供PySide6/Qt桌面端交互,支持图片/视频/本地摄像头多源输入与统一推理流程,检测结果以“类别名+置信度+边界框”叠加展示,并提供处理用时与进度显示/进度条反馈。为便于复盘与统计,系统支持CSV 导出与最近记录快速定位,同时提供带框结果一键导出:单帧保存为PNG、多帧序列导出为AVI,文件以时间戳命名便于溯源管理;历史记录、账户信息与配置项通过SQLite 本地入库实现轻量持久化。系统包含登录/注册(可跳过)入口,并支持模型选择/权重加载(.pt 热切换),切换后可同步刷新类别信息与可视化配色。在算法侧,覆盖 YOLOv5–YOLOv12 共 8 种模型,基于同一数据与评测协议对比 mAP、F1、PR 曲线及训练曲线等指标,为“精度—速度—部署成本”权衡提供依据。文末提供完整工程与数据集链接。
文章目录
功能效果展示视频:热门实战|《基于深度学习的吸烟行为检测系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
1. 系统功能与效果
(1)登录注册:系统启动后提供登录、注册与跳过入口,用户可在首次进入时选择一次性跳过并直接体验核心功能;登录成功后会话在本次运行周期内生效,用于关联检测记录与个性化配置。进入主界面后,用户可按“概览页”引导逐步到达图片检测、模型选择与结果导出等区域,最近一次任务与历史记录可被快速定位以便复盘。账户信息与会话相关数据采用本地存储管理,并通过口令校验与基础异常提示提升使用安全与稳定性。
(2)功能概况:桌面端以“左侧数据源与阈值控制、中部可视化主显示、右侧目标详情、底部记录与进度反馈”的动线组织交互,尽量减少多窗口跳转带来的割裂感。系统围绕“导入数据、推理检测、结果复查、统计导出”形成闭环,检测过程提供用时提示与进度显示,便于把握任务状态。历史检测记录可跨页面复用,既支持按时间回溯,也便于在统计视图中快速比对不同任务的结果差异。
(3)选择模型:系统支持在界面中选择本地权重文件并切换当前检测模型,完成切换后会同步刷新类别信息、颜色标识与推理参数的默认配置,确保显示与统计口径一致。为适配不同部署需求,模型选择强调“随取随用”的轻量体验,用户不需要重启应用即可完成权重热切换。主题样式与常用配置可在本地持久化保存,使多次运行保持一致的观感与交互习惯。
(4)图片检测:用户导入单张图片或图片集合后可进行即时推理,主显示区以边界框叠加“类别名与置信度”,并在右侧同步展示目标列表与关键属性。界面支持对阈值参数进行实时调整,并可对指定目标进行选中与高亮,以便对疑似吸烟行为进行更细粒度的核验。检测结果同时写入底部记录区域,便于在不离开当前页面的情况下完成对比、筛查与定位。
(5)文件保存:系统提供统一的结果归档机制,将检测结果以时间戳命名进行保存,便于批量管理与后续溯源复查。导出内容覆盖统计表与可视化结果,支持一键生成 CSV 以用于汇总分析,同时支持导出带框图片以便留存证据与报告编制。保存入口与复查入口在交互上保持一致,用户可通过文件名或最近记录快速回到对应任务,减少重复操作成本。
2. 绪论
2.1 研究背景及意义
公共场所吸烟不仅带来二手烟暴露,还可能在楼梯间、消防通道、仓储区等高风险区域引发火灾隐患,因此“看得见、管得住、可追溯”的自动化监管逐渐成为工程需求。1 传统人工巡查受限于覆盖范围与响应速度,且在夜间、遮挡与远距离监控条件下难以稳定发现烟支等小目标,因此亟需以视觉感知为核心的在线检测方案来补齐监管链路。2 近年来面向监控场景的端到端吸烟检测系统开始关注低照度、多场景泛化与实时预警等问题,为本文系统化落地提供了直接参照。[3]
在线核验:
从技术路径看,吸烟行为可被抽象为“人—烟支/电子烟—烟雾—手口交互”的组合事件,其中烟支目标小、纹理弱、易被手指遮挡,是造成漏检与误检的关键因素。1 单阶段检测器以高吞吐特性更适合视频流在线推理,而 YOLO 系列以统一检测范式与成熟工程生态成为工业界常用基线,为“边缘端实时推理+人机协同复核”的桌面化系统提供了可实现的技术底座。[4]
因此,本文研究的意义不仅在于提升吸烟检测的准确性与实时性,还在于把算法能力与可视化交互、记录管理和结果导出整合成闭环,降低一线使用门槛并提升取证一致性。系统层面通过把推理参数、模型权重与检测记录关联,可支持后续审计、回放复查与持续迭代,从而把一次检测扩展为可运营的长期治理能力。2
2.2 国内外研究现状
国内外对吸烟行为识别的研究大体经历了从“动作/手势线索”到“视觉目标检测+关系建模”的演进,早期工作常把吸烟视为手口周期性动作并通过序列特征进行判别,但在监控视角变化与遮挡频发场景下稳定性不足。1 随着深度学习视觉模型在安防与智慧城市中普及,研究重心逐步转向对烟支、烟雾与人脸/手部区域的联合检测,并强调在低分辨率与复杂背景下的小目标鲁棒性。2 面向“禁烟区域监管”的研究还会构建室内外混合数据并给出工程化部署框架,以减少从论文指标到落地效果之间的落差。2
在线核验:
在吸烟检测这一细分任务中,许多工作以 YOLO 为基线并围绕小目标与误检问题进行改进,例如把吸烟判定视为目标定位问题并在 YOLOv5 上构建特定结构以提升对烟支区域的判别能力。[5] 也有研究在 YOLOv8 框架上引入面向小目标的专用层与注意力机制,并给出 mAP@0.5 提升与整体准确率改善,用以应对遮挡与尺度变化带来的性能退化。[6] 针对危险环境与复杂背景,国内已有工作在 YOLOv9 上进一步结合注意力模块与 Soft-NMS,并通过“烟支—人体距离关联”降低误判,同时报告了 mAP 与单帧耗时等工程指标。[7] 这些工作共同说明:吸烟检测的瓶颈往往不在“是否能检测到人”,而在“是否能稳定定位极小且易混淆的烟支/烟雾线索”。1
在线核验:
| 方法/系统 | 范式/家族 | 数据集/场景 | 关键改进点 | 优势与局限性 | 可追溯指标(示例) | 对应任务难点 | 引用 |
|---|---|---|---|---|---|---|---|
| 深度学习吸烟检测研究(国内) | 小目标检测(监控图像) | 公共场所监控(国内期刊研究) | 强调小目标与复杂背景下的特征表达 | 贴近工程场景,但可复现细节依赖原文数据 | 期刊为北大核心来源,聚焦“小目标检测” | 小目标、复杂背景 | 1 |
| 智慧城市吸烟监管框架 | 视觉分类/检测(系统化) | 室内外混合数据(两类) | 给出面向禁烟监管的数据与框架 | 数据规模有限且类别粗粒度 | 提供吸烟/非吸烟数据与系统框架 | 泛化、场景多样 | 2 |
| TF-YOLOv5 吸烟检测 | 单阶段(YOLOv5系) | 吸烟监控图像/视频 | 将吸烟判定转为定位问题并做结构优化 | 易部署但对遮挡与低照度仍敏感 | 以 YOLOv5 为基线(原文给出实验对比) | 目标小、遮挡 | [5] |
| YOLOv8-MNC 吸烟检测 | 单阶段(YOLOv8改进) | 自建吸烟数据集 | 小目标层+注意力/损失改进 | 提升小目标,但依赖数据覆盖 | 报告准确率约 85.887% 与 mAP@0.5 提升 | 小目标、遮挡、尺度变化 | [6] |
| YOLO-SSDA 吸烟检测 | 单阶段(YOLOv9改进) | 自建危险环境数据 | SimAM+Soft-NMS+距离关联 | 误判下降,但对跨域仍需验证 | mAP50≈94.4%,单帧≈39ms | 误检/漏检、实时性 | [7] |
| CCTV 吸烟检测系统(消防通道) | 监控端到端系统 | 低照度多场景 | 多模型对比并面向低光优化 | 指标依赖场景,需长期运行验证 | 数据集 8,124 张图像、覆盖 20 场景 | 低照度、跨场景 | [3] |
从检测器范式角度看,两阶段方法以候选框机制获得较强的定位精度,但推理链路更长且对实时视频流不友好,因此在在线监管场景中通常作为精度上界参考。[13] 单阶段方法通过密集预测换取更高吞吐,结合 Focal Loss 等策略缓解前景/背景不均衡,有利于在烟支这类“少样本小目标”上稳定训练。[14] 以 Transformer 为核心的端到端检测器减少了手工后处理并强化全局建模能力,但在边缘侧部署时仍需在延迟、显存与鲁棒性之间权衡。[15]
YOLO 家族近年的演进体现为“更强的小模型能力+更清晰的训练/部署接口”,例如 YOLOv6 给出了面向工业落地的一系列网络并报告了在 T4 上的高吞吐与 COCO AP 指标。[8] YOLOv7 则通过训练优化与结构设计在实时区间取得较高 AP,并强调从零训练也能获得强性能。[9] 随后 YOLOv9 引入 PGI 与 GELAN 以改善梯度信息利用并提升参数效率,为小模型在复杂任务上的稳定收敛提供了新思路。[10] 在“去后处理、端到端实时”方向,YOLOv10 强调在相近精度下显著降低延迟以贴近实时系统需求。[11] 工程生态方面,Ultralytics 在发布链路中引入 YOLO11 并作为默认模型,进一步降低了训练与部署门槛。[12] 面向新一代实时检测,YOLOv12 以注意力为中心的设计成为近期讨论热点,也为本文后续对 YOLOv5–YOLOv12 的系统化对比提供了现实依据。[16]
在线核验:
综合来看,算法研究正在从“单模型刷指标”走向“可部署、可解释、可追溯”的系统化能力建设,而吸烟检测恰好同时要求小目标鲁棒性、实时性与低成本运维。[7] 因此,将检测算法与桌面端交互、结果归档与数据反馈闭环联动,不仅能提升使用体验,还能把“误检样本回流、难例再训练、权重热切换验证”变成可执行的工程流程。[3]
2.3 要解决的问题及其方案
本文面向“基于深度学习的吸烟行为检测系统”落地,围绕 YOLOv5–YOLOv12 系列模型训练与推理对比、以及 PyTorch 框架下的桌面端集成,重点解决以下问题:(1)检测与识别的准确性与实时性矛盾,尤其在烟支小目标、低照度与运动模糊条件下易漏检。(2)模型的环境适应性与泛化能力不足,不同摄像头、不同场景与不同吸烟姿态会造成分布漂移。(3)桌面端交互界面的直观性与功能完整性不足,模型切换、阈值调参、记录检索与结果导出需要形成连贯动线。(4)数据处理效率与存储安全性不足,视频帧流推理、结果落盘与本地持久化若缺少统一编排易导致不可追溯或数据丢失。
针对上述问题,本文提出与系统实现强耦合的解决方案:(1)以 YOLOv12 为核心检测模型,并组织 YOLOv5–YOLOv12 八种模型在同一数据集与同一评测协议下进行性能对比,通过数据增强、迁移学习与阈值策略提升小目标与遮挡场景的鲁棒性。(2)基于 PyTorch 统一训练与推理流程,并与 PySide6/Qt 桌面端完成端到端集成,实现图片、视频与本地摄像头多源输入的一致推理与可视化。(3)支持本地权重文件加载与热切换,使模型与类别信息同步刷新,并提供 Conf/IoU 实时调参与目标高亮选择,形成“调参—观察—复核—导出”的交互闭环。(4)优化数据处理与存储结构,采用帧序列缓冲、时间戳命名与 SQLite 本地库进行账户与结果管理,进一步结合模型压缩、硬件加速与系统测试,保障实时性、稳定性与可维护性。
2.4 博文贡献与组织结构
本文的主要贡献体现在:(1)给出围绕吸烟行为检测任务的小目标难点与工程约束的综合文献综述,并将研究进展映射到可部署系统的需求侧。(2)以 YOLOv12 为主线,组织 YOLOv5–YOLOv12 的训练、推理与评测对比,形成可复现的指标体系与分析框架。(3)实现美观友好的 PySide6/Qt 桌面端交互设计,把多源输入、参数调节、记录检索、导出与本地持久化串联为可用工作流。(4)围绕误检漏检、泛化与实时性给出可解释的效果对比分析,并沉淀为后续数据回流与模型迭代的工程机制。(5)提供完整的数据集与代码资源,便于读者复现与二次开发。
全文组织如下:第 3 章介绍数据集构建、标注与增强策略;第 4 章阐述以 YOLOv12 为主的模型原理与关键设计;第 5 章给出 YOLOv5–YOLOv12 的实验对比与误差分析;第 6 章从分层架构视角说明 Qt 桌面端与推理服务的协同实现并给出系统框图;第 7 章总结全文并展望轻量化、多模态与可插拔部署等方向。
3. 数据集处理
本文吸烟行为检测数据集共包含 8520 张图像,按照训练集 5950 张、验证集 1720 张、测试集 850 张进行划分,约对应 69.84%/20.19%/9.98% 的比例,以保证训练充分、验证稳定与测试独立;同时固定随机划分过程以提升多模型对比的可复现性。标签及其对应中文名如下:
Chinese_name = {'Smoking': "吸烟"}

从样例训练批次可视化可以直观看到,该任务的核心难点集中在“烟支小目标与细长形态”以及“手口遮挡与光照/压缩噪声”带来的可见性波动:目标往往贴近手指或口鼻区域,边缘对比度弱且易与肤色、强反光或背景纹理混淆。标注框分布的相关统计图进一步表明,目标中心在画面中呈多峰分布,且宽高在小尺度区域高度集中并具有明显长尾特征,这意味着模型训练必须同时兼顾小目标召回与误检控制;因此数据预处理遵循统一输入尺度与归一化口径,在训练阶段配合随机尺度抖动、仿射扰动、颜色与亮度扰动等增强以覆盖室内外与昼夜差异,并通过适度的拼接类增强提升小目标出现概率与背景多样性,从数据层面对遮挡、尺度变化与光照剧烈变化等场景难例进行“分布补齐”。
在数据清洗与一致性控制方面,本文强调标注质量与统计口径的一致:对异常框、越界框与明显偏移框进行校正,减少噪声标签对收敛的干扰;对重复帧、极端模糊或不可辨识样本进行筛除或降权处理,以降低“背景捷径学习”风险。最终,数据集以单类“吸烟”目标为核心,通过合理划分、可解释的统计分布分析与面向难点的增强清洗策略,为后续 YOLOv5–YOLOv12 的公平对比训练、桌面端实时推理与结果可追溯导出提供了稳定的数据基础。
4. 模型原理与设计
本系统面向“吸烟”行为的在线检测,本质上可抽象为单类目标检测:在单帧图像或连续视频帧中定位与“吸烟”相关的关键目标(如烟支/持烟手部靠近口鼻区域等),并输出类别置信度与边界框。考虑到桌面端需要兼顾实时性与可部署性,本文以 YOLOv12 作为主线模型:它延续 YOLO 系列单阶段检测器“端到端前向一次完成定位与分类”的范式,同时把注意力机制更深度地融入骨干与特征建模流程,以提升对小目标、遮挡与复杂背景的辨识能力。推理时将输入统一缩放到固定分辨率(如 640 × 640 640\times 640 640×640),网络在多尺度特征图上预测边界框与类别分数,最终输出结构化结果 c , ; s , ; b {c,;s,;b} c,;s,;b,其中 c c c 为类别(本任务为 Smoking), s s s 为置信度, b = ( x min , y min , x max , y max ) b=(x_{\min},y_{\min},x_{\max},y_{\max}) b=(xmin,ymin,xmax,ymax) 为像素坐标框;桌面端再将其叠加渲染到主显示区并参与后续导出与存储闭环。(ar5iv)
在结构设计上,YOLOv12 仍可按“骨干(Backbone)—颈部(Neck)—检测头(Head)”来理解:骨干负责从原图逐级提取语义与纹理特征,颈部完成跨尺度融合与信息聚合,检测头在不同尺度上输出分类与回归分支。针对吸烟检测中“烟支细长、尺度小、易被手/脸遮挡、光照与肤色背景相近”的难点,YOLOv12 的关键增益来自两类结构:其一是 R-ELAN(Residual Efficient Layer Aggregation Networks),通过更高效的特征聚合与残差缩放改善深层训练与特征复用;其二是 Area Attention(A2),以“分区注意力”的方式在保持大感受野的同时控制计算复杂度,并可结合 FlashAttention 优化注意力的显存访存瓶颈,从而尽量不牺牲实时性。注意力计算可写为
A t t n ( Q , K , V ) = S o f t m a x ! ( Q K ⊤ d ) V , \mathrm{Attn}(Q,K,V)=\mathrm{Softmax}!\left(\frac{QK^{\top}}{\sqrt{d}}\right)V, Attn(Q,K,V)=Softmax!(dQK⊤)V,
其中 Q , K , V Q,K,V Q,K,V 分别为查询、键和值, d d d 为通道维度;A2 的要点在于将特征图沿水平或垂直方向等分为若干区域,在区域内/跨区域进行更高效的依赖建模,使模型更容易“看懂”口鼻周围的上下文线索(例如手部遮挡下仍能利用局部语义与形状先验)。网络整体关键模块示意图如下图所示
损失函数与任务建模方面,YOLO 系列通常将目标检测拆为分类与定位两部分,并以多项损失加权求和。对边界框回归,最常见的核心度量是 IoU:
I o U ( B , B ^ ) = ∣ B ∩ B ^ ∣ ∣ B ∪ B ^ ∣ , \mathrm{IoU}(B,\hat{B})=\frac{|B\cap \hat{B}|}{|B\cup \hat{B}|}, IoU(B,B^)=∣B∪B^∣∣B∩B^∣,
其中 B B B 为真实框, B ^ \hat{B} B^ 为预测框;为提升对尺度差异与细长目标的收敛稳定性,实践中常引入 CIoU/EIoU 等改进项来同时约束重叠、中心距离与宽高一致性,例如 CIoU 可写为
L ∗ C I o U = 1 − I o U + ρ 2 ( p , p ^ ) c 2 + α v , \mathcal{L}*{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{p},\hat{\mathbf{p}})}{c^2}+\alpha v, L∗CIoU=1−IoU+c2ρ2(p,p^)+αv,
其中 p , p ^ \mathbf{p},\hat{\mathbf{p}} p,p^ 为真实/预测框中心点, ρ ( ⋅ ) \rho(\cdot) ρ(⋅) 为欧氏距离, c c c 为最小外接框对角线长度, v v v 表示宽高比一致性项, α \alpha α 为自适应权重。分类分支通常采用 BCE 或 Focal Loss 抑制易样本主导,综合损失可写为 L = λ ∗ box L ∗ box + λ ∗ cls L ∗ cls + λ ∗ obj L ∗ obj \mathcal{L}=\lambda*{\text{box}}\mathcal{L}*{\text{box}}+\lambda*{\text{cls}}\mathcal{L}*{\text{cls}}+\lambda*{\text{obj}}\mathcal{L}*{\text{obj}} L=λ∗boxL∗box+λ∗clsL∗cls+λ∗objL∗obj;对“吸烟”这种单类任务, L ∗ cls \mathcal{L}*{\text{cls}} L∗cls 的形式更简单,但更依赖高质量的定位学习与困难样本挖掘(如“手持物体但非香烟”“烟支被强反光淹没”等),因此在训练与阈值策略上需要更强调误检控制与召回平衡。(ar5iv)
训练与正则化策略上,YOLOv12 在工程落地时通常配合 BN、权重衰减、EMA、学习率预热与衰减等常规手段来提升收敛稳定性;而对吸烟检测这类“近景小目标 + 遮挡频繁”的场景,数据增强(尺度抖动、颜色扰动、随机裁剪与一定比例的 Mosaic/MixUp)往往能显著提升泛化,但也要避免把烟支细节过度破坏导致标签噪声放大。推理阶段的关键在后处理:先用置信度阈值过滤低质量候选,再用 NMS 依据 IoU 抑制重复框;桌面端将置信度与 IoU 两个阈值做成可调滑块,本质上是在精度与召回之间提供“可解释的交互旋钮”,便于在室内监控、公共场所与不同光照条件下快速切换工作点。结合 YOLOv12 的注意力与特征聚合优势,系统最终形成“多尺度建模保证小目标可见、注意力建模补足遮挡与背景干扰、阈值与 NMS 策略把控误检漏检”的闭环,为后续的可视化导出、记录追溯与本地存储奠定模型侧基础。(Ultralytics Docs)
5. 实验结果与分析
本章实验以 8520 张单类“吸烟(Smoking)”检测数据为对象,在同一预处理口径(统一输入尺度、同一评测脚本)下,对 YOLOv5–YOLOv12 系列的轻量化模型进行横向比较;其中 n 系列用于衡量“更极致的速度与边缘部署潜力”,s 系列用于衡量“更高精度与更强鲁棒性”。评测指标采用 Precision、Recall、F1、mAP50 与 mAP50-95,同时记录端到端耗时拆分(Pre/Inf/Post),硬件环境为 NVIDIA GeForce RTX 3070 Laptop GPU(8GB),以贴近桌面端推理的真实开销。
| 模型 | Params(M) | FLOPs(G) | Pre(ms) | Inf(ms) | Post(ms) | P | R | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|
| YOLOv5nu | 2.6 | 7.7 | 1.90 | 7.73 | 1.31 | 0.9541 | 0.9224 | 0.9380 | 0.9613 | 0.7700 |
| YOLOv6n | 4.3 | 11.1 | 2.17 | 6.78 | 1.39 | 0.9493 | 0.9115 | 0.9300 | 0.9494 | 0.7698 |
| YOLOv7-tiny | 6.2 | 13.8 | 2.28 | 14.74 | 4.06 | 0.9631 | 0.9273 | 0.9449 | 0.9562 | 0.7415 |
| YOLOv8n | 3.2 | 8.7 | 1.95 | 6.83 | 1.39 | 0.9618 | 0.9246 | 0.9428 | 0.9631 | 0.7828 |
| YOLOv9t | 2.0 | 7.7 | 1.87 | 16.51 | 1.29 | 0.9547 | 0.9298 | 0.9421 | 0.9642 | 0.7888 |
| YOLOv10n | 2.3 | 6.7 | 2.08 | 11.24 | 0.63 | 0.9355 | 0.9149 | 0.9251 | 0.9568 | 0.7786 |
| YOLOv11n | 2.6 | 6.5 | 2.11 | 9.44 | 1.42 | 0.9574 | 0.9257 | 0.9413 | 0.9614 | 0.7720 |
| YOLOv5su | 9.1 | 24.0 | 2.28 | 8.45 | 1.51 | 0.9590 | 0.9297 | 0.9441 | 0.9654 | 0.7942 |
| YOLOv6s | 17.2 | 44.2 | 2.22 | 8.59 | 1.45 | 0.9522 | 0.9323 | 0.9421 | 0.9635 | 0.8212 |
| YOLOv7 | 36.9 | 104.7 | 2.44 | 23.62 | 3.46 | 0.9710 | 0.9542 | 0.9625 | 0.9760 | 0.8277 |
| YOLOv8s | 11.2 | 28.6 | 2.31 | 7.66 | 1.42 | 0.9599 | 0.9388 | 0.9492 | 0.9702 | 0.8137 |
| YOLOv9s | 7.2 | 26.7 | 2.12 | 18.66 | 1.39 | 0.9694 | 0.9327 | 0.9507 | 0.9727 | 0.8196 |
| YOLOv10s | 7.2 | 21.6 | 2.21 | 11.38 | 0.60 | 0.9576 | 0.9302 | 0.9437 | 0.9690 | 0.8190 |
| YOLOv11s | 9.4 | 21.5 | 2.37 | 9.74 | 1.36 | 0.9682 | 0.9397 | 0.9537 | 0.9725 | 0.8258 |
| YOLOv12s | 9.3 | 21.4 | 2.09 | 13.23 | 1.42 | 0.9640 | 0.9425 | 0.9532 | 0.9733 | 0.8281 |

从 n 系列结果看,整体 mAP50 均在 0.949–0.964 区间,说明在单类吸烟检测任务上,轻量模型已经能够给出较强的定位与分类能力,但 mAP50-95 的差异更能体现“框更准”的能力上限:YOLOv9t(0.7888)与 YOLOv8n(0.7828)相对更优,而 YOLOv7-tiny 的 mAP50-95(0.7415)明显偏低,反映其在更严格 IoU 阈值下的定位精度与稳定性不足。结合耗时拆分可见,YOLOv8n 与 YOLOv6n 的推理时延更接近桌面实时需求(Inf 约 6–7ms),YOLOv9t 虽然精度领先但 InfTime 达到 16.51ms,更适合对误检漏检更敏感、但允许更高延迟的场景;YOLOv10n 的 PostTime 最低(0.63ms),对视频流连续推理更友好,但其 Precision 与 F1 相对保守,体现为“更谨慎的判定”带来的召回损失风险,需要在系统侧通过 Conf 滑块进行工作点调节以平衡漏检。
从 s 系列结果看,mAP50-95 的整体抬升更明显(0.794–0.828),其中 YOLOv12s 取得最高 mAP50-95(0.8281),YOLOv7 与 YOLOv11s 紧随其后(0.8277、0.8258),说明在更复杂的定位要求下,较强的特征表达与多尺度融合对“细长小目标+遮挡+背景干扰”的收益更稳定。若把“精度—速度—成本”放到桌面端交互系统的语境中,YOLOv8s(Inf 7.66ms)与 YOLOv11s(Inf 9.74ms)更像是默认推荐的均衡点:它们在 mAP50 与 F1 上保持高位,同时延迟可控,便于在摄像头实时推理时维持更平滑的帧率;YOLOv7 虽然 F1 与 mAP50 最高(F1 0.9625,mAP50 0.9760),但计算量与延迟代价显著(FLOPs 104.7G,Inf 23.62ms),更适合作为“追求极致准确率”的对照或离线复核模型,而不是实时主力。总体而言,n 系列适合边缘或更低算力设备的快速响应,s 系列更适合作为桌面端默认模型或取证场景的高精度配置,二者通过系统的 .pt 权重热切换即可完成策略切换。

从训练与收敛过程看,多模型的 mAP50 曲线在前若干 epoch 出现短暂波动,随后快速爬升并在中后期进入平台区间,这与预热阶段、强数据增强与难例采样带来的梯度波动一致;当曲线进入平台后,各模型差异主要体现在“平台高度”和“平台稳定性”,对应最终 mAP50 与 F1 的差别。结合 s 系列的 mAP50 随 epoch 变化曲线,可以看到各模型在 60–80 epoch 后基本收敛,后期增益有限但更平滑,说明继续训练的边际收益下降,更多应依赖难例补充与阈值策略调优来提升实际使用体验。

在误检漏检与阈值策略方面,单类检测往往更容易出现“背景误触发”为正类的问题,尤其当烟支与高亮边缘、手指反光、画面压缩伪影相似时,模型会给出高置信候选框;相应地,遮挡严重、烟支仅剩极短可见段或低照度条件下则更易漏检。结合 F1-Confidence 曲线的形态可以得到一个更工程化的结论:当置信度阈值从低到高时,F1 会在某个区间达到峰值后快速下滑,这意味着过高的阈值会把“本就脆弱的小目标”先过滤掉,因此系统默认阈值不宜设置得过激进;在本文桌面端实现中,把 Conf 与 IoU 做成可实时调节滑块,本质上是把这一权衡显式交给使用者,使其能在“监管预警(偏召回)”与“取证复核(偏精度)”两种模式间快速切换。综合精度、速度与可维护性,本文更推荐在默认在线检测中优先采用 YOLOv8s/YOLOv11s 这类均衡模型,在需要进一步降低漏检或提升定位严格度时切换到 YOLOv12s 或 YOLOv7 进行复核,并通过历史记录与导出机制把高价值难例沉淀下来,形成后续数据闭环与模型迭代的依据。
6. 系统设计与实现
6.1 系统设计思路
本文系统以“可交互的桌面端在线检测”为目标,将吸烟目标检测的推理链路与 Qt 客户端的可视化与导出闭环进行分层解耦,整体采用“表现与交互层(Qt 客户端)—业务与会话管理层—推理与任务调度层—数据持久化层”的架构组织。表现与交互层负责承载用户对输入源、阈值、模型权重与导出行为的操作入口,并将检测结果以叠加框、类别与置信度、目标高亮与统计信息的形式反馈到主显示区;业务与会话管理层在交互触发后统一维护会话状态、参数一致性与记录编排,避免在多页面、多入口下出现口径漂移,从而保证“看见的结果”与“导出的结果”一致。
推理与任务调度层以事件驱动帧流为核心,把图片、视频与摄像头统一抽象为“帧序列”,通过异步队列将媒体读取、预处理、YOLO 推理与后处理串联为稳定的流水线。预处理阶段对输入执行统一尺度缩放与张量转换,推理阶段支持 YOLOv5–YOLOv12 的权重热切换,后处理阶段执行置信度与 IoU 过滤以及 NMS 去重并完成坐标还原,再将结构化检测结果回传至前端渲染与底部记录表格。该设计使 Conf/IoU 滑块、目标选择高亮与停止/切换输入源等交互能够即时作用于后处理与显示,从交互层形成“调参—观察—复核—导出”的闭环。
数据持久化层面向可追溯与可复盘需求,将账户信息、个性化配置与检测记录统一纳入本地数据库管理,同时将带框媒体、统计表与日志等文件归档化保存,形成“数据记录—导出文件—再次定位”的一致链路。为提升实时性与一致性,系统在源互斥与帧流控制上采用统一调度策略,并将进度条与用时统计与任务状态绑定,从而在视频/摄像头场景下实现可感知的处理进度与可控的资源占用;同时通过权重热切换接口与统计导出接口预留扩展空间,为后续增加模型、优化加速与接入更复杂的评测逻辑提供工程基础。

图6-1 系统流程图
图注:系统从初始化加载配置与模型列表开始,完成多源输入的帧流读取、统一预处理、YOLO 推理与后处理,并在 Qt 前端形成叠加显示与交互闭环;当帧流结束或用户停止时,结果进入记录与导出阶段并采用时间戳命名便于追溯。

图6-2 系统设计框图
图注:框图按层次划分 Qt 客户端交互、会话与业务编排、事件驱动的推理调度以及数据持久化,并明确多源输入、参数同步、检测结果与导出归档的跨层数据流向;模块边界清晰,便于后续替换推理后端或扩展评测与审计能力。
6.2 登录与账户管理 — 流程图

图6-3 登录与账户管理流程图
图注:流程覆盖登录、注册、口令校验、会话建立、个性化配置载入与进入主界面,并与注销/切换账号形成闭环;账户与偏好信息写入本地数据库以支撑历史记录追溯与多用户隔离。
登录与账户管理流程强调“轻量会话 + 本地持久化 + 与主检测闭环的自然衔接”:系统启动后进入登录界面,用户可选择已有账号直接登录或完成注册后再登录,注册信息写入本地数据库以形成可追溯的账户实体;登录阶段通过口令校验建立会话,并据此加载用户的主题偏好、默认模型选择与最近检测记录,从而在进入主界面时即可获得一致的交互体验与历史定位能力。该流程将账户空间与检测记录空间进行关联,使不同用户的参数习惯、导出偏好与历史结果在本地实现隔离与管理,同时通过注销/切换账号将会话生命周期显式化,避免检测过程中出现跨用户的数据混用,从而提升系统在实际部署中的可维护性与安全性。
参考文献(GB/T 7714)
1 李祥祥, 李晓华, 石刚. 基于深度学习的吸烟检测研究[J]. 东北师大学报(自然科学版), 2022(3): 98-106.
2 KHAN A, KHAN S, HASSAN B, et al. CNN-Based Smoker Classification and Detection in Smart City Application[J]. Sensors, 2022, 22(3): 892. DOI:10.3390/s22030892.
[3] SADAT S, HOSSAIN M I, SIFAT J A, et al. A Deep Learning-Based CCTV System for Automatic Smoking Detection in Fire Exit Zones[EB/OL]. arXiv:2508.11696, 2025.
[4] REDMON J, DIVVALA S, GIRSHICK R, FARHADI A. You Only Look Once: Unified, Real-Time Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 779-788.
[5] LI R Q, SONG B, LIU X L, PAN X G, HAN L S, XU Y. Smoking Behavior Detection Based on TF-YOLOv5[EB/OL]. 2022.
[6] Frontiers in Computational Neuroscience. Smoking behavior detection algorithm based on YOLOv8-MNC[J]. 2023. DOI:10.3389/fncom.2023.1243779.
[7] 何超勋, 陈智霖, 黄声勇, 彭道福. YOLO-SSDA——基于改进YOLOv9的吸烟行为检测方法[J]. 计算机科学与应用, 2024, 14(9): 56-65. DOI:10.12677/csa.2024.149187.
[8] LI C Y, LI L L, JIANG H L, et al. YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications[EB/OL]. arXiv:2209.02976, 2022.
[9] 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[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 7464-7475.
[10] WANG C Y, YEH I H, LIAO H Y M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[C]//European Conference on Computer Vision. 2024.
[11] YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024.
[12] ULTRALYTICS. Ultralytics YOLO (v8.3.0, YOLO11)[EB/OL]. Zenodo: 13858602, 2024.
[13] REN S Q, HE K M, GIRSHICK R, SUN J. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[14] LIN T Y, GOYAL P, GIRSHICK R, HE K M, DOLLÁR P. Focal Loss for Dense Object Detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2980-2988.
[15] CARION N, MASSA F, SYNNAEVE G, et al. End-to-End Object Detection with Transformers[C]//European Conference on Computer Vision. 2020: 213-229.
[16] YOLOv12: A Breakdown of the Key Architectural Features[EB/OL]. arXiv:2502.14740, 2025.
[17] PASZKE A, GROSS S, MASSA F, et al. PyTorch: An Imperative Style, High-Performance Deep Learning Library[C]//Advances in Neural Information Processing Systems. 2019: 8024-8035.
下载链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

功能效果展示视频:热门实战|《基于深度学习的吸烟行为检测系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd;
或者环境配置视频教程:Pycharm软件安装视频教程;(2)Anaconda软件安装视频教程;(3)Python环境配置视频教程;
数据集标注教程(如需自行标注数据):数据标注合集
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)