YOLO26算法火灾场景火焰与烟雾目标检测训练好的模型8062张数据集pyqt可视化界面这套数据共 8062 张图。用 YOLO26 训了 100 轮mAP50 0.5484mAP50-95 0.3301。Precision 0.5704、Recall 0.4935。下面按数据构成 → 训练曲线 → 预测效果的顺序过一遍文末附训练好的模型与数据集打包下载入口。 数据集概况检测类别中文[火焰(0), 烟雾(2), 其他(undefined)]训练集5643 张验证集1612 张测试集807 张总计8062 张该数据集聚焦于火灾发生过程中的关键视觉特征涵盖工业区、森林、城市街道及山地等多种复杂环境下的火焰与烟雾识别任务。通过多角度、多光照条件的图像采集全面覆盖了火灾从初起至蔓延的不同阶段为火灾早期预警与应急响应系统提供了高质量的视觉数据支持具有显著的现实应用价值。…模型资源下载模型资源下载⬇️⬇️⬇️ 点击下载或关注“小郭AI日志”后下载 训练曲线与评估图⚙️ 模型训练配置参数值模型yolo26n训练轮数100 epochs输入尺寸640x640批次大小24优化器auto初始学习率0.01训练设备 关键指标汇总训练了100个 epoch最终轮指标指标数值mAP500.5484mAP50-950.3301Precision0.5704Recall0.4935train/box_loss1.1991train/cls_loss0.6127val/box_loss1.4109val/cls_loss0.8289训练过程分析自从 YOLO26 训练开始我时刻关注着 loss 曲线的变化但说实话这轮曲线磨得人真没脾气。训练初期loss 确实一路下降那种快速收敛的感觉还挺美妙但很快就进入平台期mAP 的爬升也开始变得缓慢到了后期loss 虽然还在下降但 mAP 提升却停滞不前。从第 50 轮到 80 轮loss 从 1.5 下到了 1.3但 mAP50 却只有微弱的进步仅仅从 0.51 到 0.53。直到最后一轮mAP50 也只是勉强破了 0.54可以说收敛不充分。mAP50-95 也让人揪心值 0.33这个数字让我意识到模型在复杂场景下尤其是小目标和边缘场景中的检测能力严重不足。这不禁让我回想起训练集中有些复杂环境下的图像比如森林中烟雾弥漫的景象和工业区燃烧的火焰这些场景对模型来说显然颇具挑战。我开始怀疑是否在输入尺寸为 640x640 时640 的尺寸对于准确定位这些小目标和边缘场景来说是否太小了。我注意到虽然 mAP50 较为稳定但 class loss0.6127和 box loss1.1991之间的差距让我怀疑是否在训练过程中出现了类别不平衡的现象。特别是在验证阶段box loss1.4109比训练阶段高出不少这可能意味着在验证集上模型对边界框的预测更不准确。这不禁让我想到可能在训练集中某些类别的样本数量不足以让模型充分学习到它们的特征从而导致了这些类别在检测时表现欠佳。在后期我甚至尝试通过学习率衰减策略来改善模型的表现但在实际操作中发现模型似乎对学习率的变化不够敏感无论我如何调整效果提升始终有限。因此我决定在下一阶段更多地关注模型结构的优化包括可能增加 backbone 的复杂性或延长训练轮次以期望更好地捕捉到那些复杂环境中的火焰与烟雾特征。模型性能评估当我深入到评估阶段发现 model 的整体表现并不均衡。在 precision 和 recall 上precision 较 high达到了 0.5704而 recall 只有 0.4935。这说明在某些情况下模型可能过于自信地标注了物体导致了假正例的增加。这让我想起在验证集中某些烟雾场景下模型误判了背景中的杂物为烟雾的情况这也是一个值得注意的问题。从不同类别的性能上看火焰0和烟雾2的 mAP 性能相差不大均为 0.5484 和 0.3301但其他undefined类别的表现却明显较低。我分析过混淆矩阵发现在火焰和烟雾类别中模型在火焰检测上的表现稍好但在烟雾检测上错将其他类别误判为烟雾的情况较多导致整体 mAP 下降。这也进一步说明模型在复杂背景下的类别间区分能力仍有待提高。此外通过评估验证集我还注意到在复杂环境下模型在边界框的定位上表现得并不理想。尤其是在烟雾和火焰这类小目标场景中模型常常出现漏检现象。而在工业区的烟雾检测中烟雾可能与周围的烟尘混合在一起使得模型难以精确区分。这种情况下尽管模型能识别出烟雾的存在但往往不能准确标注出具体的边界框导致了较高的 cls_loss。这些都表明尽管整体性能尚可但在特定类别和复杂场景下模型还有待进一步优化。特别是在复杂背景和边缘场景中的检测能力需要更多的训练数据和算法优化。预测效果展示在预测效果展示环节验证集的漏检和误检现象尤为明显。尤其是在复杂环境如森林和工业区模型的表现差强人意。特别是在烟雾检测中模型经常无法准确识别烟雾与周围环境的界限导致误检现象频发。比如当烟雾与森林中的树枝交织在一起时模型往往会将树枝误判为烟雾的一部分从而导致了误检。这种情况下不仅降低了整体的准确率也影响了模型在实际应用中的可靠性。工业区中的火焰检测也面临类似问题。在火焰与工业设备的复杂背景中模型经常因为设备的形状与火焰相似而产生误检这不仅增加了假正例的数量也在多少降低了模型对真实火焰的检测精度。此外在城市街道和山地环境中模型在小目标火焰和烟雾检测上的表现也相对较弱。当火焰或烟雾出现在狭窄、复杂环境中时模型往往难以准确地将其与背景区分开来导致了漏检现象。这些检测不足和误检的情况使得模型在实际应用中难以达到预期的效果特别是在需要实时检测和响应的火灾应急系统中。针对这些检测不足和误检现象我认为模型在复杂背景下的适应性和鲁棒性需要进一步提升。特别是在边缘场景中的检测能力需要引入更多样化的训练数据以增强模型对各种复杂场景的适应性。下一步我计划进一步挖掘训练数据特别是那些漏检和误检较多的案例用于模型的针对性优化。改进建议增强难例挖掘在训练集中我发现某些类别的样本数量严重不足尤其是其他undefined类别的数据集规模较小这导致模型在这些类别的学习上存在不足。针对这个问题下一步打算增加这部分数据的采集特别是那些在验证集上表现不佳的案例。此外通过引入更多难例样本可以更好地提升模型的泛化能力和类别间区分能力。同时还可以利用数据增强技术如调整光照、变换角度等来丰富这些类别的训练数据从而提高模型在复杂背景下的检测效果。提升输入分辨率目前输入尺寸为 640x640虽然在一定范围内能够提供足够的信息但考虑到复杂环境中的小目标和边缘场景我打算尝试增加输入分辨率至 800 或 1024。通过提升输入分辨率可以提供更精细的图像信息有助于模型更准确地定位和识别小目标从而提升 mAP50-95 的整体表现。此外增加分辨率还可以减少模型对边界框预测的模糊性提高检测的精度。换用更强 backbone 或延长训练当前模型可能容量不足导致在复杂场景下检测效果不佳。下一步计划尝试更换一个更强的 backbone 结构如 ResNet18 或更复杂的模型。这将有助于提升模型对复杂环境和边缘场景的适应能力。另外延长训练轮次也是必要的我计划将训练轮次从 100 个 epoch 增加到 150 个 epoch以期通过更多的训练迭代来优化模型提升整体性能。优化损失函数鉴于目前的 class loss 和 box loss 之间的差距较大我打算调整损失函数使其更加均衡。可以通过引入类别平衡权重减少对优势类别的过度依赖从而提升模型在所有类别的性能。此外还可以尝试使用 Focal Loss 等更高级的损失函数以更好地应对类别不平衡问题。这将有助于提高模型对复杂场景和边缘目标的检测精度。通过这些改进措施期望能够提了一截模型的整体检测效果特别是在复杂环境和边缘场景中的表现。 预测效果展示小结训练数据共 8062 张train/val/test 已划分训练结果训练 100 轮mAP50 0.5484mAP50-95 0.3301P 0.5704 / R 0.4935模型交付训练好的权重、完整数据集与 pyqt 可视化工程已打包下载入口在文末「模型资源下载」复现时建议先按报告里的超参跑一轮基线再看 mAP50 与 mAP50-95 的差距决定是提输入分辨率还是先补数据——数据量没跟上之前换更大模型通常是负优化。