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

浅谈yolov5中的anchor

默认锚框

在这里插入图片描述

YOLOv5的锚框设定是针对COCO数据集中大部分物体来拟定的,其中图像尺寸都是640×640的情况。

anchors参数共3行:

第一行是在最大的特征图上的锚框

第二行是在中间的特征图上的锚框

第三行是在最小的特征图上的锚框

在目标检测中,一般希望在大的特征图上去检测小目标,因此锚框设定较小。一般希望在小的特征图上去检测大目标,因此锚框设定较大。

YOLOv5的作者发现相同类别的目标实例具有相似的gt长宽比,因此从数据集中预先准备几个几率比较大的bounding box,再以它们为基准进行预测。

思考一个问题:我们自己的数据集和COCO数据集中的物体情况相似程度如何呢?默认anchors还能否适应我们的需求呢?

很显然是不能的!

因此YOLOv5中提出了一个自适应锚框的思想,根据目标的特征图上的分布情况自适应地调整锚框的大小和尺度。

思想:传统的目标检测方法通常使用固定大小和尺度的锚框来进行目标检测,但这会导致在处理不同尺度、不同大小的目标时效果不佳。而自适应锚框的思想是在目标检测网络中引入一些机制,使得模型能够根据目标在特征图上的分布自动适应地调整锚框的大小和尺度。

  • K-means聚类算法

在无标签数据集上执行的最直接任务之一,是在数据集中找到彼此相似的数据组。

K-means存储用于定义聚类的k个质心。如果哪一个点离着哪个质心最接近,则该点被视为位于哪个聚类中。

K-means通过交替进行下面两步来找到最佳质心:

1、根据当前质心将数据点划分到某聚类中

2、根据当前数据点计算聚类的质心

在这里插入图片描述

先初始化k个质心,将各个点划分到现有的簇,然后将所有簇取平均值确定新的质心,迭代之前的操作。

在这里插入图片描述

YOLOv5锚框生成过程:

在YOLOv5模型训练时,默认的做法是它会自动去计算下默认的anchors与你数据集中所有目标的best possible recall,如果小于0.98就会根据你自己数据集的目标去重新聚类生成anchors,反之使用默认的anchors。

具体来说,YOLOv5会首先根据训练集的目标框尺寸信息,选择一个K值,表示聚类的簇数。然后使用K-means或其他聚类算法对目标框的尺寸进行聚类,将相似尺寸的目标框聚到同一个簇中。每个簇的中心点就成为了一个anchor,使用这些重新聚类得到的anchors作为候选框的基准。

通过重新聚类anchor,可以更好地适应当前训练集的目标分布,提高模型的检测性能。但是训练过程中重新聚类anchor是一个耗时的操作。

kmeans_anchor函数:
在这里插入图片描述

相关文章:

浅谈yolov5中的anchor

默认锚框 YOLOv5的锚框设定是针对COCO数据集中大部分物体来拟定的,其中图像尺寸都是640640的情况。 anchors参数共3行: 第一行是在最大的特征图上的锚框 第二行是在中间的特征图上的锚框 第三行是在最小的特征图上的锚框 在目标检测中,一…...

RabbitMQ-工作队列

接上文 RabbitMQ-死信队列 1 工作队列模式 xx模式只是一种设计思路,并不是指具体的某种实现,可理解为实现XX模式需要怎么去写业务代码。 之前的是简单的一个消费者一个生产者模式,下边是一个生产者多个消费者的情况: 这里先定义两…...

网站安全防护措施

网络安全的重要性在网站和app的发展下已经被带到了全新的高度,已然成为各大运维人员工作里不可或缺的环节,重视网络安全能给我们的网站带来更好的口碑,也能为企业生产创造更稳定的环境。下面我们一起来看看有哪些是我们运维人员能够做的。 1、…...

C++的继承基础和虚继承原理

1.继承概念 “继承”是面向对象语言的三大特性之一(封装、继承、多态)。 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性基础上进行扩展,增加功能&…...

第三章:最新版零基础学习 PYTHON 教程(第十三节 - Python 运算符—Python 中的运算符函数 - 套装2)

Python 中的运算符函数 - 套装1 本文将讨论更多功能。 1. setitem(ob, pos, val):- 该函数用于在容器中的 特定位置分配值。操作 – ob[pos] = val 2. delitem(ob, pos):- 该函数用于删除容器中 特定位置的值。 操作 – del ob[pos] 3. getitem(ob, pos)&#x...

Linux网络编程:详解https协议

目录 一. https协议概述 二. 中间人截获 三. 常见的加密方法 3.1 对称加密 3.2 非对称加密 四. 数据摘要和数据签名的概念 五. https不同加密方式的安全性的探究 5.1 使用对称加密 5.2 使用非对称加密 5.3 非对称加密和对称加密配合使用 六. CA认证 七. 总结 一.…...

LLVM IR 文档 专门解释 LLVM IR

https://llvm.org/docs/LangRef.html#phi-instruction...

免费服务器搭建网盘教程,给电脑挂载500G磁盘

免费服务器搭建网盘教程,给电脑挂载500G磁盘 请勿注册下载,注册下载是空白文件,使用免登录下载 免费搭建网盘教程,给电脑挂载500G磁盘 其他按照下载教程操作教程代码: 下载下来的文件pancn 文件拖到您创建的容器 手机的话点击…...

【Java】微服务——Nacos配置管理(统一配置管理热更新配置共享Nacos集群搭建)

目录 1.统一配置管理1.1.在nacos中添加配置文件1.2.从微服务拉取配置1.3总结 2.配置热更新2.1.方式一2.2.方式二2.3总结 3.配置共享1)添加一个环境共享配置2)在user-service中读取共享配置3)运行两个UserApplication,使用不同的pr…...

QT基础入门——信号和槽机制(二)

前言: 在Qt中,有一种回调技术的替代方法:那就是信号和槽机制。当特定事件发生时,会发出一个信号。Qt的小部件中有许多预定义的信号,但我们可以将小部件子类化,向它们添加自定义的信号。槽是响应特定信号的…...

黑豹程序员-架构师学习路线图-百科:JavaScript-网页三剑客

文章目录 1、为什么需要JavaScript2、发展历史3、什么是JavaScript3.1、JavaScript介绍3.2、JavaScript内部结构3.3、主要功能 4、TypeScript 1、为什么需要JavaScript 前面我们已经了解了网页三剑客的HTML和CSS,已经明确了它们的职责。 HTML负责页面的展现&#x…...

三、互联网技术——IP子网划分

文章目录 一、IP地址基础1.1 IP地址分类1.2 网络掩码/子网掩码 二、子网划分VLSM2.1 为什么要进行子网划分2.2 怎么进行子网划分2.3 子网划分原理2.4 例题一2.5 例题二2.6 例题三2.6 例题四2.7 例题五2.8 例题六2.9 例题七2.10 例题八 三、无类域间路由CIDR3.1 例题一3.2 例题二…...

TinyWebServer学习笔记-log

为什么服务器要有一个日志系统? 故障排查和调试: 在服务器运行期间,可能会发生各种问题和故障,例如程序崩溃、性能下降、异常请求等。日志记录了服务器的运行状态、错误信息和各种操作,这些日志可以用来快速定位和排查…...

【kubernetes】CRI OCI

1 OCI OCI(Open Container Initiative):由Linux基金会主导,主要包含容器镜像规范和容器运行时规范: Image Specification(image-spec)Runtime Specification(runtime-spec)runC image-spec定义了镜像的格式,镜像的格式有以下几…...

竞赛 机器视觉opencv答题卡识别系统

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 答题卡识别系统 - opencv python 图像识别 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分…...

Youtube视频下载工具分享-油管视频,音乐,字幕下载方法汇总

YouTube视频下载方法简介 互联网上存在很多 YouTube 下载工具,但我们经常会发现自己收藏的工具没过多久就会失效,我们为大家整理的这几种方法,是存在时间较久并且亲测可用的。后续如果这些工具失效或者有更好的工具,我们也会分享…...

【算法练习Day11】滑动窗口最大值前 K 个高频元素

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 滑动窗口最大值前 K 个高频…...

华为云HECS云服务器docker环境下安装nginx

前提:有一台华为云服务器。 华为云HECS云服务器,安装docker环境,查看如下文章。 华为云HECS安装docker-CSDN博客 一、拉取镜像 下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest ) docker pull nginx查看镜像 dock…...

GET 和 POST的区别

GET 和 POST 是 HTTP 请求的两种基本方法,要说它们的区别,接触过 WEB 开发的人都能说出一二。 最直观的区别就是 GET 把参数包含在 URL 中,POST 通过 request body 传递参数。 你可能自己写过无数个 GET 和 POST 请求,或者已经看…...

机器学习(监督学习)笔记

目录 总览笔记内容线性回归梯度下降特征缩放多输出线性回归 逻辑回归二分类与逻辑回归分类任务的性能指标(召回率,精度,F1分数等)支持向量机SVMK近邻朴素贝叶斯分类器朴素贝叶斯分类器进阶多分类逻辑回归二分类神经网络多分类神经…...

科普rabbitmq,rocketmq,kafka三者的架构比较

对比 架构对比 从架构可以看出三者有些类似,但是在细节上有很多不同。下面我们就从它们的各个组件,介绍它们: RabbitMQ,是一种开源的消息队列中间件。下面是RabbitMQ中与其相关的几个概念: 1.生产者(P…...

加密货币交易技巧——地利(二)

EMA指标 针对资金体量大的代币,做现货交易或低倍合约,可参考以下指标: 1.指标介绍:EMA,移动平均线指标,这里只分享中长线用法,非常实用且准确率超高 2.适用群体:适用于现货或低倍…...

服务网关Gateway_微服务中的应用

没有服务网关 问题: 地址太多安全性管理问题 为什么要使用服务网关 网关是微服务架构中不可或缺的部分。使用网关后,客户端和微服务之间的网络结构如下。 注意: 网关统一向外部系统(如访问者、服务)提供REST API。在Sp…...

2G大小的GPU对深度学习的加速效果如何?

训练数据情况 总共42776张224*224*3张图片 Found 42776 files belonging to 9 classes. Using 12833 files for training. 模型参数情况 Total params: 10,917,385 Trainable params: 10,860,745 Non-trainable params: 56,640 batch-size:12 GPU信息 NVIDIA GeForce GT 7…...

intel 一些偏门汇编指令总结

intel 汇编手册下载链接:https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html LDS指令: 手册中可以找到 位于 3-588 根据手册内容猜测:lds r16 m16:16 的作用,是把位于 [m16:16] 内存地址的数…...

python 多个proto文件import引用时出现ModuleNotFoundError错误

问题描述 my_proto文件夹里有两个proto文件,book.proto想要引用person.proto文件中的Person,如下 book.proto syntax "proto2";import "person.proto"; // 导入person.proto文件message Book {optional string name 1;optional …...

C语言图书管理系统

一、 系统概述 图书管理系统是一个用C语言编写的软件系统,旨在帮助图书馆或图书机构管理其图书馆藏书和读者信息。该系统提供了一套完整的功能,包括图书录入、借阅管理、归还管理、读者管理、图书查询、统计报表等。 二、 系统功能 2.1 图书录入 管理…...

归并排序及其非递归实现

个人主页:Lei宝啊 愿所有美好如期而遇 目录 归并排序递归实现 归并排序非递归实现 归并排序递归实现 图示: 代码: 先分再归并,像是后序一般。 //归并排序 void MergeSort(int* arr, int left, int right) {int* temp (int…...

【kubernetes】kubernetes中的Controller

1 什么是Controller? kubernetes采用了声明式API,与声明式API相对应的是命令式API: 声明式API:用户只需要告诉期望达到的结果,系统自动去完成用户的期望命令式API:用户需要关注过程,通过命令一…...

RabbitMQ-死信队列

接上文 RabbitMQ-java使用消息队列 1 死信队列简介 死信队列模式实际上本质是一个死信交换机绑定的死信队列,当正常队列的消息被判定为死信时,会被发送到对应的死信交换机,然后再通过交换机发送到死信队列中,死信队列也有对应的消…...

网站开发filter/深圳营销型网站定制

Jdevloper资料,绝对经典!!!链接:http://www.itpub.net/854062,1.html来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/39335/viewspace-350967/,如需转载,请注明出处,…...

枣庄市庄里水库建设管理处网站/网络视频营销

CPrimer第五版 习题答案 【总目录】:https://blog.csdn.net/Dust_Evc/article/details/114334124 练习4.1 表达式 5 10 * 20 / 2 的求值结果是多少? 105。 练习4.2 根据4.12节中的表,在下述表达式的合理位置添加括号,使得添加括…...

做名片最好的网站是哪个/百度网站入口链接

惠普电脑如何设置光驱启动呢惠普hp pavilion g4 购买之后一直使用很好,最近重新安装系统想设置光盘启动。发现按照常规的F2 F12 del 等都不能进入Bios。最后才发现原来HP进入BIOS的.键是F10,下面是小编为大家收集的资料,一起来看看吧。惠普…...

做营销最好的网站源码/百度安装到桌面

在安装好Maven之后&#xff0c;默认的~/.m2目录下是没有maven仓库配置文件settings.xml的&#xff0c;默认使用的是官方的仓库&#xff0c;访问速度会非常慢&#xff0c;我们需要配置下国内的仓库。 创建~/.m2/settings.xml文件&#xff0c;文件内容如下&#xff1a; <?xm…...

招商网站建设方案/seo项目分析

作者&#xff1a;王继顺 宝尊电商 DBA&#xff0c;主要负责数据库监控告警以及自动化平台的设计开发工作&#xff0c;擅长数据库性能调优、故障诊断。 背景 随着公司各个环境的服务器数量增加&#xff0c;部署有多套 Prometheus&#xff08;包括生产、测试、Tidb、Kubernetes …...

企业做网站的坏处/网站建设的步骤

Zend Framework学习日记(1)--环境搭建篇 &#xff08;1&#xff09;开发工具 Zend Framework框架&#xff1a;http://framework.zend.com/download/latest 包含2个目录bin和library&#xff0c;bin目录里面有zf命令行工具&#xff08;包括Windows和Mac OS X平台&#xff09;&am…...