YOLOV10阅读总结

GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection

YOLOv10 - Ultralytics YOLO Docs

https://arxiv.org/pdf/2405.14458 论文地址

最近yolo又出了个yolov10了,不得不感慨CV是真卷,毕竟yolov9也才没多久。记录一下阅读笔记。

目录

方法

1.双标签分配 dual label assignments:

2.模型设计

2.1 Lightweight classification head

2.2 Spatial-channel decoupled downsampling

2.3 Rank-guided block design.

2.4 Large-kernel convolution

2.5 Partial self-attention (PSA)

结果:


方法

主要特点总结:

  • 7*7 conv,DW,PW,
  • partial slef-attention,
  • one2many && one2one head(nms free),
  • Rank-guided block

这就是网络的结构了,前面的backbone和PAN都和yolos差不多。核心的特点是:

1.双标签分配 dual label assignments:

one-to-many head:一个gt对应了多个正样本候选预测bbox。

one-to-one head:一个gt对应了一个正样本候选预测bbox,避免NMS.

one-to-many head 和one-to-one head,大概逻辑是,以前的yolo大多都是anchor-based,需要后处理NMS,这必然需要计算资源和时间,这里他在训练的时候把one-to-many head 和one-to-one head同时一起训练,而再推理的时候只使用one-to-one head做推理,那么可以避免NMS。但是呢one-to-one head的训练效果一般都不如one-to-many head,所以作者采用了one-to-many head 去监督one-to-one head,让它向one-to-many学习,效果也会不错。

2.模型设计

2.1 Lightweight classification head

作者认为分类是很简单的任务,难度小,不需要像回归头那样那么大的参数量,所以简化了一下。

2.2 Spatial-channel decoupled downsampling

作者认为:传统的YOLO模型使用3x3标准卷积,并以步长2来实现空间下采样和通道转换(从C到2C)。这种方法计算量较大。作者采用先使用PW卷积来调整通道维度,然后再使用DW卷积来执行空间下采样。从而减少参数量和提高速度。

2.3 Rank-guided block design.

  1. YOLO模型通常会在所有阶段使用相同的基本构建块,如YOLOv8中的瓶颈块。

  2. 作者使用"内在秩"分析了每个阶段的冗余度。结果显示,更深的阶段和更大的模型更容易存在更多的冗余。

  3. 这表明对所有阶段都应用相同的块设计可能是次优的,无法达到最佳的容量效率权衡。

  4. 为解决这个问题,作者提出了一种基于秩的块设计方案,使用更紧凑的架构设计来降低冗余的阶段的复杂度。

  5. 具体来说,作者提出了一种紧凑的翻转块(CIB)结构,它利用廉价的深度卷积进行空间混合,使用高效的逐点卷积进行通道混合。

  6. 接着,作者提出了一种基于秩的块分配策略,在保持竞争力容量的同时实现更高的效率。

  7. 这个策略会根据各阶段的内在秩排序,逐步将领先阶段的基本块替换为CIB,只要性能不降低就会一直替换下去。

  8. 通过这种自适应的紧凑块设计,可以在不影响性能的情况下实现更高的效率。​​​​​​​​​​​​​​

2.4 Large-kernel convolution

作者认为:

  1. 使用大卷积核深度卷积是一种有效的方法,可以增大模型的感受野,提高性能。

  2. 但是如果在所有阶段都使用大卷积核,可能会对用于检测小目标的浅层特征造成污染,同时也会引入较大的I/O开销和延迟。

  3. 因此,作者提出在紧凑的翻转块(CIB)中,仅在深层阶段使用大卷积核深度卷积。

  4. 具体来说,就是将CIB中第二个3x3深度卷积的核大小增加到7x7。

  5. 同时,作者还使用结构重参数化技术,添加了一个额外的3x3深度卷积分支,以缓解优化问题,但不增加推理开销。

  6. 随着模型尺寸的增大,其感受野自然会扩大,使用大卷积核的收益也会减小。

  7. 因此,作者只在小模型规模中采用大卷积核,随着模型变大,逐步放弃使用大卷积核。

2.5 Partial self-attention (PSA)

  1. Self-attention因其出色的全局建模能力,在各种视觉任务中广泛应用。但是它也存在高计算复杂度和高内存开销的问题。

  2. 针对注意力头的冗余性,作者提出了一种高效的PSA模块设计。

  3. 具体来说,PSA先将特征沿通道方向均等划分为两部分,只将其中一部分输入到由MHSA和FFN组成的NPSA块中。

  4. 两部分特征经过NPSA块后再进行拼接和1x1卷积融合。

  5. 同时,作者还采取了一些措施来进一步提高PSA的效率,如调整MHSA中query、key和value的维度比例,以及用BatchNorm替代LayerNorm。

  6. 此外,PSA模块仅置于最低分辨率的Stage 4之后,避免self-attention的二次复杂度带来的过多开销。

  7. 这种方式可以在保持低计算成本的情况下,将self-attention的全局表示学习能力引入到YOLO模型中,从而提高模型性能。

结果:

个人感觉,可能存在overfit的情况!!!

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

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

相关文章

基于Java实现的图书管理系统

前言:该图书管理系统实现了查找、添加、删除、显示、借阅、归还等功能,分为两个用户群体:管理者和普通用户。使用了类与对象,封装继承多态,抽象类和接口等Java基础知识。 一.思路 面向对象三部曲:找对象&…

西湖大学提出AIGC检测框架,精准识别AI撰写的文稿

近年来人工智能技术突飞猛进,尤其是大语言模型的出现,让AI具备了创作文章、小说、剧本等内容的能力。 AI代写,已经逃不过老师、编辑、审稿人的火眼金睛了。但让AI仅改写部分片段,就安全了么? 针对检测AI改写的片段&a…

整理了六个正规靠谱的兼职赚钱软件,适合普通人做的兼职副业~

​随着互联网时代的到来,越来越多的人选择通过互联网赚钱。在这篇文章中,我们将探讨一些可以在网上长期赚钱的方法。 在网络上面其实有很多的赚钱方法,尽管方法很多,但是对于一些网络新手,刚进入互联网圈子不久的伙伴…

ES升级--04--SpringBoot整合Elasticsearch

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 SpringBoot整合Elasticsearch1.建立项目2.Maven 依赖[ES 官方网站:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.8/index.html](…

使用python绘制一个五颜六色的爱心

使用python绘制一个五颜六色的爱心 介绍效果代码 介绍 使用numpy与matplotlib绘制一个七彩爱心! 效果 代码 import numpy as np import matplotlib.pyplot as plt# Heart shape function def heart_shape(t):x 16 * np.sin(t)**3y 13 * np.cos(t) - 5 * np.cos…

【RabbitMQ】SpringAMQP--消息转换器

SpringAMQP–消息转换器 测试发送Object类型消息 1.声明队列 Configuration public class FanoutConfig {Beanpublic Queue objectQueue(){return new Queue("object.queue");} }运行消费者后: 2.发送消息 RunWith(SpringRunner.class) SpringBootTes…

POLARDB:新零售用户MySQL上云最佳选择

什么是云数据库POLARDB? POLARDB是阿里云自主研发的最新一代RDS关系型数据库,是特别针对互联网场景设计的Cloud-Native 云原生数据库。POLARDB for MySQL版本,在提供100%兼容MySQL5.6/8.0的关系型事务处理ACID特性之上,能够提供完…

如何让社区版IDEA变得好用

如何让社区版IDEA变得好用 背景 收费版的idea功能非常强大,但是收费;社区版的免费,但是功能被阉割了。如何才能让社区版Idea变得好用,一、打开项目前进行全局配置;二,寻求各种插件的支持。在经过全局配置…

迅睿CMS邮箱设置QQ邮箱为例

邮箱设置 1、服务器地址两个,普通与企业。 普通:ssl://smtp.qq.com企业:ssl://smtp.exmail.qq.com 2、端口号为:465 3、邮箱账号:填写自己的QQ邮箱作为发布服务器。 4、邮箱密码:到QQ邮箱账号中获取“…

Git学习篇

目录 使用命令导入项目 使用命令导入项目 1. 使用git init 命令初始化一个新的Git仓库。 git init 是 Git 命令,用于初始化一个新的 Git 仓库。当您想要开始跟踪一个新项目的版本控制时,可以运行 git init 命令来初始化一个空的 Git 仓库。 如果出现以下…

Windows电脑高颜值桌面便利贴,便签怎么设置

在这个看颜值的时代,我们不仅在衣着打扮上追求时尚与美观,就连电脑桌面也不愿放过。一张唯美的壁纸,几款别致的小工具,总能让我们的工作空间焕发出不一样的光彩。如果你也热衷于打造高颜值的电脑桌面,那么,…

用docker搭建的Vulfocus镜像管理界面没有镜像可以拉取解决办法

ps:截止到今天2023.4.2,kali和vps的docker拉取的vulfocus镜像会有版本的区别,虽然都是拉取的最新版,vps上镜像为3个月以前,kali上为16个月以前,所以在修改 views.py 文件时,可能会发现文件内容不…

国产化服务器开启NTP功能并向NTP时钟服务器同步

1.备份/etc/chrony.conf文件; cp -rp /etc/chrony.conf /etc/chrony.conf.bak.20240522 2.修改chrony.conf文件,增加NTP时钟信息。(客户端填写时钟同步服务器的IP地址或者域名,我这里写的IP地址。下面Allow NTP Client是只允许…

易备数据备份软件: 快速备份 MySQL\SQL Server\Oracle\泛微 OA 数据库

易备数据备份软件支持对 SQL Server、Oracle、MySQL、PostgreSQL、MariaDB、泛微 OA 等数据库进行快速备份,备份过程不会对任何服务造成中断。 使用一份授权,可以备份无限量的数据库,不管数据库服务器是否在本机、本地网络、或是远程网络。可…

文心智能体平台 | 想象即现实

目录 文心智能体平台介绍平台简介通过平台能做什么平台的优势智能体介绍智能体类型AI 插件介绍 动手创建一个智能体访问平台并进行账号注册根据适合的方式选择智能体类型快速创建智能体智能体个性化模块配置 总结注意事项我的智能体 文心智能体平台介绍 平台简介 文心智能体平…

1、C++编程概述

文章目录 一、基本概念二、数据的表示及运算计算机中数据表示进制间相互转化二进制计算规则 三、计算机数据的存储单位四、机器数和码制五、机器数运算机器数的加减运算机器数的乘除运算 面向对象编程语言把事物看成是具有属性和行为的对象,然后通过抽象找出属于同一…

共筑信创新生态:DolphinDB 与移动云 BC-Linux 完成兼容互认

近日,DolphinDB 数据库软件 V2.0 与中国移动通信集团公司的移动云天元操作系统 BC-Linux 完成兼容性适配认证。经过双方共同严格测试,DolphinDB 性能及稳定性等各项指标表现优异,满足功能及兼容性测试要求。 此次 DolphinDB 成功通过移动云 B…

AWS 高防和阿里云高防深度对比

随着网络攻击的不断增加,企业对于网络安全的需求也越来越高。在这种情况下,高防护服务成为了企业网络安全的重要组成部分。AWS和阿里云作为全球领先的云计算服务提供商,都提供了高防护服务,但它们之间存在着一些差异。我们九河云一…

如何让Google快速收录?

要让Google快速收录你的网站,可以考虑使用GSI服务,这是一种专门设计来加速网站被Google搜索引擎收录的服务,下面详细解释GSI服务的基本原理和具体好处: GSI服务通过一种名为GPC爬虫池的系统实现,这个系统是基于对Goog…

ABAP Json解析案例

ABAP解析返回的JSON 案例 DATA:LTOKEN TYPE STRING.DATA: LL_LINES(10),"行数LL_TABIX(10),"循环标号LL_PECNT TYPE P LENGTH 6 DECIMALS 2, "百分比LL_PECET(6),"百分数LL_TEXT(40)."消息CLEAR: LL_LINES,LL_TABIX,LL_PECNT,LL_PECET,LL_TEXT.* …