yolov5学习图像

发布时间:2026/8/14 13:20:42
yolov5学习图像 第一幅 Confusion Matrix 归一化混淆矩阵1.作用混淆矩阵用来观察模型各类别的预测正误横轴True:真实标签纵轴Predicted模型输出预测标签对角线样本预测正确的比例数值越接近1该类别识别越好非对角线代表预测错误比如把A识别成B类2.计算TP真实A预测A对角线FP真实不是A,预测为A同一行其他单元格FN真是为A,预测成别的类同一列其他单元格每一个数值做归一化得到0-1之间的比例3.问题pe、tr 与背景之间容易混淆存在漏检、错检。4.优化检查 pe的数据集标注修正错标漏标扩充 pe 类样本数量增加复杂场景样本调大超参数cls分类损失权重加强类别区分第二幅 F1‑Confidence Curve F1‑置信度曲线1.作用展示不同置信度阈值下每一类 F1 分数变化曲线最高点就是最优置信阈值F1 综合衡量精确率和召回率用来找推理阶段最合适的置信阈值。2.计算P 精确率R 召回率。置信度从 0~1 遍历每一个置信度计算一组 F1预测结果真实结果正例假例正例真正例TP伪反例FN假例伪正例FP真反例TN精确率预测结果为正例样本中真实为正例的比例召回率真实为正例的样本中预测结果为正例的比例3.问题pe 类别 F1 整体偏低阈值设置过高漏检严重。4.优化推理 detect.py 使用--conf 0.709这个阈值整体平衡漏检和误检重点优化 pe 类样本。第三幅 数据集统计分布图1.作用左上柱状每个类别样本数量判断类别均衡性右上所有标注框叠加可视化左下 散点目标中心点坐标 (x,y) 分布右下散点目标框宽高尺度分布看大小目标分布2.计算直接读取数据集所有 xml/json/yolo 标签统计每个标签的类别、中心点、宽高3.问题类别样本不均衡tr 样本远多于 pe会造成模型偏向样本多的类别4.优化对 pe 少样本做数据增强复制、马赛克训练开启类别权重根据宽高分布重新聚类 anchor 锚框适配数据集物体大小第四幅 标签联合分布图1.作用标签特征联合分布图多维度看标注框的x,y,width,height统计分布。 对角线是单变量直方图非对角线是两个变量的二维散点。2.计算解析全部标签文件提取每个 bounding box 的 x,y,w,h 绘制。3.问题数据集存在两种尺寸目标默认 anchor 不一定适配。4.优化重新运行 k‑means 聚类 anchor替换 yaml 里面 anchors 参数提升定位效果。第五幅 Precision‑Confidence曲线 精确率‑置信度曲线1.作用置信度越高模型输出框越可信。 观察调高置信度精确率如何变化。2.计算遍历置信阈值 0~1每一个阈值计算PTP/(TPFP)。标注all classes 1.00 at 0.957置信 0.957 时整体精确率达到 1。3.问题pe 类容易输出错误预测框。4.优化推理时 pe 类可以适当提高置信阈值数据集修正 pe 的错误标注。第六幅 Precision‑Recall (P‑R) 精确率‑召回率曲线1.作用目标检测核心评估图衡量类别综合检测能力曲线下面积就是 APmAP0.5 是所有类别 AP 取平均。曲线越靠近左上角模型效果越好。2.计算遍历置信阈值得到一组 (P,R) 点连成曲线对曲线积分得到 AP。图中标注all classes 0.988 mAP0.5pe 类别 AP0.928其余类别大多 0.99 以上。3.问题pe 类别召回率掉得早容易漏检 pe 目标4.优化增加 pe 类训练样本清理噪声标签调整损失函数分类权重第七幅 Recall‑Confidence 召回率‑置信度曲线1.作用横轴置信阈值纵轴召回率看置信度对召回率的影响置信度越低框出的物体越多漏检越少但是误检变多2.计算遍历置信阈值计算RTP/(TPTF)3.问题如果置信设置太高pe 大量漏检。4.优化结合 F1 曲线选择 0.709 作为折中置信阈值兼顾 P 和 R。第八幅 训练 验证损失与指标曲线图1.作用完整监控训练全过程判断是否收敛、过拟合。第一行 train训练集第二行 val验证集box_loss框位置损失obj_loss有无目标置信损失cls_loss分类损失metricsPrecision、Recall、mAP0.5、mAP0.5:0.95val 系列验证集上的损失看泛化2.计算每一轮 epoch 结束分别在训练集、验证集计算损失函数同时计算评估指标。box_loss 采用 CIoUobj_loss、cls_loss 使用 BCE 二元交叉熵。3.问题val obj_loss 末尾有轻微抬头有一点点过拟合苗头4.优化如果继续训练可以适当提前停止 epoch增加马赛克、随机翻转等数据增强可以轻微降低学习率防止后期震荡