【HRSAM: Efficiently Segment Anything in High-Resolution Images】
本篇文章是个人看文献的一些总结和个人的想法,都是个人看过文章之后的理解,不保证一定是对的,如果我的理解有错,欢迎纠正。
(2024.7.2)
概述
SAM在处理高分辨率图像时表现较差,这是由于 SAM 实现的注意力机制具有二次空间复杂度以及全局注意力的长度外推问题。
文章提出HRSAM,结合Flash Attention和新提出的PSCWin注意力机制来解决这些问题。
直接缩放SAM的输入分辨率会带来内存效率低下和缺乏对输入大小的可扩展性的问题,导致严重影响分割的性能和效率。
由于SAM的ViT使用的是全局注意力机制,空间复杂度为二次,导致在处理高分辨率图像时,内存和计算开销极大。
HRSAM在SAM框架中引入了Flash Attention。Flash Attention通过减少高带宽内存读写操作,将注意力计算的空间复杂度从二次降低到线性,大幅提高了内存效率。
PSCWin注意力机制
平移窗口注意力(Plain window attention):将图像嵌入分割为不重叠的窗口,分别进行自注意力计算,确保计算的复杂度降低。
移位窗口注意力(shifted window attention):在平移窗口注意力的基础上,通过在窗口之间引入重叠部分来增强信息交互。移位窗口注意力将窗口分割进行平移和填充,通过填充保持窗口大小一致,增强模型对长度变化的适应能力。
循环扫描窗口注意力(cycle-scan window attention):结合状态空间模型(SSM)和窗口注意力,确保全局信息交换的高效性。
将SAM-ViT-Huge作为教师模型,训练出具有全局或PSCWin注意力机制的ViT。
在2048 x 2048的图像上,全局和PSCWin注意力机制在性能和速度上都超过的教师模型。
HRSAM的编码器架构
(1)普通、移位和循环扫描窗口注意力块在编码器的四个阶段中均匀分布,确保不同阶段的信息处理和特征提取能力均衡。
(2)编码器各个阶段的输出通过求和的方式进行融合,整合多层次的特征信息。
(3)融合后的特征通过一个卷积块进行进一步细化和优化,确保特征嵌入的质量。
(4)经过细化处理的特征作为最终的图像嵌入。
(5)最终将图像嵌入输入到 SAM 的解码器中。
移位窗口和循环扫描模块:
移位窗口可以分为原版移位窗口和填充移位窗口,如图在2048 x 2048的图像处理时,填充移位窗口的表现要更好。
循环扫描窗口注意力结合了状态空间模型(SSM)和窗口注意力,通过循环扫描窗口确保全局信息交换的高效性。SSM 允许模型在保持低计算开销的情况下进行全局信息交换,从而解决了全局注意力的长度外推问题。
SSM:
HRSAM++
HRSAM++ 对 HRSAM 进一步改进,通过引入多尺度策略和高效的注意力机制,实现了高分辨率图像分割的高精度和高效率。
多尺度策略(Multi-scale Strategy):通过在不同分辨率下同时处理图像,提高了分割精度和并行处理效率。
多分辨率处理(Multi-resolution Processing):通过并行处理将图像分割成不同分辨率的版本,来捕捉不同尺度的细节信息。高分辨率用来捕捉细节和边缘信息;低分辨率用来捕捉大尺度的全局信息。
信息融合(Information Fusion):将分别来自高分辨率和低分辨率的图像特征进行融合与共享,使模型能够综合利用不同尺度的特征,从而提升分割的效果。
实验部分
利用mIoU来评估分割精度。
利用FLOPs(Floating Point Operations)来评估计算复杂度。
在COCO、ADE20K、Cityscapes数据集中全面评估HRSAM和HRSAM++的性能。