论文笔记:EdgeTAM: On-Device Track Anything Model
过去的方法通过压缩SAM的image encoder来实现轻量化,因为SAM的mask decoder参数量很小。转而使用基于学习的压缩器,比如Perceiver,用一组小固定 learned queries来总结密集feature map,然而简单使用Perceiver性能也会降低。两个阶段均将student model与SAM2的image encoder特征对齐,在第二阶段,还对齐memor
SAM是第一个可用于提示的图像分割基础模型。SAM2在SAM的基础上发展,新加memory bank mechanism,可用于图像和视频分割
虽然SAM2效果很好,但是不能用于移动端推理,最小的SAM2模型在iPhone 15 Pro Max运行速率仅为1FPS。
过去的方法通过压缩SAM的image encoder来实现轻量化,因为SAM的mask decoder参数量很小。但是不适用于SAM2,因为新加的memory attention模块仍需要很多计算量![[(a)]](https://i-blog.csdnimg.cn/direct/481f779a63194a46afe79e361636fd2e.png)
SAM2对每一帧都使用memory encoder进行编码,和object-level pointers一起存储在memory bank中。然后再与当前帧特征通过memory attention进行融合。
这些记忆被密集编码,因此cross attention出现巨大的矩阵乘法。因此虽然参数量小于image encoder,其计算复杂度很高
为了模型可以在移动端运行,本文研究如何利用视频中的冗余。提出在实施memory attention之前,对帧级memories进行压缩。
一开始使用空间池化,但是性能显著降低。
转而使用基于学习的压缩器,比如Perceiver,用一组小固定 learned queries来总结密集feature map,然而简单使用Perceiver性能也会降低
推测视频分割作为密集预测任务,memory bank需要保存空间结构,而这种空间结构会被简单的Perceiver所丢弃
本文提出新的轻量化模块 在压缩帧级特征的同时保留2D空间信息
具体来说,将learnable query分成两组
- 与原来的Perceiver一样,和input feature做global attention,输出single vector
- 具有2D priors,每一个query只压缩非重叠local patch,因此输出包含空间结构信息
除了架构调整,提出distillation pipeline,有两个训练阶段
- 用图像分割数据集SA-1B训练SAM2,其中memory相关模块不参与
- 用图像和视频分割数据集SA-1B和SA-V一起训练SAM2所有模块
两个阶段均将student model与SAM2的image encoder特征对齐,在第二阶段,还对齐memory attention的输出
更多推荐
所有评论(0)