1. 项目概述
这个基于YOLOv11的吸烟行为检测系统是我最近完成的一个计算机视觉项目,它能够实时识别监控画面中的吸烟行为。作为一名长期从事计算机视觉开发的工程师,我发现公共场所的吸烟监管一直是个难题——传统的人工巡查效率低下,而现有的智能监控系统又往往缺乏针对性的识别能力。这个项目就是为了解决这个问题而设计的。
系统最核心的能力是同时检测五种关键目标:香烟本体、人物、烟雾、电子烟设备以及综合性的吸烟行为。在实际测试中,系统在12,000多张标注图像上训练后,对吸烟行为的识别准确率达到了92.以上。这个性能指标已经可以满足大多数公共场所的监管需求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术选型考量
选择YOLOv11作为基础模型是经过深思熟虑的。相比前代版本,YOLOv11在保持实时性的同时,对小目标的检测精度有了显著提升——这对识别香烟这样的细小物体至关重要。我在项目初期对比了YOLOv8、YOLOv9和YOLOv11三个版本,最终选择v11主要是基于以下测试数据:
- 在相同数据集上,YOLOv11的mAP@0.5比v8高出7.2%
- 推理速度仅比v8慢15%,但远快于两阶段的检测模型
- 对小目标(香烟)的召回率提升了近10%
2.2 系统工作流程
系统的完整工作流程可以分为以下几个关键环节:
- 输入处理层:支持三种输入方式(图片、视频、实时摄像头),通过OpenCV进行帧提取和预处理
- 核心检测层:YOLOv11模型进行目标检测和行为识别
- 结果处理层:对检测结果进行后处理,包括非极大值抑制(NMS)和置信度过滤
- 可视化输出层:通过PyQt5构建的UI界面展示检测结果
3. 数据集构建与处理
3.1 数据采集策略
构建一个高质量的吸烟行为数据集是这个项目成功的关键。我们采用了多样化的采集策略:
- 场景覆盖:包含室内、室外、白天、夜晚、不同天气条件
- 视角多样性:正面、侧面、俯视、仰视等多种拍摄角度
- 行为变化:包含手持香烟、正在吸烟、持电子烟等不同行为状态
最终的数据集包含12,486张图像,按照7:2:1的比例划分为训练集、验证集和测试集。特别需要注意的是,测试集是完全独立采集的,确保评估结果的客观性。
