【视频目标分割VOS-2023ECCV】Scalable Video Object Segmentation with Simplified Framework

相关链接

摘要

背景
目前流行的视频对象分割(VOS)方法通过几个手工制作的模块来实现特征匹配,这些模块分别执行特征提取和匹配。然而,根据经验,上述手工设计会导致目标交互不足,从而限制了 VOS 中的动态目标感知特征学习

方法
为了解决这些局限性,本文提出了一个可扩展的简化 VOS(SimVOS)框架,利用单个变压器主干来执行联合特征提取和匹配。具体来说:
1、SimVOS 采用了可扩展的 ViT 主干网,可同时进行特征提取以及查询特征和参考特征之间的匹配。这种设计使 SimVOS 能够学习更好的目标器特征进行准确的掩码预测。
2、更重要的是,SimVOS 可以直接将训练有素的 ViT 骨干(如 MAE [21])用于 VOS,从而缩小了 VOS 与大规模自监督预训练之间的差距。
3、为了实现更好的性能-速度权衡,我们进一步探索了帧内注意力,并提出了一个新的标记细化模块,以提高运行速度并节省计算成本。

结果
在实验中,我们的 SimVOS 在流行的视频对象分割基准(即 DAVIS-2017 (88.0% J & F)、DAVIS-2016 (92.9% J & F) 和 YouTube-VOS 2019 (84.2% J & F))上取得了最先进的结果,而无需应用以往 VOS 方法中使用的任何合成视频或 BL30K 预训练。

引言

1.1 背景和难点

视频对象分割在视频分析和场景理解中是一个重要且基本的计算机视觉任务,在这篇论文中,我们专注于半监督VOS任务,其目标是使用仅在视频第一帧中给出的目标掩模注释,来分割和跟踪视频中每一帧中感兴趣的对象。VOS中的主要挑战主要在于两个方面:1)如何有效地将目标与背景干扰物区分开来;2)如何在视频的多个帧中准确匹配目标。

在过去几年中,基于匹配的现代VOS方法因其在流行VOS基准测试上的出色表现而受到广泛关注[56, 34, 35]。典型的方法STM[32]及其后续工作[8, 59, 7]主要使用几个定制的模块来执行半监督VOS,包括特征提取、目标匹配和掩模预测模块。这些方法中的整个掩模预测过程可以分为两个连续的步骤:1)在之前的帧(即记忆帧)和新进入的帧(即搜索帧)上进行特征提取;以及2)在搜索帧中进行目标匹配,这通常是通过计算记忆帧嵌入和搜索帧嵌入之间的逐像素匹配来实现的。

尽管上述基于匹配的方法取得了良好的性能,但这些方法中使用的特征提取和匹配模块分离的设计仍有一些局限性。首先,分离的架构无法提取动态的目标感知特征,因为在特征提取过程中,记忆帧和搜索帧嵌入之间没有交互。因此,特征提取模块在离线训练后被视为固定的特征提取器,无法处理视频中不同帧中外观变化较大的对象。其次,基于提取的特征构建的匹配模块需要精心设计,以执行查询和记忆特征之间的充分交互。最近的工作(例如,FEELVOS [44] 和 CFBI [58])探索使用局部和全局匹配机制。然而,由于提取的固定特征的表达能力有限,它们的性能仍然受到影响。

在这里插入图片描述
图1:(a) 传统VOS方法[32, 8]和 (b) 我们提出的SimVOS之间的流程比较。以前的方法是利用定制的独立特征提取和匹配模块来预测分割掩模。我们的SimVOS去除了手工设计,采用统一的变换器骨干网络进行联合特征提取和匹配,为精确的VOS提供了一个简化的框架。

1.2 本文的方法

为了解决上述问题,本文提出了一个简化的VOS框架(SimVOS),用于联合特征提取和匹配。这个基本思想允许SimVOS学习动态的目标感知特征,以实现更准确的VOS。

  1. 受到最近在计算机视觉中用通用架构替换手工设计[3, 11, 61]的成功启发,我们使用ViT[11]作为骨干网络和一个掩模预测头来实现SimVOS。正如图1所示,这种新设计去除了以前基于匹配的VOS方法中使用的定制的独立特征提取和匹配模块,从而促进了VOS在一个更通用和更简单的系统中的发展。

  2. 除了提供一个简单而有效的VOS基线外,我们工作的另一个目标是弥合VOS与大规模自监督预训练社区之间的差距。最近,已经取得了显著进展[21, 36, 20, 4],显示出大规模自监督模型在一些下游任务(包括对象分类[21]、检测[25]和跟踪[61, 3])中的优越性能。然而,现有的VOS方法通常依赖于特定任务的定制模块,其架构是专门设计的,带有VOS特定的先验知识,这使得这些方法难以利用标准的大规模自监督模型进行VOS。根据我们所知,利用大规模自监督模型来开发通用架构以用于VOS的研究尚未被探索。我们的工作朝着一个简单而有效的VOS框架迈进,该框架可以自然地从大规模自监督预训练任务中受益。

  3. 将记忆帧和查询帧作为输入传递给基础的ViT进行掩模预测可能会导致较大的计算成本(平方复杂度)。为了实现更好的性能与速度的权衡,我们提出了一个令牌细化模块,以降低计算成本并提高SimVOS的运行速度。这个变体的运行速度比SimVOS基线快2倍,且在VOS性能上仅有小幅下降。

1.3 结果

我们在多个流行的VOS基准测试上进行了实验,结果表明我们的SimVOS达到了最先进的VOS性能。总之,本文的主要贡献如下:

  1. 我们提出了一个简化的VOS框架(SimVOS),它去除了以前方法中的手工制作的特征提取和匹配模块[32, 8],通过单一可扩展的变换器骨干网络执行联合特征提取和交互。我们还展示了大规模自监督预训练模型可以为VOS任务带来显著的好处。
  2. 我们提出了一个新的令牌细化模块,以实现可扩展视频对象分割的速度和准确性之间的更好权衡。
  3. 我们的SimVOS在流行的VOS基准测试上取得了最先进的性能。具体来说,不使用任何合成数据预训练,我们的变体SimVOS-B在DAVIS-2017(88.0% J &F)、DAVIS-2016(92.9% J &F)和YouTube-VOS 2019(84.2% J &F)上设定了新的最先进的性能。

相关工作

2.1 Video Object Segmentation

传统VOS方法遵循在测试时进行在线微调的基本思想,以适应在线跟踪的对象。典型的工作包括OSVOS [2]、OnAVIS [45]、MoNet [54]、MaskTrack [33]和PReMVOS [28]。然而,耗时的微调步骤限制了它们在实时应用中的适用性,同时,有限的在线训练样本数量仍然会降低在线微调的效果。为了提高推理效率,OSMN [57]采用元神经网络来指导掩模预测,并使用单次前向传递来使网络适应特定的测试视频。PML [5]将VOS表述为在学会的特征嵌入空间中的像素级检索任务,并使用最近邻方法进行实时像素级分类。

典型的基于匹配的方法STM [32]采用了离线学习匹配网络,并将过去的帧预测视为当前帧匹配的记忆帧。CFBI [58]和FEELVOS [44]通过利用前景背景融合和局部全局匹配进一步改进了匹配机制。AOT [59]使用了长短期变换器和一种识别机制来同时进行多目标关联。STCN [8]使用L2相似性替换了STM中使用的点积,并仅在图像上建立对应关系,以进一步提高推理速度。为了有效编码时空线索,SSTVOS [14]使用了稀疏时空变换器。XMEM [7]进一步提出了一个阿特金森-希夫林记忆模型,使STM类方法能够执行长期VOS。尽管这些基于匹配的方法取得了成功,但由于特征提取和交互设计是分开的,它们的性能仍然受到限制。在这项工作中,我们展示了上述手工设计可以被一种通用的变换器架构有效替代,即具有联合特征提取和交互的纯ViT [11]骨干网络,这可以极大地受益于现有的大规模预训练模型(例如,MAE [21]),从而提高最先进的VOS性能[34, 35]。

2.2 Large-scale self-supervised pre-training

近年来,大规模自监督预训练取得了显著进展。传统方法主要关注于为无监督表示学习设计各种预文本任务,例如,解决拼图游戏[31]、给图像上色[62]以及预测未来帧[41, 46]或旋转角度[17]。最近的进展[4, 20, 52, 42]表明,可以在对比学习范式中学习更具辨识力的无监督特征表示。然而,这些方法可能会忽略局部图像结构的建模,因此在一些细粒度的视觉任务上受到限制,例如分割。生成性的MAE[21]方法通过学习更细粒度的局部结构,进一步改进了基于对比学习的方法,这些结构对于定位或基于分割的下游任务是有益的。在这项工作中,我们提出的SimVOS可以直接应用现有自监督方法学习的预训练模型,有效地弥合了VOS和自监督学习社区之间的差距。我们还展示了MAE可以作为VOS任务的一个强大的预训练模型。

待更新

Stable Diffusion是一款基于深度学习的文本到像模型,能够根据输入的文字提示生成相应的图片。为了帮助您了解如何使用Stable Diffusion批量生成图片的过程,下面将为您详细介绍。 ### 环境准备 首先你需要准备好适合运行Stable Diffusion的工作环境: 1. **硬件设备**:建议配备一块NVIDIA GPU,显存越大越好;如果没有GPU也可以只依靠CPU工作,不过效率会非常低。 2. **安装Python环境**:通常选择Anaconda来管理虚拟环境可以简化依赖包之间的冲突问题。 3. **获取Stable Diffusion WebUI项目源码**: - 可以从GitHub上克隆官方仓库`https://github.com/AUTOMATIC1111/stable-diffusion-webui.git` 4. 安装必要的依赖库并启动Web UI界面: ```bash git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui conda env create -f environment.yaml # 或者使用 pip install 脚本里的命令去创建pip环境 ``` 5. 根据系统情况调整配置文件中的设置(例如CUDA版本等) ### 批量生成功能实现步骤 接下来就是具体的批处理流程了: 1. 进入StableDiffusion web ui页面后,在左侧找到“Batch Generate”选项卡; 2. 设置好每次迭代的数量、随机种子值范围以及总的迭代次数等等参数; 3. 输入想要转换成画内容描述语句作为Prompt,并设定Negative Prompt避免某些特征出现在最终结果里; 4. 修改其他如风格倾向(Style)、CFG Scale、采样步数(Sampling Steps)等相关超参直至满意为止; 5. 开始点击"Generate"按钮就可以让程序自动为你生成一系列高质量的艺术作品啦! 需要注意的是由于这是一个比较消耗资源的任务,所以在长时间稳定输出之前最好先做一些小规模测试熟悉整个过程并且观察效果是否达到预期标准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值