当前位置: 首页 > news >正文

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中,将多个模态的特征简单拼接在一起会导致复杂度为O(N+M),与拼接序列的长度成正比。这对OVD中的大型词汇特别有影响。因此,提出了一种基于MambaFusion-PAN的MambaFusion特征融合机制。作者使用Mamba隐藏状态作为不同模态之间特征融合的中介,这需要O(N+1)的复杂度,并提供全局引导的感受野。图1中的可视化结果表明,作者的Mamba-YOLO-World在所有尺寸变体方面的准确性和泛化性都显著优于YOLO-World。

贡献可以概括为以下几点:

  1. 提出了Mamba-YOLO-World,这是一个基于YOLO的OVD模型,其Neck架构采用了MambaFusion-PAN。

  2. 提出了一种基于状态空间模型的特征融合机制,包括并行引导选择扫描(Parallel-Guided Selective Scan)算法和串行引导选择扫描(Serial-Guided Selective Scan)算法,具有O(N+1)的复杂度和全局引导感受野。

  3. 实验证明,Mamba-YOLO-World在保持可比参数和FLOPs的同时,优于原始YOLO-World。此外,它在更少的参数和FLOPs下超越了现有的最先进OVD方法。


METHOD

Mamba-YOLO-World 主要是基于 YOLOv8 开发的,包括一个 Darknet  Backbone 和一个 CLIP 文本编码器作为模型的 Backbone ,MambaFusion-PAN 作为模型的Neck,以及一个文本对比分类头和边界框回归头作为模型的 Head ,如图2 所示。

Mamba Preliminaries

对于一个连续输入信号u(t) \in \mathbb{R},通过隐藏状态h(t) \in \mathbb{R}^E,SSM将它映射到连续输出信号y(t) \in \mathbb{R}

其中E是SSM的状态扩展因子,A \in \mathbb{R}^{E\times E}是状态转移矩阵,B \in \mathbb{R}^{E\times 1}C \in \mathbb{R}^{1\times E}对应输入和输出的映射矩阵。基于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 ,但它仍然导致O(N^{2})的复杂性。这是因为文本到图像融合流中的视觉通道注意力机制和图像到文本融合流中的多头交叉注意力机制。

为了应对这些问题,作者提出通过mamba隐状态h(t) \in \mathbb{R}^{D\times E}来提取压缩序列信息,作为不同模态之间特征融合的中间媒介,其中D是输入序列的维度,E是SSM状态扩展因子。由于D和E都是常数,不受序列长度的影响,因此作者的特征融合机制复杂度为O(N+1),其中N来自一个模态的输入序列,1来自另一个模态的mamba隐状态。

TextMambaBlock

TextMambaBlock由堆叠的 Mamba 层组成。给定由 CLIP 文本编码器生成的文本嵌入w_{0} \in \mathbb{R}^{L_{t} \times D_{t}},使用图 2(b)所示的 TextMambaBlock 不仅提取输出文本特征w_{1} \in \mathbb{R}^{L_{t} \times D_{t}},还提取文本隐藏状态THS \in \mathbb{R}^{D_{t} \times E_{t}},这将用于后续的文本到图像特征融合。

MF-CSPLayer

如图2(c)所示,作者通过MambaFusion CSPLayer(MF-CSPLayer)将THS与多尺度图像特征相结合。MF-CSPLayer将提出的并行引导选择扫描算法集成到YOLO CSPLayer风格的网络中。经过MF-CSPLayer处理后,作者可以不仅得到输出图像特征,还可以得到图像隐藏状态IHS \in \mathbb{R}^{D_{t} \times E_{t}},该状态将用于后续图像到文本特征融合。

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算法根据输入序列持续压缩信息到h(t)。受此启发,作者提出了串行引导选择扫描(SGSS)算法,并将其与TextMambaBlock结合,如图2(e)所示。SGSS旨在将前序序列中的先验知识压缩到h(t),并将其作为后序序列的指导。具体来说,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&#xff0c;对此前版本的很多函数都不兼容。 加解密源码 #include <openssl/evp.h> #include <openssl/err.h> #include <string.h> #include …...

自动化生成与更新 Changelog 文件

在软件开发中&#xff0c;保持 Changelog 文件的更新是一项至关重要的任务。 Changelog 文件记录了项目的每一个重要变更&#xff0c;包括新功能、修复的问题以及任何可能破坏现有功能的变更。对于维护者、贡献者和最终用户来说&#xff0c;这都是一个宝贵的资源。然而&#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近期的发布&#xff0c;业界讨论o1关联论文最多之一可能是早前这篇斯坦福大学和Notbad AI Inc的研究人员开发的Quiet-STaR&#xff0c;即让AI学会先安静的“思考”再“说话” &#xff0c;回想自己一年前对于这一领域的思考和探索&#xff0c;当初也将这篇论文进行…...

PDF产品册营销推广利器FLBOOK

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

华为OD机试 - 字符串划分(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…...

nginx和php-fpm连接超时的相关配置以及Nginx中的try_files以及root、alias的使用

一、nginx和php-fpm连接超时的相关配置 线上的PHP服务器架构大都是nginx proxy->nginx web->php-fpm。在服务器运行正常&#xff0c;服务器之间的连接正常&#xff0c;未被防火墙阻止的情况下&#xff0c;对这种架构排查504报错时需要注意以下几个地方的参数。 1是nginx…...

在MAC中Ollama开放其他电脑访问

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

NE555芯片制作的节拍器

NE555芯片的节拍器&#xff0c;以一定的频率发出声音和闪烁灯光&#xff0c;起到节拍指示的作用。...

如何使用 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 上一节讲过损失函数&#xff0c;也就是代价函数&#xff0c;它是衡量模型训练好坏的指标&#xff0c;对于线性回归来说&#xff0c;模型、参数、损失函数以及目标如下&#xff1a;、 损失函数的目标当然…...

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版中的一款专用模块&#xff0c;旨在通过AI技术对视频解说内容进行复述和克隆。该工具可自动洗稿并重新生成视频解说&#xff0c;通过简单配置即可对大…...

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框架。‌‌它以其易学易用、性能出色、灵活多变而深受开发者喜爱&#xff0c;并且与其他前端框架&#xff08;如‌React和‌Angular&#xff09;相比&#xff0c;在国内市场上受到了广泛的认可和使用。点击进入官方…...

倍增练习(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…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序&#xff0c;无论是测试应用程序、搜寻漏洞还是收集情报&#xff0c;它们都能提升工作流程。 FoxyProxy 代理管理工具&#xff0c;此扩展简化了使用代理&#xff08;如 Burp…...