基于YOLOv11的火灾烟雾检测系统(Python源码+Flask Web界面+数据集)

💡本文主要内容: 详细介绍了基于YOLOv11的火灾烟雾检测系统,包括算法原理、Pytorch源码、训练数据集、Flask可视化Web界面。系统支持图片、视频、摄像头实时检测,支持置信度、IoU阈值调节,检测结果可视化与统计等功能。

01 数据集介绍

数据集

本项目采用VOC格式火灾烟雾检测数据集,包含2056张图片及对应标注,全部为火灾场景。数据集已划分为训练集、验证集和测试集。

图片

细节图

图片


02 基于YOLOv11的火灾检测

修改fire_data.yaml:

path: dataset/yolo
train: images/train
val: images/val
nc: 1
names: ['fire']

启动训练:

from ultralytics import YOLO
if __name__ == "__main__":
    model = YOLO('models/yolo11n.pt')
    model.train(
        data='dataset/yolo/fire_data.yaml',
        epochs=100,
        imgsz=640,
        batch=16,
        device='0',
        optimizer='SGD',
        project='fire_smoke_results',
        name='exp',
    )

03 训练结果分析

3.1 混淆矩阵

本图展示了模型在"fire"和"background"两类上的预测分布。对角线上的深蓝色块占主导,表明大多数火灾目标被准确检测。fire类别的召回率为0.75,background类别的识别准确率为1.0,说明模型对背景的区分能力极强。仅有少量火灾目标被误判为背景,整体误检率较低。

图片

3.2 F1分数-置信度曲线

曲线显示F1分数随置信度阈值的变化趋势。在置信度为0.369时,F1分数达到最高点0.73,说明此时模型在精度和召回率之间取得了最佳平衡。置信度过低时,F1分数较低,说明误报较多;置信度过高时,F1分数也下降,说明漏检增多。该图反映了当前模型在不同置信度下的最优表现区间。

图片

3.3 精度-置信度曲线

曲线反映了随着置信度阈值的提高,模型预测精度的变化。当置信度为0.813时,精度达到完美值1.0,说明高置信度下模型几乎不会误报。随着置信度提升,精度稳步上升,在较高置信度时达到接近1.0的精度。

图片

3.4 精度-召回率曲线

曲线展示了模型在不同召回率下的精度表现。当前模型mAP@0.5=0.776,属于较高的精度指标。曲线大部分区域保持在高位,说明模型在不同阈值下都能保持较高精度和召回率。曲线下的面积(mAP值)反映了模型在不同召回率下的平均精度表现。

图片

3.5 召回率-置信度曲线

曲线反映了随着置信度阈值的提高,模型检出所有真实火灾目标的比例变化。在置信度为0时,召回率达到0.94,接近完美。随着置信度提升,召回率逐渐下降,说明模型变得更"保守",漏检增多。该图直观反映了当前模型在不同置信度下的漏检趋势。

图片


04 Flask Web界面与系统设计

4.1 Flask简介

Flask 是一个用 Python 编写的轻量级 Web 应用框架,具有简单易用、扩展性强等特点。它非常适合快速开发和部署基于 Web 的人工智能应用。通过 Flask,可以将深度学习模型与前端界面无缝集成,实现模型的在线推理和结果可视化

4.2 依赖安装 

pip install -r requirement.txt

4.3 系统功能与运行方式

python app.py

图片

图片检测

检测示例:

图片

图片

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值