RMem
论文阅读
摘要
随着最近视频对象分割(VOS)基准测试发展到更具挑战性的场景,我们重新审视了一个简单但被忽视的策略:限制记忆库的大小。这与为了容纳大量历史信息而不断扩大记忆库的普遍做法不同。我们特别设计了“记忆解码”研究,为这一策略提供了一个关键的洞察:扩大记忆库,虽然看似有益,实际上却增加了VOS模块解码相关特征的难度,因为冗余信息造成了混淆。通过将记忆库限制在有限数量的关键帧上,我们实现了VOS准确性的显著提高。这个过程平衡了帧的重要性和新鲜感,以在有限容量内保持信息丰富的记忆库。此外,受限的记忆库减少了训练推理间记忆长度的差异,与持续扩张相比。这为时间推理提供了新的机会,并使我们能够引入以前被忽视的“时间位置嵌入”。最后,我们的洞察体现在“RMem”(“R”代表受限)中,这是一个简单但有效的VOS修改,它在具有挑战性的VOS场景中表现出色,并在对象状态变化(在VOST数据集上)和长视频(在Long Videos数据集上)方面树立了新的最高标准。
主旨: 视频对象分割之前热衷于扩展内存库以容纳更多的历史信息,但这样做实际上增加了对视频对象的解码难度,因此本文提供一种限制存储库的方法,该方法擅长对象状态更改(例如打鸡蛋)和长视频下的场景
1.引言
1.1背景及问题
-
背景:更具挑战性的视频对象分割场景
视频对象分割(VOS)算法的快速发展激发了更具挑战性的基准测试的创建,正如VOST [40]在具有显著对象状态变化的更复杂视频,以及Long Videos数据集 [27] 以极长时长为特点。这些基准测试提升了时空建模的要求,并促使我们重新评估传统的VOS设计:基于学习的VOS模块能否在这些具有挑战性的场景中有效地解读历史信息? -
问题
为了深入探讨这个问题,关注记忆库是至关重要的,它们是存储过去特征并向VOS模块提供输入的核心,并在基于记忆的VOS框架 [9, 11, 51]中是基础。通常,记忆库是通过扩张的简单直觉来管理的,随着视频的进展,不断添加新采样的帧。虽然这种方法旨在包含所有历史信息,从而增强VOS,但我们意识到其潜在的限制:随着视频变得更长或更复杂,这些不断扩大的记忆库可能会压倒VOS模块辨别可靠特征的能力。
1.2提出的方法
-
启发:通过解码模块量化实验发现,记忆库扩大会导致模型解码能力降低
我们通过进行一项名为“记忆解码”的先导研究来调查这一假设,以量化VOS模块的解码能力。在我们的分析中,我们继续使用对象分割作为VOS的代理,但将预测目标转移到从记忆库中解码初始帧(第0帧)的对象掩码。这一选择是基于控制变量原则的有意为之:
(1)在VOS框架中,第0帧的信息隐式地传播到后续帧,确保了解码相关信息的存在;
(2)这一预测目标在帧和不同记忆大小下保持一致。
直观地说,后面的帧比前面的帧有更丰富的信息,因为有一个更大的记忆库,因此预期会产生更好的解码结果。然而,我们的观察显示相反的情况:随着记忆库的不断扩大,VOS模块解码信息的有效性逐渐降低。有趣的是,通过在记忆库中选择少量相关帧,这种退化可以得到缓解,我们观察到在相关帧和区域上注意力分数的显著更好的集中。因此,我们的系统研究揭示了一个关键的洞察:扩大记忆库主要由于冗余信息而使VOS模块的解码变得复杂。 -
做法:精简记忆库和引入时间位置嵌入
受到这种洞察的启发,我们通过一种简单的方法来验证其实质意义:将记忆库限制在固定数量的帧上。我们简洁的记忆库有助于更好的时空建模,并根据复杂对象状态变化的分析适应对象转换,如图1所示。我们方法的有效性来自于策划的记忆库,它简洁地集中了VOS模块对相关信息的注意力。基于此,我们深入研究了新特征到来时的更新过程。我们的策略在更新过程中平衡了帧特征的相关性和新鲜感,灵感来自多臂赌博机问题中的上置信界(UCB)算法 [3]。除了提高准确性外,受限的记忆库还减少了训练推理间记忆长度的差异,与传统方法相比。通常,VOS模块是在带有少量记忆帧的短剪辑上训练的,因此我们受限的记忆库更好地与此设置对齐,即使在推理期间处理显著更长的视频。这种对齐为重新审视依赖于训练和推理之间时间同步的技术提供了机会。作为一个引人注目的例子,我们引入了时间位置嵌入来明确捕捉记忆特征的顺序——一个以前方法经常忽视的关键方面——从而实现了更优越的时间推理
好处:1)精简的记忆库有助于分析和适应对象变换,2)减少了训练和推理之间记忆长度差异(一般视频分割在训练时会截取几帧的短视频进行训练,而推理时一般面对100帧及以上的视频段,3)实现了更优越的时间推理
1.3结果和贡献
总之,我们做出了以下贡献:
1)我们引入了新颖的记忆解码分析,系统地揭示了扩展记忆库对VOS模块解码信息的弊端。
2)我们重新审视限制记忆库,显著提高了复杂情况下的VOS准确性,与平衡帧相关性和新鲜感的记忆更新策略相结合。
3)得益于较小的训练推理差距,我们引入了以前被忽视的时间位置嵌入来明确捕捉记忆帧的顺序。
总的来说,我们的洞察引导了一个简单而强大的VOS方法:“RMem”,它是记忆基础VOS方法的即插即用增强。我们广泛的实验显示了它的优势,并在VOST [40] 对象状态变化和Long Videos数据集 [27] 上树立了新的最高标准。
2.相关工作
2.1VOS基准测试。
VOS已经通过几个基准测试发展。DAVIS [35, 36]是第一个展示多样性和质量的基准测试,超过了早期的基准测试 [5, 25, 41]。YoutubeVOS [46]通过收集更多视频进一步扩大了规模。尽管它们促进了VOS的巨大进步,但它们的难度和视频长度有限,催生了更具挑战性的数据集。例如,LVOS [20]的平均时长超过500帧,Long Videos数据集 [27]进一步将其扩展到超过1000帧,而MOSE [15]通过选择有人群和遮挡的视频增加了难度。为了在最具挑战性的场景中评估我们的洞察力,我们重点介绍了涉及存在、外观和形状显著变化的对象状态变化。关于状态变化的研究,例如VSCOS [53],大多使用以自我为中心的数据集 [13, 14, 18]。在本文中,我们主要选择最近的VOST [40]。它结合了多个数据集并提供了准确的注释。值得注意的是,VOST比之前的YoutubeVOS和DAVIS更复杂,持续时间更长。我们主要关注具有挑战性的基准测试。
2.2基于记忆的VOS。
记忆库对VOS至关重要。早期方法 [4, 6, 30, 38, 43] 将VOS视为在线学习,并使用记忆特征对网络进行微调。其他一些 [7, 21, 44, 48, 50, 52] 将VOS视为模板匹配,但在遮挡或动态变化的对象上表现不佳。因此,最近的方法大多专注于通过像素级或对象级注意力进行记忆阅读 [42]。对象级记忆阅读 [1, 2, 12],受到Mask2Former [8]的启发,在效率方面表现出色。然而,它对于精细掩码或复杂场景(例如VOST [40],其中对象经常很小或杂乱无章)的效果较差。相比之下,像素级记忆阅读 [9, 11, 17, 27, 33, 39, 45, 49, 51] 更多地被采用,因为它可靠的分割通常将当前帧与记忆特征相关联。我们的工作与以往的研究不同,因为我们更多地关注扩展记忆库的一般性洞察和即插即用策略,以减轻这些问题,而不是专门的内存阅读架构。
早期方法:
- 在线学习:使用记忆特征对网络进行微调
- 模板匹配:在遮挡或动态变化的对象上表现不佳
目前方法:
- 对象级记忆阅读:在效率方面表现出色。然而,它对于精细掩码或复杂场景的效果较差
- 像素级记忆阅读:可靠的分割通常将当前帧与记忆特征相关联
2.3受限记忆库。
以前的研究主要从效率角度来限制记忆库 [9, 26, 27]。一个值得注意的代表,XMem [9],采用了具有自定义修改(如记忆强化)的层次结构。与之前的努力相比,我们的工作明确揭示并强调了通过减少冗余信息来限制记忆库的准确性优势,而不是强调效率。此外,我们的RMem展示了这样一个简单的即插即用增强VOS框架的洞察力,避免了像XMem中那样的特殊操作符的明显增加或依赖。我们进一步建议,RMem的好处不仅限于VOS,最近的工作中 [37] 应用大型语言模型来处理长视频时也注意到了压缩记忆和选择帧的类似好处。
以前限制记忆库是从效率的角度进行考量,而我们的考量是减少冗余信息以增强模型。这一角度在最近工作中的应用在大语言模型中来处理长视频。
3.试点研究:记忆解码分析
本节设计了我们的先导实验,以研究不断扩大的记忆库如何影响VOS模块的解码能力。我们的设计模仿了VOS任务,但根据控制变量原则进行了几项修改:预测目标和VOS模块在我们的先导实验中保持一致,而只有记忆库中的帧发生变化。这样的比较使我们能够清晰地分析,并揭示了核心洞察:VOS模块在解码不断增长的记忆库方面能力有限。
3.1 VOS的符号和公式化。
我们将现有的VOS框架视为基于记忆的编码器-解码器网络:编码器E(·)是将图像It在帧t编码成特征Ft的视觉主干;然后,解码器D(·)通过读取存储在记忆库M[F0:t−1]中的特征将Ft转换为分割St,如下所示:
这里,M[F0:t−1]通常来自以一定频率保存的特征,VOS解码器通常是特殊的变换器 [42],例如AOT [51]中的LSTT。VOS的最终目标是最小化预测掩码St和真实掩码St之间的差异。
3.2 Our Memory decoding Analysis
我们的先导研究将VOS模块D(·)的变量和预测目标St分开,以清晰地分析记忆库M[F0:t−1]在控制变量设置下的影响。因此,我们故意设计我们的记忆解码分析为从记忆库中存储的特征解码初始帧(第0帧)的掩码。
更准确地说,我们的先导研究被公式化为,
其中D’(·)是为公式2中的目标训练的额外VOS解码器。在实践中,我们使用原始的VOS解码器D(·)进行常规的VOS,如公式1,然后仅使用D’(·)来解密第0帧的掩码St^0,以避免影响原始的VOS。M[F1:t]包含第1帧到第t帧之间存储的特征。注意,第0帧的特征从输入M[F1:t]中排除,以避免D’轻易依赖单帧记忆。
解释一下3.1和3.2。
3.1表示了平常vos模型预测第t帧分割的过程,即从第t帧图像和0~t-1帧记忆库中提取信息,来进行预测。
3.2进行了改变,不预测第t帧的分割结果,而是分割第0帧。从第0帧图像和后面1~t帧记忆库中提取信息进行预测。
在深入实验之前,我们强调选择这种公式的原因。
(1) 相关信息的存在。公式1中的过程类似于将掩码从历史帧传播到当前帧t,表明M[F1:t]包含有关第0帧掩码的信息。因此,从M[F1:t]解码第0帧的掩码不是随机猜测,而应该能够获得高质量的结果。
(2) 相同的预测目标。我们的预测目标对于每一帧和不同大小的记忆库保持不变。
(3) 与常规VOS的合作。我们使用D’(·)作为一个独立的VOS解码器,以便原始的VOS过程保持不变,我们的先导研究可以利用相同的记忆库。
解释
- 相关信息的存在:在视频对象分割任务中,模型需要利用之前帧的信息来帮助分割当前帧中的对象。这里的公式1描述了一个过程,其中模型使用从历史帧(即第1帧到第t帧)中提取的特征(记忆库M[F1:t])来预测当前帧t的对象掩码。由于这些历史帧包含了与第0帧(初始帧)相关的信息,所以使用这些信息来解码第0帧的掩码是合理的。这意味着,模型不是在进行随机猜测,而是应该能够利用这些信息来获得准确的结果。
- 相同的预测目标:在进行实验时,研究者希望确保实验的一致性。这里提到的“相同的预测目标”意味着无论记忆库的大小如何变化(即包含不同数量的历史帧),模型的预测任务都是一样的,即解码第0帧的掩码。这样做可以确保实验结果的公平比较,因为变化的唯一因素是记忆库的大小。
- 与常规VOS的合作:在VOS任务中,通常会有一个编码器-解码器架构,编码器提取视频帧的特征,解码器则使用这些特征来生成对象掩码。这里的D’(·)表示一个额外的解码器,它被用来进行先导研究中的特定任务(解码第0帧的掩码)。这样做的目的是为了不干扰原有的VOS流程,即原有的解码器D(·)仍然按照常规方式处理整个视频序列。通过这种方式,研究者可以在不影响原有VOS性能的前提下,单独研究记忆库大小对特定任务(解码第0帧)的影响。
3.3 实现
我们选择最近的VOST [40]数据集来突出具有挑战性的对象状态变化。它的长视频时长和复杂场景推动了VOS解码器的极限。然后我们采用AOT [51]作为VOS编码器-解码器,这是一个流行的基线和VOST上的顶级方法。模仿公式2,我们从AOT的预训练解码器D(·)初始化D’(·),然后用地面真实St0的分割损失来监督St0。更多的实现细节在第B节。
3.4 假设和期望
随着记忆库的扩展,M[F1:t]中的信息在后续帧中变得严格更丰富,而预测目标保持不变。因此,我们自然期望解码掩码St^0在后续帧中展示稳定或更好的准确性,假设VOS解码器D(·)能够从不断增长的M[F1:t]中提取相关特征。
3.5结果和分析
与上述期望相反,我们观察到随着记忆库的增长,掩码St0的质量在下降,如图2(b)所示。为了验证不断扩大的记忆库确实是退化的原因,我们经验性地将记忆库限制在包含最相关和最新信息的8帧内,直观地说:M[F1:t]中的前7帧和最新帧。根据图2(b)中的蓝线,将记忆限制为只存储简洁特征有效地避免了退化。受到解决退化问题的启发,我们提出,冗余信息是不断扩大记忆库的主要负面影响。否则,退化不应该在我们选择一个直观相关的帧子集后简单地消失。更具体地说,这与VOS方法如何利用注意力机制从记忆库中读取密切相关,其中冗余特征减少了对相关帧的注意力分数。作为直接证据,我们在图2(c)中分析了解码St^0的注意力分数,并观察到F0与其最相关的记忆特征(M[F1:t]中的第一帧)之间的注意力分数在正确对象上的集中度降低,并在更长的记忆库中变得分散。因此,我们得出结论,通过更精确的注意力,使用简洁的相关特征集限制记忆库可能有益于VOS模块的解码。
图 2. 先导研究的草图。我们的记忆解码分析模仿从记忆库特征中解码第0帧的掩码,以量化不断增长的记忆对VOS模块的影响,图中的“期望结果”是真实情况。对于图块(a)中显示的视频,我们在图块(b)中可视化了其解码结果:掩码在数量上(黄色曲线)和质量上都有所下降,偏离了期望结果。然而,选择一组简洁的帧可以缓解这个问题(图块(b)中的蓝色曲线)。因此,我们推测不断增长的记忆的缺点在于它混淆了VOS模块的注意力。在图块(c)中,我们用红线表示注意力中权重较高的关联,线的粗细表示注意力分数的值。如图所示,查询F0在记忆库扩展后对其最相关的帧的关注度降低,注意力分数从0.247下降到0.056。(第二行显示了作为上下文的真实掩码。Jmean是在所有视频中St0和Se0之间的平均Jaccard指数。)
4. RMem方法
4.1 限制记忆库以提高VOS性能
- 设计
正如我们在先导研究中指出的(第3节),VOS模块在处理大量特征时能力有限,因此受益于一个包含较少冗余信息的简洁记忆库。为了在实际VOS系统中验证这一点,我们开发了一种简单的方法:将记忆库限制在固定数量的帧内。在实践中,预定义的一个小常数K是记忆库可以存储的最大帧数,如图3所示。我们方法的简单性使其成为现有VOS框架的即插即用增强功能。在任意帧t,我们通过表示Mt,将记忆库M[F0:t−1]简化为包含Kt ≤ K帧的Mt。自然的问题是,当Kt达到极限K时,如何消化新到达的特征是非平凡的,尤其是在信息质量对VOS至关重要时,根据我们在先导研究中对退化的处理(第3节)。我们的基线采用了一个直观简单但有效的方法(我们在第4.2节中探索更好的策略):选择最可靠的帧(第0帧)和时间上最相关的帧(最近的帧)。正式地,当Kt = K时,记忆库的更新如下:
图 3. RMem 概览。 (a) RMem 重新审视限制记忆库以增强 VOS(第 4.1 节),这一动机来自于我们先导研究的洞察。 (b) 为了维护一个信息丰富的记忆库,我们在更新最新特征时平衡了帧的相关性和新鲜感(第 4.2 节)。 © 得益于训练和推理之间较小的记忆库大小差距,我们引入了以前被忽视的时间位置嵌入来明确编码帧的顺序(第 4.3 节),这增强了时空推理能力。
其中Mt 2:Kt−1和Ft是最接近的帧,移除Mt 1以创建一个可用的插槽,如图3(b)所示。
- 讨论
我们受限的记忆是对以前方法 [26, 27] 的重新审视。然而,我们的区别在于强调准确性而不是效率。此外,我们的RMem还简化了它们 [9, 26, 27],通过将每个帧视为组成特征图而不是将其分解为更小的区域或像素 [9];因此,我们的策略可以直接应用于更广泛的模型。尽管更复杂的策略可能会进一步提高我们的准确性,但简单的方法已经有效(第5.3节)。
4.2 记忆库更新
更新传入帧到记忆库为VOS模块提供了信息线索,以解码。尽管我们的基线(公式3)已经与有限记忆库合作,但我们研究了更新的更好方法。
- 记忆更新的挑战
正如我们的先导研究所示(第3节),提高信息的简洁性对VOS模块的解码效率有很大影响。因此,随机选择或保留最新帧的朴素启发式方法是不可靠的(如第5.4节,记忆更新分析所示),因为它们没有考虑帧的相关性(随机)或遭受知识漂移(最新)。为此,我们提出了一个原则,既考虑了相关原型特征,也考虑了来自最新帧的最新信息。
这让我想到之前的一篇视频理解论文FGFA,也是考虑帧之间的相关性。首先对于key frame相邻的视频帧进行了相关性分析,然后对于相关性强的帧给予更高的权重,相关性差的帧给予更少的权重。而本篇论文不仅考虑相关性,还进行了记忆库更新。
- 受多臂赌博机启发的记忆更新
我们的记忆更新问题可以表述为如何从K个候选者中选择和删除最过时的帧kd,以为传入的特征腾出空间。虽然并不完全相同,但这个问题类比于多臂赌博机 [23],它也关心通过从固定数量的候选者中选择来优化奖励。对我们最有启发性的见解是利用上置信界(UCB)算法 [3] 平衡开发和探索,其最大化目标Ok对于一个选项k如下:
其中Rk是选项k的平均奖励,T是总时间戳,tk是选择k的时间戳数量。当应用于我们的VOS时,我们重新定义Rk为帧对可靠VOS的相关性,并考虑√(2 log T)/tk作为记忆的新鲜感,直观上。然后,被删除的帧kd是根据最小的O1:K选择的。在实践中,我们使用注意力分数来定义相关性项Rk,以量化来自记忆的特征的贡献。在变换器的上下文中,我们假设解码记忆库如下:
并假设St是Ft和Mt之间的分数(经过softmax计算)。然后,我们将分数之和视为记忆库中帧的相关性:Rk = sum(St k),其中St k是对应于Mt k的注意力分数切片。与XMem [9]相比,它也使用注意力分数进行选择,我们的设计在帧级别而不是像素级别上进行选择,这更简单且已经有效(如第5.4节所示)。至于UCB中的第二项√(2 log T)/tj,我们通过定义tj为帧在记忆库中停留的时间,T为所有帧的停留时间之和来修改它。这个新鲜感项惩罚了长时间停留的帧,并允许从最新信息中刷新。最后,Ok通过权重α将相关性项Rk与之结合起来。
4.3 具有时间感知的记忆库
- 动机
除了适应VOS模块的解码能力外,系统地限制记忆库还减少了训练和推理之间记忆长度的差异。具体来说,VOS算法通常在短视频剪辑上训练,记忆库中只有几帧,而在推理时视频要长得多。因此,如果没有我们的限制,记忆库中的帧数差异会更大。这种训练和推理之间的时间对齐为VOS开辟了新的机会。作为一个引人注目的例子,我们引入了时间位置嵌入(PE)来增强时空推理。具体来说,我们注意到以前的方法是 [9, 11, 51] 忽略了记忆库中帧的顺序,即没有明确考虑帧之间的时间关系,而空间PE已被广泛采用。考虑到顺序在时间建模中的关键作用,这通常在基于视频的任务中通过时间PE来解决,我们推测训练和推理之间记忆大小的区别阻碍了以前的方法采用时间PE。
- 设计
时间PE的目标是将明确的时间感知嵌入到记忆中,并指导Eqn. 5中的注意力。尽管限制记忆库缓解了训练推理之间的转变,但时间PE的挑战仍然存在:最优记忆大小K,尽管比扩展的小得多,但仍然可能大于训练时记忆大小Ktrain;(2)记忆中的帧在1到K之间变化。为了解决这些问题,我们的解决方案受到ViT [16]如何使用可学习PE和插值来解决不同图像分辨率的启发。类似地,我们根据Ktrain初始化PE,表示为P0:Ktrain−1,并且查询Ft具有专用的PE Pq。然后,记忆库Mt 0:Kt−1的时间PE是P t 0:Kt−1。
其中“Interp(·)”通过最近邻将P0:Ktrain−1插值到Kt。最后,时间PE通过增加键和值来增强原始注意力在Eqn. 5中的:
上述设计包含两个关键选择。(1)我们使用记忆中的相对索引{k = 0, …, Kt−2}而不是帧索引t,以避免训练和推理之间的转变。(2)使用可学习的PE而不是傅里叶特征更适合有限的训练长度Ktrain。
代码分析
更新中,后续开代码帖