首页 > 其他分享 >机器视觉 - yolo 调参

机器视觉 - yolo 调参

时间:2024-01-18 21:12:06浏览次数:57  
标签:调参 模型 yolo batch yolov8 640 train 视觉 size

模型训练通用规则:

  • 如果 train 效果挺好, 但test或predict效果较差, 说明 overfit 了. 原因有: (1)模型太复杂了, 这时候应该减少epoch 或者使用更小scale的模型. (2) train数据集太小, 这时候需要增加训练数据
  • 如果 train 效果不佳, 可以使用更大规模的模型, 或者增加训练数据, 或者增大 epoch.
  • 计算过程中不用关心 loss 是否太大, 重要的是loss 是否可以收敛. 如果始终不收敛, 尝试调整优化器类型或降低学习率.
  • from scratch 训练模型需要足够的算力和数据集, 以及强大的调参能力, 否则毫无意义.
  • 调整神经网络结构. 选择合适的模型规格( n/s/m/l/x 以及 p2/p6), 增加网络深度和宽度可以增强模型的表达能力.
  • 数据集应该大于 500, 否则效果很难上来.
  • 数据集应有较高质量, 标签不能错误, box边框要准确, 正负样本要平衡, 增加数据多样性.
  • 调整预测的阈值, 降低conf阈值可以提升recall, 提高conf阈值可以提升precision.
  • 调整超参, 学习率/batch/优化器/epoch 等参数

yolov8 参数设置技巧:

  • train/val/test/predict 超参最好要一致, 不一致的参数有可能会引起predict显著变化.
  • task 参数默认为 detect, 可以传递 task 如:[detect、classify、segment]
  • mode 参数默认为train, train模式下默认包含 val, ,mode 有:[train、predict、val、export]
  • model 选择v8的预训练 yolov8n.pt 模型文件, 该文件初始时不存在, 但软件包会自动下载 yolov8n.pt 模型到 myEnv\Scripts目录. YoloV8 提供三个系列的模型, 正常系列(640像素) yolov8, 小目标系列 p2, 高清(1280像素) p6, 按需选择即可.
  • epochs: 训练数据集需要重复训练多少次, yolov5 推荐初始为 300 个, 而 yolov8推荐初始为500, 如果发现有 overfit, 则减少, 如果没有overfit, 则增加增加到600、1200. 如果使用 CPU, 为了缩短时间epochs可从100开始试.
  • batch: batch size 为一次前向传播送入模型的图片数量, 完成后将做反向传递, 进行weight/bias参数调整, batch size 取值必须为2的n次方, 最小值为2. 这个参数应使用硬件支持的最大 batch size, 比如64开始, 如果不爆内存/显存问题, 则增加到 128、256, batch size越大 batchNorm 效果越好, 精度越高.
  • lr0 为初始学习率, 学习率是梯度下降的步长系数
  • lrf 为最终学习率, 学习率是梯度下降的步长系数
  • imgsz 参数: 这个参数非常重要:
    • 被检查物size, 应该大于 15 * 15 , 否则效果很差, 如要检测小物体最好搭配 yolov8 P2模型.
    • imgsz 参数必须是 32 的倍数
    • 最好是train/val/test 图像最好保持同样的size.
    • 通常 imgsz 越大效果也越好, 但这并不绝对, 如果被检查物非常小, img size 太大反而不行.
    • 采用较大 imgsz, 比较容易爆显存.
    • 送入模型的图像最好不需要经过resize, 即原始图像size最好等于 imgsz 参数.
    • 通常设置 imgsz=640 是一个很好的选择, yolo会自动将我们的图像缩放到640*640的尺寸, 方法是:将图像的长边缩放到640, 图像的短边按照长边缩放的比例缩放, 如果不足640, 则在短边两侧自动padding黑色像素.
    • yolov8 预训练模型基于 640 尺寸的图像训练, 如果我们的数据集为高清图像, 可以采用 yolov8 P6模型.

参考

https://docs.ultralytics.com/guides/yolo-common-issues/
https://docs.ultralytics.com/guides/yolo-performance-metrics/
https://docs.ultralytics.com/yolov5/tutorials/tips_for_best_training_results/#dataset

标签:调参,模型,yolo,batch,yolov8,640,train,视觉,size
From: https://www.cnblogs.com/harrychinese/p/17973306

相关文章

  • 目标检测数据集 - 夜间行人检测数据集下载「包含VOC、COCO、YOLO三种格式」
    数据集介绍:夜间、低光行人检测数据集,真实场景高质量图片数据,涉及场景丰富,比如夜间街景行人、夜间道路行人、夜间遮挡行人、夜间严重遮挡行人数据;适用实际项目应用:公共场所监控场景下夜间行人检测项目,以及作为监控场景通用行人检测数据集夜间场景数据的补充;标注说明:采用labelimg标......
  • 目标检测数据集大全「包含VOC+COCO+YOLO三种格式+划分脚本+训练脚本」(持续原地更新)
    一、作者介绍:五年+算法开发经验、AI算法经理、阿里云开发社区专家博主、稀土掘金人工智能内容评审委员会成员。擅长:检测、分割、理解、AIGC等算法训练与部署。二、数据集介绍:质量高:高质量图片、高质量标注数据,使用labelimg软件吐血标注、整理,可以作为训练模型的基础数据集或者......
  • YOLOv8原理与源码解析(视频教程)
    课程链接:https://edu.51cto.com/course/35522.html【为什么要学习这门课】Linux创始人LinusTorvalds有一句名言:Talkischeap.Showmethecode.冗谈不够,放码过来!代码阅读是从基础到提高的必由之路。YOLOv8基于先前YOLO版本的成功,引入了新功能和改进,进一步提升性能和灵活性。......
  • 机器视觉 - YoloV8 是采用预训练还是从零开始训练的模型
    关于Fine-tuning和预训练和fromscratch训练yolo命令行model的参数的说明既可以选择yolov8n.pt,也可以选择yolov8n.yaml,区别是:model=yolov8n.pt,即为Fine-tuning训练,yolov8n.pt模型文件已经包含了yolov8网络结构、超参数、训练参数、权重参数信息,它是官方的pre......
  • 机器视觉 - YoloV8 划分数据集
    train/val/test的关系纯训练命令行参数mode=trainval=Falsemodel=yolov8n.pt训练+val命令行参数mode=trainval=Truemodel=yolov8n.pt验证预训练模型的命令行参数mode=valsplit=valmodel=yolov8n.pt验证自有模型的命令行参数mode=valsplit=valm......
  • 机器视觉 - YoloV8 命令行使用
    准备data.yaml文件从roboflow上下载CS游戏数据集,因为只有CPU,我对数据集做了瘦身,train:689张,val:23张,test:40张.https://universe.roboflow.com/roboflow-100/csgo-videogame/dataset/2train:../train/imagesval:../valid/imagestest:../test/imagesnc......
  • 计算机视觉相关会议与期刊
    本文来自知乎用户会找论文的鸡翅根,这里仅作备份,原文链接。计算机视觉和模式识别领域的代表就是四大顶会了:ICCV、ECCV、CVPR、NIPS,还有就是难度最高的PAMI了,这些都让人望而生畏。那么除了这些耳熟能详的期刊和会议之外,还有哪些该领域的期刊呢?下面我收集了一些该领域的代表性期刊......
  • 大模型背景下计算机视觉年终思考小结(上)
    1.引言在过去的十年里,出现了许多涉及计算机视觉的项目,举例如下:使用射线图像和其他医学图像领域的医学诊断应用使用导航图像分析建筑物和土地利用率相关应用各种环境下的目标检测和跟踪,如交通流统计、自然环境垃圾检测估计等上述应用所采用的计算机视觉的方法遵循统一的标准流程:首......
  • OpenCV计算机视觉学习(15)——浅谈图像处理的饱和运算和取模运算
    如果需要其他图像处理的文章及代码,请移步小编的GitHub地址传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice本来在前面博客OpenCV计算机视觉学习(2)——图像算术运算&图像阈值(数值计算,掩膜mask操作,边界填充,二值化)里面已经学习了......
  • 机器视觉 - YoloV8 命令行安装
    创建python环境下载并安装miniconda安装包,注意miniconda和python版本对应关系,不要选择python最新的版本,以免yolo或pytorch不能兼容最新版python.这里到安装到C:\miniconda3配置conda环境,修改conda配置文件内容,文件名为C:\Users\myuser\.condarcpy虚拟环......