核心内容摘要
Google加入Mopria联盟,推动通用打印和扫描标准升级
YOLO训练过程中核心的训练 / 验证指标 学习率调度指标按训练迭代、训练损失、验证性能、多组学习率四大类划分每个指标都对应模型训练的关键状态下面逐行通俗讲解附实际意义帮你判断模型训练好坏
基础迭代指标训练的 进度条指标全称核心含义epoch-训练轮次1 个 epoch 表示模型把训练集的所有图片都学了 1 遍比如训练 100 个 epoch就是数据被模型反复学习 100 次
训练损失指标train/xxx模型 学的好不好越小越好损失值 模型预测结果 vs 真实标签的误差大小训练损失持续降低说明模型在训练集上不断拟合、学习效果在提升YOLO 的训练损失拆分为 3 类核心损失覆盖目标检测的核心任务定位 分类指标全称核心含义train/box_lossBox Loss边框损失模型预测的目标边框位置 / 大小和真实边框的误差越小表示目标定位越精准比如想检测人框能精准框住人体不偏不歪train/cls_lossClassification Loss分类损失模型对检测到的目标分类判断的误差越小表示目标分类越准确比如框住的是 人 不是 狗分类不混淆train/dfl_lossDistribution Focal Loss分布焦点损失YOLOv5/v8 特有的边框回归损失专门优化边框的精准度解决普通边框损失定位不精细的问题越小表示边框预测的细节越准比如小目标、边缘目标的框更贴合
验证性能指标metrics/xxx(B)模型 泛化能力好不好越大越好最核心的评估指标区别于训练损失只看训练集这类指标是在独立的验证集上计算的模型没见过的图片直接反映模型的实际应用能力泛化能力括号里的(B)表示针对 Bounding Box边框检测的评估YOLO 默认核心任务这 4 个指标是目标检测的行业通用评估标准越大说明模型性能越好指标全称核心含义通俗版metrics/precision(B)Precision精确率 / 查准率模型预测为 正样本比如检测出是 车的结果中真正是正样本的比例公式精准率 正确检测的目标数 / 所有检测出的目标数比如模型检测出 100 个 车其中 90 个真的是车精准率就是 90%越大表示模型 不乱标减少误检比如不会把路边石头当成车metrics/recall(B)Recall召回率 / 查全率数据集中所有真实的正样本被模型成功检测出来的比例公式召回率 正确检测的目标数 / 所有真实的目标数比如图片里有 100 辆车模型检测出 80 辆召回率就是 80%越大表示模型 不漏检能找到更多目标比如图片里的小目标、遮挡目标也能检测到metrics/mAP50(B)mean Average PrecisionIoU
5平均精确率IoU 阈值 50%目标检测的核心核心指标先理解 IoU交并比即 模型预测框 和 真实框 的重叠比例IoU
5 表示重叠一半以上mAP50 表示对所有检测类别计算 IoU≥50% 时的精确率再取平均值越大表示模型在宽松标准下框重叠一半就算检测成功的整体性能越好metrics/mAP
(B)mean Average PrecisionIoU
5:
95平均精确率IoU 阈值 50% 到 95%目标检测的黄金指标比 mAP50 更严格计算 IoU 从 50% 到 95%步长 5%的所有 mAP 值再取平均值越大表示模型在严格标准下框几乎完全重叠才算成功的整体性能越好能反映模型的综合检测能力定位 分类双优
验证损失指标val/xxx模型 有没有过拟合越小越好且和训练损失接近和训练损失对应但在验证集上计算核心作用是判断模型过拟合 / 欠拟合指标核心含义关键判断val/box_loss验证集上的边框损失正常情况下验证损失应和训练损失趋势一致、数值接近val/cls_loss验证集上的分类损失若训练损失持续降低验证损失突然升高说明模型过拟合只记住了训练集不会泛化到新数据val/dfl_loss验证集上的分布焦点损失若训练 / 验证损失都居高不下说明模型欠拟合学习不充分没学会特征
学习率指标lr/pg0~lr/pg7模型 学习的节奏按需调整非越大 / 越小越好lr Learning Rate学习率是模型训练的核心超参数表示模型每次学习时参数更新的步长步长太大容易 学过头损失震荡不收敛步长太小容易 学的慢训练耗时久甚至学不到核心特征pg Parameter Group参数组YOLOv5/v8 会把模型的不同层参数分成多组pg0-pg7 共 8 组并为每组设置独立的学习率原因模型浅层如卷积层学通用特征边缘、纹理需要小学习率深层学专属特征目标轮廓需要大学习率精细化调度效果更好指标核心含义实际意义lr/pg0~lr/pg78 个参数组的实时学习率每个值表示对应参数组当前的参数更新步长训练过程中学习率会按预设策略如余弦退火、热身动态变化比如前期热身小学习率中期大学习率快速学习后期小学习率精细调优若某组学习率固定不变 / 异常偏高可能是学习率调度策略配置错误补充核心指标的训练趋势判断技巧快速看模型训练是否正常损失类训练损失train/xxx持续平稳降低验证损失val/xxx同步降低且和训练损失差距小→ 训练正常性能类mAP
mAP
持续升高精准率 / 召回率稳步提升且无明显下降→ 模型性能在提升过拟合信号训练损失持续降低验证损失开始升高同时验证集 mAP 下降 → 立即停止训练 / 加入正则化如 dropout、数据增强欠拟合信号训练 / 验证损失都居高不下mAP 始终很低 → 增大学习率 / 增加训练轮次 / 丰富训练数据学习率信号若损失曲线剧烈震荡→ 学习率设置过大若损失几乎不下降→ 学习率设置过小。
总结这些指标从训练进度、训练拟合度、泛化性能、学习节奏四个维度完整监控 YOLO 的训练过程看epoch知训练进度看train/xxx知模型在训练集的学习效果看metrics/xxx(B)知模型真实检测能力最关键看val/xxx判断过拟合看lr/pg0~pg7知学习率调度是否合理为超参数调整提供依据。
训练生成的文件YOLOv8 训练完成后自动生成的核心评估文件按 “指标曲线、可视化结果、数据记录” 三类划分我帮你逐个讲清楚怎么看
先看 “关键指标曲线”判断模型性能这几个*.png曲线是评估模型的核心直接反映检测能力BoxF1_curve.pngF1 分数曲线F12× 精准率 × 召回率 /(精准率 召回率)。
曲线越接近 1说明模型在 “减少误检” 和 “减少漏检” 之间的平衡越好。
BoxP_curve.png精准率曲线横轴是置信度阈值纵轴是精准率。
曲线越陡、最终值越高说明模型 “误检少”高置信度的预测基本都是对的。
BoxR_curve.png召回率曲线横轴是置信度阈值纵轴是召回率。
曲线越平缓、最终值越高说明模型 “漏检少”低置信度的预测也能覆盖更多真实目标。
BoxPR_curve.pngPR 曲线横轴是召回率纵轴是精准率。
曲线下的面积越大越接近右上角模型整体性能越好。
再看 “可视化结果”直观看检测效果这些图片能直接看到模型的检测表现train_batchX.jpg训练集的批量可视化展示 “原始图 模型预测框 真实标签框”。
可以看模型在训练数据上的拟合情况框是否准、分类是否对。
val_batchX_labels.jpg验证集的 “真实标签” 可视化只有真实目标的框用来对照模型预测。
val_batchX_pred.jpg验证集的 “模型预测” 可视化只有模型预测的框。
和val_batchX_labels.jpg对比能直观看到 “漏检真实有但预测没有”“误检预测有但真实没有”“框不准” 等问题。
辅助分析文件补充细节confusion_matrix.png / confusion_matrix.normalized.png混淆矩阵。
非归一化前者看 “各类别被预测成其他类别的数量”数字越大说明该类别的混淆越严重。
归一化后者看 “各类别被预测错的比例”比如某类别的行里非对角线的数值越高说明该类别的分类错误率越高。
labels.jpg数据集的标签分布可视化。
能看到各类别目标的数量占比判断是否有 “类别不平衡”比如某类样本极少模型对它的检测效果可能差。
results.csv / results.png训练过程的所有指标记录就是你之前分析的损失、mAP 等。
results.png是指标曲线的汇总图能快速看训练趋势results.csv可以用 Excel 打开做更细致的数据分析。
weights 文件夹保存的模型权重包括best.pt验证集性能最好的模型和last.pt最后一轮的模型实际部署用best.pt即可。
args.yaml训练时的参数配置比如模型版本、batch_size、学习率等方便复现训练过程。