CVPR2021 | Transformer用于End-to-End视频实例分割

简介: 视频实例分割(VIS)是一项需要同时对视频中感兴趣的对象进行分类、分割和跟踪的任务。本文提出了一种新的基于 Transformers 的视频实例分割框架 VisTR,它将 VIS 任务视为直接的端到端并行序列解码/预测问题。

视频实例分割(VIS)是一项需要同时对视频中感兴趣的对象进行分类、分割和跟踪的任务。本文提出了一种新的基于 Transformers 的视频实例分割框架 VisTR,它将 VIS 任务视为直接的端到端并行序列解码/预测问题。

 

给定一个由多个图像帧组成的视频片段作为输入,VisTR 直接输出视频中每个实例的掩码序列。它的核心是一种新的、有效的实例序列匹配和切分策略,在序列层面对实例进行整体监控和切分。VisTR从相似性学习的角度对实例进行划分和跟踪,大大简化了整个过程,与现有方法有很大不同。

 

VisTR 在现有的 VIS 模型中速度最快,效果最好的是在 YouTubeVIS 数据集上使用单一模型的方法。这是研究人员首次展示了一种基于 Transformer 的更简单、更快的视频实例分割框架,实现了具有竞争力的准确性。

 

出发点

SOTA方法通常会开发复杂的pipeline来解决此任务。 Top-down的方法遵循tracking-by-detection范式,严重依赖图像级实例分割模型和复杂的人工设计规则来关联实例。 Bottom-up的方法通过对学习的像素嵌入进行聚类来分离对象实例。由于严重依赖密集预测质量,这些方法通常需要多个步骤来迭代地生成掩码,这使得它们很慢。因此,非常需要一个简单的、端到端可训练的 VIS 框架。

 

在这里,我们更深入地了解视频实例分割任务。 视频帧包含比单个图像更丰富的信息,例如运动模式和实例的时间一致性,为实例分割和分类提供有用的线索。 同时,更好地学习实例特征可以帮助跟踪实例。 本质上,实例分割和实例跟踪都与相似性学习有关:实例分割是学习像素级的相似性,实例跟踪是学习实例之间的相似性。 因此,在单个框架中解决这两个子任务并相互受益是很自然的。 在这里,我们的目标是开发这样一个端到端的 VIS 框架。该框架需要简单,在没有花里胡哨的情况下实现强大的性能。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读

主要贡献


  1. 我们提出了一种基于 Transformers 的新视频实例分割框架,称为 VisTR,它将 VIS 任务视为直接的端到端并行序列解码/预测问题。该框架与现有方法有很大不同,大大简化了整个流程。


  1. VisTR从相似度学习的新角度解决了VIS。实例分割是学习像素级的相似性,实例跟踪是学习实例之间的相似性。因此,在相同的实例分割框架中无缝自然地实现了实例跟踪。


  1. VisTR 成功的关键是实例序列匹配和分割的新策略,它是为我们的框架量身定制的。这种精心设计的策略使我们能够在序列级别作为一个整体来监督和分割实例。


  1. VisTR 在 YouTube-VIS 数据集上取得了强劲的成绩,在 57.7 FPS 的速度下实现了 38.6% 的 mask mAP,这是使用单一模型的方法中最好和最快的。

 

Methods


8ced5eb68084435f0e644bf00a192582.png

整个 VisTR 架构如图 2 所示。它包含四个主要组件:一个用于提取多个帧的紧凑特征表示的 CNN 主干,一个用于对像素级和实例级特征的相似性进行建模的编码器-解码器 Transformer,一个实例 用于监督模型的序列匹配模块,以及一个实例序列分割模块。

 

 

Transformer Encoder

Transformer 编码器用于对片段中所有像素级特征之间的相似性进行建模。 首先,对上述特征图应用 1×1 卷积,将维度从 C 减少到 d (d < C),从而产生新的特征图f1。

 

为了形成可以输入到 Transformer 编码器中的剪辑级特征序列,我们将 f1 的空间和时间维度展平为一维,从而得到大小为 d × (T·H·W) 的 2D 特征图。请注意,时间顺序始终与初始输入的顺序一致。每个编码器层都有一个标准架构,由一个多头自注意力模块和一个全连接前馈网络 (FFN) 组成。

 

 

Transformer Decoder

Transformer 解码器旨在解码可以表示每帧实例的顶部像素特征,称为实例级特征。受 DETR的启发,我们还引入了固定数量的输入嵌入来从像素特征中查询实例特征,称为实例查询。

 

假设模型每帧解码 n 个实例,那么对于 T 帧,实例查询数为 N = n · T。实例查询是模型学习的,与像素特征具有相同的维度。以编码器 E 的输出和 N 个实例查询 Q 作为输入,Transformer 解码器输出 N 个实例特征,在图 2 中用 O 表示。

 

整体预测遵循输入帧顺序,不同图像的实例预测顺序为相同的。因此,可以通过将相应索引的项直接链接来实现对不同帧中实例的跟踪。

 

Instance Sequence Matching


解码器输出的固定数量的预测序列是乱序的,每帧包含n个实例序列。本文与DETR相同,使用匈牙利算法进行匹配。

 

虽然是实例分割,但是在目标检测中需要用到bounding box,方便组合优化计算。通过FFN计算归一化的bounding box中心、宽度和高度,即全连接。

 

通过softmax计算bounding box的label。最终得到n×T个边界框。使用上面得到标签概率分布和边界框来匹配实例序列和gournd truth。


c70ed3b96151d496ede1744992a792f5.png

最后计算Hungarian算法的loss,考虑标签的概率分布和bounding box的位置。损失基本遵循DETR的设计,使用L1损失和IOU损失。以下公式是训练的损失。它由标签损失、边界框和实例序列组成。


be7d44de0709bc547e33f65ac692bc1e.png

Conclusion


3164fa91cc6437d3c0c435cb5ae9a49f.png

下图展示了 VisTR 在 YouTube VIS 验证数据集上的可视化。每行包含从同一视频中采样的图像。VisTR 可以很好地跟踪和分割具有挑战性的实例,例如:(a) 重叠实例,(b) 实例之间的相对位置变化,© 由相同类型的相似实例引起的混淆,以及 (d) 不同姿势的实例。


143dd26436584a6127ba028bdeebd018.png



相关文章
|
机器学习/深度学习 算法 自动驾驶
|
存储 算法 数据管理
【C/C++ 基础算法】 C/C++ 位图算法的使用
【C/C++ 基础算法】 C/C++ 位图算法的使用
334 0
|
10月前
|
人工智能 编解码 测试技术
ViTPose:最小只有100M的身体姿态估计模型,精确识别人体关节、手、脚等关键点
ViTPose 是基于 Transformer 架构的人体姿态估计模型,能够精准定位人体关键点,支持多种规模版本,适用于运动分析、虚拟现实等场景。
430 8
ViTPose:最小只有100M的身体姿态估计模型,精确识别人体关节、手、脚等关键点
|
8月前
|
JavaScript API 数据安全/隐私保护
淘宝店铺订单相关API接口详解
本文详细介绍了淘宝店铺订单相关的三个关键API接口:订单列表、订单详情和订单物流。通过这些接口,开发者可以获取订单信息、买家详情、商品清单、支付信息及物流轨迹,支持多种筛选条件和复杂参数传递。此外,文章还强调了接口权限申请、数据安全处理及调用频率限制等注意事项,帮助开发者高效集成这些接口,提升电商系统的功能和用户体验。供稿者:Taobaoapi2014。 (239字符)
|
测试技术 开发者 Python
对于Python中的异常要如何处理,raise关键字你真的了解吗?一篇文章带你从头了解
`raise`关键字在Python中用于显式引发异常,允许开发者在检测到错误条件时中断程序流程,并通过异常处理机制(如try-except块)接管控制。`raise`后可跟异常类型、异常对象及错误信息,适用于验证输入、处理错误、自定义异常、重新引发异常及测试等场景。例如,`raise ValueError(&quot;Invalid input&quot;)`用于验证输入数据,若不符合预期则引发异常,确保数据准确并提供清晰错误信息。此外,通过自定义异常类,可以针对特定错误情况提供更具体的信息,增强代码的健壮性和可维护性。
|
机器学习/深度学习 计算机视觉
【机器学习】LoFTR:革命性图像特征批评技术等领跑者
【机器学习】LoFTR:革命性图像特征批评技术等领跑者
606 1
|
机器学习/深度学习 人工智能 vr&ar
光流法相关论文-LK光流法,HS光流法,Farneback光流法,FlowNet: 端到端的深度光流估计, RAFT: 结构化的光流估计
光流法相关论文-LK光流法,HS光流法,Farneback光流法,FlowNet: 端到端的深度光流估计, RAFT: 结构化的光流估计
872 0
|
机器学习/深度学习 数据采集 自动驾驶
探索深度学习的点云分类
点云分类是指将三维点云数据中的每个点或整个点云进行分类的任务。点云数据由大量三维点构成,每个点包含空间坐标(x, y, z),有时还包含其他信息如颜色和法向量。点云分类在自动驾驶、机器人导航、3D重建等领域有广泛应用。
662 1
|
机器学习/深度学习 机器人 数据处理
深度学习之点云分割
点云分割是计算机视觉中的一个重要任务,特别是在三维数据处理和分析中。点云数据是由大量三维点构成的集合,每个点包含空间坐标(x, y, z),有时还包含其他信息如颜色和法向量。点云分割的目标是将点云数据分割成有意义的部分,例如物体或地形的不同区域。
1108 2
|
存储 SQL 分布式计算
技术心得记录:深入学习HBase架构原理
技术心得记录:深入学习HBase架构原理