yolov5 损失函数

yolov5有三个损失函数分别是回归损失、置信度损失、分类损失

回归损失用的是CIOU loss
置信度和分类损失用的是BCE loss

(1)对比L2损失,Iou和GIou具有尺度不变性,不会说输入的框子大loss就越大。
(2)对比IOU损失,L2和Giou具有偏离趋势度量的能力,当IOU=0时,交和不交的损失是一样的,L2和GIOU就不会这样。

GIOU,当两个框子是左右重合时就和IOU一样了。
在这里插入图片描述
DIOU,当两个框子互相包含时,会有偏离趋势的loss能力,同样也具有尺度不变性。

CIOU,在DIOU的基础上,增加了宽高比的惩罚项。当预测边框和真是边框的中心点重合时,DIOU退化成了传统IOU,综合了IOU的面积损失 、和DIOU的中心点损失和自身宽高比损失三种优势。

在这里插入图片描述
在这里插入图片描述

yolov5中通过mask掩码来计算损失
所有的预测框都需要计算置信度损失,但是mask为true和false的预测框置信度计算方式 不一样,当mask掩码中最用位置为true的预测框才需要计算分类和回归损失。

如何得到mask?
(1)根据标注文件解析出GT框子的中心坐标和宽高


在这里插入图片描述

yolov5网络原生推理出来的为三维的tensorr
[4,3,80,80,8]
[4,3,40,40,8]
[4,3,20,20,8]

pytorch中
nn.parameter参与梯度训练
buffer不参数梯度训练
还可以通过model.save保存

focal loss
保证预测的结果都接近与1无论正负样本
当预测对了的值loss就很小,当预测错了就会很大
关注难样本,解决类别不均衡的问题

indices 正样本的索引
更改objectness
在这里插入图片描述

YOLOv3

模型的每个head计算出[bs,c,h,w,nc+5]

GT与每个anchor做IOU的比较,取最大的IOU的anchor,给出mask

BCE要用sigmoid函数

置信度的loss是预测框和真实框的IOU

YOLOv5损失函数
回归损失
预测x、y、w、h四个数值,预测出来的数值,通过CIOU计算loss

置信度损失
计算每个预测框和真实框的CIOU当作置信度,通过BCE计算loss

网络训练流程
1、输入图像网络前向传播输出[[bs,3,80,80,nc+5],[bs,3,40,40,nc+5],[bs,3,20,20,nc+5]]。
2、对于网络的3个头的输出匹配正样本,筛选GT和anchor符合条件的高宽比,大于就是正样本反就是负样本。
出了匹配IOU大于的之外还会匹配满足条件的上下左右的grid

YOLO:简史

YOLO(You Only Look Once)是一种流行的对象检测和图像分割模型,由华盛顿大学的Joseph Redmon和Ali Farhadi开发。YOLO于2015年推出,以其高速度和高精度迅速走红。

YOLOv2于2016年发布,通过合并批处理规范化、锚盒和维度集群来改进原始模型。

YOLOv3在2018年推出使用更高效的骨干网络、多个锚点和空间金字塔池进一步增强了该模型的性能。

YOLOv4于2020年发布,引入了Mosaic数据增强、新的无锚检测头和新的丢失功能等创新。

YOLOv5进一步提高了模型的性能,并添加了超参数优化、集成实验跟踪和自动导出到流行导出格式等新功能。

YOLOv6于2022年由美团开源,目前正在该公司的许多自动配送机器人中使用。

YOLOv7在COCO关键点数据集上添加了额外的任务,如姿态估计。

YOLOv8是Ultralytics公司推出的YOLO的最新版本。作为一款尖端、最先进的(SOTA)车型,YOLOv8在之前版本的成功基础上,引入了新的功能和改进,以增强性能、灵活性和效率。YOLOv8支持全方位的视觉AI任务,包括检测、分割、姿态估计、跟踪和分类。这种多功能性允许用户在不同的应用程序和域中利用YOLOv8的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316189.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL纹理转换谜团:纹理写入FRAMEBUFFER后的镜像现象

在OpenGL中,最近将一个 GL_TEXTURE_2D 纹理写入到 GL_FRAMEBUFFER ,然后从GL_FRAMEBUFFER读取为GL_TEXTURE_2D纹理后,发现GL_TEXTURE_2D纹理变为了输入纹理的镜像纹理。效果图如下图所示。 本文将探讨这个问题的原因,并提出两种解…

Django(五)

员工管理系统 1.新建项目 2.创建app python manage.py startapp app012.1 注册app 3. 设计表结构(django) from django.db import modelsclass Department(models.Model):""" 部门表 """title models.CharField(verbos…

M3u8视频地址如何转为mp4视频

在当今数字化的时代,视频格式的转换已成为日常需求。M3u8格式的视频由于其分段的特性,常常给播放和编辑带来不便。而MP4格式则因其通用性和高质量而广受欢迎。那么,如何将M3u8视频地址转换为MP4格式呢?接下来,我们将为…

安装elasticsearch、kibana、IK分词器、扩展IK词典

安装elasticsearch、kibana、IK分词器、扩展IK词典 后面还会安装kibana,这个会提供可视化界面方面学习。 需要注意的是elasticsearch和kibana版本一定要一样!!! 否则就像这样 elasticsearch 1、创建网络 因为我们还需要部署k…

论文笔记:CellSense: Human Mobility Recovery via Cellular Network Data Enhancement

1 intro 1.1 背景 1.1.1 蜂窝计费记录(CBR) 人类移动性在蜂窝网络上的研究近些年得到了显著关注,这主要是因为手机的高渗透率和收集手机数据的边际成本低蜂窝服务提供商收集蜂窝计费记录(CBR)用于计费目的&#xf…

创建x11vnc系统进程

为方便使用vnc,所以寻找到一个比较好用的vnc服务端那就是x11vnc,索性就创建了一个系统进程 一、环境 系统:银河麒麟v4-sp2-server 软件:x11vnc【linux下】、VNCviewer【win下】 二、安装x11vnc 1、挂载光盘源并修改apt源 mou…

【算法每日一练]-数论 (保姆级教程 篇2 )#行列式 #甜甜花研究 #约数个数 #模数 #数树 #盒子与球

目录 今日知识点: 辗转相减法化下三角求行列式 组合数动态规划打表 约数个数等于质因数的次方1的乘积 求一个模数 将n个不同的球放入r个不同的盒子:f[i][j]f[i-1][j-1]f[i-1][j]*j 行列式 甜甜花的研究 约数个数 模数 数树 盒子与球 行列…

第一个Qt程序----Hellow word!

从今天起就开始我们的第一个Qt小程序,点击New Project后点击右侧的Application后点击Qt Widgets Application。Qt Widgets 模块提供了一组UI元素用于创建经典的桌面风格的用户界面,Widgets是小部件的意思,也可以称为控件,因此Qt …

高效视频剪辑:批量修改视频尺寸的技巧与步骤

随着社交媒体的兴起,视频已然是分享和交流的重要方式。但有时,要的视频尺寸并不总是符合需求。这就要对视频进行剪辑和调整。现在探讨一种高效的方法,可以批量修改视频尺寸,简化工作流程。现在一起来看看云炫AI智剪如何批量修改视…

Redis - 挖矿病毒 db0 库 backup 反复出现解决方案

问题描述 腾讯云的服务器,使用 Docker 部署了 Redis 之后,发现 DB0 中总是出现 4 条 key,分别是 backup01backup02backup03backup04 而自己每次存入 db0 中的数据过一会就会被无缘无故删除掉。 原因分析 挖矿病毒 解决方案 在启动的时候…

Zookeeper-Zookeeper分布式一致性协议ZAB源码解析

整个Zookeeper就是一个多节点分布式一致性算法的实现,底层采用的实现协议是ZAB。 ZAB协议介绍 ZAB 协议全称:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议)。 Zookeeper 是一个为分布式应用提供高效且可靠的分布式协调服…

IOS - 手机安装包 ipa 常见几种方式

安装 ipa 包的方法有很多中,可以通过不同的软件安装,本文只列出了常用的几种,做个简单的归纳整理 1、iTunes 安装 数据线连接手机之后,会自动连接iTunes,(第一次连接的时候会提示是否信任此电脑&#xff0…