| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 目标检测 YOLOv5 - 如何提高模型的指标,提高精确率,召回率,mAP等 -> 正文阅读 |
|
[人工智能]目标检测 YOLOv5 - 如何提高模型的指标,提高精确率,召回率,mAP等 |
目标检测 YOLOv5 - 如何提高模型的指标,提高精确率,召回率,mAP等flyfish 文中包括了YOLOv5作者分享的提高模型指标小技巧和吴恩达(Andrew Ng)在做缺陷检测项目( steel sheets for defects)时遇到的需要提高模型指标的问题是如何解决的。 1 YOLOv5获得最佳训练效果指南大多数情况下,只要数据集足够大且良好标注(provided your dataset is sufficiently large and well labelled),就可以在不更改模型或训练设置的情况下获得良好的结果。如果一开始没有得到好的结果,在考虑任何更改之前,首先使用所有默认设置进行训练。这有助于建立性能baseline和需要改进的地方。 YOLOv5提供了大量的信息包括训练损失, 验证损失, 精确率(P), 召回率(R), mAP等可视化结果, 包括PR曲线(PR curve), 混淆矩阵(confusion matrix, 马赛克训练, 测试结果等数据集统计图像。这些信息的图像所在目录是yolov5/runs/Train/exp 1.1 数据集方面1.1.1 每个类别的图像每个类别的图像张数大于1500张 1.1.2 每个类别的实例我们人工标注的目标框就是实例,每个类别的实例要大于10000张。 1.1.3 图像的多样性数据集必须展现出部署环境,推荐来自一天中不同时间、不同季节、不同天气、不同光照、不同角度、不同数据源(在线抓取、本地收集、不同相机)等的图像。 1.1.4 标注的一致性所有图像中所有类的所有实例都必须标注。部分标注将不起作用。 1.1.5 标注的精度边框必须紧密地包围每个目标。目标和边框之间不应存在任何空。任何目标都不应缺少标签。 1.2 模型选择更大的模型,如YOLOv5x,在几乎所有情况下都会产生更好的结果,但参数更多,运行速度也更慢。对于移动应用推荐YOLOv5s/m;对于云或桌面应用,推荐YOLOv5l/x。 对于所有YOLOv5系列模型全面的比较,请看这里 1.3 训练设置在修改任何内容之前,首先使用默认设置进行训练,以建立性能baseline。 1.3.1 epochs:从300个epoch开始。如果过早过拟合,那么可以减少epochs。如果在300个epoch后没有发生过拟合,则训练更长时间,即 600、1200 个等epoch。 1.3.2 图像大小COCO以–img 640的原始分辨率训练,尽管由于数据集中有大量的小目标,它可以从更高分辨率(如-img 1280)的训练中受益。如果有许多小目标,则自定义数据集将从原始或更高分辨率的训练中受益。最佳推理结果是训练时设置的 --img x与推理时设置的–img x相同,例如如果–img 1280训练,则在–img 1280进行推理测试。 1.3.3 batch size使用自己的硬件资源允许的最大Batch size。小的Batch size会产生较差的batchnorm统计,应该避免。 1.3.4 超参数默认超参数位于hpy.scratch.yaml中。建议先使用默认超参数进行训练,然后再考虑修改任何参数。一般来说,增加augmentation超参数将减少和延迟过度拟合,从而允许更长的训练时间和更高的最终mAP。减少loss component gain 超参数(如hyp[‘obj’])将有助于减少对特定loss component的过度拟合。 2 以数据为中心的AI(Data-Centric AI)以数据为中心的AI(data-centric AI)这一概念是吴恩达(Andrew Ng)的提出的。 以模型为中心通过改进模型来提升表现(Asks how you can change the model to improve performance.) 以数据为中心通过改进数据来提升表现(Asks how you can change or improve your data to improve performance.) 2.1 听听大佬怎么说的
2.2 什么是好的标注数据数量还是数据质量(Data Quantity vs. Data Quality) 2.3 deeplearning.ai提供了Andrew Ng在遇到一个检测问题是如何解决的Andrew Ng和他的团队在进行钢铁缺陷检测项目( steel sheets for defects)时,accuracy卡在了76.2%,期望结果是accuracy>=90%。于是他把团队拆分,各个小组做不同的事。一个小组保持模型不变,做new examples,data augmentation, labeling等提高数据质量的工作,另一个小组保持数据不变,但尝试改进模型。从事数据工作的小组能够将准确率提高到 93.1%,而另一个小组却丝毫没能提高baseline。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 10:42:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |