《Time-Space Transformers for Video Panoptic Segmentation》阅读笔记

摘要

  1. 提出了一个结合CNN和Transformer的视频全景分割框架;
  2. CNN用于图像全景分割,Transformer用于建模时序依赖关系;
  3. Cityscapes-vps数据集上VPQ提升了2.2%

引言

--------------------------------------------------1--------------------------------------------------

  • VPS是一种兼顾像素级分类和实例级分类和跟踪的计算机视觉方法;
  • VPS被广泛应用于机器人和无人驾驶领域;
  • VPS需要帧间时序信息,相比图像全景分割更具有挑战性。

--------------------------------------------------2--------------------------------------------------

  • 充分提取(语义)连续视频帧中的时序信息可以增强VPS准确率和连续性;
  • 视频场景演变带来的语义冲突和新目标会破坏(语义)连续视频帧中包含的时序信息,进一步引申出两个问题:
    • 要避免引入过时的时序信息;
    • 要平衡准确率和效率之间的关系。

--------------------------------------------------3--------------------------------------------------

  • VPS是新兴领域,相关研究不是太多;
  • 经典的VPS方法有VPSNet和ViP-DeepLab,他们更注重提升VPQ,反而忽略了分割效率;
    • VPSNet:利用多张视频帧生成光流图提升时序联系,本方法只需处理当前视频帧,后续用Transformer结合以往特征信息进行位置关联;(两方法都是提取两个视频帧的特征,然后计算光流图;不同的是VPSNet每分割一帧都要提取相邻帧的特征,该方法则是将前一帧的特征存入memory,供下一帧分割时使用,用存储量换取计算量)
    • ViP-DeepLab分别生成当前帧的像素级分类(语义解码器)、实例中心的类别预测和位置回归(实例解码器),以及下一帧实例的位置回归(与当前帧实例解码器的结构相同),本方法具有更高的性能和更轻量化的结构。

--------------------------------------------------4--------------------------------------------------

网络结构:

  • backbone提取的特征被送入Transformer解码器,该解码器连同上一帧视频特征强化特征质量
  • 强化后的特征被分别送入光流解码器、全景分割头进行处理;
    • 全景分割头:生成当前帧的图像全景分割结果;
    • 光流解码器:结合当前帧和上一帧强化特征生成光流图,用于更新上一帧的视频全景分割结果;
  • 全景分割结果与一起被送入ID关联模块,得到当前帧的视频全景分割结果。

--------------------------------------------------5--------------------------------------------------

贡献:

  • 提出了一个更高分割性能的网络
  • 添加了光流解码器作实例追踪和ID关联
  • 构建了轻量化Transformer模块 (就这个靠谱点)
  • 在Cityscapes-vps数据集上取得了更好的性能

相关工作

--------------------------------------------------1--------------------------------------------------

图像全景分割:

  • 在Mask R-CNN基础上改进
    • 在Mask R-CNN基础上添加语义分割头,计算语义分割损失和实例级类别、位置、形状损失优化模型;
    • [UPSNet] 进一步融合语义分割结果、实例类别、位置、形状得到全景分割结果,仅用全景分割损失优化模型;
  • 在DeepLab基础上改进
    • [Panoptic DeepLab] 利用DeepLab构建语义、实例分割头,联合得到全景分割结果,优化全景分割模型 (类似于Mask R-CNN based方法,只是生成各类结果的方式不同,这种方式属于单阶段,实例结果直接得到,无需利用候选框)
    • [Axial DeepLab] 利用non local attention沿空间水平和竖直方向计算注意力,替换resnet的conv作为新backbone。

--------------------------------------------------2--------------------------------------------------

视频全景分割:

  • 现有方法基本都是在Mask R-CNN和Panoptic DeepLab基础上的改动;
    • VPSNet:在Mask R-CNN基础上添加了光流和时空注意力;
    • ViP-DeepLab:在Panoptic DeepLab中添加了深度估计模块和下一帧实例预测模块 (与当前帧实例预测结构相同,只是输入不同)

--------------------------------------------------3--------------------------------------------------

Transformer:

  • Transformer取得了不错的效果,所以提出了一个纯Transformer结构。(这个推论略简单)

算法

整体流程如下图所示:
整体流程图
对于当前视频帧,使用Backbone提取特征图并送入Transformer Video Module增强表征能力,增强后的特征分别被送入Optical Flow DecoderPanoptic Decoder生成光流图和当前帧全景分割结果,最后结合两图执行ID Association统一目标实例在不同视频帧中的ID号。
下面简要介绍各模块的结构:

  • Transformer Video Module:
    该模块结合当前帧和上一帧特征生成具有更强表征能力的视频特征,作者设计了两种变体(中/右),分别是在原self-attention(左)的基础上再计算一次时空和时间注意力,具体结构如下所示:

Transformer Video Module结构记当前帧特征为Query,上一帧特征为Memory,两种变体的计算流程可表示如下:

Global Time-Space Attention: 先对Query ∈ R B × ( H × W ) × C \in\mathbb{R}^{B×(H×W)×C} RB×(H×W)×C 计算自注意力(维度不发生改变),然后利用全连接层将Memory ∈ R B × ( T × H × W ) × C \in\mathbb{R}^{B×(T×H×W)×C} RB×(T×H×W)×C化为K, V并与Query计算注意力,计算流程与自注意力相同,两者只是输入不同。计算过程的维度变换如下:
Q K T : B × [ ( H W × C ) × ( C × T H W ) ] → B × H W × T H W Q K T V : B × [ ( H W × T H W ) × ( T H W × C ) ] → B × H W × C → B × H × W × C QK^{T}:B×[(HW×C)×(C×THW)]\rightarrow B×HW×THW\\ \frac{QK^{T}}{V}:B×[(HW×THW)×(THW×C)]\rightarrow B×HW×C\rightarrow B×H×W×C QKT:B×[(HW×C)×(C×THW)]B×HW×THWVQKT:B×[(HW×THW)×(THW×C)]B×HW×CB×H×W×C

Local Time-Space Attention: 同样先对Query ∈ R B × ( H × W ) × C \in\mathbb{R}^{B×(H×W)×C} RB×(H×W)×C 计算自注意力,然后利用全连接层将Memory ∈ R ( B × T ) × ( H × W ) × C \in\mathbb{R}^{(B×T)×(H×W)×C} R(B×T)×(H×W)×C化为K, V并与Query计算注意力,这里注意Memory的尺度。计算过程的维度变换如下:
Q K T : H W × [ ( B × C ) × ( C × B T ) ] → H W × B × B T Q K T V : H W × [ ( B × B T ) × ( B T × C ) ] → H W × B × C → B × H × W × C QK^{T}:HW×[(B×C)×(C×BT)]\rightarrow HW×B×BT\\ \frac{QK^{T}}{V}:HW×[(B×BT)×(BT×C)]\rightarrow HW×B×C\rightarrow B×H×W×C QKT:HW×[(B×C)×(C×BT)]HW×B×BTVQKT:HW×[(B×BT)×(BT×C)]HW×B×CB×H×W×C

注意力计算过程中,作者分别为时间和空间轴向添加了位置编码(红圈),其中蓝色箭头为空间轴位置编码,黄色箭头为时间轴位置编码。

  • Optical Flow Decoder
    Optical Flow Decoder生成光流图参照VPSNet的光流提取部分,生成的光流图是 R ∈ ( B × H × W × 2 ) \mathbb{R}\in({B×H×W×2}) R(B×H×W×2)的偏移量集合,其中第一层 ( B × H × W ) (B×H×W) (B×H×W)表示各像素在水平方向的偏移量,第二层 ( B × H × W ) (B×H×W) (B×H×W)表示竖直方向的偏移量。生成的光流图会与上一帧视频分割结果执行Warp操作,即利用该偏移量更新上一帧视频分割结果。对于任意像素 p ( x , y ) p(x,y) p(x,y),偏移后位置 ( x ‘ , y ’ ) (x‘,y’) (x,y)计算如下:
    x ′ = x + δ ( x ) y ′ = y + δ ( y ) x'=x+\delta{(x)}\\ y'=y+\delta{(y)} x=x+δ(x)y=y+δ(y)
  • Backbone/Panoptic Decoder:
    文中Backbone/Panoptic Decoder的设置与Panoptic DeepLab相同,分别用于提取视频特征和生成全景分割结果。
  • ID Association
    对于当前帧任意实例,与上一帧各实例计算IoU,取IoU最大的实例ID赋予当前实例。

性能分析

  • 使用ResNet50时的性能比较 (对比方法的性能来源于其发布的文章)
    方法VPQFPS
    VPSNet (CVPR2020)57.01.3
    Slot-VPS (CVPR2022)59.74.6
    Paper Method57.35.4

该方法与Slot-VPS同为紧跟VPSNet的脚步出现的算法,且出现的更早一些(2022.01),相比经典方法VPSNet在速度上有较大提升,效率上与Slot-VPS相似,但是在视频分割质量被紧随其后的Slot-VPS赶超了。
该方法提升效率的原因主要有以下两点:

  • 使用了单阶段网络框架,相比VPSNet使用的两阶段框架,速度得到显著提升;
  • 将Panoptic Decoder中ASPP结构的output stride由16改为32,略微提升了一些性能和效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值