YOLO V5 详解

news2024/11/27 15:51:47

YOLO V5

Backbone

SPPF

在这里插入图片描述

SPP 是使用了3个kernel size不一样大的pooling 并行运算。SPPF是将kernel size为5的 pooling 串行运算,这样的运算的效果和SPP相同,但是运算速度加快。因为SPPF减少了重复的运算,每一次的pooling 运算都是在上一次运算的基础上进行的。

CSP-PAN neck

在YOLO V4中,作者仅仅使用了PAN模块,在PAN中的卷积操作为一般卷积操作。而在YOLO V5中,PAN中的卷积操作换为了CSP。如图,上图为YOLO V4中的PAN模块,下图为YOLO V5的CSP-PAN模块。

在这里插入图片描述
YOLO V5 CSP-PAN模块

在这里插入图片描述

Loss Function

Loss function 的组成和YOLO V3一样,同样是由 Classes loss, Objectness loss, Location loss.
改进:

  1. Location Loss 采用的是 CIOU Loss.
  2. Objectness Loss 在YOLO V3中 将IOU最大的设为正样本,将IOU小于阈值的设为负样本,其他的都不考虑。而在YOLO V5 中是计算所有样本的obj损失,采用CIOU作为标准。
  3. 对于Objectness Loss 同时也平衡了不同尺度的损失,针对三个预测特征层上的obj损失赋予不同的权重。
    L o b j = 4.0 ⋅ L o b j s m a l l + 1.0 ⋅ L o b j m e d i u m + 0.4 ⋅ L o b j l a r g e L_{obj} = 4.0 \cdot L^{small}_{obj} +1.0 \cdot L^{medium}_{obj}+0.4 \cdot L^{large}_{obj} Lobj=4.0Lobjsmall+1.0Lobjmedium+0.4Lobjlarge

横纵比偏移优化

在YOLO V4对于x, y进行了优化使其对极限值0和1更加敏感一些。然而,对于横纵比同样存在问题,原始的公式中仅使用 e x e^x ex 来进行偏移,这样会导致偏移量没有限制,变得十分敏感。

b w = p w e t w b h = p h e t h \begin{aligned} b_w = p_we^{t_w}\\ b_h = p_he^{t_h} \end{aligned} bw=pwetwbh=pheth

而在 YOLO V5中对横纵比的偏移进行了优化,将其变成如下:

b x = 2 σ ( t x ) − 0.5 + c x b y = 2 σ ( t y ) − 0.5 + c y b w = p w ( 2 σ ( t w ) ) 2 b h = p h ( 2 σ ( t h ) ) 2 \begin{array}{c} b_{x}=2 \sigma\left(t_{x}\right)-0.5+c_{x} \\ b_{y}=2 \sigma\left(t_{y}\right)-0.5+c_{y} \\ b_{w}=p_{w}\left(2 \sigma\left(t_{w}\right)\right)^{2} \\ b_{h}=p_{h}\left(2 \sigma\left(t_{h}\right)\right)^{2} \end{array} bx=2σ(tx)0.5+cxby=2σ(ty)0.5+cybw=pw(2σ(tw))2bh=ph(2σ(th))2

这在一定程度上限制了横纵比的偏移,YOLO V5作者所做的实验曲线如下。
在这里插入图片描述

正负样本选取

在YOLO V4的拓展基础上,YOLO V5 对正样本的选取同时加入了横纵比的限制。

r w = w g t / w a t r h = h g t / h a t r w max ⁡ = max ⁡ ( r w , 1 / r w ) r h max ⁡ = max ⁡ ( r h , 1 / r h ) r max ⁡ = max ⁡ ( r w max ⁡ , r h max ⁡ ) \begin{array}{l} r_{w}=w_{g t} / w_{a t} \\ r_{h}=h_{g t} / h_{a t} \\ r_{w}^{\max }=\max \left(r_{w}, 1 / r_{w}\right) \\ r_{h}^{\max }=\max \left(r_{h}, 1 / r_{h}\right) \\ r^{\max }=\max \left(r_{w}^{\max }, r_{h}^{\max }\right) \end{array} rw=wgt/watrh=hgt/hatrwmax=max(rw,1/rw)rhmax=max(rh,1/rh)rmax=max(rwmax,rhmax)

在这里插入图片描述
首先算出anchor和GT的横纵比的最大差距,对于最大差距在4倍以上的例子都不作为正样本采用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IP-guard产品相关端口和服务名称

数据库 SQL Server (SQLEXPRESS) 服务器 OCULAR V3 SERVER 中继器 OCULAR V3 MIDTIER SERVER 客户端 WINDOWS HELPER SERVICE 报表 OCULAR V3 REPORT SERVER web服务器 Ocular web server,OCULAR Console Web Service 云备份服务器 OCULAR File Cloud Backup Server,OCULAR Fil…

Java——迷你图书管理器(JDBC+MySQL+Apache DBUtils)

​ ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:乐趣国学的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例…

沉睡者IT - Web3的未来在哪里?

欢迎关注沉睡者IT,点上面关注我 ↑ ↑ 专家说,web3将颠覆现在的互联网 今天我们来讨论一下,web3会颠覆现在的互联网呢? 看了小编往期的作品你应该知道,如果同样的作品发在web3平台上,你将获取到收益。 那…

【笔试强训】Day 5

🌈欢迎来到笔试强训专栏 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤&#x…

强化学习泛化性 综述论文阅读 A SURVEY OF GENERALISATION IN DEEP REINFORCEMENT LEARNING

强化学习泛化性 综述论文阅读摘要一、介绍二、相关工作:强化学习子领域的survey三、强化学习中的泛化的形式3.1 监督学习中泛化性3.2 强化学习泛化性背景3.3 上下文马尔可夫决策过程3.4 训练和测试上下文3.6 应用实例3.7 更可行泛化的其他假设3.8 备注和讨论4. 强化…

SSM整合

整合的思路是: 先创建spring框架 通过spring整合spring mvc 通过spring整合mybatis 工程创建 创建Maven工程–>create for archtype–>webapp 创建项目结构 在recourses目录下创建 dbconfig.properties、log4j.properties、mysqlConfig.xml、springmvc.xml、…

css3实现一个3d楼梯动画

背景 👏👏通过给出的宽/高个数,用css3的transform以及transform-style快速的实现一个3d楼梯,速速来Get吧~ 🥇文末分享源代码。记得点赞关注收藏! 1.实现效果 2.实现步骤 定义css变量:宽w、高…

cadence SPB17.4 - allegro - disable recent Designs list

文章目录cadence SPB17.4 - allegro - disable recent Designs list概述笔记效果备注ENDcadence SPB17.4 - allegro - disable recent Designs list 概述 和csdn同学讨论问题, 他的问题如下: cadence如何在不去掉startpage的情况下只Recent Projects呢?&#xff…

【能效管理】变电站综合自动化监控系统在35kV变电站中应用

摘要:Acrel-1000变电站综合自动化系统,是我司根据电力系统自动化及无人值守的要求,总结国内外的研究和生产的先进经验,专门研制出的新一代电力监控系统。本系统具有保护、遥测、遥信、遥脉、遥调、遥控功能,可实现无人…

Lakehouse架构指南

什么是数据湖,为什么需要数据湖? 数据湖是一种存储系统,具有底层数据湖文件格式及其不同的数据湖表格式,可存储大量非结构化和半结构化数据,并按原样存储,但没有特定用途。广泛的技术和非技术数据消费者可…

第10讲:Python列表对象查操作之通过切片获取列表中的元素

文章目录1.切片获取列表中的技术要点1.1切片获取列表中的概念总结1.2.切片的语法格式以及含义3.使用切片方法获取列表中元素3.1.定义一个原始列表列表3.2.当step步长为正数时切片的案例3.3.当step步长为负数时切片的案例3.4.使用负数索引作为切片范围4.将切片后的列表赋值给新的…

【收藏】安科瑞企业微电网能效管理系统云平台演示账号

安科瑞 李亚俊 Acrel8757 1、AcrelCloud-1000变电所电力运维云平台 网址:https://acrelcloud.cn/ 演示账号:acrel 密码:123456 2、SCADA电力监控系统 网址:http://scada.acrel-eem.com/ 演示账号:acrel 密码:…

【手把手】教你玩转SpringCloud Alibaba之Nacos Config深入

1、不同环境相同配置问题-自定义Data ID配置 在实际的开发过程中,项目所用到的配置参数有的时候并不需要根据不同的环境进行区分,生产、测试、开发环境所用到的参数值是相同的。怎么解决同一服务在多环境中,引用相同的配置的问题&#xff1f…

Spring Security(7)

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~ 有时某些业务或者功能,需要在用户请求到来之前就进行一些判断或执行某些动作,就像在Servlet中的FilterChain过滤器所做的那样&#xff0c…

A Self-Attentive model for Knowledge Tracing论文笔记

原文链接和代码链接A Self-Attentive model for Knowledge Tracing | Papers With Code motivation:传统方法面临着处理稀疏数据时不能很好地泛化的问题。 本文提出了一种基于自注意力机制的知识追踪模型 Self Attentive Knowledge Tracing (SAKT)。其本质是用 Tra…

我的创作二周年纪念日

我的创作二周年纪念日 文章目录我的创作二周年纪念日机缘最初成为创作者的初心:1. 自我简介2. 日常学习过程中的记录收获在创作的过程中都有哪些收获?1. 获得了多少粉丝的关注?2. 获得了多少正向的反馈,如赞、评论、阅读量?3. 认识和哪些志同道合的领域同行?日常…

剑指Offer专项突破版(76)—— 数组中的第 k 大的数字

题目 剑指 Offer II 076. 数组中的第 k 大的数字 思路 假设有个划分函数divide: divide:将num在[l,r]范围内,按照nums[l]进行划分,返回一个数组range,划分为: 所有小于nums[l]的数:移动到nu…

nginx连接前后端分离项目 或 负载均衡映射多个服务器

nginx的两种用法: 打通前后端项目,前后端分离的项目,通过nginx建立连接 负载均衡,一台机器请求转发至多个服务器 1. 前后端分离项目,打通前后端项目 前端项目中的配置: 后端项目的ip和端口号就是正常的 …

verilog实现分频(奇数分频和偶数分频,通用版)

大家好,最近写了一些分频器的设计,发现奇数分频和偶数分频是比较常用分频效果,所以写了一个比较简单的分频代码,适用于奇数分频和偶数分频(不考虑占空比),代码已经经过测试,需要可自…

微服务框架 SpringCloud微服务架构 5 Nacos 5.7 Nacos 与 Eureka 的对比

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构5 Nacos5.7 Nacos 与 Eureka 的对比5.7.1 Nacos 注册中心细节分析5.7.2 临…