计算机视觉 YOLOv5_3.1实验记录

news/2024/7/11 1:50:58 标签: 计算机视觉, YOLO, 人工智能

YOLOv5_3.1

  • I. 散点图
  • II. 指标
  • III. precision-recall_curve
  • IV. labels
  • v. 可视化

I. 散点图

results

这些参数通常用于目标检测模型的评估。其中:

  • Box表示目标检测模型检测出的所有边界框的数量;
  • val Box表示用于验证检测模型性能的边界框数量;
  • Objectness表示目标物体得分,用于评估一个边界框内是否包含目标物体的概率;
  • val Objectness表示在验证集上的物体得分;
  • Classification表示类别得分,用于度量一个边界框内含有目标物体的类别概率;
  • val Classification表示在验证集上的类别得分;
  • Precision表示被正确预测的正样本数量与全部预测正样本数量之比,用于评估模型在所有预测为目标的物体中,有多少是真正目标物体;
  • Recall表示被正确预测的正样本数量与全部真正存在的正样本数量之比,用于评估模型能否正确地检测到真实存在的目标物体;
  • map@0.5表示在IoU(交并比)等于0.5时的平均精度,mAP@0.5即所有目标类别的平均精度之和;
  • map@0.5:0.95表示在不同IoU阈值下的平均精度,其中0.5和0.95分别表示IoU的下限和上限。mAP@0.5:0.95能够很好地反映模型性能的全面性。

II. 指标

image-20230521091642018

这是训练模型的输出结果,包含以下各项指标:

  • 199/199:表示训练轮数,当前为199,总轮数也为199;
  • 12.5G:表示训练模型所占用的显存大小;
  • 0.02521, 0.02248, 0.005274, 0.05297:表示损失函数的值,这些值可能是在训练集或验证集上计算得到的;
  • 229640:分别表示在验证集上预测正确的样本数量和总样本数;
  • 0.60420.8467:分别表示验证集上精度和召回率(Precision和Recall);
  • 0.8061:是指IoU等于0.5时的平均精度(mAP@0.5);
  • 0.5687:代表IoU从0.5到0.95的平均精度mAP;
  • 0.030390.020540.006311:是指验证集上每个类别的平均精度,通常用于多类别目标检测模型的评估结果。

从这儿能看出,一个裸的yolov5s,训练结果并不理想

III. precision-recall_curve

precision-recall_curve

precision-recall curve是在机器学习模型中广泛使用的一种性能评估工具。该二维曲线用于在不同分类阈值下评估模型的性能,其中横轴表示召回率,纵轴表示精度。随着分类阈值的变化,分类结果的精度和召回率也随之发生变化,从而形成一些 (精度, 召回率) 的坐标点。将这些坐标点连线得到的曲线就是"精度-召回率曲线"。通常情况下,该曲线越靠近左上角的红线,模型的性能就越好,因此需要在召回率和准确率之间进行权衡,并选择适当的分类阈值进行模型评估。

IV. labels

labels.png 文件是 Yolov5 程序中用于可视化训练过程的标签文件。它显示了标注数据中所有不同的类别,在训练过程中会使用这些标注数据进行模型训练。labels.png 包含了每个类别的名称和一个独特的颜色编码,这有助于在可视化时快速区分不同类别的目标。这样可以更好地进行训练,让模型能够更好地理解每个类别所代表的对象。如果在运行 Yolov5 时不提供 labels.png 文件,则程序会自动根据数据集中的类别数量生成这个文件。

v. 可视化

test_batch0_gt

仔细对比上两图,你会发现有不少的漏检和错检情况,亟待优化。

train_batch0

train_batch2


http://www.niftyadmin.cn/n/344201.html

相关文章

【ChatGPT】人工智能发展的背后厉害:跌宕起伏的近百年

文章目录 前言一、麦卡洛克-皮特斯神经元二、赫布式学习三、感知机四、反向传播算法五、卷积神经网络六、递归神经网络七、通用计算GPU芯片八.生成式神经网络与大型语言模型总结 前言 今天,ChatGPT等大型语言预训练神经网络模型已经成为广为人知的名字,…

前端025_菜单模块_修改功能

菜单模块_修改功能 1、需求分析2、添加查询数据接口3、添加提交修改数据接口4、Api 调用接口回显数据5、提交修改后的数据6、效果1、需求分析 当点击 编辑 按钮后,弹出编辑窗口,并查询出菜单相关信息进行渲染。修改后点击 确定 提交修改后的数据。 2、添加查询数据接口 请求…

跟姥爷深度学习6 卷积网络的数学计算

一、前言 前面简单用TensorFlow的全连接网络做了气温预测然后深入了解了一下全连接网络的数学计算,接着用CNN(卷积)网络做了手写数字识别,本篇就接着这个节奏来看卷积网络的数学计算。 二、卷积网络回顾 前面我们使用卷积网络时…

ADS-B接收机Radarcape

1.设备简介 Radarcape是一款便携、高性能、功能强大的ADS-B地面接收机。Radarcape的设备清单包含:ADS-B接收机主机,专业级ADS-B天线,GPS天线,电源线,网线。 2. 功能特点 Radarcape可以通过网口输出飞机的原始数据D…

【mysql】库的操作+表的操作

文章目录 启动mysql登录mysql1.MySQL环境安装与基础认识修改端口号连接服务器服务器,数据库,表关系建表 第二讲_库与表的操作1.创建数据库2.创建数据库案例3.指明字符集和校验集校验规则对数据库的影响不区分大小写的查询以及结果:区分大小写…

解决Ubuntu报错ModuleNotFoundError: No module named ‘pip‘

Ubuntu报错ModuleNotFoundError: No module named ‘pip’ 解决方法: sudo apt install python3-pip

c++学习——c与c++const修饰的变量的区别

c语言下const修饰的变量 1、c语言下const修饰的变量都有空间 2. c语言的const修饰的全局变量具有外部链接属性 07 const修饰的变量.c #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h>const int a 10;//常…

【系分论文】论软件开发模型及应用

目录 论题论题介绍论文要点理论素材准备范文摘要正文 论文补充知识 论题 论软件开发模型及应用 论题介绍 软件开发模型&#xff08; Software Development Model&#xff09;是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段&…