Vision Mamba:将Mamba应用于计算机视觉任务的新模型

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: Mamba是LLM的一种新架构,与Transformers等传统模型相比,它能够更有效地处理长序列。就像VIT一样现在已经有人将他应用到了计算机视觉领域,让我们来看看最近的这篇论文“Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Models,”

对于VIT来说,Transformers虽然功能强大,但通常需要大量的计算资源,特别是对于高分辨率图像。Vision Mamba旨在通过提供更有效的替代方案来解决这个问题。

Vision Mamba vs Transformers

这篇论文主要由华中科技大学、地平线机器人、北京人工智能研究院的研究人员贡献,深入研究了Mamba 是如何处理视觉任务的。Mamba的效率来自于它的双向状态空间模型,与传统的Transformer模型相比,理论上可以更快地处理图像数据。

处理图像本质上比处理文本要复杂得多。因为图像不仅仅是像素的序列;它们还包含复杂的模式,变化的空间关系,以及理解整体环境的需要。这种复杂性使得视觉数据的有效处理成为一项具有挑战性的任务,特别是在规模和高分辨率下。

Vision Mamba (Vim)

Mamba块是Vim的一个关键特性,通过使用位置嵌入标记图像序列,并使用双向状态空间模型压缩视觉表示,Vision Mamba可以有效地捕获图像的全局上下文。这种方法解决了可视数据固有的位置敏感性,这是传统Transformer模型经常遇到的一个关键问题,特别是在更高分辨率下。

Vision Mamba Encoder

Vim模型首先将输入图像划分为小块,然后将小块投影到令牌中。这些令牌随后被输入到Vim编码器中。对于像ImageNet分类这样的任务,在令牌标记序列中添加了一个额外的可学习分类标记(这个标记是重BERT开始一致这样使用的)。与用于文本序列建模的Mamba模型不同,Vim编码器在正向和反向两个方向上处理标记序列。

还记得双向LSTM么,Vim的一个突出特点是它的双向处理能力。与许多以单向方式处理数据的模型不同,Vim的编码器以向前和向后的方向处理标记。双向模型允许对图像上下文进行更丰富的理解,这是准确图像分类和分割的关键因素。

基准测试结果及表现

在ImageNet分类、COCO对象检测和ADE20K语义分割方面,Vim不仅表现出更高的性能,而且还表现出更高的效率。例如,在处理高分辨率图像(1248 × 1248)时,Vim比DEIT快2.8倍,同时节省了86%的GPU内存。考虑到在高分辨率图像处理中经常遇到的内存限制,这是一个非常大的进步。

与VIT的比较分析

这篇论文并没有仅仅停留在比较VIM和DEIT。它还包括与VIT的比较。虽然VIT确实是一个强大的模型,但VIM在效率和性能上仍然超过它,特别是随着分辨率的增加。这种比较为评估VIM的能力提供了更广泛的背景。

高分辨率图像处理

论文还强调了高分辨率图像处理在各个领域的重要性。例如在卫星图像中,高分辨率对于详细分析和准确结论至关重要。同样在PCB制造等工业环境中,在高分辨率图像中检测微小故障的能力对于质量控制至关重要。VIM在处理此类任务方面的也非常有可比性。

总结

论文介绍了一种将Mamba用于视觉任务的方法,该方法利用双向状态空间模型(ssm)进行全局视觉上下文建模和位置嵌入。这种方法标志着传统的注意力机制可能会退出历史的舞台,因为VIM展示了一种有效的方法来掌握视觉数据的位置上下文,而不需要基于transformer的注意机制。

VIM以其次二次的时间计算和线性内存复杂性与Transformer模型中典型的二次增长形成鲜明对比。这一点使得VIM特别适合处理高分辨率图像。

通过对ImageNet分类等基准的全面测试,验证了VIM的性能和效率,证明可以将其应用在计算机视觉领域强大模型的地位。

论文地址:

https://avoid.overfit.cn/post/7171ae82866d4b07853266073485e8cb

作者:azhar

目录
相关文章
|
3月前
|
存储 编解码 算法
OpenCV2 计算机视觉应用编程秘籍:6~10
OpenCV2 计算机视觉应用编程秘籍:6~10
24 0
|
3月前
|
设计模式 算法 开发工具
OpenCV2 计算机视觉应用编程秘籍:1~5
OpenCV2 计算机视觉应用编程秘籍:1~5
23 0
|
3月前
|
机器学习/深度学习 计算机视觉
AIGC核心技术——计算机视觉(CV)预训练大模型
【1月更文挑战第13天】AIGC核心技术——计算机视觉(CV)预训练大模型
378 3
AIGC核心技术——计算机视觉(CV)预训练大模型
|
15天前
|
机器学习/深度学习 人工智能 算法
图像处理与分析:Python中的计算机视觉应用
【4月更文挑战第12天】Python在计算机视觉领域广泛应用,得益于其丰富的库(如OpenCV、Pillow、Scikit-image)和跨平台特性。图像处理基本流程包括获取、预处理、特征提取、分类识别及重建生成。示例代码展示了面部和物体检测,以及使用GAN进行图像生成。
|
3月前
|
机器学习/深度学习 算法 数据挖掘
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
225 1
|
1月前
|
机器学习/深度学习 人工智能 监控
计算机视觉技术的基本原理与应用
计算机视觉技术的基本原理与应用
|
1月前
|
机器学习/深度学习 人工智能 计算机视觉
生成式计算机视觉(CV)模型的发展历程及最新进展
在计算机视觉(CV)领域,生成式AI技术的发展经历了多个阶段。在深度学习革命之前,传统的图像生成技术主要依赖于手工制作的特征,如纹理合成和纹理映射等方法。然而,这些方法在生成复杂和生动的图像方面的能力是有限的。
95 2
|
3月前
|
机器学习/深度学习 人工智能 监控
探索深度学习在计算机视觉领域的应用
计算机视觉是人工智能领域的重要分支之一,而深度学习技术在这个领域中的应用已经成为了一个热门话题。深度学习的出现,不仅使得计算机视觉的准确性得到了极大的提升,还为我们提供了更多的可能性。本文将探讨深度学习技术在计算机视觉领域中的应用,并讨论其未来的发展前景。
31 0
|
4月前
|
机器学习/深度学习 传感器 自动驾驶
【计算机视觉】一、多任务深度学习网络的概念及在自动驾驶中的应用讲解(图文解释 超详细)
【计算机视觉】一、多任务深度学习网络的概念及在自动驾驶中的应用讲解(图文解释 超详细)
46 0
|
4月前
|
算法 数据库 计算机视觉
【计算机视觉】FCN、Seg-Net、U-Net模型进行图像分割实战(附源码和数据集 超详细必看)
【计算机视觉】FCN、Seg-Net、U-Net模型进行图像分割实战(附源码和数据集 超详细必看)
76 1