当前位置: 首页 > news >正文

yolo系列笔记(v4-v5)

YOLOv4

YOLOv4网络详解_哔哩哔哩_bilibili

网络结构,在Yolov3的Darknet的基础上增加了CSP结构。

CSP的优点

加强CNN的学习能力

去除计算瓶颈。

减少显存的消耗。

结构为:

 其实还是类似与残差网络的结构,保留下采样之前的特征和下采样之后的特征进行拼接,让模型的特征信息能够更全面。

SPP

 PAN结构

 FPN是将特征层向下累加,这样对于任意特征层来说,他是看不到其下面特征层的信息的,PAN在FPN的基础上,采取了个向上加的功能,让特征层包含的信息更全面。 有点类似RNN单向叠加的感觉。  这里注意,Yolov4将叠加操作改成了concat拼接。

优化策略

针对前作中的预测框定位的问题。

     

 如果GT真实框真好落在边界点, 预测值txty想预测这个边界点的话取值需要趋向于无穷,这显然是很难达到的,所以在v4和v5中对做了一点改进:

 问题:这里我个人觉得有点矛盾,因为用sigmoid函数的目的就是为了限制0~1(在一个cell之内)但是这么改进了之后又限制不了了,哪怕是做截断感觉也没啥意义,为啥不用一个简单的函数做映射呢?(下面会做解释)

 正负样本分配:

通过计算GT真实框与预设anchor框的IOU来判断正负样本,对于yolov3来说,只采用与GT的IOU最大的anchor作为正样本,Yolov4改成了只要满足IOU大于阈值,那么都是正样本, 这样做扩充了正样本的数量。

 这里有个改动,Yolov4提出,为了消除grid cell的敏感度,同时也为了扩展正样本数量,落在某个cell内的GT真实框还可能被其周围cell来预测,

因为现在的映射函数改成了:,所以其范围是(-1.5,1.5)相当于以左上角的点作为起点的话,预测框是可以超出一个cell的距离的, 像下图3个cell都可以对黑点这个真实框做预测,相当于扩充了正样本的数量,让预测框不被cell限制的那么死。

 YOLOV5

YOLOv5网络详解_哔哩哔哩_bilibili

 SPP->SPPF

SPP

SPPF

2个k=5的Maxpooling可以等同于一个k=9的Maxpooling,3个k+5等于K=9, SPPF和SPP效果是一样的,但是效率高很多

数据增强

Mosaic:4个拼成一个

copy paste: 将图像抠出来贴到另一张上

Rand affine :随机的缩放,平移等。

 MIXup: 调整透明度后叠加

 Augment HSV: 调整色度,饱和度等

 训练策略

 损失函数

 消除grid敏感度

这个基本和Yolov4中的一样,但Yolov5将长和宽也进行的改动,之前的容易出现指数爆炸,造成BwBh值过大,导致训练不稳定 

匹配正样本

Yolov4匹配正样本是通过IOU的阈值是否大于某个预设值来判断是否为正样本,Yolov5在v4的基础上进一步对框的长宽进行限制,下图Rmax是预测框和真实框长宽比值的最大值,当这个最大值超出限制时则将样本设置为负。

相关文章:

yolo系列笔记(v4-v5)

YOLOv4 YOLOv4网络详解_哔哩哔哩_bilibili 网络结构,在Yolov3的Darknet的基础上增加了CSP结构。 CSP的优点: 加强CNN的学习能力 去除计算瓶颈。 减少显存的消耗。 结构为: 、 其实还是类似与残差网络的结构,保留下采样之前…...

小白如何高效刷题Leetcode?

文章目录 为什么会有这样的现象?研究与学习人生而有别 如何解决困境?1. 要补的:化抽象为具体,列举找规律2. 要补的:前人总结的套路3. 与人交流探讨4. 多写总结文章 总结 明明自觉学会了不少知识,可真正开始…...

使用IDEA打jar包的详细图文教程

1. 点击intellij idea左上角的“File”菜单 -> Project Structure 2. 点击"Artifacts" -> 绿色的"" -> “JAR” -> Empty 3. Name栏填入自定义的名字,Output ditectory 选择 jar 包目标目录,Available Elements 里右击…...

《MySQL 实战 45 讲》课程学习笔记(二)

日志系统:一条 SQL 更新语句是如何执行的? 与查询流程不一样的是,更新流程还涉及两个重要的日志模块:redo log(重做日志)和 binlog(归档日志)。 重要的日志模块:redo l…...

微软亚研院提出模型基础架构RetNet或将成为Transformer有力继承者

作为全新的神经网络架构,RetNet 同时实现了良好的扩展结果、并行训练、低成本部署和高效推理。这些特性将使 RetNet 有可能成为继 Transformer 之后大语言模型基础网络架构的有力继承者。实验数据也显示,在语言建模任务上: RetNet 可以达到与…...

探索单例模式:设计模式中的瑰宝

文章目录 常用的设计模式有以下几种:一.创建型模式(Creational Patterns):二.结构型模式(Structural Patterns):三.行为型模式(Behavioral Patterns):四.并发…...

Bobo String Construction 2023牛客暑期多校训练营4-A

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;给出一字符串t&#xff0c;求一个长为n的字符串&#xff0c;使tst中包含且仅包含两个t 1<n<1000;测试样例组数<1000 思路&#xff1a;一开始很容易想到如果t里有1&#xff0c;s就全0&#xff0c;否则s就全…...

【React学习】React父子组件通讯

1. 父到子传值 在React框架中&#xff0c;父组件可以通过 props 将数据传递给子组件。子组件通过读取 props 来访问父组件传递过来的数据。 当父组件的 props 发生变化时&#xff0c;React 会自动重新渲染子组件以确保子组件中使用的数据保持同步。 父组件 import React, {…...

NASM汇编

1. 前置知识 1. 汇编语言两种风格 intel&#xff1a;我们学的NASM就属于Intel风格AT&T&#xff1a;GCC后端工具默认使用这种风格&#xff0c;当然我们也可以加选项改成intel风格 2. 代码 1. 段分布 .text: 存放的是二进制机器码&#xff0c;只读.data: 存放有初始化的…...

第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面

文章目录 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面使用 HL7 架构结构页面查看文档类型列表查看消息结构查看段结构 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面 使用 HL7 架构结构页面 通过 HL7 架构页面&#xff0c;可以导入和查看 HL7 版本 2 架构规范。…...

spring注解驱动开发(一)

1、需要导入的spring框架的依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.12.RELEASE</version></dependency>2、Configuration 设置类为配置类 3、Annota…...

Vue3搭建启动

Vue3搭建&启动 一、创建项目二、启动项目三、配置项目1、添加编辑器配置文件2、配置别名3、处理sass/scss4、处理tsx(不用的话可以不处理) 四、添加Eslint 一、创建项目 npm create vite 1.project-name 输入项目名vue3-vite 2.select a framework 选择框架 3.select a var…...

阻塞队列(模拟实现)

概念 阻塞队列是带有阻塞功能的队列 特性 当队列满的时候&#xff0c;继续入队列&#xff0c;就会出现阻塞&#xff0c;阻塞到其他线程从队列中取走元素为止 当队列空的时候&#xff0c;继续出队列&#xff0c;也会发生阻塞&#xff0c;阻塞到其他线程往队列中添加元素为止 特…...

VScode中python的相对路径与绝对路径 FileNotFoundError: [Errno 2] No such file or directory

VScode中&#xff0c;python里的相对路径是相对于当前工作目录来定位的&#xff0c;而当前的工作目录在VScode中下方的终端窗口会有提示&#xff1a; 说明此时的工作目录并非当前python文件所在的目录&#xff0c;而是C:\Users\xxxxx(你的用户名)。因此&#xff0c;使用VScode…...

Unity XML2——C#读写XML

一、XML 文件的存放位置 &#xff08;一&#xff09;只读不写的 XML ​ 放在 Resouces 或者 StreamingAssets 文件夹下&#xff0c;详见 Unity基础3——Resources资源动态加载_weixin_53163894的博客-CSDN博客。 &#xff08;二&#xff09;动态存储的 XML ​ 放在 Applica…...

带wiringPi库的交叉编译 ---宿主机x86Ubuntu,目标机ARMv8 aarch64(香橙派)

带wiringPi库的交叉编译如何进行 先交叉编译wiringPi库&#xff0c;编译出的库适合香橙派&#xff0c;这时候交叉编译可执行程序的平台和链接库的格式也是正确的&#xff0c;然后通过-I和-L来指定链接的wiringPi库的头文件和库的位置&#xff0c;但是现在还没有学习过&#xf…...

数据仓库基础知识

什么是数据仓库&#xff1f; 数仓&#xff0c;DataWarehouse&#xff0c;是一个 面向主题的、集成的、稳定的、与时间相关的 数据集合。 而这个数据集合的建立&#xff0c;是为了支持管理者的决策过程。 也就是说&#xff0c;我们通过建设数仓&#xff0c;为业务中的流程改进、…...

M 芯片的 macos 系统安装虚拟机 centos7 网络配置

centos 安装之前把网络配置配好或者是把网线插好 第一步找到这个 第二步打开网络适配器 选择图中所指位置 设置好之后 开机启动 centos 第三步 开机以后 编写网卡文件保存 重启网卡就可以了&#xff0c;如果重启网卡不管用&#xff0c;则重启虚拟机即可 “ ifcfg-ens160 ” 这…...

AcWing 3708. 求矩阵的鞍点

输入样例&#xff1a; 3 4 1 2 3 4 1 2 3 4 1 2 3 4输出样例&#xff1a; 1 4 4 2 4 4 3 4 4 #include<bits/stdc.h> using namespace std; const int N1010; int n,m,a[N][N],x[N],y[N],flag1; int main(){scanf("%d%d",&n,&m);for(int i1;i<n;i…...

web前端开发工程师的具体职责范本(合集)

web前端开发工程师的具体职责范本1 职责&#xff1a; 1.负责web前端架构的搭建&#xff0c;核心业务功能开发和核心代码编写。 2.配合产品经理&#xff0c;实现产品UI和交互方面的需求&#xff0c;持续界面优化&#xff0c;提升用户体验。 3.参与相关业务需求变更评审。 4.…...

146台储罐+10台喷淋塔,新能源项目为什么认准PPH?

在新能源材料项目的设备选型中&#xff0c;PPH正逐渐变成大多数厂家选择的一种材质。 最近美联新材料的新能源产业化项目&#xff0c;一口气向吉庆订了146台PPH贮罐、10台PPH喷淋塔&#xff0c;今天就借着这个真实项目&#xff0c;来聊一聊&#xff0c;PPH为什么能成成新能源项…...

DownGit终极指南:3分钟掌握GitHub精准下载技巧

DownGit终极指南&#xff1a;3分钟掌握GitHub精准下载技巧 【免费下载链接】DownGit github 资源打包下载工具 项目地址: https://gitcode.com/gh_mirrors/dow/DownGit 你是否曾经在GitHub上找到心仪的代码片段&#xff0c;却不得不下载整个庞大的项目仓库&#xff1f;或…...

机智云物联网边缘管理系统通过国产化硬件适配认证:实战解析边缘计算架构与生态价值

1. 项目概述&#xff1a;从“云端”到“边缘”&#xff0c;一次关键的认证意味着什么&#xff1f;最近&#xff0c;我们团队主导的“机智云物联网边缘管理系统”成功通过了某主流国产化硬件平台的适配认证。这个消息在内部技术群里传开时&#xff0c;很多同事的第一反应是&…...

2026论文降AIGC网站:11款工具实测谁才是真神器?

2026 年学术审核标准持续收紧&#xff0c;论文重复率、AIGC 检出率已经成为毕业答辩、期刊投稿的硬性门槛。随着知网、维普、Turnitin 等主流检测平台算法不断优化升级&#xff0c;对论文原创性和人工写作痕迹的要求愈发严格。面对日益严苛的审查机制&#xff0c;越来越多学生和…...

Claude Code 终端命令完整指南

引言最初是为了方便我个人学习使用Claude Code才去网络上收集各种终端命令&#xff0c;但想到可能有人同样需要知道这些命令&#xff0c;便打算将其整理发到CSDN上&#xff0c;希望能帮到大家。 有点标题党的是本文并不是真的完整指南&#xff0c;毕竟完整的命令太多了&#xf…...

新手入门教程使用Python快速配置Taotoken的OpenAI兼容API调用环境

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 新手入门教程使用Python快速配置Taotoken的OpenAI兼容API调用环境 对于刚接触大模型API的Python开发者来说&#xff0c;快速搭建一…...

从0到1:如何用MNBVC超大规模中文语料库训练你的中文大模型

从0到1&#xff1a;如何用MNBVC超大规模中文语料库训练你的中文大模型 【免费下载链接】MNBVC MNBVC(Massive Never-ending BT Vast Chinese corpus)超大规模中文语料集。对标chatGPT训练的40T数据。MNBVC数据集不但包括主流文化&#xff0c;也包括各个小众文化甚至火星文的数据…...

CANN-opbase-昇腾NPU算子开发的基础设施为什么这么重要

CANN-opbase-昇腾NPU算子开发的基础设施为什么这么重要 所有 CANN AOL 算子仓库的底层都依赖 opbase。它不提供任何算子实现&#xff0c;提供的是算子注册、编译、调度的基础设施。如果你要写自定义 Ascend C 算子&#xff0c;opbase 是绕不过去的第一步。 opbase 提供了什么组…...

DETR训练总找不到目标边界?手把手拆解Conditional DETR的cross-attention,教你精准定位

DETR训练中目标边界定位难题的深度解析与Conditional DETR实战指南 当你在训练DETR模型时&#xff0c;是否经常遇到模型在早期阶段难以准确捕捉目标边界的问题&#xff1f;比如大象的鼻子、斑马的蹄子这些关键部位总是模糊不清。这种现象背后隐藏着DETR架构中一个深层次的设计问…...

嵌入式与复杂系统安全开发实战:从威胁建模到安全编码的十大核心实践

1. 项目概述&#xff1a;为什么安全开发不再是“可选项”&#xff1f;干了十几年软件开发&#xff0c;从早期的桌面应用到后来的Web服务&#xff0c;再到近几年深度参与的嵌入式系统&#xff0c;我最大的感触就是&#xff1a;安全这件事&#xff0c;已经从“锦上添花”变成了“…...