news 2026/5/4 13:44:32

YOLO火焰/烟雾检测系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO火焰/烟雾检测系统

YOLO火焰/烟雾检测系统

1. 软件概述

本软件基于YOLOv8/v11/v26深度学习模型,提供了一个简洁美观的图形界面,用于对图片视频中的火焰(Fire)与烟雾(Smoke)目标进行智能检测。支持实时显示检测结果、保存带标注框的输出文件,并允许用户灵活调整置信度阈值等参数。


2. 主要功能

功能模块描述
图片检测选择单张图片,一键检测并显示火焰/烟雾的位置、置信度及坐标。
视频检测支持.mp4,.avi,.mov等常见视频格式,可设置跳帧间隔,实时显示检测进度。
模型加载加载用户自己的.pt格式 YOLO 模型(也支持官方预训练模型)。
置信度调节通过滑块调整检测阈值(0~1),过滤低置信度目标。
结果保存可选自动保存检测后的图片(_detected.jpg)或视频(_detected.mp4)。
实时预览检测过程中右侧窗口实时显示带标注框的画面。
详细日志左侧文本框逐帧列出检测到的目标类别、置信度及边界框坐标。
停止检测视频检测过程中可随时中断任务。
进度条视频检测时显示当前帧进度百分比。

3. 系统要求

  • 操作系统:Windows 10/11
  • Python 版本:3.8 ~ 3.11
  • 硬件建议
    • 推荐使用NVIDIA GPU(显存 ≥ 4GB)以获得较快推理速度
    • CPU模式也可运行,但视频检测会较慢
  • 依赖库(见下一节)

4. 安装与配置

4.1 安装 Python 环境

如果你还没有 Python,请从 python.org 下载安装(安装时勾选“Add Python to PATH”)。

4.2 安装依赖库

打开终端(cmd 或 PowerShell),执行以下命令:

pipinstallultralytics opencv-python pillow customtkinter

如果下载缓慢,可使用国内镜像,例如:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ultralytics opencv-python pillow customtkinter

4.3 准备模型文件

  • 你可以使用自己训练好的.pt模型(如best.pt
  • 或者直接使用 Ultralytics 官方预训练模型(软件会自动下载,但建议预先下载好yolov8n.pt等)

注意:本软件默认期望检测的类别为firesmoke(索引 0 和 1)。如果你的模型类别不同,需修改代码中的类别映射逻辑。

4.4 下载或保存软件代码

将提供的完整 Python 代码保存为fire_detector.py(或其他名称)。


5. 使用说明

5.1 启动软件

在终端中导航到代码所在目录,执行:

python fire_detector.py

稍等片刻,主窗口会弹出。

5.2 界面布局

  • 左侧区域:所有控制选项(选择模型、选择文件、调节参数等)
  • 右侧区域:显示原始图片/视频预览,以及检测后的结果画面
  • 底部状态栏:显示当前操作状态(加载中、检测完成等)

5.3 图片检测流程

  1. 加载模型
    点击“模型文件 (.pt)”旁的浏览按钮,选择你的.pt模型文件。若已加载成功,状态栏会显示模型名称。

  2. 选择图片
    确保顶部“输入类型”为图片(默认)。点击“文件路径”旁的浏览,选择一张待检测的图片(支持.jpg,.png,.bmp等)。

  3. 调整置信度(可选)
    拖动“置信度阈值”滑块,数值越高,检测结果越严格(漏检增多,误检减少)。推荐设置在 0.3~0.7 之间。

  4. 是否保存结果
    勾选“保存检测结果图片”后,检测完成时会在图片同目录下生成原文件名_detected.jpg

  5. 开始检测
    点击开始检测按钮。右侧会立即显示带标注框的图片,左侧文本框列出检测到的目标详情(类别、置信度、坐标)。

  6. 查看结果
    检测完成后,状态栏会提示“图片检测完成”。如需再次检测,更换图片即可。

5.4 视频检测流程

  1. 切换到视频模式
    点击“输入类型”中的视频按钮,界面会显示“跳帧”设置和进度条,同时出现“停止检测”按钮(初始为灰色)。

  2. 选择模型(若之前未加载,请先加载模型)

  3. 选择视频文件
    点击浏览,选择.mp4/.avi/.mov等格式的视频。

  4. 设置跳帧(可选)
    “视频检测跳帧”表示每 N 帧检测一次

    • 数值 = 1:每一帧都检测(精度最高,但较慢)
    • 数值 = 5:每 5 帧检测一次(速度提升约 5 倍,适合对实时性要求较高的场景)
  5. 调整置信度阈值(同图片模式)

  6. 是否保存结果视频
    勾选后,检测完成后会在视频同目录下生成原文件名_detected.mp4

  7. 开始检测
    点击开始检测,右侧窗口会实时显示当前检测帧的画面,左侧增量显示每一帧的检测结果,下方进度条显示处理进度。

  8. 中途停止
    点击停止检测(红色按钮),检测任务会尽快终止。

  9. 检测完成
    正常结束后,状态栏会提示“视频检测完成”。若勾选了保存,会弹窗告知输出路径。


6. 常见问题与注意事项

6.1 启动时提示缺少模块?

请确保已安装所有依赖:pip install -r requirements.txt(可自行创建该文件列出上述库)。

6.2 加载模型时提示 “C3k2” 不存在?

说明你的ultralytics版本过低(低于 8.2.x)。请升级:

pipinstall--upgradeultralytics

6.3 视频检测卡顿或显存不足?

  • 适当增大跳帧数值(如 3 或 5)
  • 降低置信度阈值(不会减少显存但能加快后处理)
  • 在代码中可将imgsz显式降低(例如model(frame, imgsz=320)

6.4 检测结果中类别名称错误?

本软件会从模型的.names属性中自动读取类别名称。如果你的模型训练时的类别顺序不是['fire','smoke'],输出会显示你自定义的类别名(如['fire','smoke','other'])。

6.5 保存的视频无法播放?

  • 确保已安装opencv-python(视频编码依赖)
  • 可尝试将输出编码改为'avc1'或直接保存为.avi格式

6.6 界面显示异常(按钮不全/布局错乱)?

  • 请确保屏幕分辨率 ≥ 1280×800
  • 如果使用 Windows 缩放(125% 等),CustomTkinter 会自动适配,但偶尔需重启软件

源代码如下

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 13:44:06

.NET Windows桌面运行时:构建现代化Windows应用的核心引擎

.NET Windows桌面运行时:构建现代化Windows应用的核心引擎 【免费下载链接】windowsdesktop 项目地址: https://gitcode.com/gh_mirrors/wi/windowsdesktop 在当今数字化转型的时代,Windows桌面应用开发面临着前所未有的机遇与挑战。.NET Window…

作者头像 李华
网站建设 2026/5/4 13:43:03

Python heapq实战:用内置小顶堆搞定Top K问题(附LeetCode真题)

Python heapq实战:用内置小顶堆搞定Top K问题 在算法面试和数据处理中,Top K问题几乎是个绕不开的经典题型。想象一下这样的场景:你需要从千万级用户中找出消费金额最高的100人,或者在海量日志中快速定位出现频率前十的错误代码。…

作者头像 李华
网站建设 2026/5/4 13:42:57

YOLOv5小目标检测救星:手把手教你用CAM模块替换SPPF,实测map@0.5暴涨7个点

YOLOv5小目标检测实战:用CAM模块突破精度瓶颈的深度解析 工业质检摄像头下毫米级的焊点缺陷、遥感图像中占几个像素的车辆目标、安防监控里快速移动的微小可疑物品——这些场景共同构成了计算机视觉领域最棘手的挑战之一:小目标检测。传统检测框架在常规…

作者头像 李华