Mamba YOLO World
论文地址:https://arxiv.org/pdf/2409.08513v1
代码地址: GitHub - Xuan-World/Mamba-YOLO-World: Mamba-YOLO-World: Marrying YOLO-World with Mamba for Open-Vocabulary Detection
开集检测(OVD)旨在检测预定义类别之外的物体。作为将YOLO系列集成到OVD的SOTA模型,YOLO-World非常适合注重速度和效率的场景。然而,其性能受到其Neck特征融合机制的限制,导致二次复杂度和受限制的引导感受野。为了应对这些限制,作者提出了Mamba-YOLO-World,这是一种基于YOLO的OVD模型,采用MambaFusion Path Aggregation Network(MambaFusion-PAN)作为其Neck架构。具体而言,作者引入了一种创新的状态空间模型特征融合机制,包括并行引导选择扫描(Parallel-Guided Selective Scan)算法和串行引导选择扫描(Serial-Guided Selective Scan)算法,具有线性复杂度和全局引导感受野。它利用多模态输入序列和mamba隐藏状态来指导选择扫描过程。实验表明,Mamba-YOLO-World在COCO和LVIS基准测试中均优于原始YOLO-World,同时保持可比的参数和FLOPs。此外,它还超越了现有最先进的OVD方法,在更少的参数和FLOPs下。
INTRODUCTION
目标检测,作为计算机视觉的一个基本任务,在自动驾驶车辆、个人电子设备、医疗健康和安全等领域中起着至关重要的作用。传统方法在目标检测方面取得了巨大的进步。然而,这些模型都是在闭合的数据集上进行训练的,限制了它们在预定义类别(例如,COCO数据集中的80个类别)之外进行检测的能力。为了克服这些限制,开集检测(OVD)作为一种新任务应运而生,要求模型在预定义类别之外检测物体。
一些早期的OVD工作试图利用预训练的视觉语言模型(VLMs)的固有图像-文本对齐能力。然而,这些VLMs主要在图像-文本 Level 进行训练,因此在区域-文本 Level 的对齐能力不足。最近的工作,如MDETR,GLIP,DetClip,Grounding DINO,mm-Grounding-DINO 和YOLO-World重新定义OVD为视觉语言预训练任务,使用传统的目标检测器直接在大规模数据集上学习区域-文本 Level 的开放式词汇对齐能力。
根据上述相关工作,将传统目标检测器转变为 OVD 模型的关键在于实现一个适应模型现有 Neck 结构的视觉-语言特征融合机制,例如 YOLO-World 中的 VL-PAN 和 Grounding-DINO 中的 Feature-Enhancer。作为将 YOLO 系列集成到 OVD 的先驱模型,YOLO-World 非常适合在注重速度和效率的场景中部署。尽管如此,其性能受到其 VL-PAN 特征融合机制的制约。
具体来说,VL-PAN在文本到图像特征融合流中使用了最大Sigmoid视觉通道注意力机制,在图像到文本融合流中使用了多头交叉注意力机制,这导致了几个局限性。
首先,由于交叉模态注意力机制,两种融合流的复杂性会随图像大小和文本长度的乘积呈平方增长。
其次,VL-PAN缺乏全局引导的感受野。一方面,文本到图像融合流仅生成一个视觉通道权重向量,在像素级缺乏空间指导。另一方面,图像到文本融合流仅允许图像信息逐个指导每个单词,无法利用文本描述中的上下文信息。
为了克服上述局限性,作者提出了一个基于YOLO的OVD模型Mamba-YOLO-World,其Neck结构采用了提出的MambaFusion Path Aggregation Network(MambaFusion-PAN)。最近,Mamba作为一种新兴的态空间模型(SSM),已经展示了避免二次复杂度和捕捉全局感受野的能力。然而,在Mamba中,将多个模态的特征简单拼接在一起会导致复杂度为,与拼接序列的长度成正比。这对OVD中的大型词汇特别有影响。因此,提出了一种基于MambaFusion-PAN的MambaFusion特征融合机制。作者使用Mamba隐藏状态作为不同模态之间特征融合的中介,这需要
的复杂度,并提供全局引导的感受野。图1中的可视化结果表明,作者的Mamba-YOLO-World在所有尺寸变体方面的准确性和泛化性都显著优于YOLO-World。
贡献可以概括为以下几点:
-
提出了Mamba-YOLO-World,这是一个基于YOLO的OVD模型,其Neck架构采用了MambaFusion-PAN。
-
提出了一种基于状态空间模型的特征融合机制,包括并行引导选择扫描(Parallel-Guided Selective Scan)算法和串行引导选择扫描(Serial-Guided Selective Scan)算法,具有
的复杂度和全局引导感受野。
-
实验证明,Mamba-YOLO-World在保持可比参数和FLOPs的同时,优于原始YOLO-World。此外,它在更少的参数和FLOPs下超越了现有的最先进OVD方法。
METHOD
Mamba-YOLO-World 主要是基于 YOLOv8 开发的,包括一个 Darknet Backbone 和一个 CLIP 文本编码器作为模型的 Backbone ,MambaFusion-PAN 作为模型的Neck,以及一个文本对比分类头和边界框回归头作为模型的 Head ,如图2 所示。
Mamba Preliminaries
对于一个连续输入信号,通过隐藏状态
,SSM将它映射到连续输出信号
。
其中E是SSM的状态扩展因子,是状态转移矩阵,
和
对应输入和输出的映射矩阵。基于SSM,Mamba引入了选择扫描算法,使得A、B和C成为输入序列的函数。
MambaFusion-PAN
MambaFusion-PAN是作者提出的特征融合网络,用于替代YOLO中的Path Aggregation Feature Pyramid Network。如图2(a)所示,MambaFusion-PAN利用提出的基于SSM的并行和串行特征融合机制,通过视觉和语言分支之间的三个阶段特征融合流程,同时聚合多尺度图像特征和增强文本特征:文本到图像,图像到文本,最后文本到图像。具体组件如下部分的详细说明。
Mamba Hidden State
目前,基于Transformer和Mamba的VLMs仅将多模态特征ConCat ,随着文本序列长度和图像分辨率的增长,不可避免地增加了复杂性。尽管YOLO-World中的VL-PAN采用单向融合且无需特征 ConCat ,但它仍然导致的复杂性。这是因为文本到图像融合流中的视觉通道注意力机制和图像到文本融合流中的多头交叉注意力机制。
为了应对这些问题,作者提出通过mamba隐状态来提取压缩序列信息,作为不同模态之间特征融合的中间媒介,其中D是输入序列的维度,E是SSM状态扩展因子。由于D和E都是常数,不受序列长度的影响,因此作者的特征融合机制复杂度为
,其中N来自一个模态的输入序列,1来自另一个模态的mamba隐状态。
TextMambaBlock
TextMambaBlock由堆叠的 Mamba 层组成。给定由 CLIP 文本编码器生成的文本嵌入,使用图 2(b)所示的 TextMambaBlock 不仅提取输出文本特征
,还提取文本隐藏状态
,这将用于后续的文本到图像特征融合。
MF-CSPLayer
如图2(c)所示,作者通过MambaFusion CSPLayer(MF-CSPLayer)将THS与多尺度图像特征相结合。MF-CSPLayer将提出的并行引导选择扫描算法集成到YOLO CSPLayer风格的网络中。经过MF-CSPLayer处理后,作者可以不仅得到输出图像特征,还可以得到图像隐藏状态,该状态将用于后续图像到文本特征融合。
Parallel-Guided Selective Scan
SSM选择扫描算法根据输入序列动态调整内部参数。受此启发,作者创新性地提出了并行引导选择扫描(PGSS)算法,该算法在扫描过程中,根据输入图像序列和THS的值动态调整Mamba内部参数(A,B和C)的值,如图2(d)和算法1所示。
因此,压缩文本信息与整个视觉选择扫描过程并行注入到Mamba中,使多尺度图像特征在像素 Level 而不是通道 Level 得到引导。其生成的输出传递给MF-CSPLayer的后续层。以下作者称这部分为文本到图像特征融合流程。
Serial-Guided Selective Scan
Mamba Selective Scan算法根据输入序列持续压缩信息到。受此启发,作者提出了串行引导选择扫描(SGSS)算法,并将其与TextMambaBlock结合,如图2(e)所示。SGSS旨在将前序序列中的先验知识压缩到
,并将其作为后序序列的指导。具体来说,SGSS-TextMambaBlock在提取文本特征之前,通过扫描压缩的视觉信息IHS调整Mamba内部参数(A,B和C)的值serial。接下来,作者将这部分称为图像到文本特征融合流程。
EXPERIMENT
实施细节
Mamba-YOLO-World是基于MMYOLO工具箱和MMDetection工具箱开发的。作者提供了三种尺寸变体,即小型(S)、中型(M)和大型(L)。实验包括预训练阶段和微调阶段。在预训练阶段,作者采用包括Objects365(V1),GQA和Flickr30k的检测和定位数据集。与其他OVD方法一样,在排除COCO中的图像后,将GQA和Flickr30k数据集合并为GoldG数据集。在微调阶段,作者使用预训练的Mamba-YOLO-World并在下游任务数据集上进行微调。除非另有说明,作者将实验按照YOLO-World的设置进行。
零样本结果
在预训练之后,作者在零样本的方式下,直接在LVIS和COCO基准上评估所提出的Mamba-YOLO-World,并与YOLO-World和其他现有的最先进方法进行全面比较。
在 LVIS 上的零样本评估
LVIS数据集包含了1203个长尾物体类别。遵循之前的工作,作者使用固定AP指标,并在LVIS最小验证集上报告每个图像的1000个预测,进行公平比较。
根据表1,Mamba-YOLO-World在小变体上实现了+1.5%的AP提高,在中变体上实现了+1.8%的AP提高,同时保持可比参数和FLOPs。此外,它在与YOLO-World相比,通过+0.4%~+3.2%的APr和+1.4%~+3.4%的APc在所有尺寸变体上都优于YOLO-World。此外,Mamba-YOLO-World-L在较少的参数和FLOPs下,与先前的最先进方法相比,获得了更好的结果。
在 COCO 上零样本评估
COCO 数据集包含 80 个类别,是最常用的目标检测数据集。如表2所示,Mamba-YOLO-World 显示出整体优势,在所有尺寸变体中,其平均精度(AP)比 YOLO-World 高 +0.4%~+1%。
微调结果
在表3中,作者对COCO基准上的微调结果进行了进一步评估。在COCO train2017上进行微调后,Mamba-YOLO-World在所有大小变体上的AP准确性均高于微调后的YOLO-World,优势在+0.2%至+0.8%之间。
消融研究
在表4中,作者对基于Mamba-YOLO-World-S的MambaFusion-PAN文本到图像和图像到文本特征融合流程进行了消融实验,以分析其对性能的影响。在COCO基准测试上的零样本评估结果表明,作者的并行(文本到图像)和串行(图像到文本)特征融合方法在提高性能的同时,并未增加参数或FLOPs。
此外,作者分析了随着输入图像分辨率的增加,计算成本的变化。如图3所示,MambaFusion-PAN(Mamba-YOLO-World的Neck)在所有尺寸变体中,与VL-PAN(YOLO-World的Neck)相比,消耗了高达15%的FLOPs,表明MambaFusion-PAN的模型复杂度较低。
相关文章:

Mamba YOLO World
论文地址:https://arxiv.org/pdf/2409.08513v1 代码地址: GitHub - Xuan-World/Mamba-YOLO-World: Mamba-YOLO-World: Marrying YOLO-World with Mamba for Open-Vocabulary Detection 开集检测(OVD)旨在检测预定义类别之外的物体…...

JVM 内存模型:堆、栈、方法区讲解
1. 引言 Java 虚拟机(JVM)的内存模型是 Java 程序运行时的基础之一。JVM 内存模型主要包括 堆、栈、和 方法区。它们各自有不同的作用和管理方式,并且影响着程序的性能和稳定性。为了更好地理解 JVM 的内存管理机制,我们将结合电…...

24年蓝桥杯及攻防世界赛题-MISC-2
11 Railfence fliglifcpooaae_hgggrnee_o{cr} 随波逐流编码工具 分为5栏时,解密结果为:flag{railfence_cipher_gogogo} 12 Caesar rxms{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz} mode1 #12: flag{you_have_learned_caesar_encryption} 随波逐流编码工具 13 base64 base64解…...

openssl-AES-128-CTR加解密char型数组分析
本文章通过对一个unsigned char*类型的数据做简单的加解密操作来学习如何使用openssl库函数。 openssl为3.0.0,对此前版本的很多函数都不兼容。 加解密源码 #include <openssl/evp.h> #include <openssl/err.h> #include <string.h> #include …...
自动化生成与更新 Changelog 文件
在软件开发中,保持 Changelog 文件的更新是一项至关重要的任务。 Changelog 文件记录了项目的每一个重要变更,包括新功能、修复的问题以及任何可能破坏现有功能的变更。对于维护者、贡献者和最终用户来说,这都是一个宝贵的资源。然而&#x…...
(六)WebAPI方法的调用
1.WebAPI中定义的GET、POST方法 [HttpGet(Name "GetWeatherForecast")]public IEnumerable<WeatherForecast> Get(){return Enumerable.Range(1, 5).Select(index > new WeatherForecast{Date DateTime.Now.AddDays(index),TemperatureC Random.Shared.N…...
运维工程师面试整理-故障排查常见故障的排查步骤及方法
故障排查是运维工程师的重要技能之一。在面试中,面试官通常会通过故障排查相关的问题来评估你解决问题的能力和系统思维。以下是关于常见故障的排查步骤及方法的详细内容,帮助你更好地准备面试。 1. 故障排查的基本步骤 1. 问题识别 a. 描述问题:明确问题的具体表现...

OpenAI o1解决了「Quiet-STaR」的挑战吗?
随着OpenAI o1近期的发布,业界讨论o1关联论文最多之一可能是早前这篇斯坦福大学和Notbad AI Inc的研究人员开发的Quiet-STaR,即让AI学会先安静的“思考”再“说话” ,回想自己一年前对于这一领域的思考和探索,当初也将这篇论文进行…...

PDF产品册营销推广利器FLBOOK
在互联网高速发展的时代,营销推广已成为企业拓展市场的重要手段。而一款优秀的营销工具,可以为企业带来事半功倍的推广效果。今天,就为大家介绍一款集创意与实用于一体的PDF产品册营销推广利器——FLBOOK,帮助企业轻松提升品牌影响…...

华为OD机试 - 字符串划分(Python/JS/C/C++ 2024 E卷 100分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…...
nginx和php-fpm连接超时的相关配置以及Nginx中的try_files以及root、alias的使用
一、nginx和php-fpm连接超时的相关配置 线上的PHP服务器架构大都是nginx proxy->nginx web->php-fpm。在服务器运行正常,服务器之间的连接正常,未被防火墙阻止的情况下,对这种架构排查504报错时需要注意以下几个地方的参数。 1是nginx…...

在MAC中Ollama开放其他电脑访问
ollama安装完毕后默认只能在本地访问,之前我都是安装其他的软件之后可以结合开放其他端口访问,其实是可以新增或修改下电脑的系统配置,就可以打开端口允许除本机IP或localhost访问。 步骤如下: 1、查看端口(默认是&…...

NE555芯片制作的节拍器
NE555芯片的节拍器,以一定的频率发出声音和闪烁灯光,起到节拍指示的作用。...
如何使用 Next.js 进行服务端渲染(Server-Side Rendering, SSR)
文章目录 前言步骤 1: 创建 Next.js 应用步骤 2: 创建页面组件示例页面组件 步骤 3: 自定义 _app.js 文件步骤 4: 自定义 _document.js 文件步骤 5: 运行应用步骤 6: 构建和部署总结 前言 Next.js 本身就支持 SSR 并提供了一系列内置的方法来简化这个过程。下面将详细介绍如何使…...

【machine learning-八-可视化loss funciton】
可视化lossfunction loss funciton可视化损失函数等高图 loss funciton 上一节讲过损失函数,也就是代价函数,它是衡量模型训练好坏的指标,对于线性回归来说,模型、参数、损失函数以及目标如下:、 损失函数的目标当然…...
Android 将EasyPermissions进一步封装,使得动态权限申请更加简明
1.引入依赖: implementation pub.devrel:easypermissions:3.0.0 2.在BaseActivity处理统一的结果回调和请求Code 核心内容: (1)处理Activity本身继承的方法onRequestPermissionsResult (2)实现接口EasyPermissions.PermissionCallbacks来接收请求结果 (3)定义申请权…...

我的AI工具箱Tauri版-VideoReapeat视频解说复述克隆
本教程基于自研的AI工具箱Tauri版进行VideoReapeat视频解说复述克隆。 VideoReapeat视频解说复述克隆 是自研的AI工具箱Tauri版中的一款专用模块,旨在通过AI技术对视频解说内容进行复述和克隆。该工具可自动洗稿并重新生成视频解说,通过简单配置即可对大…...

MySQL5.7.42高可用MHA搭建及故障切换演示
系列文章目录 rpmbuild构建mysql5.7RPM安装包 MySQL基于GTID同步模式搭建主从复制 文章目录 系列文章目录前言一、MHA架构介绍1.MHA的功能2.MHA组成3.MHA故障转移过程4.MHA架构优缺点 二、环境准备1.服务器免密2.基于GTID主从复制搭建3.下载mha组件 三、MHA组件安装1.安装依赖…...

快速搭建最简单的前端项目vue+View UI Plus
1 引言 Vue是一套用于构建Web前端界面的渐进式JavaScript框架。它以其易学易用、性能出色、灵活多变而深受开发者喜爱,并且与其他前端框架(如React和Angular)相比,在国内市场上受到了广泛的认可和使用。点击进入官方…...

倍增练习(1)
A - ST 表 && RMQ 问题 题目思路:st表的板子题用于静态区间求最值,通过倍增的思想,先通过预处理将各个区间的最大值通过转移式求出f[i][j] max(f[i][j - 1], f[i (1 << (j - 1))][j - 1]);然后再进行重叠查询查询,k log2(r - l 1);,max(f[l][k], f[r - (1 &l…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...