训练yolo11检测模型经验流程
数据集准备
文件格式
- 标签内部数据是否正确
- 是否归一
- 是否出现错误
- 图片和标签是否对应
- 是否缺少文件
- 是否适合训练的格式
- 格式转化
- YOLO转VOC
- VOC转YOLO
- COCO转YOLO
数据集本身:
- 使用opencv标注其图片
- 查看其图片标注情况
- 图片框是否准确
- 是否出现漏标
- 是否出现错误标注
- 整理其数据集问题
- 剔除不能用的图片标签(手动)
以上都做好了之后就算是数据集准备完毕。
模型训练及验证
模型训练配置参数:
- 学习率不宜过大,不好拟合,不宜过小,损失下降慢,根据模型根据数据量来具体调整。
- 数据增强策略来讲Mosaic比较有效,图片翻转来讲不是所有的图片都需要上下翻转,但是左右翻转增强很有效果。
- 学习率预热 (Warm-up) 和学习率衰减策略(如 Cosine Annealing)相对来讲比较关键
- 在第一次训练得出结果基础上分析其问题
- 第二次训练则调整学习率,适当调小,调整训练细致参数
否
是
初始参数设置
首次训练
验证集评估
性能达标?
问题分析
参数调整
• 学习率衰减
• Warm-up
• 细致参数
加入负样本训练
再次验证
模型训练完成
模型训练完成后:
- 通过验证集验证其结果
- 针对其结果分为不同检测实例进行细致化查看
- 漏标情况
- 误标情况
- 分析其情况出现的问题在哪儿
- 针对性的准备负样本,提升模型抗干扰能力,防止出现误检测
- 先用大量的负样本进行第一次推理,筛选出误检测的数据集
- 将这一部分误检测数据集加入模型进行进一步的训练
- 这一步的训练对于目标检测的精度会有一定的影响,需要把控其度
- 训练完成再次验证其模型能力
- 若是模型检测的结果仍不满意,可从数据集人工细致化清洗,参数上进行调整训练
影响过大
影响可控
训练基础模型
用大量负样本推理
筛选误检测样本
加入训练集
二次训练
验证性能
精度影响评估
调整负样本比例
继续优化
达到预期效果
数据量上的策略
小数据量:可以通过人工筛查,适当增删其数据集
大数据量:只能通过抽查,但也需将整个数据集查看是否出现其不能用的情况,尽可能的剔除掉不能用的数据集,将不同实例分类整理其图片和标签,对于后期模型训练调优会有帮助。
代码上来讲
不管是小数据量还是大数据量,对于文件的操作基本上都是差不多的,所以在处理数据的时候尽量写通用批量修改文件数据集的代码,可以复用,可以减少大量的数据集处理时间。
大数据量场景
小数据量场景
全量人工筛查
精确增删数据
高质量数据集
分层随机抽样检查
自动化脚本筛查
按实例分类整理
抽查+自动清理
通用代码设计原则
批量处理脚本
高复用性
减少处理时间