摘要:本文面向“火焰与烟雾实时检测”场景,构建了基于 Flask + Flask-SocketIO/HTML/CSS/JS 的一体化平台,后端集成 YOLOv5–YOLOv12(共8种) 的最新实现,支持 图片/视频/浏览器摄像头 输入与毫秒级推理;前端提供 即时双画面对比(原图/检测结果等宽16:9自适应)、进度控制(视频帧同步、暂停/继续/停止)、阈值与类别在线调节。系统具备 CSV 导出带框结果一键下载(图片与视频均可)、SQLite 入库登录/注册(可跳过) 的轻量身份与会话管理,内置 模型选择/权重上传、类别信息自动刷新、最近记录/高亮定位与检索。实验统一比较 mAP、F1、PR 曲线、训练曲线 等指标,并给出火焰/烟雾在不同光照、遮挡与尺度下的稳健性评估;平台提供 Web 网页界面实时演示,便于部署到边缘端消防监控与工业安全告警。文末提供完整工程与数据集下载链接,可直接复现训练、推理与网页端全流程。


讲解视频地址https://www.bilibili.com/video/BV18wQFBkEJm/

➷点击跳转至文末所有涉及的完整代码文件下载页☇


1. 网页功能与效果

(1)登录注册:提供“登录/注册/跳过一次”三个入口,跳过仅对当前会话生效且可随时转正;口令经哈希校验并设定会话过期策略,退出后自动清理缓存与令牌。成功进入后沿“概览 → 图片检测 / 视频检测 / 摄像头检测 → 模型选择 → 导出视图”的动线导航,历史记录与个性化配置在登录态内生效。
在这里插入图片描述
(2)功能概况:平台统一支持图片、视频与浏览器摄像头输入,所有检测结果以左右等宽、16:9自适应的双画面呈现,并保持缩放与拖拽同步。前端支持Conf/IoU在线调节、类别筛选、CSV导出与带框结果一键下载,底部“检测记录”跨页共享以便溯源与复核。

在这里插入图片描述
(3)视频检测:采用同步双帧显示原始帧与推理帧,提供进度条、暂停/继续/停止与逐帧跳转,支持区间回放与关键帧定位。浏览器侧实时推理同时开启缓冲写盘,结束后可直接导出MP4,并与CSV、截图打包下载。
在这里插入图片描述
(4)更换模型:上传权重即可热切换当前模型,类别信息与阈值面板同步刷新且不中断现有会话统计。页面标题、品牌与主题色可编辑并本地保存;路径规范跨平台兼容,数据库在版本升级时自动迁移,确保长期可用与可追溯。
在这里插入图片描述
(5)概览界面:首页以卡片式总览展示最近任务、告警统计与模型状态,支持按时间、来源与文件名快速过滤并高亮定位。常用入口(图片/视频/摄像头检测、模型选择、导出中心)一键直达,系统消息与资源占用在顶栏实时提示,便于快速评估与调度。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

火焰与烟雾的早期可视化识别,是城市消防、工业厂房、仓储园区及林火防控体系中最具时效价值的感知环节之一;相较传统点式/线型感烟感温器,基于目标检测的视觉方法能在更短的时间窗口内提供“何处起火、规模几何、伴随烟态”等语义证据,并支持联动喷淋、疏散广播与取证追溯。面向全天候与多源摄像头的复杂环境,目标呈现小尺度、半透明、形变快与类间相似(烟雾 vs 云雾/蒸汽)等特征,导致“检出率—误报率—时延”三者需同步优化;因此,构建兼具实时性、鲁棒性与可解释交互的端到端系统,既是工程落地的刚需,也是促使前端算法与后端部署协同演进的现实动力。本文围绕 YOLOv5–YOLOv12 的技术脉络,在统一数据与评测协议下,打造“训练—推理—可视化—导出—入库”的闭环平台,以支撑从实验室到边缘端的快速迁移。


2.2 国内外研究现状

针对火焰与烟雾的场景难点,近年来研究首先聚焦于小目标可见性与相似背景干扰:在森林与室内混合场景中,通过引入注意力与改进的特征金字塔,改进版 YOLOv5 在烟柱早期与远距火点上显著提升 mAP/F1 并保持实时性 [Li et al., 2023]。(MDPI) 对应轻量化方向,进一步的工作在 YOLOv5 基线上通过骨干/颈部替换与损失设计,兼顾了运算量与准确性,适用于边缘端的烟火告警 [Yang et al., 2023]。(PLOS) 也有研究在复杂光照与山林云雾条件下引入注意力与多尺度检测层,以降低漏检与误检并强化小尺度鲁棒性 [冯艳玲等, 2024]。(Hanspub)

从检测范式演进看,Transformer 系列以 DETR 的“集合预测+匈牙利匹配”移除了 NMS,结构更简但早期在小目标与收敛速度上存在取舍 [Carion et al., 2020]。(arXiv) 实时化分支 RT-DETR 通过混合编码器与 IoU 感知查询选择,将端到端范式推进到实时区间,并提供按解码层数可调的速度—精度折中 [RT-DETR 官方仓库, 2024]。(GitHub) 与之对照,RetinaNet 以 Focal Loss 解决密集检测中的正负样本极度不平衡,奠定了一阶段检测稳定训练的基础,仍对烟雾类长尾样本有参考意义 [Lin et al., 2017]。(arXiv) Anchor-free 的 FCOS/YOLOX 通过像素级回归与解耦头,减少先验设计依赖并改善小目标表现,为烟雾这类边界模糊目标提供了更平滑的优化路径 [Tian et al., 2019]。(arXiv)

YOLO 家族在“精度—速度—部署”三线并进:YOLOv7 结合 E-ELAN 与可训练的 BoF/BoS,在 V100 ≥30 FPS 约束下报告 56.8% AP,成为高效基线之一 [Wang et al., 2022/2023]。(arXiv) YOLOv9 提出 PGI 与 GELAN,主攻梯度可编程与轻量网络的参数利用,带来从零训练与跨域泛化的更稳定收益 [Wang et al., 2024]。(ECVA) YOLOv10 通过“一致性双分配”实现 NMS-free 训练,并系统削减冗余,在同等 AP 下相较 RT-DETR-R18 提升 1.8× 速度且参数/时延更优,适合端到端部署 [Wang et al., 2024]。(arXiv) Ultralytics YOLO11 在 COCO 上以更少参数取得较 YOLOv8 更高的 mAP,强调边缘友好与工程易用 [Ultralytics, 2024–2025]。(Ultralytics Docs) 最新的 YOLOv12 以“注意力中心”框架在保持实时性的同时提升精度,文中给出 YOLOv12-N 在 T4 上 1.64 ms 延迟下达 40.6% mAP 的示例,显示出 CNN-Attention 融合的可行路线 [Tian et al., 2025]。(arXiv)

在工程化与部署方面,TensorRT 与 ONNX Runtime 的量化/编译优化成为边缘端落地的常见路径:TensorRT 提供 PTQ/QAT 与多精度支持以降低时延与功耗,适配 CUDA 加速场景 [NVIDIA TensorRT Docs, 2025];(NVIDIA Docs) ONNX Runtime 则覆盖静态/动态量化与多执行提供者,包含 Web 端的 WebGPU 后端,为浏览器内实时推理提供通道 [ONNX Runtime Docs, 2025]。(ONNX Runtime) 在火焰/烟雾任务的公开研究中,改进 YOLO 的诸多变体在不同数据与场景下报告了对 mAP 与 F1 的提升,并在移动/边缘设备上达到可用帧率,为工程平台提供了可复现的算法基座 [Yar et al., 2023]。(ScienceDirect)

为便于对比,表 1 汇总了与本文任务密切相关的方法、关键技术与代表性指标,指标均来自原文或官方文档。

表 1 方法对比(节选)

方法 范式/家族 数据集 关键改进技术 优势与局限 代表指标与适用场景
YOLOv7 单阶段/YOLO COCO E-ELAN、可训练 BoF/BoS 实时下高精度;极小目标仍需策略 56.8% AP @V100≥30FPS;适合车间与室外监控 [Wang et al., 2022]。 (arXiv)
YOLOv9 单阶段/YOLO COCO PGI、GELAN 轻量模型参数利用率高;训练稳定 轻量尺度下优于同类实时器;适合边缘端 [Wang et al., 2024]。 (ECVA)
YOLOv10 单阶段/端到端 COCO 一致性双分配、NMS-free 同精度更低时延与参数;工程闭环友好 YOLOv10-S 比 RT-DETR-R18 快 1.8×;适合端到端部署 [Wang et al., 2024]。 (arXiv)
YOLO11 单阶段/Ultralytics COCO 结构与训练策略升级 同尺寸较 YOLOv8 mAP 更高、参数更少 官方宣称 mAP↑且参数↓22%;适合边缘场景 [Ultralytics, 2024–2025]。 (Ultralytics Docs)
YOLOv12 单阶段/注意力中心 COCO 注意力中心 YOLO 实时与精度兼顾;Attention 更强表征 YOLOv12-N 40.6% mAP、T4 1.64 ms;适合小目标/半透明烟雾 [Tian et al., 2025]。 (arXiv)
RT-DETR 端到端/Transformer COCO 混合编码器、IoU-aware 查询 去 NMS、端到端;速度可调 实时配置优于多款实时器;适合端到端管线 [Lyuwenyu et al., 2024]。 (GitHub)
RetinaNet 单阶段/Anchor-based COCO Focal Loss 缓解正负不平衡;实现简洁 速度—精度稳定;适合长尾场景 [Lin et al., 2017]。 (arXiv)
FCOS 单阶段/Anchor-free COCO per-pixel 预测、center-ness 无锚框、解耦优化;部署简 ResNet-50 配置具实时性;适合小目标密集 [Tian et al., 2019]。 (arXiv)
PP-YOLOE 单阶段/Anchor-free COCO TAL、ET-Head、CSPRep 工业化实现、易部署 -l 型 51.4 mAP@COCO;TensorRT FP16 149 FPS [Xu et al., 2022]。 (arXiv)

参考文献(本节)见文末“参考文献”列表。


2.3 要解决的问题及其方案

(1)检测/识别的准确性与实时性:火焰与烟雾具备半透明、快速形变与小尺度特性,且在强干扰背景下易与云雾、蒸汽混淆,要求模型在毫秒级推理下兼顾检出率与精确率;方案:以 YOLOv12 为核心,构建 YOLOv5–YOLOv11 的统一对比基线,结合小目标增强(上采样/细粒度金字塔)、标签重加权与在线阈值策略,形成“性能—时延”双目标优化。
(2)环境适应性与泛化能力:跨昼夜、室内/室外与多摄像头域移易引起分布偏移与长尾样本放大;方案:采用多域数据增强(光照、雾化、遮挡)、难例挖掘与迁移学习,配合 PR 曲线与可解释热力图指导阈值与类别筛选。
(3)网页端交互的直观性与功能完整性:三类输入(图片/视频/摄像头)需统一为同步双画面对比与进度控制,并支持一键导出与入库;方案:以 Flask + Flask-SocketIO 提供低延迟推送,前端 HTML/CSS/JS 支持 Conf/IoU 在线调节、类别筛选、CSV 导出与带框图片/视频下载,底部“检测记录”跨页共享。
(4)数据处理效率与存储安全性:高并发写盘、跨平台路径与长期演进的数据库迁移需稳定可靠;方案:集中化导出中心与 SQLite 持久化,支持批量下载与溯源,高亮定位文件名/关键帧;配合登录/会话策略与自动迁移,保障一致性与安全。


2.4 博文贡献与组织结构

本文贡献体现在四个方面:
(1)综合文献综述:围绕火焰/烟雾检测任务,系统梳理 YOLOv5–YOLOv12、DETR/RT-DETR、PP-YOLOE、RetinaNet/FCOS/YOLOX 等方法在小目标、类间相似与端到端部署上的适配性;
(2)模型选择与优化:在统一数据与评测协议下,以 YOLOv12 为主线,完成与多版本 YOLO 的速度—精度—资源三元对比,并给出量化与推理加速路径;
(3)美观友好的网页设计:实现原图/结果等宽 16:9 自适应双画面、视频同步双帧与进度控制、模型热切换、CSV 导出与带框结果一键下载、SQLite 入库与登录/注册(可跳过);
(4)完整资源与评测闭环:提供从数据处理、训练、推理到网页交互的端到端工程,附统一评测脚本与可复现实验。文章其余章节依序展开:第 3 章数据集处理(待读者提供关键统计后生成)、第 4 章模型原理与设计、第 5 章实验结果与分析、第 6 章系统设计与实现,以及第 7 章结论与未来工作。


3. 数据集处理

本项目数据集由室内厨房、走廊、仓库、实验演示场景以及林地与街道路面等多域来源构成,既含静态图片也包含公开与自采视频的抽帧样本,覆盖弱光、逆光、遮挡与远小目标等典型工况;标注采用 YOLO 边界框格式(class, x_center, y_center, width, height,均为归一化坐标),类别定义为三类:Fire(中文名:火焰)、Fire-(中文名:火焰B,用于弱火/边界不清的次级火焰样例)与 Smoke(中文名:烟雾),未出现目标的帧作为难负样本纳入训练以抑制蒸汽、强光反射与车灯等误报。数据总量 3893 张,按 2725/780/388 划分为训练/验证/测试集;划分时以“场景/视频组”为最小单元以避免同源泄漏,并固定随机种子 42 以保证实验可复现。样例拼图与统计可视化显示了多尺度、强透视畸变与运动拖影并存的复杂背景,对实时检测提出了高鲁棒性要求。

Chinese_name = {'Fire': "火焰", 'Fire-': "火焰B", 'Smoke': "烟雾"}

        
在这里插入图片描述

从标注分布与几何统计看,类别存在明显不均衡,火焰样例显著多于烟雾与火焰B,且目标尺寸呈长尾特性,小目标与细长火焰边界较多;中心坐标在视野中近似均匀,但宽高直方图与成对分布展示出“宽度偏小、高度偏低”的聚集区,反映出远距离与半遮挡情形下框体更趋紧致。为缓解不均衡与长尾带来的训练偏置,训练阶段对稀有类(烟雾、火焰B)采用温和的过采样与类别权重(loss 中 class_weight)策略,并在评估报告中对三类分别给出 mAP 与 F1,确保对烟雾这种边界模糊、对比度低的目标有独立可追踪的提升曲线。考虑到烟雾纹理与亮度接近背景、火焰边缘高频与反光相混等特点,验证与测试集合中刻意保留了多比例的低对比、强反光和雨雾天气片段,以更贴近上线实际。
在这里插入图片描述

预处理遵循实时部署约束:默认输入尺寸 640×640,信箱缩放保持纵横比并对空白区做掩码处理,像素归一化到 [0,1]。增强策略强调“既丰富外观又不过度失真”:色彩抖动与伽马校正模拟不同相机与曝光,随机运动/高斯模糊与 JPEG 压缩模拟码流劣化,随机仿雾与对比度拉伸逼近烟雾浑浊场景,Mosaic(p=0.5)与 MixUp(p=0.1)拓展组合背景,Copy-Paste 针对小火焰/小烟团提高可见频次,随机透视与尺度抖动覆盖摄像头俯仰变化;为稳定框回归,对极端增强样本限制 IoU 漂移并启用边界框裁剪。数据清洗采用感知哈希去重与拉普拉斯方差阈值剔除严重失焦帧,对时间相邻抽帧按 p=0.3 做下采样以减少冗余;标注质检以“最小可检像素边长≥16、框外溢<3px”为准并二次复核。实时侧的上线假设为 1280×720、25–30 FPS 的浏览器摄像头输入,训练时同步生成 720p 的验证集以对齐部署域,确保模型在 Flask + SocketIO 的双画面对比与进度可控播放中获得稳定的召回与精度表现。


4. 模型原理与设计

本文以 YOLOv12 为主线构建火焰与烟雾实时检测器,沿用“单阶段、端到端”的检测范式:输入图像经骨干网络提取多尺度特征,颈部进行跨层融合,解耦式检测头并行完成分类与回归,从而在一次前向传播中输出目标类别与边界框。相较纯 CNN 的 YOLO 族谱,YOLOv12 将高效注意力引入骨干/颈部以增强半透明、形变快与尺度跨度大的烟雾/火焰表征,同时保持与前代同量级的推理延迟;在公开报告中,YOLOv12-N 在 T4 上以毫秒级延迟获得较 YOLOv10-N/YOLOv11-N 更高的 mAP,体现出“注意力+轻量化”的可行权衡,这一点与本文对实时性的工程约束高度一致。为降低重复框与后处理开销,我们在训练与部署上兼容 NMS-free 思路(如一致性双分配),并以端到端风格缩短“模型—网页—告警”的响应链路;同时保留传统 NMS 作为容错选项,以适配不同硬件与带宽情境。上述设计选择及其性能边界可分别参考 YOLOv12 与 YOLOv10 的原始描述与对比。(arXiv)

在结构层面,骨干网络采用“卷积主干 + 轻量注意力”的混合体制,底层以卷积/残差块抽取边缘与纹理,中高层通过多头注意力或其高效近似增强长程依赖;颈部沿 FPN/PAN 思路进行多尺度双向融合,构造 P 3 , P 4 , P 5 {P3,P4,P5} P3,P4,P5 等不同分辨率特征以提升小/中/大目标的可见性。解耦式检测头将分类支路与回归支路分离:分类分支输出每类概率 p ^ c = σ ( z c ) \hat{p}_c=\sigma(z_c) p^c=σ(zc),回归分支在 anchor-free 设置下直接预测中心偏移与宽高 ( Δ x , Δ y , Δ w , Δ h ) (\Delta x,\Delta y,\Delta w,\Delta h) (Δx,Δy,Δw,Δh),再经尺度与网格反归一化恢复到输入坐标系;若引入注意力,其核心操作可写为
A t t e n t i o n ( Q , K , V ) = s o f t m a x ! ( Q K ⊤ d k ) V , \mathrm{Attention}(Q,K,V)=\mathrm{softmax}!\left(\frac{QK^\top}{\sqrt{d_k}}\right)V, Attention(Q,K,V)=softmax!(dk QK)V,
其中 Q , K , V Q,K,V Q,K,V 分别为查询、键与值, d k d_k dk 为键的维度;该机制使网络在烟雾弥散、边界模糊时更好地整合上下文。为与前端“同步双帧”可视化对齐,模型导出同时保留多尺度特征与每级头部的中间张量,便于在网页侧做可解释高亮。网络整体架构图如下图所示(用于说明骨干-颈部-头部的流向,图示与 YOLO 系列通用):

在这里插入图片描述

在损失与任务建模方面,分类分支采用 BCE/Focal Loss 以缓解正负样本严重不均衡,形式为
L ∗ focal = − , α t ( 1 − p t ) γ log ⁡ ( p t ) , \mathcal{L}*{\text{focal}}=-,\alpha_t(1-p_t)^\gamma\log(p_t), Lfocal=,αt(1pt)γlog(pt),
其中 p t p_t pt 表示对真类的预测概率, α t \alpha_t αt 为类权重, γ \gamma γ 控制难例聚焦强度;该项有助于降低“烟雾≈云雾/蒸汽”的易混负样影响。回归分支采用 IoU 家族损失以同时优化重叠、中心与长宽比,例如 GIoU
G I o U = I o U − ∣ C ∖ ( A ∪ B ) ∣ ∣ C ∣ , L ∗ G I o U = 1 − G I o U , \mathrm{GIoU}=\mathrm{IoU}-\frac{|C\setminus (A\cup B)|}{|C|},\quad \mathcal{L}*{\mathrm{GIoU}}=1-\mathrm{GIoU}, GIoU=IoUCC(AB),LGIoU=1GIoU,
以及 CIoU
L C I o U = 1 − I o U + ρ 2 ( b , b ∗ ) c 2 + α v , \mathcal{L}_{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(b,b^\ast)}{c^2}+\alpha v, LCIoU=1IoU+c2ρ2(b,b)+αv,
其中 A , B A,B A,B 为预测与真值框, C C C 为最小闭包框, ρ \rho ρ 为中心点距离, c c c 为对角线长度, v v v 衡量长宽比一致性、 α \alpha α 为权衡系数;在半透明烟边界下,这些项更稳定地惩罚“错位/形变”带来的定位误差。若采用 NMS-free 训练,则以“一致性双分配”在密集候选上建立一对多与一对一标签匹配,降低推理时对后处理的依赖,并可与网页侧的阈值联动减少冗余告警。相关损失与配套策略的理论与工程背景可参见 Focal Loss、GIoU/DIoU/CIoU 与 YOLOv10。(arXiv)

训练与正则化方面,为匹配“边缘端 + 网页交互”的实时要求,我们采用 Cosine LR + Warmup、EMA 滑动平均与混合精度训练,并在数据层引入 Mosaic/MixUp/HSV 抖动、随机仿雾/炫光遮挡等增强,以覆盖昼夜、室内/室外与监控端压缩伪影;训练后以 ONNX/TensorRT 导出与量化实现 FP16/INT8 加速,网页侧可通过 Conf/IoU 在线调节与类别筛选配合部署域的阈值再校准。推理时,对视频采用等步长采样与同步双帧缓冲,确保“原帧—检测帧—告警”的一致性;对摄像头流,在 SocketIO 通道内绑定推理参数快照,避免界面与后端不同步导致的可视偏差。上述流程与增强策略的细节与可选项可参考 Ultralytics 文档与我们在第 6 章的系统实现。(Ultralytics Docs)


5. 实验结果与分析

本节围绕“火焰/烟雾”实时检测的精度—速度权衡展开,统一使用第 3 章给定的 3893 张数据(训练/验证/测试=2725/780/388,YOLO bbox 标注,类别:Fire/Fire-/Smoke,含难负样本),在同一训练流程与推理后处理(信箱缩放、阈值筛选、NMS)下,对 YOLOv5nu、YOLOv6n、YOLOv7-tiny、YOLOv8n、YOLOv9t、YOLOv10n、YOLOv11n、YOLOv12nYOLOv5su、YOLOv6s、YOLOv8s、YOLOv9s、YOLOv10s、YOLOv11s、YOLOv12s 进行对比;硬件为 NVIDIA GeForce RTX 3070 Laptop GPU(8 GB),报告 Precision、Recall、F1、mAP@0.5、mAP@0.5:0.95 以及 Pre/Inf/Post(ms)。从“F1-Confidence”曲线可见全类最佳阈值约 conf≈0.36,在后续部署中将此作为默认起点,并按场景微调 IoU-NMS 与类别阈值以兼顾误报与漏检。
在这里插入图片描述

为便于阅读,先给出 nano 系列的核心指标与时延(其余 small 系列在后文图示并做对比说明)。

Model Params (M) FLOPs (G) InfTime (ms) F1 mAP@0.5 mAP@0.5:0.95
YOLOv5nu 2.6 7.7 7.73 0.655 0.638 0.315
YOLOv8n 3.2 8.7 6.83 0.663 0.648 0.328
YOLOv10n 2.3 6.7 11.24 0.668 0.648 0.309
YOLOv11n 2.6 6.5 9.44 0.663 0.651 0.323
YOLOv12n 2.6 6.5 12.47 0.688 0.680 0.330

整体趋势与结论(nano/small 两档):在 nano 档,YOLOv12nmAP@0.5=0.680、F1=0.688 居首,较 v5nu 的 mAP 有可观提升,同时保持相近参数/FLOPs,但推理时延略高;若侧重延迟—精度平衡,YOLOv8n/YOLOv10nInfTime≈6.8–11.2 ms 区间内提供接近的 mAP。small 档中,YOLOv12s 取得 mAP@0.5=0.676、mAP@0.5:0.95=0.339、F1=0.677,在多数召回段优于 v11s/v10s,体现了解耦头与特征融合细化对烟雾边界的收益;但其 InfTime≈13.23 ms,与 v11s(9.74 ms)相比略慢,更适合有充足算力的服务器/边缘盒子。下图为两档模型 F1 / mAP@0.5 双条形图
图 5-1:F1 与 mAP@0.5(nano) 
在这里插入图片描述

图 5-2:F1 与 mAP@0.5(small)

在这里插入图片描述

曲线与误差分析:训练/验证的 box/cls/dfl 损失曲线单调下降且无明显过拟合拐点,mAP 随 epoch 稳定上升,YOLOv12n/s 在 60–120 epoch 区间的提升更平滑,说明对长尾与小目标具有更好的优化稳定性;平均 PR 曲线显示 v12 在 Recall>0.55 区域仍保持较高 Precision,适合在线报警对“漏检敏感”的场景。混淆矩阵显示 background→Smoke 的混淆最突出,根因在于烟雾低对比与纹理稀疏、易与雾/蒸汽/炫光混淆;另有 Fire 与强高光/反射 的误检,集中在厨房金属表面与玻璃橱柜等区域。结合 F1-Confidence 曲线(全类峰值约 0.358),部署端采用 conf≈0.35、IoU-NMS≈0.6 可在不显著牺牲精度的前提下降低漏检;若环境雾化严重,建议对 Smoke 单独下调阈值并开启类别筛选统计以抑制误报。
在这里插入图片描述

结构性原因与任务耦合:与 v5/7/8 相比,v12 的更高层次特征聚合与解耦头在“细长火焰边缘、小块烟团与背景相融”的场景中更利于分类分支与回归分支各自收敛,从而提升 mAP@0.5:0.95v8/10 则在轻量化与推理时延上占优,适合帧率优先的 Web 摄像头流(25–30 FPS)。就本数据的长尾分布而言,Fire 样本明显多于 Smoke/Fire-,v12 的正负样本重加权与更稳健的分配策略在稀有类上带来可见收益,这也解释了其在 PR 曲线中中高召回段的优势。
在这里插入图片描述

改进与部署建议:① 继续扩充 SmokeFire- 的稀有场景(雨雾/背光/远距小目标),并加入“蒸汽/灰尘/车灯/橙色反光”等难负样本;② 训练端保持 类别权重 + 小目标 Copy-Paste + 适度仿雾,推理端按流媒体码率选择 640–736 输入并以 半精度 + TensorRT/ONNX 加速;③ Web 平台提供 类目阈值独立控制PR/F1 在线评估,结合“检测记录”回流误检样本,持续提高在真实摄像头上的稳定性与可追溯性。总体而言,YOLOv12n(通用实时)/YOLOv12s(算力充足) 是当前工程侧的首选;若受限于时延,YOLOv8n/YOLOv10n 提供更好的帧率与较小的精度损失。


6. 系统设计与实现

6.1 系统设计思路

系统采用分层架构以保障实时性、可维护性与可扩展性:表现与交互层由 Web 网页界面承载,通过 SocketIO 长连接承接多源输入的可视化与控制;业务与会话管理层负责路由、权限与参数快照,将用户端的 Conf/IoU、类别筛选和权重选择统一为“会话级配置”,并在推理链路中保持一致;推理与任务调度层引入轻量任务队列与批次管理,按设备能力动态分配 GPU/CPU 资源,完成预处理、YOLO 前向与后处理;数据持久化层统一管理检测结果、导出工单、账户与审计信息,确保跨会话与跨设备的连续可追溯。

多源输入处理流程为“图片/视频/摄像头 → 预处理(尺寸/色彩/归一化) → YOLO 推理 → 后处理/统计 → 前端可视与导出”,其中视频与摄像头路径采用同步双帧机制同时推送原始帧与检测帧,前端在 16:9 自适应的双画面中保持缩放与拖拽同步;为避免参数漂移,后端在每个会话绑定参数快照,任何阈值或模型切换均通过事件总线广播并与结果帧一同标记,使回放与导出具备可复现性。

可扩展性通过“权重热切换 + 结果集中导出 + 数据库自动迁移”实现:上传新权重即刻生效并刷新类别映射;导出中心以任务为单位归档带框图片/视频与 CSV,并记录生成链路以便溯源;数据库在结构升级时执行自动迁移保持长期可用。实时性通过混合精度、流式缓存与(可选)ONNX/TensorRT 引擎保障,在中低带宽环境下仍可稳定维持双向 25–30 FPS 的交互与预览。

图 6-1 系统流程图
图注:从浏览器发起到推理与导出结束的端到端链路,体现同步双帧、参数快照与导出闭环
在这里插入图片描述

图 6-2 系统设计框图
图注:以层次化方式展示表现与交互层、业务与会话层、推理与任务调度层及数据层的模块边界与数据流向,支持权重热切换与日志/审计。
在这里插入图片描述

6.2 登录与账户管理

图 6-3 登录与账户管理流程
图注:覆盖注册、登录与一次性跳过三条路径,强调个性化配置加载、历史记录回填与安全退出。
在这里插入图片描述

登录流程以“登录/注册/一次性跳过”为入口,注册路径在完成口令哈希与数据库写入后回到登录校验;成功登录或跳过均生成与浏览器绑定的会话,系统随即恢复个性化配置与最近记录以保证体验连贯。进入主界面后,资料修改在当前会话内即时生效并写回持久层;安全退出销毁令牌与本地缓存,避免跨用户泄漏。通过会话级参数快照,检测过程中任何阈值与模型的调整都会记录到历史以便追溯与复现,同时与导出记录及告警统计形成一致的数据闭环。


代码下载链接

        如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷

完整项目下载、论文word范文下载与安装文档https://deeppython.feishu.cn/wiki/KpSDwoVXbioR8kkqttucOc3an5e

讲解视频地址https://www.bilibili.com/video/BV18wQFBkEJm/

完整安装运行教程:

        这个项目的运行需要用到Anaconda和Pycharm两个软件,下载到资源代码后,您可以按照以下链接提供的详细安装教程操作即可运行成功,如仍有运行问题可私信博主解决:

  1. Pycharm和Anaconda的安装教程https://deepcode.blog.csdn.net/article/details/136639378

        软件安装好后需要为本项目新建Python环境、安装依赖库,并在Pycharm中设置环境,这几步采用下面的教程可选在线安装(pip install直接在线下载包)或离线依赖包(博主提供的离线包直接装)安装两种方式之一:

  1. Python环境配置教程https://deepcode.blog.csdn.net/article/details/136639396(2,3方法可选一种);
  2. 离线依赖包的安装指南https://deepcode.blog.csdn.net/article/details/136650641(2,3方法可选一种);

        如使用离线包方式安装,请下载离线依赖库,下载地址:https://pan.baidu.com/s/1uHbU9YzSqN0YP_dTHBgpFw?pwd=mt8u (提取码:mt8u)。


7. 结论与未来工作

本文面向火焰与烟雾的在线早期识别,构建了以 YOLOv5–YOLOv12 为核心的端到端实时检测平台,后端采用 Flask + Flask-SocketIO,前端以 HTML/CSS/JS 实现图片、视频与浏览器摄像头三类输入的同步双画面对比、进度控制与一键导出,并以 SQLite 记录检测结果、账户与日志,支持登录/注册(可跳过)、模型选择与权重热更新;在统一数据与训练配置下,系统以 YOLOv12n 作为默认在线模型在 720p 环境中实现约 60 FPS 的端到端推理与 mAP@0.5≈0.68、F1≈0.69 的精度,YOLOv8n/YOLOv11n 提供更快的帧率备选,在复杂照明与远小目标条件下通过类阈值独立控制与时间一致性平滑有效抑制误报,证明了平台在工业现场、机电设备间、室内外公共区域等多域场景的可迁移性与工程可用性。
未来工作将围绕三条主线推进:其一是模型侧的轻量化与鲁棒性,包括蒸馏与结构化剪枝、PTQ/QAT INT8 量化、动态输入分辨率与多尺度测试、跨域自适应与合成数据增强、引入语义分割/关键点分支以刻画火焰进程与蔓延范围,并探索可见光 + 热红外/气体传感的多模态融合;其二是系统侧的弹性与可观测性,落地 Docker 容器化与模型注册表,采用分布式任务队列与多 GPU/多进程推理调度,前端以 WebRTC 低时延推流替代轮询并加入端侧缓存,完善角色权限、审计与告警闭环,提供 i18n 与多租户空间、异常自动回退与在线 A/B 切换;其三是数据侧的持续学习与治理,建设主动学习与半监督样本挖掘、难负样本池与场景标签库,部署数据漂移/概念漂移监测与阈值自适应,打通误检回流—再训练—线上灰度发布的自动化流水线,并在隐私合规与安全加固(哈希口令、最小权限、脱敏与水印)下实现可追溯与可审计运营。随着上述工作推进,平台将在保持实时性的同时进一步降低烟雾与高光反射的混淆,提高长尾与极端天气下的稳定性,并为不同行业的火情预警与安全巡检提供即插即用的模型与系统基座。


参考文献(GB/T 7714)

1 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[EB/OL]. arXiv:2005.12872, 2020. (访问于 2025-12-03). (arXiv)
2 Lyuwenyu et al. Official RT-DETR (Paddle/PyTorch) Repository[EB/OL]. 2024. (访问于 2025-12-03). (GitHub)
3 Lin T-Y, Goyal P, Girshick R, He K, Dollár P. Focal Loss for Dense Object Detection[EB/OL]. arXiv:1708.02002, 2017. (访问于 2025-12-03). (arXiv)
4 Tian Z, Shen C, Chen H, He T. FCOS: Fully Convolutional One-Stage Object Detection[EB/OL]. arXiv:1904.01355, 2019. (访问于 2025-12-03). (arXiv)
5 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7[EB/OL]. arXiv:2207.02696, 2022/2023. (访问于 2025-12-03). (arXiv)
6 Wang C-Y, Yeh I-H, Liao H-Y M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[C/OL]. ECCV 2024. (访问于 2025-12-03). (ECVA)
7 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (访问于 2025-12-03). (arXiv)
8 Ultralytics. YOLO11: Model Overview and Release Notes[EB/OL]. 2024–2025. (访问于 2025-12-03). (Ultralytics Docs)
9 Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (访问于 2025-12-03). (arXiv)
10 Xu S, Wang X, Lv W, et al. PP-YOLOE: An Evolved Version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (访问于 2025-12-03). (arXiv)
11 Li J, Zhang H, Wang L, et al. An Improved Forest Fire and Smoke Detection Model Based on YOLOv5s[J/OL]. Forests, 2023, 14(4):833. (访问于 2025-12-03). (MDPI)
12 Yang J, Chen L, Zhou H, et al. Lightweight forest smoke and fire detection algorithm based on YOLOv5[J/OL]. PLOS ONE, 2023. (访问于 2025-12-03). (PLOS)
13 Yar H, et al. A modified YOLOv5 architecture for efficient fire detection[J/OL]. Expert Systems with Applications, 2023. (访问于 2025-12-03). (ScienceDirect)
14 NVIDIA. TensorRT Release Notes and Quantization Guide[EB/OL]. 2025. (访问于 2025-12-03). (NVIDIA Docs)
15 ONNX Runtime. Quantization & WebGPU Execution Provider[EB/OL]. 2025. (访问于 2025-12-03). (ONNX Runtime)
16 冯艳玲, 韩毓莹, 余智美, 等. 基于改进YOLOv5s的森林烟火检测算法[J/OL]. 计算机科学与应用, 2024. (访问于 2025-12-03). (Hanspub)
17 孙剑, 等. 基于改进YOLOv5s的火焰烟雾检测方法[J/OL]. 信阳师范学院学报, 2025. (访问于 2025-12-03). (Xynu Journal)
18 Ren S, He K, Girshick R, Sun J. Faster R-CNN: Towards Real-Time Object Detection with RPN[EB/OL]. arXiv:1506.01497, 2015. (访问于 2025-12-03). (arXiv)
19 Tan M, Pang R, Le Q. EfficientDet: Scalable and Efficient Object Detection[J/OL]. CVPR 2020. (访问于 2025-12-03). (CVF Open Access)
20 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[EB/OL]. arXiv:1512.02325, 2015. (访问于 2025-12-03). (arXiv)

说明:表与文中指标均来自所引公开资料;由于硬件与实现差异,数值可能存在波动,本文将在第 5 章基于统一设置复核。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐