本项目是一个功能完整的吸烟人员检测系统。基于最新的 Ultralytics YOLO 系列模型构建,能够检测图像/视频中的人员、香烟、烟雾、电子烟等目标,辅助进行吸烟行为识别与安全监管。本项目提供了美观、易用的 Streamlit Web 交互界面,非常适合同学们参考与展示。
⚠️ 关于本项目 (About This Project)
本仓库开源了系统的前端交互应用(App)源码及训练数据可视化模块。
🔗 开源地址:
🛒 核心模型与训练源码资源包 (Core Models & Training Codes) 包含:
- 核心训练代码:包含 train.py (单模型) 和 train_batch.py (批量实验),支持断点续训和自动批量大小(autobatch),训练完成后自动生成 GPU 耗时、成本估算和 mAP 评估报告。
- 全系列模型权重与训练日志:包含 YOLOv8 / YOLO11 / YOLO26 三个系列的
best.pt模型文件,以及完整的训练日志、Loss 曲线图、mAP 指标图和混淆矩阵等评估图表。- (赠品)数据集:本项目使用 Roboflow Smoking Person Dataset 的开源数据集。
- 说明:数据集本身是免费开源的。但由于国内网络环境下载困难,我在资源包中免费提供了已整理好的数据集压缩包,方便大家直接使用。
📥 立即获取资源包:
YOLOv8、YOLO11 以及最新的 YOLO26 模型,用户可在侧边栏一键切换,实时对比不同模型的检测效果。MP4/MKV/AVI 等格式的视频文件(内置转码功能,确保在浏览器中流畅播放)。🎥 视频演示 (Video Demo)
点击下方图标,跳转至各大视频平台查看系统的详细运行演示:
哔哩哔哩 (Bilibili) 抖音 (Douyin) 小红书 (Xiaohongshu) 快手 (Kuaishou) Bilibili 抖音 Xiaohongshu Kuaishou
此步骤将教你如何运行本仓库的开源代码,体验系统的 UI 交互功能。
cmd 并回车,即可直接在当前目录下打开终端。cd 命令跳转到项目目录(例如:cd D:\毕设\YOLO_farms_multi-species_detection)。conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda create -n task1 python=3.11.15 -y conda activate task1
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y
conda install pytorch torchvision torchaudio cpuonly -c pytorch -y
以后每次使用本项目时,只需按以下步骤操作:
cmd 并回车,即可直接在当前目录下打开终端conda activate task1
streamlit run app/app.py
为了让系统能够识别图像/视频中的吸烟相关目标,你需要加载训练好的 YOLO 模型文件(.pt)。
资源包中已包含 YOLOv8 / YOLO11 / YOLO26 全系列训练好的高精度模型。
models 文件夹。models 文件夹直接复制到本项目的根目录下。如果你自行训练了模型:
models 的文件夹。best.pt 文件复制到 models/ 文件夹中(建议重命名为清晰的名称,如 yolo11m_smoking_person.pt)。📖 详细训练教程: 如果你想自己训练模型,请查看 训练指南
YOLO_Smoking_person_detection/ ├── app/ │ ├── app.py # Streamlit 系统主入口 │ ├── analysis.py # 训练日志分析与绘图模块 │ └── report_gen.py # PDF 报告生成模块 ├── data/ # 训练数据集 (Images/Labels) │ └── Smoking_person/ # 吸烟人员数据集 (4类) ├── models/ # 训练好的模型文件 (.pt) ├── training/ # 模型训练代码 │ ├── train.py # 单模型训练脚本 │ └── train_batch.py # 批量训练脚本 ├── runs/ # 训练输出目录 ├── docs/ # 演示图片与文档 ├── requirements.txt # 项目依赖库列表 └── README.md # 项目说明文档
(注:data/ (数据集)、training/*.py (训练脚本) 和 models/*.pt (模型文件) 为资源包专有内容,未包含在开源仓库中。)
本项目使用 Roboflow Smoking Person Dataset 开源数据集,主要用于检测 吸烟人员相关目标。
| 英文名 | 中文名 |
|---|---|
| Cigarette | 香烟 |
| Person | 人员 |
| Smoke | 烟雾 |
| Vape | 电子烟 |
| 数据集 | 图片数量 |
|---|---|
| 训练集 | 5307 张 |
| 验证集 | 270 张 |
| 测试集 | 81 张 |
💡 说明:数据集本身是免费开源的。但由于国内网络环境下载困难,资源包中免费提供了已整理好的数据集压缩包,方便大家直接使用。
📊 实际训练数据: 查看 训练总结报告,包含15个模型的真实训练耗时、成本
以下是基于国内主流 GPU 云服务商(如 AutoDL)的成本估算逻辑:
💡 省钱建议: 自己租用服务器复现所有实验不仅耗时耗力,且算力成本往往高于直接获取成品。
🛒 核心模型与训练源码资源包 (Core Models & Training Codes) 包含:
- 核心训练代码:包含 train.py (单模型) 和 train_batch.py (批量实验),支持断点续训和自动批量大小(autobatch),训练完成后自动生成 GPU 耗时,成本估算和 mAP 评估报告。
- 全系列模型权重与训练日志:包含 YOLOv8 / YOLO11 / YOLO26 三个系列的
best.pt模型文件,以及完整的训练日志、Loss 曲线图、mAP 指标图和混淆矩阵等评估图表。- (赠品)数据集:整理好的 Ultralytics 开源数据集压缩包。
📥 立即获取资源包:
付费版不仅仅是代码,更包含了一整套完整的毕设文档资料,助你轻松应对论文撰写与答辩:
如果你需要付费版毕设,欢迎联系我!
DY_DaoYi