YOLO 实例分割复盘:可复现训练与半熟蓝莓错误分析
2026 年 7 月,蓝莓视觉实验从“能够训练模型”进入“能够复现实验并解释错误”的阶段。我把标注转换、数据划分、训练参数、验证方式和错误分析整理成固定流程,并重点检查了模型对 semi_ripe(转色期蓝莓)的识别问题。
固定实验输入
当前任务为三类别实例分割,类别顺序固定为:
0 ripe
1 unripe
2 semi_ripe
类别编号一旦确定就不能随意调整,因为 YOLO 标签只保存编号。实验使用固定随机种子将数据划分为训练、验证和测试集,并记录模型、图像尺寸、epoch、batch、设备与输出目录。
从 JSON 到可训练数据集
AnyLabeling/LabelMe 的多边形标注需要转换为 YOLO segmentation 格式。转换完成后,除了检查文件是否生成,还需要统计成功转换的图片数、每个 split 的图片数、各类别实例数以及异常多边形或未知类别。
训练前我会抽样把转换后的多边形重新绘制到原图上。这样可以尽早发现坐标归一化、图片尺寸或类别映射错误,避免模型在错误标签上完成一次耗时训练。
训练结果不应只看一张曲线
一轮实验至少保存以下信息:
- 数据来源与划分方式;
- 模型和完整训练参数;
-
best.pt与结果目录; - box 和 mask 的 mAP50、mAP50-95;
- 分类别指标与混淆矩阵;
- 问题记录、结论和下一步。
当精度不足时,应先检查数据与标注,再考虑提高输入分辨率或更换更大的模型。对小数据集而言,增加模型规模并不一定比补充困难样本更有效。
semi_ripe 错误归因
在一次 YOLO11s-seg 测试中,测试集共有 115 个 semi_ripe 真值实例。以类别正确且 mask IoU 不低于 0.75 为成功条件,47 个实例成功匹配,占 40.9%。
| 失败类型 | 数量 | 占全部 semi_ripe 实例 |
|---|---|---|
| 误分类 | 61 | 53.0% |
| 漏检 | 2 | 1.7% |
| 类别正确但 mask 质量不足 | 5 | 4.3% |
| 成功 | 47 | 40.9% |
61 个误分类实例几乎平均流向两端:30 个被判为成熟,31 个被判为未熟。这说明主要问题不是“看不到蓝莓”,而是转色阶段本身具有连续性,三分类标签与视觉特征之间存在模糊边界。
距离分层也显示,30 cm 条件下成功率为 32.1%,低于 15 cm 条件下的 43.7%。这提示后续数据采集和评估需要同时考虑目标尺度、清晰度、遮挡与光照,而不能只比较总体准确率。
下一步实验
- 复核
semi_ripe标注一致性,明确颜色过渡区的判定标准; - 增加不同地点、距离和光照下的转色期样本;
- 尝试把成熟度从硬分类改为具有顺序关系的标签或连续指数;
- 分别报告识别错误与 mask 几何误差,避免把两类问题混在一起;
- 保持独立测试集,使用同一评估脚本比较后续模型。
这次分析让我认识到,模型指标下降不一定意味着网络“没学会”。数据定义、标签边界和采集条件都可能是误差来源。把失败样本按原因分类,比单纯继续训练更多 epoch 更能指导下一轮实验。
Enjoy Reading This Article?
Here are some more articles you might like to read next: