YOLO-MS 论文解读

paper:YOLO-MS: Rethinking Multi-Scale Representation Learning for Real-time Object Detection

official implementation:https://github.com/fishandwasabi/yolo-ms

背景

尽管已经取得了很好的性能,但识别不同尺度的物体仍是实时目标检测模型面临的一个基本挑战。这促使我们设计一个鲁棒的编码器架构来学习更具表达能力的多尺度特征表示。

本文的创新点

本文没有引入新的训练或优化技术,而是通过学习更丰富的多尺度特征表示来改进实时目标检测模型。这使得我们的方法与之前的工作有很大的不同。具体来说,我们从两个新的角度来思考编码多尺度特征的实时目标检测

  • 从局部的角度来看,我们设计了一个具有简单而有效的层次特征融合策略的MS-Block。受Res2Net的启发,我们在MS-Block中引入了多个分支来进行特征提取,但不同的是,我们使用了一个带有深度卷积的inverted bottleneck block,从而可以有效地使用大卷积核。
  • 从全局的角度来看,我们提出随着网络的深入,逐渐增加卷积核大小。我们在浅层中使用小卷积核来更高效地处理高分辨率的特征。另一方面,我们在深层采用大卷积核来捕获更大范围的信息。

方法介绍

Multi-Scale Building Block Design

受Res2Net(具体介绍见https://blog.csdn.net/ooooocj/article/details/122430069)的启发,本文提出了一种新的具有层次特征融合策略的block,称为MS-Block,以提高实时目标检测模型在保持推理速度的同时提取多尺度特征的能力。

具体结构如图2(c)所示。假设 \(X\in R^{H\times W\times C}\) 为输入特征,经过1x1卷积后 \(X\) 的通道数增加到了 \(n\times C\)。然后我们将 \(X\) 沿通道分成 \(n\) 组,记为 \(\{X_{i}\},i\in 1,2,3...,n\)。为了降低计算成本 \(n\) 取3。除了 \(X_{1}\) 外,其它每组都经过一个inverted bottleneck layer,表示为 \(IB_{k\times k}(\cdot)\),其中 \(k\) 是kernel size,最终得到 \(Y_{i}\)。数学表示如下

根据这个公式,我们不将反向瓶颈层连接到 \(X_{1}\),而是让它作为一个cross-stage connection,并保留来自前一层的信息。最后,我们将所有的输出拼接起来,并用一个1×1卷积来进行所有splits之间的交互,其中每个都编码了不同尺度的特征。这个1x1卷积也在网络更深时用来调整通道数。

Heterogeneous Kernel Selection Protocol

除了building block的设计之外,作者还从宏观的角度深入研究了卷积的使用。以往的实时目标检测模型在不同的stage采用kernel大小相同的卷积,但作者认为这不是提取多尺度语义信息的最佳选择。 

在金字塔结构中,从浅层阶段中提取的高分辨率特征通常用于捕获细粒度的语义,并用于检测小目标。相反,来自网络较深阶段的低分辨率特征被用来捕获高级语义,并用于检测大目标。如果我们在所有的stage统一都采用小核卷积,深层的有效感受野(Effective Receptive Field, ERF)是有限的,影响了大目标的检测性能。在每个stage加入大核卷积可以解决这个问题。但是,具有大ERF的大核可以编码更广泛的区域,这增加了在小目标区域之外包含污染信息的概率,并降低了推理速度。

因此,本文提出在不同的阶段利用不同大小的卷积来帮助捕获更丰富的多尺度特征。具体来说,我们在第一个stage采用最小的卷积核,在最后一个stage采用最大的卷积核,在中间的stage中逐步增加卷积核的大小。这个策略可以同时提取fine-grained和coarse-grained语义信息,增强了编码器的多尺度特征表示能力。

如图3所示,encoder中从浅层到深层的 \(k\) 值分别为3、5、7、9。作者称之为Heterogeneous Kernel Selection(HKS)Protocal。HKS方案能够增加深层的感受野,而不会对浅层有任何影响。此外,HKS不仅有助于编码更丰富的多尺度特征,还保证了高效的推理。

如表1所示,将大核卷积应用于高分辨率特征的计算成本很高。但HKS方案在低分辨率特征上采用了大核卷积,因此与在所有阶段使用大核卷积相比,大大降低了计算成本。实践中我们发现,使用HKS方案的YOLO-MS实现了与仅使用3×3深度卷积的网络几乎相同的推理速度。

 

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

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

相关文章

【Mysql】硬盘性能压测(Sysbench工具)

1、IOPS和吞吐量介绍 IOPS(每秒输入/输出操作数):是衡量存储设备每秒能够执行的输入/输出操作的数量。对于数据库等需要频繁读写的应用程序而言,IOPS 是一个关键的性能指标。更高的 IOPS 意味着存储设备能够处理更多的读写请求&am…

检索增强生成(RAG)技术:实现流程、作用及应用案例

一. RAG简介 在自然语言处理(NLP)领域中,检索增强生成(Retrieval-Augmented Generation, RAG)技术巧妙地结合了信息检索与神经网络生成模型的力量,通过在生成过程中引入相关的外部信息,实现了在…

【WEEK4】 【DAY5】AJAX - Part Two【English Version】

2024.3.22 Friday Following the previous article 【WEEK4】 【DAY4】AJAX - Part One【English Version】 Contents 8.4. Ajax Asynchronous Data Loading8.4.1. Create User.java8.4.2. Add lombok and jackson support in pom.xml8.4.3. Change Tomcat Settings8.4.4. Mo…

谷粒商城 - 前端基础

1.前端技术栈 2.ES6 2.1简介 2.2 let 与 const <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Doc…

自动驾驶感知新范式——BEV感知经典论文总结和对比(一)

自动驾驶感知新范式——BEV感知经典论文总结和对比&#xff08;一&#xff09; 博主之前的博客大多围绕自动驾驶视觉感知中的视觉深度估计&#xff08;depth estimation&#xff09;展开&#xff0c;包括单目针孔、单目鱼眼、环视针孔、环视鱼眼等&#xff0c;目标是只依赖于视…

[金三银四] 操作系统上下文切换系列

图源&#xff1a; https://zhuanlan.zhihu.com/p/540717796 文章目录 2.11 cpu 的上下文切换2.12 协程的上下文切换2.13 线程的上下文切换2.14 进程的上下文切换2.15 中断上下文切换2.16 什么时候会发生进程的上下文切换2.17 什么时候会发生线程的上下文切换2.18 什么时候会发生…

前缀和(一)

前缀和 一维前缀和数组 假设有一个数组为a [ n ] , 另一个数组为s [ n ] . 其中 s [ j ] a[1] a[ 2 ] ......a[ j-1] a [ j ] 。--->s[ j ]表示a数组从第一个元素到第 j 个元素之和&#xff0c;那么我们则就称 s 数组为前缀和数组 例题&#xff1a;前缀和 链接&#xff1a;…

遥感原理与应用—绪论

一、关于基本概念与对应的英文 遥感&#xff1a;Remote Sensing 遥测&#xff1a;Telemetry&#xff0c;对被测物体某些运动参数和性质进行远距离测量的技术&#xff0c;分为接触测量与非接触测量&#xff0c;对于RS的概念&#xff0c;遥测探测的目标显得狭隘了一些&#xff…

AI女朋友 -- 一个傲娇女友,嘴上刻薄但内心关心你

文章目录 前言一、成果展示 1、ai女友2、留言板二、实现思路三、难点问题四、总结 前言 在免费API寻找过程中&#xff0c;发现了ai女友的接口&#xff0c;打算从这个接口入手&#xff0c;做出给人一种有女朋友的、温柔的、亲近的、容易给的感觉&#xff01; 一、成果展示 1、A…

Git bash获取ssh key

目录 1、获取密钥 2、查看密钥 3、在vs中向GitHub推送代码 4、重新向GitHub推送修改过的代码 1、获取密钥 指令&#xff1a;ssh-keygen -t rsa -C "邮箱地址" 连续按三次回车&#xff0c;直到出现类似以下界面&#xff1a; 2、查看密钥 路径&#xff1a;C:\U…

FreeCAD傻瓜教程之基准面的构建-在实体的表面上新建坐标、倾斜的平面、附加不同的台阶、旋转体等

目的&#xff1a;学会在已有模型的不同剖面上建立新的坐标系&#xff0c;并绘图&#xff1b;使得新图形仍然作为同一个零件实体的构件。 零、需求举例 在下列模型中&#xff0c;我们要在圆杆的顶部增加一个把手&#xff0c;如果点击圆杆顶部&#xff0c;则仅能在顶部圆形所在…

JVM虚拟机栈

虚拟机栈 虚拟机栈概述 栈是运行时的单位&#xff0c;而堆是存储的单位。 栈解决程序的运行问题&#xff0c;即程序如何执行&#xff0c;或者说如何处理数据。堆解决的是数据存储的问题&#xff0c;即数据怎么放&#xff0c;放在那儿。 虚拟机栈的基本内容 Java虚拟机栈 Java…

瑞吉外卖实战学习--登录功能的开发

登录功能的开发 前端1、创建实体类Employee和employee表进行映射,可以直接导入资料中提供的实体类1.1、字段名称对应上&#xff0c;有下划线的使用驼峰对应&#xff0c;因为在配置文件中进行了配置1.2、employee 文件 2、创建Controller、Service、Mapper2.1、Mapper文件2.2、定…

Windows复现SiamCAR代码遇到的报错与解决方法

一、环境基础 Windows10以上 已装Anaconda 支持GPU 已经gitclone:https://github.com/HonglinChu/SiamTrackers 二、遇到的报错 1. No module named pycocotools._mask 方案一&#xff1a;加载非常慢 conda install -c conda-forge pycocotools 方…

智慧物联-能源分析平台

物联能源分析平台是为了满足企业对能源管理和节能减排的需求而开发的一套在线平台。随着能源问题日益凸显&#xff0c;企业对能源的使用和管理面临着越来越大的挑战。因此&#xff0c;开发一个能够帮助企业实时监测、分析和优化能源消耗的平台变得尤为重要。 随着工业化和城市…

力扣3. 无重复字符的最长子串

Problem: 3. 无重复字符的最长子串 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.川建一个set集合存储最长的无重复的字符&#xff1b; 2.创建双指针p、q&#xff0c;每次当q指针指向的字符不在set集合中时将其添加到set集合中让q指针后移&#xff0c;并且更新…

【算法每日一练]

目录 今日知识点&#xff1a; 辗转相减法化下三角求行列式 组合数动态规划打表 约数个数等于质因数的次方1的乘积 求一个模数 将n个不同的球放入r个不同的盒子&#xff1a;f[i][j]f[i-1][j-1]f[i-1][j]*j 将n个不同的球放入r个相同的盒子&#xff1a;a[i][j]a[i-j][j]a[…

从零开始学HCIA之网络基础知识01

1、20世纪70年代末&#xff0c;为了打破不同厂商设备之间无法相互通信的界限&#xff0c;ISO&#xff08;International Organization for Standardization&#xff0c;国际标准化组织&#xff09;开发了OSI参考模型&#xff08;Open System Interconnection Reference Model&a…

树的遍历方式DFS和BFS

DFS(depth first search) 深度优先遍历 从图中一个未访问的顶点V开始&#xff0c;沿着一条路一直走到底&#xff0c;然后从这条路尽头的节点回退到上一个节点&#xff0c;再从另一条路走到底…不断递归重复这个过程&#xff0c;直到所有的顶点都遍历完成。前序遍历&#xff0c…