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.mzph.cn/diannao/18773.shtml

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

相关文章

第一站挺进巴中,茅仙酒带来“1+1”模式新玩法

执笔 | 尼 奥 编辑 | 扬 灵 今年春糖期间,以“盛世华章何以鉴 酱酒经典品茅仙”为主题的茅仙酒新品发布会给白酒行业留下深刻印象。这瓶传承历史、恪守匠心、创美奋进的佳酿在“茅台家族、集团出品”的品牌加持下,开启了全国化征程的新步伐。 近日&…

突破空间限制,这些远程控制软件为父母送上“手把手”的教导,解决异地办公难题,出差无忧

在现代社会,科技的飞速发展带来了诸多便利,但同时也给一些年长的父母们带来了困扰。 当父母们面对智能手机电脑等高科技产品时,他们往往感到无所适从,而子女们忙于工作、学习或其他原因,常常无法时刻陪伴在父母身边&a…

Qt6 QSslSocket 客户端设计踩坑

QSslSocket 默认自动搜索代理设置,当系统中存在代理时,执行 connectToHostEncrypted 会导致 socket error: UnsupportedSocketOperationError,具体错误是 connect error is "The proxy type is invalid for this operation"&#…

门限签名技术

私钥永远不存在 (t, n) 门限签名方案 (TSS) 是一种密码协议,允许一组 n 个参与者共同签署文档或交易,其中 t 1 个或更多参与者的任何子集都可以产生有效签名,但 t 的子集 或更少的人不能。 该方案旨在通过确保没有任何一方可以单方面生成签名…

QCC30XX如何查找本地地址码

查找本地地址段/********************************************************************** Copyright (c) 2016 - 2017 Qualcomm Technologies International, Ltd. FILE NAME sink_private_data.c DESCRIPTION This module works as a container for all private and common…

企业内部聊天软件Riot部署

ubuntu docker 简介 Riot(原Vector)是使用Matrix React SDK构建的Matrix网络聊天客户端,开源免费,功能丰富,支持私人对话,团队对话,语言视频对话,上传文件,社区互动。支持在聊天界面添加各种有趣的插件,比如RSS等各种机器人、虚拟币实时监控等。并且所有通过Riot传…

注意力机制篇 | YOLOv8改进之引入用于目标检测的混合局部通道注意力MLCA

前言:Hello大家好,我是小哥谈。注意力机制是可以帮助神经网络突出重要元素,抑制无关元素。然而,绝大多数通道注意力机制只包含通道特征信息,忽略了空间特征信息,导致模型表示效果或目标检测性能较差,且空间注意模块往往较为复杂。为了在性能和复杂性之间取得平衡,本文提…

2024年刚刚翻新前端vue面试题

1、vue中常用的指令及作用? v-text指令:用于更新标签包含的文本,它的作用跟双大括号效果是一样的v-html指令:绑定一些包含html代码的数据在视图上v-show指令:指令的取值为true/false,分别对应着显示/隐藏,改变的是元素css样式的display属性v-if指令:取值为true/false,…

【自动化运营】PlugLink 1.0开源版发布

什么是PlugLink? PlugLink,顾名思义,就是插件的链接。它旨在帮助个人和小微企业实现运营自动化,通过链接脚本、API、AI大模型等,实现全自动工作流程。你可以把PlugLink看作一个巨大的拼装积木,每一个插件都…

3.每日LeetCode-数组类,爬楼梯(Go,Java,Python)

目录 题目 解法 Go Java Python 代码地址:leetcode: 每日leetcode刷题 题目 题号70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入&#xff…

【数据结构和算法】-动态规划爬楼梯

动态规划(Dynamic Programming,DP)是运筹学的一个分支,主要用于解决包含重叠子问题和最优子结构性质的问题。它的核心思想是将一个复杂的问题分解为若干个子问题,并保存子问题的解,以便在需要时直接利用&am…

【稳定检索】2024年核能科学与材料、物理应用国际会议(NESMPA 2024)

2024年核能科学与材料、物理应用国际会议 2024 International Conference on Nuclear Energy Science and Materials, Physical Applications 【1】会议简介 2024年核能科学与材料、物理应用国际会议即将拉开帷幕,这是一场汇聚全球核能科学、材料研究及物理应用领域…

软RAID部署

目录 资源列表 基础环境 关闭防火墙 关闭内核安全机制 一、安装mdadm工具 二、磁盘分区 三、创建RAID 本文记录了软RAID的部署流程,希望能够帮到大家。 资源列表 操作系统配置主机名IP备注CentOS7.3.16112C4Gnode1192.168.207.131需要添加2块磁盘 基础环境…

文件上传漏洞简介

目录 漏洞原理 漏洞危害 利用场景 检测方法 防御方法 绕过手段 前端JS绕过 构造可解析后缀 修改Content-Type(MIME) 大小写绕过 文件头绕过 图片马 截断与特殊文件名 其他绕过 尝试绕过的步骤 漏洞原理 原理 攻击者构造恶意文件进行上传…

Springboot 开发 -- Redis 集成及配置

一、引言 Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中介。在现今的高并发、大数据量的互联网应用中,Redis 的作用愈发重要。Spring Boot 提供了对 Redis 的集成支持,使得开发者可以更加便捷地在…

低调收藏,这份MobaXterm使用指南很全面

中午好,我的网工朋友。 MobaXterm,这个名字对于我们这些经常需要在Windows环境下与Linux服务器打交道的人来说,应该并不陌生。它不仅仅是一个SSH客户端,更是一个功能强大的终端工具箱,集成了X服务器和Unix命令集&…

hivesql如何在数据量超大时避免join操作

hivesql如何在数据量超大时避免join操作 当在hive中对超大的表进行查询时,在这种情况下不能进行mapjoin,也选择不进行skewjoin或是smbjoin 。此时,针对特定的应用场景,可以设计特殊的sql避免join操作。下面给出一个典型案例&…

个人租用国外服务器的全指南

在全球化的数字时代,无论是出于业务扩展、学术研究还是个人娱乐等目的,个人用户对国外服务器的需求日益增长。选择租用国外服务器,尤其是来自科技发达地区如美国硅谷的服务器,能够享受到诸多优势。接下来,我们将详细探…

醒图及国际版 v9.9.9/v3.9.0 解锁会员(让照片栩栩如生的神奇应用)

介绍 醒图App是一款专业的照片编辑工具,旨在帮助用户高效地处理和优化照片,使其更加引人注目。这款应用程序配备了多样化的功能,包括图像增强、滤镜应用以及色彩调整等,以满足各种编辑需求。其设计了一个直观的用户界面&#xff…

全球首例光伏电场网络攻击事件曝光

快速增长的光伏发电正面临日益严重的网络安全威胁。近日,日媒报道了首个针对光伏电场的网络攻击事件。 首例公开确认的光伏电网攻击 日本媒体《产经新闻》近日报道,黑客劫持了一个大型光伏电网中的800台远程监控设备(由工控电子制造商Contec生产的Solar…