视频实例分割模型SeqFormer: Sequential Transformer for Video Instance Segmentation

没有检索到标题

SeqFormer: Sequential Transformer for Video Instance Segmentation

SeqFormer:用于视频实例分割的顺序转换器,本文主要介绍这篇论文的核心思想,方法实现。

论文地址:
https://arxiv.org/abs/2112.08275
官方代码地址
https://github.com/wjf5203/SeqFormer

背景介绍

视频实例分割(VIS)是一项新兴的视觉任务,旨在同时执行视频中对象实例的检测、分类、分割和跟踪。与图像实例分割相比,视频实例分割更具挑战性,因为它需要准确跟踪整个视频中的对象。

传统的VIS主流方法是一种是遵循跟踪检测范式,通过跟踪分支扩展图像实例分割模型,这些方法首先逐帧预测候选检测和分割,然后通过分类或重新识别将它们关联起来,通过视频跟踪实例,但是,跟踪过程对视频中常见的遮挡和运动模糊很敏感。另一种方法就是直接将整个视频的三维特征直接展平直接送入Transformer Decoder中,希望模型同时完成Segmentation和Tracking,这样直接的解决方案虽然有效,但是不符合对视频的直觉认知,丢失了视频具有三维特征的性质。

在这篇论文中,作者认为实例对象可能在不同帧中有不同的位置,大小,形状和各种外观,所以要对实例进行独立查询,即注意力过程应该独立的对每一帧进行,这样模型就可以关注到视频中实例的运动过程。

方法介绍

1.实例查询分解

SeqFormer把共享的实例Query分离到每一帧上,在每一帧上独立定位物体并提取对应特征,关注视频中实例移动的位置,以此来保证模型在每一帧上提取的信息是准确的。

2.框查询

框查询是 SeqFormer 中用于关注不同位置的机制。在每个时间步中,模型会生成一个框查询,该查询会关注图像中的特定区域,用于捕获实例的位置和特征。通过使用框查询,SeqFormer能够在序列中跨帧追踪实例,捕获实例的运动和变化。注意力机制的帧级框查询,以保证注意力集中在每个帧上的相同实例上。

模型框架

在这里插入图片描述

上图就是SeqFormer模型的框架,主要由四个部分组成:

Backbone: 给定一个视频Xv∈RT×3×H×WX_v∈R^{T\times3 \times H\times W}XvRT×3×H×W(具有 3 个颜色通道和分辨率为 H × W 的 T 帧),这个部分是由CNN主干网络构成(ResNet),用来独立提取每一个帧的特征图。

Transformer Encoder: 在这个部分首先用1$\times$1的卷积将所有特征图的通道维度降低到 C = 256,然后添加固定位置编,变压器编码器对特征图执行可变形注意,从而产生输出特征图,其分辨率与输入相同。因为独立地在每一帧上执行注意力机制,所以保留特征图的空间和时间维度。

Query Decompose Transformer Decoder: 这是整个模型的关键,通过这个查询分解解码器,使得模型可以学习帧的更强大的视频级实例表示。模型将不同帧中的同一实例一起处理,通过引入固定数量的可学习嵌入来查询每个帧中同一实例的特征,称为实例查询。由于实例的外观和位置不断变化,模型应该关注每个帧的不同的精确空间位置。为了实现这一目标,模型将实例查询分解为 T 个特定于帧的框查询,每个查询都充当用于检索和定位相应帧上的特征的锚点。

在Decoder的第一层,共享的Instance Query 会被分离到每一帧上,在每一帧上独立进行attention;且Box Query会通过Box Head预测出物体在每一帧上的包围框,并且在Decoder的每个layer之间迭代优化。Box Query 就像Instance Query留在每一帧上的Anchor,去定位并关注到同一个物体,并将提取到的信息重新聚合到Instance Query上。通过这样一个Query Decompose Decoder,SeqFormer完成了在每一帧上寻找物体并聚合全局特征的过程。

NdN_dNd个解码器层之后,我们得到每个实例的实例查询和 T个框查询。实例查询是共享的视频级实例表示,框查询包含用于预测每帧上的边界框的位置信息。我们将来自解码器最后一层的实例查询 IqNdI_q^{N_d}IqNd 和框查询BtNdt=1T{B_t^{N_d}}_{t=1}^TBtNdt=1T 定义为输出实例嵌入和框嵌入 。

Output Heads: 在输出方面,模型添加了掩码头,类头和盒头。线性投影充当类头去产生分类结果,输出某个索引属于某一类的概率。盒头是一个 3 层前馈网络(FFN),具有 ReLU 激活函数和线性投影层。对于每帧的,FFN 输出预测框的归一化中心坐标、高度和宽度。模型利用动态卷积作为掩码头,首先,3 层 FFN 将实例嵌入编码到索引为 σ(i) 的 mask head 的参数 ωi 中,,该掩码头具有三个 1 × 1 卷积层。不同帧上具有相同身份的实例共享相同的掩码头参数,这使得分割非常高效。如图所示,有一个mask分支为mask head提供特征图来预测实例mask,以利用来自 Transformer 编码器的多尺度特征图并生成特征图序列 { F^mask1\hat{F}_{mask}^1F^mask1,F^mask2\hat{F}_{mask}^2F^mask2, …, F^maskT\hat{F}_{mask}^TF^maskT} ,mask head 对这些序列特征图 F^maskt\hat{F}_{mask}^tF^maskt进行卷积来预测 mask 序列。

在这里插入图片描述

如图所示,图(a)就是对每一帧使用相同的实例查询,这将导致每个帧上具有相同的空间采样区域,这对于视频级实例表示来说是不准确且不足的。图(b)和图©是模型中第二个和最后一个解码器层的采样点,可以从图(b)看出此时模型关注的区域已经分布在对应的物体周围了,而图©关注的区域更加精确。可以图上可以看出,SeqFormer 以从粗到细的方式关注视频中实例移动后的位置。

此外对于时间信息的聚合,帧级框查询和预测框可以对齐所有帧的实例特征,有多种方法可以将对齐的特征聚合到实例查询中。论文中采用三种方式来聚合不同帧中的实例特征,其中加权(在框嵌入上应用 softmax 层和全连接层来获取每个帧的权重)的效果最好。

论文总结

在这篇论文中提出了一种用于视频实例分割的有效 Transformer 架构,名为 SeqFormer,它对每个帧独立执行注意力机制,并为每个视频级实例学习共享的强大实例查询。通过所提出的实例查询分解,Seqformer可以对齐实例特征并自然地处理实例跟踪,而无需额外的跟踪分支或后处理。

参考博客:https://zhuanlan.zhihu.com/p/551097043

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值