点击下方卡片,关注 「AI视界引擎」 公众号
本文的目标是运动分割——发现并分割视频中的运动目标。这是一个被广泛研究的问题,涉及许多细致且有时复杂的处理方法和训练方案,包括:自监督学习、从合成数据集中学习、以目标为中心的表示、非模态表示等等。本文的兴趣在于确定Segment Anything模型(SAM)是否能够为此任务做出贡献。
作者研究了两种将SAM与光流结合的模型,这些模型利用了SAM的分割能力以及光流发现和分组运动目标的能力。
在第一种模型中,作者将SAM适配为接受光流而非RGB作为输入。在第二种模型中,SAM接受RGB作为输入,而光流则用作分割提示。
这些出人意料的简单方法,在没有进行任何进一步修改的情况下,在单目标和多目标基准测试中均超过了所有先前方法的性能。
作者还把这些帧 Level 的分割扩展到序列 Level 的分割,以保持目标身份。再次,这个简单的模型在多个视频目标分割基准测试中超过了以前的方法。
关注公众号,私信「获取代码」获取链接地址!
1 Introduction
近期在图像分割领域的研究具有变革性,其中Segment Anything Model(SAM)成为了一个重要的突破。利用大规模数据集和可扩展的自我标记,SAM在多种场景下实现了灵活的图像级分割,这得益于用户提供的如框、文本和点等提示。在视频中,光流在移动目标分割中发挥了重要且成功的作用——
它可以(i)发现移动目标,(ii)为分割提供清晰的边界,以及(iii)如果目标一起移动,将目标的部分组合在一起。
它成为了通过自监督学习发现移动目标众多方法的基础。然而,如果目标暂时静止,它在区分前景目标和背景“噪声”方面面临分割挑战。
为此,作者探索了两种不同但简单的变体,以有效地将SAM定制用于运动分割。
首先,作者引入了FlowI-SAM(图1a),这是对原始SAM的改编,直接将光流作为三通道输入图像进行分割,其中统一网格上的点作为提示。
这种方法利用了SAM在静态背景下准确分割移动目标的能力,通过利用光流场中独特的纹理和清晰的边界。然而,在光流来自多个相互作用目标的场景中,它的成功率较低,因为流只包含有限的信息来分离它们。
其次,基于SAM在RGB图像分割方面的强大能力,作者提出了FlowP-SAM(图1b),其输入是一个RGB帧,光流指导由可训练提示生成器产生的SAM进行移动目标分割。这种方法有效地利用了SAM在RGB图像分割上的能力,光流信息作为帧内移动目标/区域的选定器。
此外,作者将这些方法从帧级扩展到序列级视频分割(图1c),使得目标身份在整个序列中保持一致。作者通过引入一个匹配模块来实现这一点,该模块根据时间连贯性自动回归地选择是选择新目标还是传播旧目标。
总之,本文介绍并探索了两种模型,以利用SAM进行视频中的移动目标分割,使得主要移动目标能够从背景运动中区分出来。作者的贡献有三方面:
- FlowI-SAM模型,它利用光流作为三通道输入图像,进行精确的per-frame分割和移动目标识别。
- FlowP-SAM模型,这是一个双流(RGB和光流)数据的创新组合,使用光流生成提示,指导SAM在RGB图像中识别和定位移动目标。
- 在移动目标分割基准测试上,包括DAVIS、YTVOS和MoCA,无论是帧级还是序列级,都取得了大幅领先的新技术水平。
2 Related Work
视频目标分割(VOS)是计算机视觉中广泛研究的任务。其目标是在视频序列中分割主要目标。
已经开发了众多基准来评估VOS性能,既适用于单目标也适用于多目标场景。VOS研究广泛探索了两种主要协议,即无监督和半监督VOS。值得注意的是,“无监督”这一术语专指在推理时(即没有推理时的监督)不使用真值标注。相比之下,半监督VOS使用第一帧的真值标注来启动后续帧中的目标跟踪和 Mask 传播。本文关注无监督VOS任务,并利用运动作为目标发现的关键线索。
运动分割专注于通过目标运动发现目标并生成相应的分割 Mask 。现有的运动分割基准与用于VOS评估的基准在很大程度上重叠,特别是在单目标案例中。对于多目标运动分割,数据集[43, 44]已经从VOS基准中特别策划出来,专门关注具有主要运动的序列。在运动分割文献中有两种主要设置:一种仅依赖运动信息,通过空间聚类[25, 26, 47]或将运动信息与背景中的移动元素区分开来;另一种[1, 10, 24, 32, 44, 48]通过结合外观信息增强基于运动的目标发现。
作者分别将这些两种方法称为“仅流”和“基于RGB”的分割,并在本研究中探索这两种设置。
分割任何模型(SAM)[12]在多种场景下展示了令人印象深刻的图像分割能力。它在包含超过10亿个自标记 Mask 和1100万张图片的SA-1B数据集上进行训练。这种大规模的训练使其对未见领域具有强大的零样本泛化能力。许多工作将SAM模型适配以执行不同的任务,如跟踪[7]、变化检测[56]和3D分割[3]。其他一些工作将SAM扩展到更具提示性[58]、更高效的模型[45, 51, 55]或更多领域[4, 23, 34, 42]。作者的工作通过将SAM框架适配光学流输入和流提示,将其扩展到运动目标分割。
3 SAM Preliminaries
分段任何模型(SAM)旨在实现高精度的图像分割,既支持用户指定的提示,也支持完全自动的操作模式。在用户输入的指导下,SAM接受包括点、框、 Mask 或文本描述在内的各种提示形式,以准确勾勒出分割目标。
或者,在其自动模式下,SAM使用均匀网格上的点作为提示,提出所有可能的分割 Mask ,捕捉物体及其层次划分——物体、部分和子部分。在这种情况下,对网格上的每个提示重复进行推理,依次为每个提示生成 Mask ,最终的 Mask 选择由预测的 Mask 交并比(IoU)分数指导。
在架构上,SAM依赖于三个基本组成部分:(i) 图像编码器通过重型的视觉 Transformer (ViT) Backbone 提取强烈的图像特征,该 Backbone 通过 Mask 自动编码器(MAE)方法进行预训练;(ii) 提示编码器将输入提示转换为位置信息,有助于定位分割目标;(iii) Mask 解码器具有轻量级双向 Transformer ,输入由编码提示 Token 、可学习的 Mask Token 和一个IoU预测 Token 的组合作为输入 Query 。这些 Query 与图像编码器输出的密集空间特征进行迭代交互,导致最终的 Mask 预测和IoU估计。
在下一节中,作者将描述两种不同的、然而简单的变体,以有效地为运动分割定制SAM。
4 Frame-Level Segmentation I: Flow as Input
在本节中,作者通过仅利用运动信息从单个帧中发现移动目标,以生成相应的分割 Mask 。形式上,给定帧的光流输入,作者旨在为每个目标预测一个分割 Mask 以及一个前景目标IoU(fIoU)得分。
图2:FlowI-SAM概述。(a) FlowI-SAM的推理流程。 (b) 标有可训练参数的FlowI-SAM架构。点提示 Token 由冻结的提示编码器生成。
为了使SAM适应这一新任务,作者通过在光流流输入上对其进行微调,制定出FlowI-SAM (),并将原始的IoU预测头重新用于预测fIoU,如图1(b)所示。
多帧间隔的光流输入。 为了减轻由于静止部分、关节运动和目标交互等引起的噪声光流的影响,作者在训练和评估阶段考虑具有不同帧间隔的光流输入(_例如,_(1,-1),(2,-2))。这些多间隔光流输入独立由图像编码器处理,以获得较低分辨率的密集空间特征,然后通过跨不同帧间隔的平均空间特征图来组合,_即,_。
FlowI-SAM 推理。 为了从光流输入中发现所有移动目标,FlowI-SAM模型通过在均匀网格上的点进行提示。每个点提示输出一对 Mask 和目标性得分预测。这一机制与原始SAM公式中的相同,如图1(a)所示。最终的分割是通过使用基于预测的fIoU和重叠比率的非最大抑制(NMS)来选择的。
FlowI-SAM 训练。 为了使预训练的SAM模型适应光流输入,作者对轻量级 Mask 解码器进行微调,而图像编码器和提示编码器保持冻结。总体损失公式如下:
其中和分别表示 GT 分割 Mask 和fIoU,是一个比例因子。
5 Frame-Level Segmentation II: Flow as Prompt
在本节中,作者将SAM适应于视频目标分割,通过处理RGB帧,并以光流作为提示。作者将这种帧级分割架构称为FlowP-SAM,即作为提示的流(Flow)的SAM。如图2(b)所示,FlowP-SAM包括两个主要模块,即流提示生成器和分割模块。流提示生成器接收光流作为输入,并生成可以作为补充 Query 以从RGB输入推理帧级分割 Mask 的流提示。形式上,
其中,表示流提示生成器预测的运动目标分数(MOS),而表示分割模块估计的前景目标IoU(fIoU)。具体来说,MOS指定输入点提示是否属于运动目标()或静止区域()。另一方面,fIoU遵循与FlowI-SAM中相同的公式,即预测前景目标的IoU,并为背景区域产生0。
流提示生成器包括:(i)一个冻结的SAM图像编码器,其中从不同帧间隔的光流输入中提取密集的空间特征,然后通过帧间隔的求平均值;(ii)一个流 Transformer ,其详细架构如图3c所示,作者首先将输入点提示(即位置嵌入)与可学习的流提示和运动目标分数(MOS)标记连接起来形成 Query 。然后,这些 Query 在轻量级 Transformer 解码器中迭代关注密集的流特征。流提示生成器有两个输出,即,精细的流提示,和一个MOS标记,随后由基于MLP的 Head 处理以产生最终的移动目标分数。
分割模块。 分割模块的整体结构与原始SAM相似,除了两个调整:(i) 将IoU预测头重新定位以预测前景目标得分(floU)(与FlowI-SAM相同);(ii) 来自流提示生成器的输出标记被注入为额外的 Query 输入。
FlowP-SAM推理。 与FlowI-SAM类似,作者使用来自统一网格的单点提示引导FlowP-SAM,以迭代预测可能的分割 Mask ,同时进行MOS和floU估计。这些预测得分被平均,即,然后用于指导后处理,包括NMS和选定 Mask 的叠加。
图3:FlowP-SAM概览。****(a) FlowP-SAM的推理流程。 (b) FlowP-SAM的架构。流提示生成器产生流提示以注入到类似SAM的基于RGB的分割模块中。这两个模块接收相同的点提示标记,该标记来自冻结的提示编码器。 (c) 流 Transformer 的详细架构。输入标记在轻量级 Transformer 解码器中作为 Query ,迭代关注密集流特征。然后输出移动目标得分(MOS)标记通过基于MLP的 Head 进行处理,以预测一个得分,指示输入点提示是否对应于移动目标。
FlowP-SAM训练。 作者以端到端的方式训练FlowP-SAM,同时保持SAM预训练的提示编码器和图像编码器冻结。流 Transformer 从零开始训练,而分割模块中的 Mask 解码器在预训练的SAM上进行微调。整体损失为:
其中 对应于 GT Mask 。 和 分别表示两个预测分数的 GT 值,而 和 是比例因子。
6 Sequence-level Mask Association
在本节中,作者概述了将序列中每个运动目标的逐帧预测链接成连续轨迹的方法。具体来说,作者计算了两种类型的 Mask :当前帧使用模型(FlowI-SAM 和/或 FlowP-SAM)计算的_逐帧_ Mask ;以及通过光流传播初始帧预测获得的_序列级_ Mask ,然后通过比较两者来更新当前帧的 Mask 。以下部分详细介绍了作者的更新机制。
更新机制。这个过程旨在关联跨帧的目标 Mask ,以及确定特定帧的序列级结果应该是直接从该帧的逐帧预测获得,还是通过从前一帧结果传播获得。
具体来说,给定目标在帧的序列级 Mask (即),作者首先使用光流将其变换到帧,
然后作者考虑三组 Mask :(i)变换后的 Mask ;(ii)在帧的逐帧预测;(iii)通过光流将邻近帧(间隔)的逐帧预测对齐到当前帧(即)。对于每组 Mask ,作者基于IoU分数执行成对的双向匈牙利匹配,总共得到三种配对。通过传递性原则,匈牙利匹配对可以反映这些预测之间的_时间一致性_,_即_如果(i)中的目标与(ii)中的目标匹配,且与(iii)中的目标匹配,则后两个目标也必须相互匹配。如果这种传递性成立,作者将一致性分数,否则。
这个过程针对重复进行,得到平均一致性分数,指导以下 Mask 更新:
其中表示在帧目标的序列级 Mask 预测。
这背后的理念是这两种方法各有优缺点:传播在保持目标身份上是安全的,但 Mask 质量随时间下降,而更新确保高质量的 Mask 但存在错误关联目标身份的风险。因此,如果当前的逐帧 Mask 在时间上是一致的,那么作者可以合理地确信更新 Mask ,如果不是,作者选择更安全的选项,传播前一帧的 Mask 。
请注意,作者对每个目标分别执行此操作,因此每个目标独立更新或传播。最后,作者将所有目标层叠回原顺序,并移除任何重叠,以获得最终的序列级预测。
7 Experiments
以下是第7节实验部分的开始部分。
Datasets
单一目标基准测试. 对于单一目标的运动分割,作者采用了标准数据集,包括DAVIS2016 [31]、SegTrackv2 [18]、FBMS-59 [28]和MoCA [16]。尽管SegTrackv2和FBMS-59包含一些多目标序列,但遵循常见的做法[15, 47],作者将所有移动目标组合成一个单一的前景 Mask ,将它们视为单一目标基准测试。MoCA代表移动伪装动物(Moving Camouflaged Animals),被设计为一个伪装目标检测基准。按照[15, 43, 47]的做法,作者采用了经过筛选的MoCA数据集,排除了那些几乎没有运动视频。
多目标基准测试. 在多目标分割方面,作者报告了DAVIS2017 [33]、DAVIS2017-motion [33, 43]和YouTube-VOS2018-motion [44, 46]的性能,其中DAVIS2017以主要移动目标为特点,每个目标都标注为独特的实体。例如,骑马的人会被分别标注。相比之下,DAVIS2017-motion根据目标的共同运动重新标注目标,使得共享运动的目标被标注为单一实体。例如,由于他们共享运动,骑马的人被标注为单一实体。
YouTubeVOS2018-motion [44]数据集是原始YouTubeVOS2018 [46]的精选子集。它特别排除了涉及常见运动、严重部分运动和静止目标的视频序列,使其非常适合于运动分割评估。然而,原始数据集也标注了许多静止目标,并且仅为移动目标的一个子集提供部分标注。
评估数据集总结. 为了研究运动在目标发现和分割中的作用,作者采用了所有上述基准测试,这些基准测试仅包含主要以移动目标为主的序列。值得注意的是,在评估FlowI-SAM时,作者排除了带类别标签的DAVIS2017数据集,因为仅基于运动线索无法将共同移动的目标区分开来。
训练数据集. 为了使基于RGB预训练的SAM适应移动目标发现和运动分割,作者首先在由[43]引入的合成数据集上训练FlowI-SAM和FlowP-SAM,如下所述,然后在真实世界的视频数据集上训练,包括DAVIS2016、DAVIS2017和DAVIS2017-motion。
Evaluation Metrics
为了评估预测 Mask 的准确性,作者报告交并比(),但对于MoCA数据集,由于只给出了 GT 边界框,作者遵循文献[47]并报告检测成功率(SR)。关于多目标基准测试,作者在附录0.D中额外报告了轮廓准确性()。
在这项工作中,作者区分了帧 Level 和序列 Level 的方法,并采用了两种不同的评估协议:(i) 由于帧 Level 方法为每一帧独立生成分割,作者在评估之前应用逐帧匈牙利匹配来匹配预测与 GT 之间的目标 Mask ;(ii) 相反,序列 Level 方法采用额外的步骤来关联跨帧的目标 Mask 。因此,对于每个序列,匈牙利匹配是全局进行的,即预测与 GT Mask 之间的目标ID在每个序列中匹配一次。鉴于在帧间目标关联过程中增加的复杂性和潜在的误差,序列 Level 预测通常被认为更具挑战性。
Implementation Details
在本节中,作者总结了作者在帧级分割模型中的实验设置。关于详细的架构、超参数设置和序列级 Mask 关联的更多信息,请参阅附录0.A。
流计算。作者采用现成的RAFT [37]方法来估计具有多帧间隔的光流,对于(1,-1)和(2,-2)的情况,除了YTVOS18-m和FBMS-59,后者使用更高的帧间隔(3,-3)和(6,-6)来补偿慢动作。
模型设置。对于FlowI-SAM和FlowP-SAM,作者遵循默认的SAM设置,并采用四个输出 Mask 标记中的第一个进行 Mask 预测。对于FlowI-SAM,作者部署了两种版本的预训练SAM图像编码器,即ViT-B和ViT-H,以提取光流特征。
关于FlowP-SAM,出于效率考虑,作者使用ViT-B对光流进行编码,并使用ViT-H作为RGB帧的图像编码器。作者用4个可学习的光流提示标记初始化流提示生成器,随后在流 Transformer 模块中由轻量级两层 Transformer 解码器处理。
评估设置。在推理时,对于仅输入光流的FlowI-SAM,作者在均匀网格上输入独立的点提示,而对于FlowP-SAM,为了考虑更复杂的RGB纹理,作者采用更大的网格大小。
7.3.1 Mask Selection over Multiple Point Prompts.
在后处理过程中,作者使用预测的得分(FlowI-SAM的floU,以及FlowP-SAM的MOS和floU的平均值)作为在整个 Mask 选择过程中的指导:(i) 应用非极大值抑制(NMS)以滤除重复的 Mask 并保留得分较高的 Mask ;(ii) 然后根据它们的得分对剩余的 Mask 进行排序,并保留前个 Mask (FlowI-SAM中,FlowP-SAM中);(iii) 这个 Mask 通过将得分较高的 Mask 置于前面来进行叠加。
7.3.2 Training Settings.
训练分为两个阶段,首先在由[43]提出的数据集上进行合成预训练,然后在附录0.A.1中详细描述的实拍DAVIS序列上进行微调。由于动态物体序列的比例较低,因此未使用YTVOS进行微调。作者以端到端的方式使用Adam优化器,以学习率对两个模型进行训练。训练是在一块NVIDIA A40 GPU上进行的,每个模型大约需要3天时间才能完全收敛。
Ablation Study
作者提供了一系列关于每帧FlowI-SAM和FlowP-SAM模型中的关键设计以及作者的序列级方法的消融研究。有关更详细的消融分析,请参阅附录0.B。
7.3.3 Ablation Studies for FlowI-SAM.
以下是针对输入光流以及如何结合密集流特征的调查。
表2:FlowI-SAM中密集流特征的组合。采用了SAM ViT-H图像编码器。结果展示的是帧 Level 的预测。
- 光流帧间隔。 如表1所示,使用具有多个帧间隔的光流输入(即1,-1,2,-2)在多目标和单目标基准测试中均带来了明显的性能提升。这种改进归功于在扩展的时间范围内运动信息的一致性,这有效地减轻了由缓慢移动、部分运动等引起的光流输入中的噪声影响。
- 流特征的结合。 作者探索了两种结合方案:(i)取最大值;(ii)对不同帧间隔取平均值。根据表2,取平均值的方法效果更佳。
针对FlowP-SAM的消融研究。 如表3所示,作者从原始的SAM开始,逐步添加作者提出的组件。请注意,对于所有展示的预测,作者采用了相同的推理 Pipeline (即相同的点提示和后处理步骤)。由于原始SAM没有预测前景物体IoU(floU),作者转而应用默认的IoU预测来指导 Mask 选择。
作者同时训练流提示生成器来预测流提示标记和移动目标得分(MOS)。将流提示注入基于标准RGB的SAM架构中,带来了显著的性能提升,验证了运动信息在准确确定目标位置和形状方面的价值。此外,将MOS作为额外的后处理指导也带来了进一步的改进。
在对分割模块进行微调后,作者观察到了性能的轻微提升。最后,用floU得分替换默认的IoU预测,实现了更精确的 Mask 选择,结果也证明了这一点。
Quantitative Results
在7.2节中概述了不同的评估协议后,作者分别报告了作者的方法,对FlowI-SAM(在4节中介绍)和FlowP-SAM(在5节中介绍)进行了逐帧分析,然后是序列级评估。
逐帧性能。表4区分了仅流方法和基于RGB的方法,前者采用光流作为唯一的输入模态,后者接收RGB帧及可选的流输入。请注意,由于缺乏监督 Baseline ,一些最新的自监督方法的性能也被报告。
表3:FlowP-SAM的消融分析。研究从原始SAM预训练权重开始,逐步引入新组件(以蓝色标记)。“MOS”是移动目标分数的简称,“floU”表示前景物体IoU。结果展示的是逐帧预测的情况。涉及多个移动目标。特别是,作者展示了通过将FlowI-SAM的预测层叠在FlowP-SAM的预测之后,两种模型联合使用使得模型能够补充遗漏的预测(如运动模糊、光照不足或小物体)。
在仅流分割方面,作者的FlowI-SAM(带有两个SAM图像编码器)大幅优于先前的方法(超过10%)。在基于RGB的分割方面,作者的FlowP-SAM也取得了最先进的性能,特别是在多目标基准测试中表现突出。通过结合这两种逐帧预测(FlowI-SAM+FlowP-SAM),作者观察到性能进一步提升。这表明在逐帧分割中,流和RGB模态具有互补作用,特别是在存在多个移动目标时。
序列级性能。对于基于流的分割,作者应用了第6节中介绍的 Mask 关联技术,从每帧FlowI-SAM结果获得序列级预测。为确保公平比较,
图10:在STv2序列上的定性可视化。随着主要目标的运动(因此光流场清晰),仅流方法和基于RGB的方法都产生了准确的分割 Mask 。
参考
[1].Moving Object Segmentation.
点击上方卡片,关注 「AI视界引擎」 公众号