毕业设计:基于深度学习YOLOv11的智能火灾检测系统
项目源代码+数据集+训练好的模型(经过 **A800显卡(18万)** 训练 **100轮** 的5个模型, `yolo11n`(5.22MB), `yolo11s`(18.2MB), `yolo11m`(38.6MB), `yolo11l`(48.8MB), `yolo11x`(109MB) ,用户可以根据需要选择。)+对应指标可视化图像+使用和部署文档+项目架构说明文档
基于深度学习YOLOv11的智能火灾检测系统
目录
- 基于深度学习YOLOv11的智能火灾检测系统
- 目录
- 1. 系统简介
- 2. 界面功能介绍
- 2.1 图像检测
- 2.2 视频检测
- 2.3 实时摄像头检测
- 3. 检测历史
- 4. 模型训练
- 4.1 准备数据集
- 4.2 执行训练
- 5. 代码目录介绍
- 6. 部署与运行
- 系统演示视频
- 获取项目源码
1. 系统简介
本系统是一个基于 YOLOv11 目标检测算法和 Streamlit Web框架开发的智能火灾检测应用。它旨在提供一个高效、易用的工具,能够对图像、视频及实时摄像头画面进行火灾识别,为安防监控、应急响应等场景提供技术支持。
核心技术栈:
- 模型算法:
YOLOv11,PyTorch - 后端/Web界面:
Streamlit - 核心库:
OpenCV,Pillow,numpy
主要功能:
- 多种检测模式: 支持静态图片、视频文件和实时摄像头三种火灾检测方式。
- 高精度识别: 采用先进的YOLOv11模型,确保火灾检测的准确性和实时性。
- 友好交互界面: 基于Streamlit构建,界面简洁直观,操作便捷。
- 实时状态反馈: 在摄像头检测模式下,提供详细的运行状态、检测统计和醒目的火灾告警提示。
- 灵活的模型训练: 提供独立的训练脚本,方便用户使用自定义数据集训练模型。
- 结果记录与保存: 自动保存检测到火灾的图像,便于后续分析和追溯。
https://www.bilibili.com/video/BV1MeKDz9EJK/
2. 界面功能介绍
系统启动后,用户可以通过页面中部选项卡在不同的功能模块间切换。
首页页面如下图所示
在进行检测之前,请先选择一个模型,并设置一个置信度阈值。
项目自带经过 A800显卡(18万) 训练 100轮 的模型, yolo11n(5.22MB), yolo11s(18.2MB), yolo11m(38.6MB), yolo11l(48.8MB), yolo11x(109MB) ,用户可以根据需要选择。
2.1 图像检测
在“图像检测”页面,用户可以上传本地的图片文件进行火灾检测。
-
选择模型: 从下拉菜单中选择一个预训练的YOLOv11模型(如
yolo11n,yolo11s等)。 -
设置置信度阈值: 调整滑块设置检测的最小置信度,过滤掉低可能性的结果。
-
上传图片: 点击“上传图片”按钮,选择一张图片。

-
开始检测: 上传后,系统会自动进行检测,并在界面上展示原始图片和带有检测框的标注图片。

-
查看结果: 检测结果会以列表形式展示,包括检测到的目标数量、类别和各自的置信度。

-
摄像头拍照: 系统还支持使用相机进行拍照,并进行火灾检测。



2.2 视频检测
“视频检测”模块支持对视频文件进行逐帧火灾检测。
-
选择模型与置信度: 与图像检测类似,首先选择模型和置信度。
-
上传视频: 上传一个视频文件(支持
mp4,avi,mov等格式)。
-
开始处理: 点击“开始处理”后,系统会逐帧分析视频。处理进度会通过进度条实时显示。

-
预览与下载: 处理完成后,用户可以在线预览带有检测结果的视频,并提供下载链接。

2.3 实时摄像头检测
这是系统的核心功能之一,能够调用本地摄像头进行不间断的实时火灾监控。
-
配置检测参数:
- 选择模型与置信度: 配置检测所用的模型和阈值。
- 查看配置参数: 查看当前使用的摄像头、分辨率、检测频率等参数(可以在项目配置文件中轻松修改)。
-
启动/停止检测:
- 点击 “启动检测”,系统会打开一个新的OpenCV窗口,显示实时摄像头画面和检测结果。
- 在检测窗口中,按
ESC键可随时停止检测并关闭窗口。
-
实时画面解读:
- 状态信息区 (左上角): 显示当前状态(运行中/暂停)、总处理帧数、检测到火灾的次数、连续检测次数以及已运行时间。
- 火灾告警 (屏幕中央): 当检测到火灾时,屏幕中央会出现醒目的红色 “火灾警告!!!” 字样,并显示当前检测的最高置信度。
- 检测框: 实时在画面中用方框和标签标出检测到的火灾区域。
- 操作提示 (左下角): 提示用户可以通过
ESC键退出,SPACE键暂停/恢复检测,S键手动截图。
-
自动记录: 系统会自动记录每次检测到火灾的瞬间,并将带有标注的图片保存到
realtime_detection目录下的日期文件夹中。
检测结束后可以查看统计信息,以及检测到火灾的视频帧截图。


3. 检测历史
为了方便用户回顾和分析检测结果,系统提供了检测历史追溯功能。检测的结果都会被记录下来。
可以对记录根据检测类型和检测结果进行筛选
-
查看历史记录: 在“检测历史”页面,系统会以列表形式展示所有的历史检测任务。
-
记录内容: 每条记录会包含检测时间、检测类型(图片/视频)、使用的模型、置信度阈值等基本信息。


-
数据持久化: 所有历史记录都保存在
data/history/detection_history.json文件中,确保了数据的持久化存储。
4. 模型训练
本系统支持用户使用自己的数据集进行模型训练。训练过程通过 scripts/train_fire_model.py 脚本完成。
4.1 准备数据集
- 将您的图像文件和YOLO格式的标注文件(
.txt)放入datasets/fire_dataset目录中,或自定义其他目录。 - 运行
scripts/prepare_fire_dataset.py脚本,它会自动划分训练集和验证集,并生成data/dataset.yaml配置文件。
项目自带标注好的数据集
4.2 执行训练
打开终端,进入项目根目录,执行以下命令:
python scripts/train_fire_model.py --model yolo11s --epochs 100 --batch-size 16
常用参数说明:
--model: 选择YOLOv11的模型大小 (yolo11n,yolo11s,yolo11m,yolo11l,yolo11x)。--epochs: 训练的总轮数。--batch-size: 每个批次的图片数量。--learning-rate: 学习率。--device: 指定训练设备,如cpu,cuda:0, 或mps(macOS)。默认为auto。--resume: 从上一个断点恢复训练。--prepare-data: 在训练前自动执行数据集准备脚本。
训练完成后,最佳模型权重(best.pt)和训练报告将保存在 models/training/ 目录下。
confusion_matrix.png

confusion_matrix.png

confusion_matrix_normalized.png

F1_curve.png

labels.jpg

P_curve.png

PR_curve.png

R_curve.png

results.png

train_batch0.jpg

val_batch0_labels.jpg

val_batch0_pred.jpg

5. 代码目录介绍
.yolo11_fire_detection/
├── config/ # 配置文件目录
│ ├── app_config.yaml # 应用配置
│ └── model_config.yaml # 模型配置
├── data/ # 处理后的数据集
├── datasets/ # 原始数据集
├── models/ # 存放训练好的模型权重
├── scripts/ # 辅助脚本
│ ├── prepare_fire_dataset.py # 数据集准备脚本
│ └── train_fire_model.py # 模型训练脚本
├── src/ # 项目源码
│ ├── app/ # Streamlit应用界面代码
│ │ └── 🔥_火灾检测系统.py
│ ├── models/ # 模型加载与训练逻辑
│ │ └── fire_detector.py
│ ├── services/ # 核心服务(检测、图像/视频处理)
│ │ └── detection_service.py
│ └── utils/ # 工具类(配置、日志、文件操作)
├── run.py # 项目主启动文件
└── requirements.txt # Python依赖
6. 部署与运行
-
下载项目
-
创建并激活Conda环境
conda create -n yolo11_fire python=3.9 conda activate yolo11_fire -
安装依赖
pip install -r requirements.txt -
启动系统
python run.py -
系统启动后,会自动在浏览器中打开应用界面,默认地址为
http://localhost:9000。
系统演示视频
https://www.bilibili.com/video/BV1MeKDz9EJK/
获取项目源码
https://tcn196ka4swf.feishu.cn/wiki/SkfDw89NfitoFfk952Bcrg32nVg
包含以下内容:
项目源代码
数据集
训练好的模型(经过 A800显卡(18万) 训练 100轮 的5个模型, yolo11n(5.22MB), yolo11s(18.2MB), yolo11m(38.6MB), yolo11l(48.8MB), yolo11x(109MB) ,用户可以根据需要选择。)
对应指标可视化图像
使用和部署文档
项目架构说明文档
原创精品 盗版必究
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)