【ACM MM 2022 论文解读】End-to-End Video Object Detection with Spatial-Temporal Transformers

发表时间:ACM MM 2022(与IEEE TPAMI版略有不同)

作者团队:上交,北大,JD Explore

代码链接:GitHub - SJTU-LuHe/TransVOD: The repository is the code for the paper "End-to-End Video Object Detection with Spatial-TemporalTransformers"The repository is the code for the paper "End-to-End Video Object Detection with Spatial-TemporalTransformers" - GitHub - SJTU-LuHe/TransVOD: The repository is the code for the paper "End-to-End Video Object Detection with Spatial-TemporalTransformers"https://github.com/SJTU-LuHe/TransVOD

Key Thinking

        模型结构见图2,看着较为复杂,简单来说,就是分别用TQE和TDTE将时序信息融合进DETR-like中最重要的两个components(Object Query和来自Encoder的增强空间特征),传入decoder完成解码预测。

        从图2中整体网络来看,可以将TDTD之前的所有网络都看作DETR中的Encoder,TDTD看作DETR中的Decoder。在DETR中,Decoder只有两个输入,一是Object Query,二是Encoder输出的增强空间特征:对于Object Query,TQE模块完成时序信息的交互,输出融合了时序信息的Temporal Object Query,它作为Decoder的Object Query;对于来自Encoder的特征,TDTE完成了时序特征的融合,使原来的spatial features变成spatial-temporal features,它作为Encoder输出的增强特征传给Decoder。TDTD就像原始DETR的Decoder一样完成解码,输出预测。

Abstract

        DETR和deformable DETR展现出了良好性能。然而,它们在视频目标检测(VOD)上的性能尚未得到很好的探索。本文提出了第一个基于spatial-temporal Transformer的端到端视频目标检测器TransVOD

  • 简化当前VOD pipeline,有效地消除了许多手工制作的特征聚合组件,如光流模型、relation networks;
  • 得益于DETR中object query的设计,本文方法无需使用Seq-NMS等后处理方法。具体来说,本文提出了一个temporal Transformer来聚合每个帧的spatial object queries和feature memories,temporal Transformer由两部分组成:用于融合object query的Temporal Query Encoder (TQE),以及用来获得当前帧检测结果的Temporal Deformable Transformer Decoder (TDTD);
  • 提出了两个改进版本的TransVOD,即TransVOD++TransVOD Lite。前者通过动态卷积将object-level infomation融合到object query中;后者将整个clips作为输出进行建模,以加快推理时间。

I. Introdution

        基于静态图像的目标检测器不能直接应用于许多具有挑战性的视频场景,因为在视频数据中很容易产生物体外观的恶化,如运动模糊、部分遮挡、相机重聚焦等。

        现有的VOD方法主要以两种流派利用时间信息。一种策略是通过对时间信息的后处理,使检测结果更加连贯和稳定,这些方法通常采用基于静态图像的目标检测器来获得检测结果,然后将结果关联起来;另一种流派利用了时间信息的特征聚合,它们通过聚合相邻帧或整个clips的特征来改善当前帧的特征,从而提高检测性能,这样可以一定程度上解决运动模糊、遮挡、外观改变等问题。

        尽管上述方法取得了不错的效果,但大多数针对视频目标检测的two-stage pipeline都过于复杂,需要许多手工制作的组件,例如光流模型、RNN、可变形卷积融合、relation networks,并且它们大多需要复杂的后处理操作。

584c6dd510c20e57d4b20971645050de.png

        综上所述,迫切需要一个完全端到端的视频目标检测框架。本文将DETR扩展到视频目标检测领域,这个idea的出发点有以下四方面:

🛰️video clips包含了丰富的时序信息 (e.g., rich visual cues of motion patterns)。因此,考虑到Transformer的优势,很自然地想到将视频目标检测视为一个seq2seq任务,即整个video clip看作一个句子,每一帧图像与每个单词的作用相似。Transformer不仅可以在单帧图像中建模每个object的交互,还可以用于沿着时间维度连接object。

🛰️object query是DETR中的一个关键设计,它对instance-aware information进行编码。DETR的学习过程可以看作是分组过程:将每个object分组到一个object query中。因此,这些query embeddings可以表示每帧中的instances,通过另一个temporal Transformer连接这些稀疏的query embeddings是很自然的。

🛰️来自DETR Transformer encoder的output memory包含着丰富的空间信息,这可以用来与沿时间维度的query embeddings联合建模。

🛰️与静态单帧图像的目标检测中frame-level input不同,采用Transformer的clip-level input可以加快视频中的目标检测过程,这在许多现实应用案例中都是需要的。


        基于上述观点,本文提出了一种基于spatial-temporal Transformer的端到端视频目标检测框架TransVOD,它将视频目标检测视为一个端到端的sequence decoding/prediction问题。如图2(a)所示,对于当前帧,它以多帧作为输入,通过Transformer-like架构直接输出当前帧的检测结果。特别地,本文设计了一个全新的Temporal Transformer来同时连接(link)每个object query和outputs of memory encodings,Temporal Transformer主要由三部分构成:

✈️Temporal Deformable Transformer Encoder (TDTE)用于编码多帧的空间细节,通过temporal deformable attention有效地聚合空间信息,避免了背景噪声

✈️Temporal Query Encoder (TQE)用于融合一个video clip中的object query,它首先采用一种由粗粒度到细粒度的策略,在一个clip中挑选相关的object query,然后通过几个自注意力层来融合这些被选择的query

✈️Temporal Deformable Transformer Decoder (TDTD)用于获取当前帧的最终检测结果,它是一个解码器,以TDTE和TQE的输出作为输入,并直接输出最终的检测结果

        这些模块为对于每个帧共享参数,并且以完全端到端的方式进行训练。

II. TransVOD

        TransVOD整体结构如图2所示,注意结合着图2看。它以一个video clip的多帧作为输入(current frame和reference frame),输出当前帧的检测结果。它包含四个主要组件:用于单帧目标检测的Spatial Transformer来提取object query和压缩特征表示(memory for each frame);Temporal Deformable Transformer Encoder (TDTE)融合来自Spatial Transformer的memory outputs;Temporal Query Encoder (TQE)沿着时间维度连接每一帧的object;Temporal Deformable Transformer Decoder (TDTD)获取当前帧的最终预测结果。

9dc4f5eac7bd3c8472f3ab69ede668c4.png

(I). Spatial Transformer

        本文选择了deformable DETR作为静态图像检测器。具体来说,为了简化deformable DETR的复杂设计,本文在编码器和解码器中均不使用multi-scale feature representations,只将CNN backbone的最后一个stage的输出作为deformable DETR的输入。改进后的deformable DETR包括Spatial Transformer Encoder (STE)Spatial Transformer Decoder (STD),它们将每一帧(包括参考帧和当前帧)编码为两种compact representation:Spatial Object Querygif.latex?Q_tMemory Encodinggif.latex?E_t(如图3中蓝色箭头和黑色箭头所示)。

(II). Temporal Deformable Transformer Encoder (TDTE)

🛰️TDTE的输入:当前帧的Memory Encoding和参考帧的Memory Encoding

e42f0ecf207d06ceeb06d491c0734576.png

        TDTE的目标是对spatial-temporal feature representations进行编码,并为最终的解码器输出提供位置线索(location cues)。由于大多数相邻的帧特征包含相似的外观信息,直接使用标准的Transformer Encoder可能会带来许多额外的计算(多数是在object background上进行无用的计算)。deformable attention根据学习到的偏移量,只采样部分信息,因此,本文通过一个时间维度上的deformable attention将这些Memory Encodinggif.latex?E_t连接起来。

        temporal deformable attention模块的核心思想是:只关注一个参考点周围的一小部分关键采样点,因此可以更高效地聚合不同帧之间的特征。multi-head temporal deformable attention的数学表达如下(3)式所示:

76ba7937142b2b37984bdc238952ac61.png

        具体的符号含义见原论文,可以与deformable DETR的数学表达式对比着看,可以发现不同之处在于每个head内多了一个时间维度上的聚合gif.latex?%5Csum_%7Bl%3D1%7D%5E%7BL%7D%28.%29。deformable DETR的数学表达式如下:

1c9d41395430bb1553b9fc3aacb1ab86.png

        每个head中的multi-frame temporal deformable attention采样来自L帧特征图中的个LK点,而非单帧特征图中的K个点。假设在每个Temporal Transformer encoder(即图中TempDefAtten)中共有M个attention head,遵循deformable DETR的思想,每一帧的query feature gif.latex?z_q被传入一个3MK channels的线性投影层,其中前2MK个channels对MK个点中每个点的2D偏移量gif.latex?%5CDelta%20p_%7Biqk%7D进行编码,剩下的MK传入softmax获得attention weightsgif.latex?A_%7Biqk%7D

(III). Temporal Query Encoder (TQE)

5bca27522cf1f64f5743080376e79930.png

        可学习的object query可以看作是一种非几何的anchor,它在训练过程中自动学习整个静态图像数据集的统计特征,这意味着Spatial Object Query gif.latex?Q_t与不同帧之间的时间上下文无关。因此,本文提出了一个简单而有效的编码器来度量当前帧中的object和参考帧中的object之间的相互作用

        这个编码器的核心思想是通过一个temporal Transformer将每个帧中的Spatial Object Query连接起来,从而学习跨帧的时间上下文,将此编码器TQE。TQE获取所有参考帧的Spatial Object Query,以增强当前帧的Spatial Object Query,最终输出当前帧的Temporal Query。此外,受[1]的启发,本文设计了一个由粗粒度到细粒度(coarse-to-fine)的Spatial Object Query聚合策略来逐步调度当前帧的Spatial Object Query和参考帧的Spatial Object Query之间的交互,这种coarse-to-fine的设计的好处是可以在一定程度上降低计算成本。

        首先concate所有参考帧的Spatial Object Query,表示为 gif.latex?Q_%7Bref%7D,然后以一种coarse-to-fine的方式进行评分和选择。具体来说,使用一个FFN来预测类别的logits,之后计算它的sigmoid值gif.latex?p%3DSigmoid%28FFN%28Q_%7Bref%7D%29%29;然后,按p值进行排序并选出置信度最高的k个Spatial Object Query。考虑到浅层网络可以学习更详细的信息,而深层的信息较少,本文进行了coarse-to-fine的选择,换句话说,浅层中应该选择更多的Query,而最后一层应该选择较少的Query。选定的Spatial Object Query被传入到特征细化器中,使当前帧的Spatial Object Query以与从不同参考帧中提取的Spatial Object Query不断进行交互。具有cross-attention layers的解码器层发挥着级联特征细化器的作用,它可以迭代地更新Spatial Object Query。

        细化后输出的Temporal Object Query是Temporal Deformable Transformer Decoder (TDTD)的输入。

(IV). Temporal Deformable Transformer Decoder (TDTD)

43a2c83950ddb021137c6ce40e91ff68.png

        该解码器的目的是根据TDTE输出的fused memory encodings和TQE输出的Temporal Object Query来预测当前帧的最终输出。给定fused memory encodings gif.latex?%5Chat%7BE%7D和Temporal Object Query gif.latex?%5Chat%7BO_q%7D,TDTD在二者之间执行co-attention(即self-attention+cross-attention),其实就是deformable DETR的解码器,其中DefAttention的数学表达式如下(与deformable DETR中相同):

201754d77593d561ba3154458a2aba77.png

        具体符号含义参考原论文。

(V). Loss Function

3ea3fa4d7fe70b39d97522c75f69fc15.png

III. Experiments

8a8ee8dbb5b055a8b0021e4882c596bc.png

        为了进一步探索TQE的优势,图4中可视化了Spatial Object Query和Temporal Object Query的采样位置。对于每个clip中的每一帧,Temporal Object Query在前景物体上的查询结果更集中和精确,而原始的Spatial Object Query的结果更分散。这证明了Temporal Object Query更适合于检测视频中的目标。

34b0b1adc47fb74f4598491159789e02.png

References

[1] Jiajun Deng, Yingwei Pan, Ting Yao, Wengang Zhou, Houqiang Li, and Tao Mei. 2019. Relation Distillation Networks for Video Object Detection. In ICCV

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Taylor不想被展开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值