解读YOLOV5的runs文件

2023-10-20 13:59
文章标签 解读 yolov5 runs

本文主要是介绍解读YOLOV5的runs文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用YOLOV5训练数据之后我们需要一些评判标准来告诉我们所训练的效果究竟如何。这时,YOLOV5给出了一个文件解决我们的问题。该文件在直接生成为runs文件,可理解记录一些运行时的日志信息。

confusion_matrix.png(混淆矩阵)

作为一种特定的二维矩阵,列代表预测的类别,行代表实际的类别。其对角线上的值表示预测正确的数量比例,非对角线元素则是预测错误的部分。混淆矩阵的对角线值越高越好,这表明许多预测是正确的。

上图是对是否戴口罩进行训练,有图可以看出 将一个图片分为了三个部分,分别是戴口罩,不戴口罩和background FP。该图在每列上进行归一化处理。则可以看出戴口罩预测正确的概率为85%。不带口罩预测正确的概率为70%。

F1_curve:

F1分数与置信度(x轴)之间的关系。F1分数是分类的一个衡量标准,是精确率和召回率的调和平均函数,介于0,1之间。越大越好。

需要知道精确率和号回率是什么首先需要知道四值:TP,FN,FP,TN。

TP:真实为真,预测为真;

FN:真实为真,预测为假;

FP:真实为假,预测为真;

TN:真实为假,预测为假;

精确率(precision)=TP/(TP+FP)

召回率(Recall)=TP/(TP+FN)

F1=2*(精确率*召回率)/(精确率+召回率)

labels_correlogram

相关图是一组二维直方图,显示数据的每个轴与其他轴之间的对比。图像中的标签位于 xywh 空间。

 labels(由真实标注所得)

(1,1)表示每个类别的数据量

(1,2)真实标注的 bounding_box

(2,1) 真实标注的中心点坐标

(2,2)真实标注的矩阵宽高

 P_curve

表示准确率与置信度的关系图线,横坐标置信度。

由下图可以看出置信度越高,准确率越高。

 PR_curve

PR曲线中的P代表的是precision(精准率)R代表的是recall(召回率),其代表的是精准率与召回率的关系。

有前面的式子分析,我们最希望的结果必然是召回率与预测率均为一。但是很显然在训练时无法达到这种期望。所以在训练时我们需要根据不同需要了解是要求P高还是R高。P-R曲线下围成的面积为AP(Average precision) 即平均精确度。一般而言AP值越大则性能越好。关于AP的计算除了积分之外也可参考:AP与mAP的详解_micro wen的博客-CSDN博客_ap和map

  R_curve

召回率与置信度之间关系,具体参照 P_curve。

results.png

 (1,1),(2,1):YOLOV5使用GIOU Loss作为bounding box的损失函数。该图分别表示训练时和验证时GlOU损失函数的均值,越小方框越准。

(1,2),(2,2):推测为目标检测loss均值,越小目标越准。

(2,4),(2,5):表示在不同IoU阈值时计算每一类中所有图片的AP然后所有类别求取均值。

mAP_0.5:0.95表示从0.5到0.95以0.05的步长上的平均mAP.

本片内容主要参考:关于yolov5的一些说明(txt文件、训练结果分析等)_Faster--YOLO的博客-CSDN博客_yolov5训练结果分析

同时结合了一些自己的训练结果和想法,如果由建议或者错误欢迎指出。另外,最近需要学习rknn,但是一直没有头绪,希望大神帮帮忙!!! 

 

 

这篇关于解读YOLOV5的runs文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/247577

相关文章

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

MySQL中的锁和MVCC机制解读

《MySQL中的锁和MVCC机制解读》MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和... 目录mysql的锁和MVCC机制事务的概念与ACID特性锁的类型及其工作机制锁的粒度与性能影响多版本

Redis过期键删除策略解读

《Redis过期键删除策略解读》Redis通过惰性删除策略和定期删除策略来管理过期键,惰性删除策略在键被访问时检查是否过期并删除,节省CPU开销但可能导致过期键滞留,定期删除策略定期扫描并删除过期键,... 目录1.Redis使用两种不同的策略来删除过期键,分别是惰性删除策略和定期删除策略1.1惰性删除策略

Redis与缓存解读

《Redis与缓存解读》文章介绍了Redis作为缓存层的优势和缺点,并分析了六种缓存更新策略,包括超时剔除、先删缓存再更新数据库、旁路缓存、先更新数据库再删缓存、先更新数据库再更新缓存、读写穿透和异步... 目录缓存缓存优缺点缓存更新策略超时剔除先删缓存再更新数据库旁路缓存(先更新数据库,再删缓存)先更新数

C#反射编程之GetConstructor()方法解读

《C#反射编程之GetConstructor()方法解读》C#中Type类的GetConstructor()方法用于获取指定类型的构造函数,该方法有多个重载版本,可以根据不同的参数获取不同特性的构造函... 目录C# GetConstructor()方法有4个重载以GetConstructor(Type[]

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。