EAMamba:解决图像恢复挑战的高效视觉状态空间模型

EAMamba作为高效全能视觉状态空间模型,通过创新模块与扫描策略,在图像超分辨率、去噪等任务上实现了性能提升与FLOPs显著降低。

原文标题:ICCV2025 | EAMamba:面向图像恢复的高效全能视觉状态空间模型

原文作者:数据派THU

冷月清谈:

图像恢复作为低级计算机视觉的重要任务,旨在从受损图片中复原出高质量图像。近年来,视觉状态空间模型Vision Mamba因其在建模长程依赖方面的出色表现,为这一领域带来了新的进展。然而,Vision Mamba在实际应用中仍面临挑战,例如计算复杂度随扫描序列增加而提升,以及在处理局部像素时可能出现遗忘问题。

为克服这些局限,研究者提出了一种增强型框架——EAMamba(Efficient All-Around Mamba)。该模型的核心创新在于引入了两个关键机制:多头选择性扫描模块(MHSSM)和全向扫描机制。

MHSSM通过高效聚合多条扫描序列,在不额外增加计算复杂度和参数量的前提下,显著提升了模型的表示能力。而全向扫描策略则通过多种扫描模式,更全面地捕获图像的整体信息,有效缓解了局部像素遗忘的问题,确保了图像信息的完整性。

EAMamba在多项图像恢复任务上进行了广泛的实证评估,包括超分辨率、图像去噪、去模糊和去雾等。实验结果令人鼓舞,EAMamba不仅保持了优越的图像恢复性能,相较于现有的低级Vision Mamba方法,还实现了高达31%至89%的FLOPs(浮点运算数)减少,展现了其卓越的效率。目前,相关源代码已对外开放,研究人员和开发者可以通过项目主页获取并进一步探索。

怜星夜思:

1、EAMamba的核心是“状态空间模型”。它跟目前大家更熟悉的Transformer架构有什么本质区别和适用场景上的侧重呢?
2、文章提到EAMamba在“多项图像恢复任务”上表现出色,比如超分辨率、去噪。除了这些,图像恢复技术在现实生活中还有哪些比较有意思、或者说大家想不到的应用呢?
3、EAMamba降低了FLOPs(浮点运算数),这对于实际应用意味着什么?光是FLOPs低就算“高效”了吗,还有其他哪些方面也值得关注?

原文内容

来源:专知
本文约1000字,建议阅读5分钟
我们在多项图像恢复任务上对所提出方法进行了实证评估,包括超分辨率、去噪、去模糊和去雾等。


图像恢复是低级计算机视觉中的关键任务,旨在从退化图像中重建高质量图像。近年来,受先进状态空间模型 Mamba 启发而提出的 Vision Mamba 推动了该领域的发展。Vision Mamba 在以线性复杂度建模长程依赖方面表现出色,这对于图像恢复任务而言是一个重要优势。然而,尽管 Vision Mamba 在性能上具有潜力,其在低级视觉任务中仍面临一些挑战,如计算复杂度随扫描序列数量增加而增长,以及局部像素遗忘问题。

为了解决上述问题,本文提出了一种增强框架——Efficient All-Around Mamba(EAMamba)。该方法引入了一个多头选择性扫描模块(Multi-Head Selective Scan Module,MHSSM)及全向扫描机制。MHSSM 能够高效聚合多条扫描序列,从而在不增加计算复杂度和参数量的前提下提升建模能力。全向扫描策略通过多种扫描模式捕获图像的整体信息,有效缓解了局部像素遗忘的问题。

我们在多项图像恢复任务上对所提出方法进行了实证评估,包括超分辨率、去噪、去模糊和去雾等。实验结果表明,EAMamba 在保持优越性能的同时,相较于现有低级 Vision Mamba 方法实现了 31% 至 89% 的 FLOPs 减少。相关源代码已开放,详见项目主页:https://github.com/daidaijr/EAMamba



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU


FLOPs的降低直接意味着模型在执行相同任务时所需的计算资源(如CPU/GPU的计算能力)更少,从而导致更快的推理速度和更低的能耗。这对于资源受限的设备(如移动设备、嵌入式系统)以及需要实时处理的应用(如自动驾驶、视频直播)至关重要。然而,单纯的FLOPs低并不能完全等同于“高效”。我们还需要关注其他几个方面:1) 内存占用(Memory Usage): 模型在运行时需要的显存或内存大小,这会影响模型能否在特定硬件上运行。2) 参数量(Number of Parameters): 参数量少意味着模型更“轻”,更容易部署,也更不容易过拟合。3) 实际运行时间(Wall-clock Time/Latency): FLOPs是理论计算量,实际运行时间还受硬件架构、内存带宽、并行度、缓存命中率等多种因素影响。4) 能耗(Power Consumption): 特别是对于电池供电的设备,能耗是关键指标。5) 可部署性(Deployability): 模型能否容易地转换为各种硬件平台支持的格式。6) 模型精度(Accuracy/Performance): 最终还是要在高效的同时,保持甚至超越原有的性能水平。

哈哈,你这个问题问得好!这就好比,Transformer是那种“社交牛X症”,跟谁都能聊两句,把所有的信息都过一遍,所以对全局把握得特别好,但也容易“信息过载”,聊着聊着就卡了。而SSM/Mamba呢,就像个“效率达人”,它有自己的“小本本”,只记录关键信息,然后不断更新,这样就能跑得飞快,特别适合那种需要快速处理大量数据但又不那么在乎每个细节都要跟其他所有细节“掰扯掰扯”的活儿。比如修图这种,要快!要美!

状态空间模型(SSM)和Transformer在处理序列数据时采用了截然不同的机制。Transformer主要通过自注意力机制来捕获序列中任意位置的依赖关系,其优势在于全局建模能力强,但计算复杂度通常会随着序列长度的平方增长。SSM,特别是Mamba类的模型,则通过一种递归的状态更新机制来处理序列,其核心在于一个隐含的连续时间系统,可以在线性时间内建模长程依赖。这使得SSM在处理非常长的序列时具备计算效率上的优势,尤其适用于需要高效推理和部署的场景,如时间序列预测、实时信号处理,以及本文提到的图像恢复等对计算资源敏感的低级视觉任务。而Transformer在需要强大全局语义理解和更复杂交互的NLG、NLU等任务中仍有其不可替代的地位。

FLOPs低啊,最直观的感受就是快! 以前修张图可能要等几秒,以后可能就是瞬间完成。再有就是省电、省钱。 模型跑得快,耗的电就少,服务器成本也下来了。

但是,光看FLOPs还真不够。你想想,一台车马力大(FLOPs高),但油箱小(内存占用大),或者只有低速档(并行度低),那也跑不远。我们还得看:
* 内存占用: 比如你想在手机上跑一个图像恢复模型,如果模型太大占满内存,那手机就卡了。
* 参数量: 参数量少模型就小,下载安装都快,更新也方便。
* 实际运行时间: FLOPs是理论值,就像CPU跑分。但实际用户体验是,你点一下按钮,多久能看到结果?这个“多久”才是最重要的。
* 在不同硬件上的表现: 有些模型在NVIDIA显卡上跑得飞快,但在Intel集成显卡或者某个小众硬件上就慢如蜗牛,这就不够“全能”了。
* 当然,最重要的还是效果! 毕竟修出来的图,质量要好,不能说为了快,把图修坏了对吧?所以,高效和效果是同时追求的。