文章目录训练结果存储位置基本概念BoxF1_curve.pngBoxP_curve.pngBoxPR_curve.pngBoxR_curve.pngconfusion_matrix_normalized.pngconfusion_matrix.pnglabels.jpgresults.png训练结果存储位置训练结果通常存放在工作目录的runs\detect子目录中。 例如下图其中train_n为第n次训练的结果。针对目录中每一个文件 / 文件夹的详细含义解读按功能分类整理核心配置与权重文件 (Weights Config)这些是模型训练的产物用于后续的推理预测或迁移学习。weights存放训练过程中生成的模型权重文件。通常包含 best.pt验证集性能最好的权重和 last.pt训练最后一轮的权重。args.yaml训练时的超参数配置文件。记录了本次训练的所有设置比如数据集路径、批次大小batch size、学习率、训练轮数epochs、网络深度等。用于复现实验结果。模型性能可视化图表 (Metrics Curves)这些是最直观的指标图片用于分析模型训练的好坏及是否存在过拟合 / 欠拟合。BoxF1_curve.png目标框Box的 F1 分数曲线。F1 分数是精确率Precision和召回率Recall的调和平均曲线越高代表模型对目标框的回归越准确。BoxP_curve.png目标框的精确率Precision曲线。代表预测出来的框里有多少是准确的。BoxPR_curve.pngP-R 曲线Precision-Recall Curve。这是评估目标检测模型最核心的曲线之一图下的面积AP衡量了模型在不同召回率下的精确表现。BoxR_curve.png目标框的召回率Recall曲线。代表所有真实目标被模型找出来的比例。results.png综合指标汇总图。将所有指标损失值、mAP、P/R、F1 等整合在一张图中方便快速查看训练趋势。混淆矩阵 (Confusion Matrix)用于分析模型具体在哪些类别上容易认错。confusion_matrix.png原始混淆矩阵。横轴是预测类别纵轴是真实类别。confusion_matrix_normalized.png归一化后的混淆矩阵。将数值按比例缩放更适合看多类别之间的误分类比例而非绝对数量。labels.jpg标签可视化示例图。展示数据集中标注的标签长什么样通常包含了框和类别名用于检查标注是否正常。训练结果数据 (Logs Data)results.csv训练过程中的日志数据。记录了每一代epoch训练和验证的详细指标数据如 loss、accuracy、mAP50 等。用途方便你后续用 Excel 或 Python 自己绘制更精细的曲线。基本概念1 置信度 对一个判断 / 结果的「靠谱程度、把握度、确定性」越高越确定2 精确率 我挑出来的里面对的有多少百分比3 召回率 本该找到的里面找到多少百分比4 精确率 §、召回率 ® 的调和平均 2 × (精确率 × 召回率) ÷ (精确率 召回率) 该数值反应找的准与全的综合能力。之所以使用调和平均而不用算术平均是因为算术平均的计算过程导致一个高、一个低平均分也会很高会掩盖模型的致命缺陷。而调和平均只要有一项接近 0整体分数直接接近 0。5 IoU 交并比 预测框 和 真实框 的重叠程度6 0.5 只有预测框和真实框重叠 loU≥ 50%才算检测正确 综合反应找的准与找的全7 AP Average Precision 平均精确率。 它不是一个点的精确率而是把所有置信度档位下的「精确率 召回率」综合起来即算P-R 曲线下的面积。8 mAP mean AP 所有类别的 AP 求平均 比如模型要检测人、车、猫、狗。先算「人的 AP」「车的 AP」「猫的 AP」「狗的 AP」再相加除以 4 → mAP9 mAP0.5 在「预测框与真实框重叠至少 50% 才算正确」的规则下模型对所有待检测类别综合【精确率找的准 召回率找的全】的平均得分。BoxF1_curve.png图表核心含义横轴Confidence模型预测的置信度阈值0~1。阈值越高代表模型对预测结果的 “把握” 越严格。纵轴F1F1 分数是 ** 精确率Precision和召回率Recall** 的调和平均越接近 1 代表模型性能越好。曲线颜色 青色fire“火” 类别的 F1 置信度曲线。 橙色smoke“烟” 类别的 F1 置信度曲线。 深蓝色all classes两类别的综合 F1 曲线。关键数据解读图中标注的关键信息all classes 0.99 at 0.672最佳平衡点在置信度阈值 0.672 时所有类别的综合 F1 分数达到 0.99。这是一个非常优秀的数值意味着在该阈值下模型兼顾了高精确率预测的少但准和高召回率漏检的少是模型性能的最佳平衡点。曲线趋势分析高置信度区0.2 ~ 0.8曲线平稳且接近 1.0说明模型在中等偏高的置信度下对 fire 和 smoke 的识别都非常稳定几乎没有误判和漏判。置信度骤降区 0.8曲线在置信度接近 1.0 时快速断崖式下跌原因置信度阈值设得太高比如只相信 90% 以上的预测模型会过滤掉大量边缘样本导致参与计算的样本数骤减F1 分数因此急剧下降。这是正常现象不代表模型变差。两类对比fire vs smokefire青色 与 smoke橙色 的曲线几乎完全重合且都维持在高位。结论模型对 fire 和 smoke 两个类别的学习能力非常均衡没有出现某一类例如 smoke效果明显变差的情况数据集的标注和训练质量很高。BoxP_curve.png这是目标检测模型的精确率 - 置信度曲线用于评估模型在不同置信度阈值下的预测准确性代表预测出来的框里有多少是准确的。核心概念横轴Confidence模型预测的置信度阈值0~1阈值越高模型对预测结果的 “把握” 越严格。纵轴Precision精确率代表预测为正的样本中真实为正的比例越接近 1 说明误报越少。曲线含义 青色fire火类别的精确率曲线 橙色smoke烟类别的精确率曲线 深蓝色all classes两类综合精确率曲线将 fire 和 smoke 两个类别合并后计算得到的整体精确率 - 置信度关系代表模型在所有检测目标上的平均精确率表现。它不是简单取 fire 和 smoke 两条曲线的平均值而是把所有样本火 烟混在一起重新计算all classes 所有类别中预测正确的正样本数 / 所有类别中预测为正的样本总数 关键数据与趋势标注信息all classes 1.00 at 1.000当置信度阈值设为 1.0 时模型的综合精确率达到 100%意味着模型只在完全确定时才会输出预测此时没有任何误报。曲线走势置信度 0.2 后三条曲线均快速攀升并稳定在 接近 1.0 的高位说明在常规置信度区间0.2~1.0内模型预测的结果几乎都是准确的误报率极低。置信度接近 0 时精确率略有下降这是因为低阈值会让模型输出大量低置信度的预测其中包含更多误报属于正常现象。类别对比fire 和 smoke 两条曲线高度重合均维持在高位说明模型对两个类别的识别精度非常均衡没有出现某一类更容易误判的情况。BoxPR_curve.pngPrecision-Recall CurveP-R 曲线核心概念横轴Recall召回率代表所有真实目标中被模型正确检测出来的比例越接近 1 说明漏检越少。纵轴Precision精确率代表所有被模型检测出的目标中真实为正的比例越接近 1 说明误报越少。曲线含义 青色fire火类别的 P-R 曲线mAP0.5 0.993 橙色smoke烟类别的 P-R 曲线mAP0.5 0.995 深蓝色all classes两类综合 P-R 曲线mAP0.5 0.994关键指标mAP0.5mAP0.5在 IoU 阈值为 0.5 时的平均精度均值是 P-R 曲线下的面积数值越接近 1 代表模型性能越好。你的模型结果fire0.993smoke0.995all classes0.994这是极其优异的表现说明模型在火灾和烟雾检测任务中几乎能做到既不漏检、又不误报。曲线形态解读曲线在 Recall 从 0 到接近 1 的区间内Precision 始终维持在 1.0 附近仅在 Recall 接近 1 时才轻微下降。这意味着模型在召回率极高几乎不漏检的情况下依然能保持近乎 100% 的精确率。不存在 “为了提高召回率而牺牲精确率” 的问题模型在两者之间取得了完美平衡。类别对比fire 和 smoke 的 mAP0.5 数值非常接近曲线形态几乎完全重合说明模型对两个类别的学习效果高度均衡没有出现某一类性能明显偏弱的情况。mAP0.5 高达 0.994代表模型在实际场景中能精准识别几乎所有火 / 烟目标同时几乎不会产生误报。单类别表现均衡适合直接部署到安防、预警等对可靠性要求极高的场景。BoxR_curve.png召回率 - 置信度曲线Recall-Confidence Curve核心含义曲线走势在置信度较低时模型几乎保留所有预测结果因此召回率接近 1.0随着置信度阈值提高模型只保留更确定的预测召回率逐步下降。类别区分蓝色线fire火焰类别的召回率 - 置信度曲线橙色线smoke烟雾类别的召回率 - 置信度曲线深蓝色线all classes所有类别的平均召回率曲线2. 关键观察低置信度区间0~0.8三类曲线均保持在接近 1.0 的水平说明在宽松置信度阈值下模型能几乎召回所有目标漏检极少。高置信度区间0.8~1.0召回率快速下降说明模型在只保留高置信度预测时会舍弃大量低置信度的正确目标导致召回率骤降。类别差异smoke橙色曲线在高置信度区间的召回率略高于 fire蓝色说明烟雾类目标在高置信度下的召回表现更稳定。若业务场景要求极低漏检率如火灾预警可选择较低置信度阈值如 0.5保证召回率接近 1.0。若业务场景要求高预测可信度可选择较高置信度阈值如 0.8但需接受召回率下降的代价。曲线的 “陡峭程度” 反映了模型置信度区分能力越平缓说明模型对置信度阈值越不敏感性能更稳定。confusion_matrix_normalized.png下面是归一化混淆矩阵Confusion Matrix Normalized用于直观展示模型在各类别上的分类错误比例核心是看 “真实类别被模型错判成了什么”。基本概念横轴True真实标签fire /smoke/background纵轴Predicted模型预测标签对角线上的数值该类别被正确分类的比例数值越接近 1分类越准确非对角线上的数值该类别被错判为其他类别的比例例如 X fire Y fire 根据图得值为0.99代表实际是fire最终被判定为fire的比例为0.99。例如 X fire Y background, 查图得值为0.01代表实际是fire最终被判断为backgroud的比例是0.01。关键发现极高的分类准确率fire 和 smoke 的对角值均为 0.99说明模型对这两个目标类别的识别极其精准几乎不会互相混淆没有出现将火判为烟、或将烟判为火的情况。主要错误来源唯一的错误是少量 fire23%和 smoke77%样本被错判为 background这属于目标漏检而非误报。反过来背景几乎不会被误判为火 / 烟仅 1%说明模型误报率极低非常适合火灾预警这类对 “零误报” 要求高的场景。类别间无混淆fire 和 smoke 之间的交叉值为 0说明模型完全能区分这两类目标不存在视觉特征混淆的问题。confusion_matrix.png原始混淆矩阵Confusion Matrix展示了模型在验证集上具体样本数量的分类结果能直观看到每类样本的正确 / 错误预测数量。基本概念横轴True真实标签fire /smoke/background纵轴Predicted模型预测标签对角线上的数值该类别被正确分类的样本数非对角线上的数值该类别被错判为其他类别的样本数关键发现极高的正确识别率fire 正确识别 2978 个样本smoke 正确识别 1138 个样本两类准确率均接近 98%说明模型对目标的识别能力极强。极低的类别混淆fire 与 smoke 之间的错判仅为 123 个样本几乎可以忽略模型完全能区分两类目标。主要错误来源漏检fire 有 78 个样本被错判为 background漏检smoke 有 23 个样本被错判为 background漏检这是最主要的错误类型。误报background→fire/smoke仅 22628 个样本占比极低符合火灾预警对 “低误报” 的要求。与归一化矩阵的对比原始矩阵看绝对数量适合了解数据集规模和错误样本的绝对量级。归一化矩阵看比例适合对比不同类别尤其是样本数差异大的类别的错误率。两者结论一致模型性能优异主要问题是少量漏检无明显类别混淆。漏检分析测试集标注错误下图标注的smoke后经考查实际为水幕此类照片数量级约为400可能造成了一定程度的误判。综合结论火灾 / 烟雾检测模型在实际样本数量上表现极其稳健对 fire 和 smoke 的识别准确率接近 98%类别间几乎无混淆。误报样本仅 28 个远低于漏检样本非常适合实际预警场景。可通过优化置信度阈值或补充小目标 / 模糊场景的样本进一步降低漏检率。labels.jpg数据集标签可视化报告:类别数量统计左上柱状图fire火10694 个实例smoke烟4124 个实例总样本数14818 个分布特点火样本数量约为烟样本的 2.6 倍存在一定的类别不平衡但差距在可接受范围内结合之前的模型表现看并未对训练效果造成明显负面影响。边界框分布右上热图这是所有标注框的宽高与位置叠加图颜色深浅代表框的密集程度。可以看到目标框集中在图像中心区域符合真实场景中火灾 / 烟雾多发生在画面中部的特点。框的大小差异较大说明数据集中包含小、中、大不同尺度的目标模型能学到多尺度特征。目标位置分布左下热力图横轴 x、纵轴 y 代表图像归一化坐标0~1颜色越深表示目标出现越频繁。特点目标主要集中在 x: 0.2~0.8、y: 0.2~0.8 的中间区域边缘区域目标较少。这说明数据集的目标分布较为集中模型更容易学习到核心区域的特征。目标尺寸分布右下热力图横轴 width宽、纵轴 height高代表边界框的归一化尺寸。特点目标以小尺寸和中等尺寸为主宽高多集中在 0~0.4 区间大尺寸目标较少。宽高比呈现一定的多样性说明数据集中包含不同形态的火 / 烟目标。综合结论类别数量虽有轻微不平衡但未影响模型性能两类 mAP 均接近 0.99。空间分布目标集中在画面中部符合真实场景便于模型学习。尺度多样性包含多尺度目标能让模型适应不同距离的检测场景。数据规模总样本数超 1.4 万足够训练出高性能模型results.png损失曲线Loss Curvestrain/box_loss / val/box_loss边界框回归损失训练和验证损失均从高位快速下降最终稳定在 ~0.2 左右曲线平滑无剧烈抖动说明框回归任务收敛良好。train/cls_loss / val/cls_loss分类损失训练损失从 1.1 降至0.18验证损失从 0.58 降至0.17两者走势高度一致无明显过拟合。train/dfl_loss / val/dfl_loss分布焦点损失YOLOv8 特有训练损失从 0.95 降至0.80验证损失从 0.87 降至0.76同样平稳下降说明分布学习充分。✅ 结论所有损失曲线均平稳下降且训练 / 验证趋势一致无过拟合 / 欠拟合训练过程非常健康。指标曲线Metrics Curvesmetrics/precision(B)精确率从初始 0.94 快速攀升并稳定在 ~0.99说明模型预测结果几乎无错误。metrics/recall(B)召回率从初始 0.90 逐步提升至 ~0.99说明模型能识别绝大多数目标漏检极少。metrics/mAP50(B)IoU0.5 时的平均精度从 0.965 快速上升并稳定在 ~0.994是极其优异的表现。metrics/mAP50-95(B)多 IoU 阈值下的平均精度从 0.85 稳步提升至 ~0.98说明模型在不同 IoU 要求下都保持高精度泛化能力强。✅ 结论所有指标均在训练初期快速达到高位并持续优化最终收敛到接近完美的水平。训练健康度总结收敛速度前 10 个 epoch 就完成了大部分优化后 10 个 epoch 仅做小幅提升说明学习率和训练轮数设置合理。过拟合检查训练 / 验证损失差值极小指标曲线无 “训练上升、验证下降” 的情况无过拟合风险。最终性能mAP50 达 0.994mAP50-95 达 0.98精确率和召回率均接近 0.99模型性能达到工业级可用水平。
YOLO(5)训练结果解释
文章目录训练结果存储位置基本概念BoxF1_curve.pngBoxP_curve.pngBoxPR_curve.pngBoxR_curve.pngconfusion_matrix_normalized.pngconfusion_matrix.pnglabels.jpgresults.png训练结果存储位置训练结果通常存放在工作目录的runs\detect子目录中。 例如下图其中train_n为第n次训练的结果。针对目录中每一个文件 / 文件夹的详细含义解读按功能分类整理核心配置与权重文件 (Weights Config)这些是模型训练的产物用于后续的推理预测或迁移学习。weights存放训练过程中生成的模型权重文件。通常包含 best.pt验证集性能最好的权重和 last.pt训练最后一轮的权重。args.yaml训练时的超参数配置文件。记录了本次训练的所有设置比如数据集路径、批次大小batch size、学习率、训练轮数epochs、网络深度等。用于复现实验结果。模型性能可视化图表 (Metrics Curves)这些是最直观的指标图片用于分析模型训练的好坏及是否存在过拟合 / 欠拟合。BoxF1_curve.png目标框Box的 F1 分数曲线。F1 分数是精确率Precision和召回率Recall的调和平均曲线越高代表模型对目标框的回归越准确。BoxP_curve.png目标框的精确率Precision曲线。代表预测出来的框里有多少是准确的。BoxPR_curve.pngP-R 曲线Precision-Recall Curve。这是评估目标检测模型最核心的曲线之一图下的面积AP衡量了模型在不同召回率下的精确表现。BoxR_curve.png目标框的召回率Recall曲线。代表所有真实目标被模型找出来的比例。results.png综合指标汇总图。将所有指标损失值、mAP、P/R、F1 等整合在一张图中方便快速查看训练趋势。混淆矩阵 (Confusion Matrix)用于分析模型具体在哪些类别上容易认错。confusion_matrix.png原始混淆矩阵。横轴是预测类别纵轴是真实类别。confusion_matrix_normalized.png归一化后的混淆矩阵。将数值按比例缩放更适合看多类别之间的误分类比例而非绝对数量。labels.jpg标签可视化示例图。展示数据集中标注的标签长什么样通常包含了框和类别名用于检查标注是否正常。训练结果数据 (Logs Data)results.csv训练过程中的日志数据。记录了每一代epoch训练和验证的详细指标数据如 loss、accuracy、mAP50 等。用途方便你后续用 Excel 或 Python 自己绘制更精细的曲线。基本概念1 置信度 对一个判断 / 结果的「靠谱程度、把握度、确定性」越高越确定2 精确率 我挑出来的里面对的有多少百分比3 召回率 本该找到的里面找到多少百分比4 精确率 §、召回率 ® 的调和平均 2 × (精确率 × 召回率) ÷ (精确率 召回率) 该数值反应找的准与全的综合能力。之所以使用调和平均而不用算术平均是因为算术平均的计算过程导致一个高、一个低平均分也会很高会掩盖模型的致命缺陷。而调和平均只要有一项接近 0整体分数直接接近 0。5 IoU 交并比 预测框 和 真实框 的重叠程度6 0.5 只有预测框和真实框重叠 loU≥ 50%才算检测正确 综合反应找的准与找的全7 AP Average Precision 平均精确率。 它不是一个点的精确率而是把所有置信度档位下的「精确率 召回率」综合起来即算P-R 曲线下的面积。8 mAP mean AP 所有类别的 AP 求平均 比如模型要检测人、车、猫、狗。先算「人的 AP」「车的 AP」「猫的 AP」「狗的 AP」再相加除以 4 → mAP9 mAP0.5 在「预测框与真实框重叠至少 50% 才算正确」的规则下模型对所有待检测类别综合【精确率找的准 召回率找的全】的平均得分。BoxF1_curve.png图表核心含义横轴Confidence模型预测的置信度阈值0~1。阈值越高代表模型对预测结果的 “把握” 越严格。纵轴F1F1 分数是 ** 精确率Precision和召回率Recall** 的调和平均越接近 1 代表模型性能越好。曲线颜色 青色fire“火” 类别的 F1 置信度曲线。 橙色smoke“烟” 类别的 F1 置信度曲线。 深蓝色all classes两类别的综合 F1 曲线。关键数据解读图中标注的关键信息all classes 0.99 at 0.672最佳平衡点在置信度阈值 0.672 时所有类别的综合 F1 分数达到 0.99。这是一个非常优秀的数值意味着在该阈值下模型兼顾了高精确率预测的少但准和高召回率漏检的少是模型性能的最佳平衡点。曲线趋势分析高置信度区0.2 ~ 0.8曲线平稳且接近 1.0说明模型在中等偏高的置信度下对 fire 和 smoke 的识别都非常稳定几乎没有误判和漏判。置信度骤降区 0.8曲线在置信度接近 1.0 时快速断崖式下跌原因置信度阈值设得太高比如只相信 90% 以上的预测模型会过滤掉大量边缘样本导致参与计算的样本数骤减F1 分数因此急剧下降。这是正常现象不代表模型变差。两类对比fire vs smokefire青色 与 smoke橙色 的曲线几乎完全重合且都维持在高位。结论模型对 fire 和 smoke 两个类别的学习能力非常均衡没有出现某一类例如 smoke效果明显变差的情况数据集的标注和训练质量很高。BoxP_curve.png这是目标检测模型的精确率 - 置信度曲线用于评估模型在不同置信度阈值下的预测准确性代表预测出来的框里有多少是准确的。核心概念横轴Confidence模型预测的置信度阈值0~1阈值越高模型对预测结果的 “把握” 越严格。纵轴Precision精确率代表预测为正的样本中真实为正的比例越接近 1 说明误报越少。曲线含义 青色fire火类别的精确率曲线 橙色smoke烟类别的精确率曲线 深蓝色all classes两类综合精确率曲线将 fire 和 smoke 两个类别合并后计算得到的整体精确率 - 置信度关系代表模型在所有检测目标上的平均精确率表现。它不是简单取 fire 和 smoke 两条曲线的平均值而是把所有样本火 烟混在一起重新计算all classes 所有类别中预测正确的正样本数 / 所有类别中预测为正的样本总数 关键数据与趋势标注信息all classes 1.00 at 1.000当置信度阈值设为 1.0 时模型的综合精确率达到 100%意味着模型只在完全确定时才会输出预测此时没有任何误报。曲线走势置信度 0.2 后三条曲线均快速攀升并稳定在 接近 1.0 的高位说明在常规置信度区间0.2~1.0内模型预测的结果几乎都是准确的误报率极低。置信度接近 0 时精确率略有下降这是因为低阈值会让模型输出大量低置信度的预测其中包含更多误报属于正常现象。类别对比fire 和 smoke 两条曲线高度重合均维持在高位说明模型对两个类别的识别精度非常均衡没有出现某一类更容易误判的情况。BoxPR_curve.pngPrecision-Recall CurveP-R 曲线核心概念横轴Recall召回率代表所有真实目标中被模型正确检测出来的比例越接近 1 说明漏检越少。纵轴Precision精确率代表所有被模型检测出的目标中真实为正的比例越接近 1 说明误报越少。曲线含义 青色fire火类别的 P-R 曲线mAP0.5 0.993 橙色smoke烟类别的 P-R 曲线mAP0.5 0.995 深蓝色all classes两类综合 P-R 曲线mAP0.5 0.994关键指标mAP0.5mAP0.5在 IoU 阈值为 0.5 时的平均精度均值是 P-R 曲线下的面积数值越接近 1 代表模型性能越好。你的模型结果fire0.993smoke0.995all classes0.994这是极其优异的表现说明模型在火灾和烟雾检测任务中几乎能做到既不漏检、又不误报。曲线形态解读曲线在 Recall 从 0 到接近 1 的区间内Precision 始终维持在 1.0 附近仅在 Recall 接近 1 时才轻微下降。这意味着模型在召回率极高几乎不漏检的情况下依然能保持近乎 100% 的精确率。不存在 “为了提高召回率而牺牲精确率” 的问题模型在两者之间取得了完美平衡。类别对比fire 和 smoke 的 mAP0.5 数值非常接近曲线形态几乎完全重合说明模型对两个类别的学习效果高度均衡没有出现某一类性能明显偏弱的情况。mAP0.5 高达 0.994代表模型在实际场景中能精准识别几乎所有火 / 烟目标同时几乎不会产生误报。单类别表现均衡适合直接部署到安防、预警等对可靠性要求极高的场景。BoxR_curve.png召回率 - 置信度曲线Recall-Confidence Curve核心含义曲线走势在置信度较低时模型几乎保留所有预测结果因此召回率接近 1.0随着置信度阈值提高模型只保留更确定的预测召回率逐步下降。类别区分蓝色线fire火焰类别的召回率 - 置信度曲线橙色线smoke烟雾类别的召回率 - 置信度曲线深蓝色线all classes所有类别的平均召回率曲线2. 关键观察低置信度区间0~0.8三类曲线均保持在接近 1.0 的水平说明在宽松置信度阈值下模型能几乎召回所有目标漏检极少。高置信度区间0.8~1.0召回率快速下降说明模型在只保留高置信度预测时会舍弃大量低置信度的正确目标导致召回率骤降。类别差异smoke橙色曲线在高置信度区间的召回率略高于 fire蓝色说明烟雾类目标在高置信度下的召回表现更稳定。若业务场景要求极低漏检率如火灾预警可选择较低置信度阈值如 0.5保证召回率接近 1.0。若业务场景要求高预测可信度可选择较高置信度阈值如 0.8但需接受召回率下降的代价。曲线的 “陡峭程度” 反映了模型置信度区分能力越平缓说明模型对置信度阈值越不敏感性能更稳定。confusion_matrix_normalized.png下面是归一化混淆矩阵Confusion Matrix Normalized用于直观展示模型在各类别上的分类错误比例核心是看 “真实类别被模型错判成了什么”。基本概念横轴True真实标签fire /smoke/background纵轴Predicted模型预测标签对角线上的数值该类别被正确分类的比例数值越接近 1分类越准确非对角线上的数值该类别被错判为其他类别的比例例如 X fire Y fire 根据图得值为0.99代表实际是fire最终被判定为fire的比例为0.99。例如 X fire Y background, 查图得值为0.01代表实际是fire最终被判断为backgroud的比例是0.01。关键发现极高的分类准确率fire 和 smoke 的对角值均为 0.99说明模型对这两个目标类别的识别极其精准几乎不会互相混淆没有出现将火判为烟、或将烟判为火的情况。主要错误来源唯一的错误是少量 fire23%和 smoke77%样本被错判为 background这属于目标漏检而非误报。反过来背景几乎不会被误判为火 / 烟仅 1%说明模型误报率极低非常适合火灾预警这类对 “零误报” 要求高的场景。类别间无混淆fire 和 smoke 之间的交叉值为 0说明模型完全能区分这两类目标不存在视觉特征混淆的问题。confusion_matrix.png原始混淆矩阵Confusion Matrix展示了模型在验证集上具体样本数量的分类结果能直观看到每类样本的正确 / 错误预测数量。基本概念横轴True真实标签fire /smoke/background纵轴Predicted模型预测标签对角线上的数值该类别被正确分类的样本数非对角线上的数值该类别被错判为其他类别的样本数关键发现极高的正确识别率fire 正确识别 2978 个样本smoke 正确识别 1138 个样本两类准确率均接近 98%说明模型对目标的识别能力极强。极低的类别混淆fire 与 smoke 之间的错判仅为 123 个样本几乎可以忽略模型完全能区分两类目标。主要错误来源漏检fire 有 78 个样本被错判为 background漏检smoke 有 23 个样本被错判为 background漏检这是最主要的错误类型。误报background→fire/smoke仅 22628 个样本占比极低符合火灾预警对 “低误报” 的要求。与归一化矩阵的对比原始矩阵看绝对数量适合了解数据集规模和错误样本的绝对量级。归一化矩阵看比例适合对比不同类别尤其是样本数差异大的类别的错误率。两者结论一致模型性能优异主要问题是少量漏检无明显类别混淆。漏检分析测试集标注错误下图标注的smoke后经考查实际为水幕此类照片数量级约为400可能造成了一定程度的误判。综合结论火灾 / 烟雾检测模型在实际样本数量上表现极其稳健对 fire 和 smoke 的识别准确率接近 98%类别间几乎无混淆。误报样本仅 28 个远低于漏检样本非常适合实际预警场景。可通过优化置信度阈值或补充小目标 / 模糊场景的样本进一步降低漏检率。labels.jpg数据集标签可视化报告:类别数量统计左上柱状图fire火10694 个实例smoke烟4124 个实例总样本数14818 个分布特点火样本数量约为烟样本的 2.6 倍存在一定的类别不平衡但差距在可接受范围内结合之前的模型表现看并未对训练效果造成明显负面影响。边界框分布右上热图这是所有标注框的宽高与位置叠加图颜色深浅代表框的密集程度。可以看到目标框集中在图像中心区域符合真实场景中火灾 / 烟雾多发生在画面中部的特点。框的大小差异较大说明数据集中包含小、中、大不同尺度的目标模型能学到多尺度特征。目标位置分布左下热力图横轴 x、纵轴 y 代表图像归一化坐标0~1颜色越深表示目标出现越频繁。特点目标主要集中在 x: 0.2~0.8、y: 0.2~0.8 的中间区域边缘区域目标较少。这说明数据集的目标分布较为集中模型更容易学习到核心区域的特征。目标尺寸分布右下热力图横轴 width宽、纵轴 height高代表边界框的归一化尺寸。特点目标以小尺寸和中等尺寸为主宽高多集中在 0~0.4 区间大尺寸目标较少。宽高比呈现一定的多样性说明数据集中包含不同形态的火 / 烟目标。综合结论类别数量虽有轻微不平衡但未影响模型性能两类 mAP 均接近 0.99。空间分布目标集中在画面中部符合真实场景便于模型学习。尺度多样性包含多尺度目标能让模型适应不同距离的检测场景。数据规模总样本数超 1.4 万足够训练出高性能模型results.png损失曲线Loss Curvestrain/box_loss / val/box_loss边界框回归损失训练和验证损失均从高位快速下降最终稳定在 ~0.2 左右曲线平滑无剧烈抖动说明框回归任务收敛良好。train/cls_loss / val/cls_loss分类损失训练损失从 1.1 降至0.18验证损失从 0.58 降至0.17两者走势高度一致无明显过拟合。train/dfl_loss / val/dfl_loss分布焦点损失YOLOv8 特有训练损失从 0.95 降至0.80验证损失从 0.87 降至0.76同样平稳下降说明分布学习充分。✅ 结论所有损失曲线均平稳下降且训练 / 验证趋势一致无过拟合 / 欠拟合训练过程非常健康。指标曲线Metrics Curvesmetrics/precision(B)精确率从初始 0.94 快速攀升并稳定在 ~0.99说明模型预测结果几乎无错误。metrics/recall(B)召回率从初始 0.90 逐步提升至 ~0.99说明模型能识别绝大多数目标漏检极少。metrics/mAP50(B)IoU0.5 时的平均精度从 0.965 快速上升并稳定在 ~0.994是极其优异的表现。metrics/mAP50-95(B)多 IoU 阈值下的平均精度从 0.85 稳步提升至 ~0.98说明模型在不同 IoU 要求下都保持高精度泛化能力强。✅ 结论所有指标均在训练初期快速达到高位并持续优化最终收敛到接近完美的水平。训练健康度总结收敛速度前 10 个 epoch 就完成了大部分优化后 10 个 epoch 仅做小幅提升说明学习率和训练轮数设置合理。过拟合检查训练 / 验证损失差值极小指标曲线无 “训练上升、验证下降” 的情况无过拟合风险。最终性能mAP50 达 0.994mAP50-95 达 0.98精确率和召回率均接近 0.99模型性能达到工业级可用水平。