YOLO-MS 论文解读

news/2024/7/10 23:43:25 标签: YOLO, 人工智能, 深度学习, 计算机视觉

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.niftyadmin.cn/n/5444930.html

相关文章

CrossOver 23 用户可以免费升级到 CrossOver24吗?CrossOver用户如何升级呢?

也就是上个月(2024年2月底)左右,CrossOver 刚刚更新了 24 版本,CrossOver更新的内容有哪些,大家可以参考这篇文章:CrossOver24.0新功能介绍,这篇文章详细介绍了CrossOver24有哪些新特点&#xf…

快速备份softaculous一键安装的网站程序

近日有客户是通过softaculous一键安装的网站程序,只是想要备份其中的某个网站程序,但是由于他使用的Hostease Linux虚拟主机,也了解到cPanel面板上带备份功能,但是该备份功能会将当前主机上的所有网站的文件进行备份,而…

使用javaConfig实现装配(学习笔记七)

User实体类 package com.li.dao;import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;//Component的意思,就是说明这个类被Spring接管了,注册到了容器中 Component public class User { Valu…

TCP与UDP:网络协议的技术原理与要点

文章目录 1. TCP(传输控制协议)1.1 面向连接1.1.1 三次握手1.1.2 四次挥手 1.2 可靠性1.3 有序传输1.4 流量控制1.5 拥塞控制 2. UDP(用户数据报协议)2.1 无连接2.2 不可靠性2.3 无序传输2.4 简单 3. TCP和UDP的头部结构4. TCP和U…

2001-2023年中国各省市级是否属于“开通高铁”城市匹配数据

2001-2023年中国各省市级是否属于“开通高铁”城市匹配数据 1、时间:2001-2023年 2、范围:300个地级市(包括直辖市) 3、来源:历年中国铁道出版社出版的《全国铁路旅客列车时刻表》 4、用途:高铁开通可作…

C语言复杂度(个人笔记)

时间复杂度主要衡量一个算法的运行快慢. 空间复杂度主要衡量一个算法运行所需要的额外空间. 时间复杂度 算法中的基本操作的执行次数,为算法的时间复杂度. 只需要大概执行次数,我们使用大O的渐进表示法。(看谁对数学表达式的影响最大) 空间复杂度 是…

基于Springboot的疫情物资管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的疫情物资管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

含“AI”量上涨,智能模组SC208系列助力智慧零售全场景高质发展

AI正重塑智慧零售产业,加速零售在采购、生产、供应链、销售、服务等方面改善运营效率和用户体验。零售行业经历了从线下到线上再到全渠道融合发展过程,“提质、降本、增效、高体验”是亘古不变的商业化与智能化方向。含“AI”量逐渐上涨的智慧零售正经历…