训练yolo11检测模型经验流程

训练yolo11检测模型经验流程

数据集准备

文件格式

  • 标签内部数据是否正确
    • 是否归一
    • 是否出现错误
  • 图片和标签是否对应
  • 是否缺少文件
  • 是否适合训练的格式
  • 格式转化
    • YOLO转VOC
    • VOC转YOLO
    • COCO转YOLO

数据集本身:

  • 使用opencv标注其图片
  • 查看其图片标注情况
    • 图片框是否准确
    • 是否出现漏标
    • 是否出现错误标注
  • 整理其数据集问题
  • 剔除不能用的图片标签(手动)

以上都做好了之后就算是数据集准备完毕。

模型训练及验证

模型训练配置参数:

  • 学习率不宜过大,不好拟合,不宜过小,损失下降慢,根据模型根据数据量来具体调整。
  • 数据增强策略来讲Mosaic比较有效,图片翻转来讲不是所有的图片都需要上下翻转,但是左右翻转增强很有效果。
  • 学习率预热 (Warm-up) 和学习率衰减策略(如 Cosine Annealing)相对来讲比较关键
  • 在第一次训练得出结果基础上分析其问题
  • 第二次训练则调整学习率,适当调小,调整训练细致参数



初始参数设置
首次训练
验证集评估
性能达标?
问题分析
参数调整

• 学习率衰减

• Warm-up

• 细致参数
加入负样本训练
再次验证
模型训练完成

模型训练完成后:

  • 通过验证集验证其结果
  • 针对其结果分为不同检测实例进行细致化查看
    • 漏标情况
    • 误标情况
  • 分析其情况出现的问题在哪儿
  • 针对性的准备负样本,提升模型抗干扰能力,防止出现误检测
    • 先用大量的负样本进行第一次推理,筛选出误检测的数据集
    • 将这一部分误检测数据集加入模型进行进一步的训练
    • 这一步的训练对于目标检测的精度会有一定的影响,需要把控其度
    • 训练完成再次验证其模型能力
    • 若是模型检测的结果仍不满意,可从数据集人工细致化清洗,参数上进行调整训练

影响过大
影响可控
训练基础模型
用大量负样本推理
筛选误检测样本
加入训练集
二次训练
验证性能
精度影响评估
调整负样本比例
继续优化
达到预期效果

数据量上的策略

小数据量:可以通过人工筛查,适当增删其数据集

大数据量:只能通过抽查,但也需将整个数据集查看是否出现其不能用的情况,尽可能的剔除掉不能用的数据集,将不同实例分类整理其图片和标签,对于后期模型训练调优会有帮助。

代码上来讲

不管是小数据量还是大数据量,对于文件的操作基本上都是差不多的,所以在处理数据的时候尽量写通用批量修改文件数据集的代码,可以复用,可以减少大量的数据集处理时间。
大数据量场景
小数据量场景
全量人工筛查
精确增删数据
高质量数据集
分层随机抽样检查
自动化脚本筛查
按实例分类整理
抽查+自动清理
通用代码设计原则
批量处理脚本
高复用性
减少处理时间

相关推荐
兵慌码乱11 小时前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot12 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海17 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱20 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽1 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码1 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio2 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663672 天前
使用 Python 从零创建 Word 文档
python