本文最后更新于:2020年11月27日 下午

最近主要阅读了三篇视频目标检测方向的论文,分别是STSN(ECCV2018)、STMN(ECCV2018)、TCENet(AAAI2020)。

阅读文献:

[1] Bertasius G, Torresani L, Shi J. Object detection in video with spatiotemporal sampling networks[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 331-346.

[2] Xiao F, Jae Lee Y. Video object detection with an aligned spatial-temporal memory[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 485-501.

[3] He F, Gao N, Li Q, et al. Temporal Context Enhanced Feature Aggregation for Video Object Detection[C]//AAAI. 2020: 10941-10948.

1. STSN

简介

时空采样网络(STSN)使用跨时间的可变形卷积来检测视频中的目标。通过从相邻帧中进行空间采样来在一个视频帧检测目标。这自然使该方法对于单个帧中的遮挡或运动模糊具有鲁棒性。该框架不需要额外的监督,因为它直接针对目标检测性能优化采样位置。该方法在STSN上取得SOTA效果,对比之前的视频目标检测方法,设计更简单,训练中不需要光流数据。

此前的后处理方法旨在使目标检测在时间上连贯,然而,因为时间一致性被强制在第二个步骤,使得这些方法不能被端到端的训练。本文提出了一个简单高效的时空采样网络STSN,在空间和时间上使用变形卷积,来利用时间信息进行视频目标检测。STSN学会从临近的视频帧中对有用的特征点进行空间采样,以使给定视频帧中的目标检测精度达到最大。

与标准的变形CNN(其在空间域上执行变形卷积)不同,STSN学会了在不用的视频帧之间采样特征,提高了视频目标检测的精度。预训练的光流CNN不总是在新的数据集上通用,这可能阻碍视频目标检测的性能。相比之下,本文的方法有一个可学习的时空采样模块,该模块可以从目标检测标签中进行有区别的训练,没有以上问题。

STSN可以在一步中进行端到端的训练。相比之下,依赖于光流的方法需要一个额外的步骤来训练一个光流CNN,这使得训练过程更加繁琐和冗长。例如,从头开始训练FGFA [24]的光流CNN大约需要四天,然后再训练FGFA [24]进行视频目标检测又需要四天,因此它需要八天的总训练时间。相比之下,STSN只需4天就可以训练一个阶段。最后, STSN在视频目标检测的准确性上也取得了一定的增长,尽管是中等的。

背景:变形卷积

标准的2维卷积由两步组成:

  1. 在一个等距的空间网格R上采样位置。

  2. 使用权重w对采样到的值执行一个加权和。

例如,一个核大小为3x3的标准2D卷积,膨胀因子为1,网格R被定义为:{(-1,-1),(-1,0),…,(0,1),(1,1)}。此时,在输出特征图y的p0位置的新值为: image-20201127150050204

其中x为输入特征图。在变形2D卷积中,网格R用一个数据条件偏移增强,

image-20201127150109591

∆pn通常是分数,以上操作是使用双线性插值实现的。注意,偏移是通过将单独的卷积层用于包含特征图x的激活张量而获得的。这将产生具有与输入要素图相同的空间分辨率的偏移图。另外,请注意,偏移量在给定激活张量的所有特征通道之间共享。在训练过程中,可变形卷积核和偏移核的权重是通过使用双线性插值算子传播梯度来共同学习的。

时空采样网络

作者的目标是设计一种网络架构,该架构结合了用于视频中对象检测的时间信息。

系统将视频中的每个帧依次视为参考帧,以便在视频的每个帧中进行目标检测。在实验中使用2K个支持帧来检测参考帧,(前面K帧,后面K帧)

为了高效的合并时间信息,需要两点:

  1. 来自图像级别网络的强大的目标级特征。(通过backbone 网络实现)

  2. 从支持帧中为参考帧采样有用的目标级别特征的能力。(通过设计时空采样框架实现)

STSN可被总结为4步:

  1. 使用backbone卷积网络为每个视频帧独立的计算目标级别的特征。

  2. 时空采样块被应用于目标级别的特征,来从相邻帧采样相关特征(在输入参考帧的条件下)。

  3. 使用每个像素的加权求和将每个视频帧的采样特征在时间上聚合为参考帧的单个特征张量。

  4. 特征向量输入到检测网络来产生参考帧最终的的检测结果。

STSN的框架将这些在概念上截然不同的四个步骤集成到一个体系结构中,对其进行了端到端的训练。

Backbone Architecture

采用基于ResNet-101的变形CNN,采用6个可变形卷积层。

时空特征采样

时空采样机制是本文的主要贡献,它可以在给出的视频中无缝的合并时间信息。第一步,将参考帧It和支持帧It+k喂给图像级别的backbone网络,分别产生特征张量ft和ft+k。

image-20201127150152330其中c,h,w是激活张量的通道数、高度、宽度。然后将ft和ft+k串联为一个新的特征张量image-20201127150210506注意,这个张量是初始张量的通道数的两倍。其包含了参考帧和支持帧的目标级别的信息。

接下来,使用ft,t+k来预测(x,y)位置偏移量,这将被用于采样支持张量ft+k。采样机制使用一个变形卷积层来实现,输入有两个:预测到的偏移量和支持张量ft+k,输出一个新的采样过的特征张量gt,t+k,其可被用于在参考帧进行目标检测。使用下标t,t+k来表示重采样的张量,尽管g是通过重采样支持帧来获得,但是偏移量的计算同时使用参考帧和支持帧。

image-20201127150233081

图:STSN框架。给出参考帧,目标是从相邻的支持帧合并信息。首先从支持帧和参考帧使用backbone提取特征。之后将参考帧和支持帧的特征串联,喂给多个可变形卷积层。其将产生偏移量,用于从支持帧采样有信息的特征。STSN体系允许在参考帧出现模糊或遮挡的情况下,执行精确的检测。

2.STMN

本文介绍了一个用于视频目标检测的时空记忆网络(STMN),其核心是时空记忆模块(STMM)作为循环计算单元,以对长时间表观和运动变化建模。STMM的设计允许完全集成从静态图像预训练的CNNbackbone权重,这对于精确的检测十分重要。此外,提出了一个新颖的MatchTrans模块来将帧与帧之间的时空memory对齐。

本文的方法能在一个较长并且数量可变的帧上捕捉信息,而现有方法仅能捕捉短而固定长度帧的信息。本文的方法仅仅需要计算单个frame-level的空间memory,计算独立于proposal的数量。

Detect and Track方法旨在统一检测和跟踪,两个连续帧间的关系被用于预测检测框的位移。与之不同,本文的时空记忆模块,聚合t>2帧的信息。并且使用所提出的MatchTrans模块来对整个特征图进行对齐,而不是预测框的位移。

image-20201127150306794

时空memory对齐的必要性:

如果不对齐,时空memory将不会遗忘一个目标,即使它的位置已经改变。例如第四行的显著性图,由于多个没有对齐的特征图重叠在一起,产生的幻觉特征将导致误警检测、不精确的定位(第三行)。

image-20201127150322942

为了减轻这一问题,作者提出了MatchTrans模块来对时空memory进行跨帧对齐,对于一个在位置(x,y)的特征cell Ft(x,y)∈1x1xD,MatchTrans计算Ft(x,y)与Ft-1中小的相邻区域之间的亲和力,以将Mt-1的时空memory转换对齐到第t帧:

image-20201127150340883

用T将非对齐的memory Mt-1对齐到M’t-1:

image-20201127150352341

自己的理解:先计算出一个当前帧t的(x,y)位置与t-1帧的一个小区域的变换系数。使用这个系数,将t-1帧的Memory的一个小区域,对齐到M’的(x,y)位置

image-20201127150428748

直觉是:使用给出的变换T,重构空间memory M’t-1(x,y)为在Mt-1与(x,y)相邻的(2k+1 X 2k+1)小邻域内的加权均值。可以用得到的M’t-1简单的替代等式1-4中的Mt-1。

通过合适的对齐之后,生成的memory更干净(如图4第二行所示),可以更精确的检测。因为计算代价是k的平方,实验中将k设为2。

MatchTrans模块相比使用光流,更高效,节省了用于存储光流的空间。

3.TCENet

为解决视频表观退化问题,现有的一些方法聚合相邻帧的特征来增强每一帧的表观特征。然而这些方法忽略了聚合帧之间的时间关系,这对于提升识别精度十分重要。作者提出了一个“时间上下文增强网络”——TCENet来通过时间聚合利用时间上下文信息。为了处理目标视频中目标位移问题,作者提出了一个DeformAlign模块来对齐帧与帧之间的空间特征。此外,作者没有采用固定的融合窗口长度,提出了一个temporal stride predictor来自适应的选择用于聚合的视频帧,有利于利用可变的时间信息,用更少的视频帧进行聚合来实现更好的结果。

一些方法使用固定的相邻帧长度来增强参考帧的表观特征,作者将其称为增强空间特征的聚合(SFEA),这些方法忽略了用于聚合的帧的时间关系。特别是当打乱用于聚合的帧的顺序时,这些方法的性能几乎不受影响,也就是说这些模型没有从时间上下文中受益。仅执行外观特征表示,可能难以识别一些外观严重恶化的目标,如罕见的姿势、部分遮挡。

本文的哲学是相邻帧间的时间上下文信息在视频目标检测中扮演重要的角色。本文提出的TCEA方法,聚合相邻帧的特征来对时间上下文建模,以增强参考帧的特征。具体来说,对于每个参考帧,根据attention weightstemporal order聚合相邻帧的特征和参考帧的特征。

TCENet框架

image-20201127150446536

TCENet基于R-FCN构建,在每个时间t,TCENet将参考帧t与t-s(t)和t+s(t)聚合,其中s(t)通过 temporal stride predictor计算。特征提取器Nfeat产生这三帧图像的中间特征ft-s(t)、ft、ft+s(t)。在进行特征聚合之前,首先使用DeformAlign模块,将前后两张特征图的空间特征对齐到ft,生成ft-s(t)->t和ft+s(t)->t。之后使用聚合模块TCEA将三张特征图聚合生成gt。最终将合并过的特征gt喂给检测网络,获得参考帧的检测结果。

Temporal Context Enhanced Aggregation(TCEA)

image-20201127150459481

如上图中间所示,时间融合被提出,用于聚合相邻帧的特征来对时间上下文建模。来自N个相邻帧的,尺寸为CxHxW的特征首先被串联在一起,合并事件信息,形成一个NC通道的特征图。与常见的表观特征不同,这里包含了一个额外的时间维度。之后,使用一个1x1的卷积核对串联的特征图进行卷积,捕捉帧间的时间关系。最终生成一个C通道的特征图,同时保留了时间和空间信息。

此外,TCEA也采用了增加了时空注意力模块,来为每一帧分配pixel-level的聚合权重。时间注意力的目标是:在一个嵌入空间中计算帧的相似性,来关注“何时”的相邻帧重要。直觉上,在位置p,如果对齐过的特征fi->t(p)与ft(p)越接近,就越该被关注。这里作者采用点积相似性度量来度量相似性。与时间注意力木桶,空间注意力关注“哪里”的信息最丰富。空间注意力图从时间融合后的特征图计算。为了突出信息区域并增加注意力感受野,首先将平均池化和最大池化应用于融合后的特征,获得两张半分辨率的特征图。然后将它们连接起来以生成特征描述符,并在描述符上应用卷积层以生成中间特征图。中间特征图使用双线性插值上采样生成一张空间注意力图fs。之后使用公式(2)将其与ft融合,空间注意力为特征提供了一个细粒度的控制,即哪些地方应该被强调,哪些地方应该被抑制。

DeformAlign feature alignment

相同目标实例的特征,由于视频的运动,通常没有在帧与帧之间空间对齐。如果在进行特征聚合之前,没有进行恰当的特征对齐,目标检测器可能会发生检测识别、定位不准的问题。因此,作者提出了DeformAlign模块,采用变形卷积,实现精确的像素级别的空间对齐。

image-20201127150519561

为了将第i帧的特征图与参考帧t对齐,DeformAlign模块首先使用fi和ft作为输入,预测采样参数θ,使用采样参数θ和fi,采用变形卷积计算出fi->t。

Temporal Stride Predictor

为了获得更丰富的信息,一些模型基于固定的滑动窗口长度,聚合较长的输入视频帧特征。使用大卷积核,可以在特征图上获得更大的空间感受野。然而,参考帧的时间邻域主要包括冗余信息,并且对于提升当前目标的信念几乎是无用的。此外,巨大的滑动窗口时间长度计算开销更大。

作者发现增加聚合帧之间的时间步长,能增加时间感受野,并且能聚合更多有用的信息,不增加计算量。这里的时间步长定义为s=|t2-t1|。低级的时间步长选取策略在每一个参考帧t,使用固定的时间步长,使得建模变化的时间信息变的困难。更好的时间步长选取策略应该是能适应时间阈的变化。

一个自然地判断时间步长的标准是根据视频内容的变化速度。如果内容变化速度很快,就选择一个更小的时间步长,合并更近的帧。相反,如果变化速度慢,就选择更长的时间步长,合并更远的帧。视频内容的速度可以用ground truth目标的变化速度来度量。目标的运动速度通过其与相邻帧(±10帧)对应实例的IoU分数度量。这个指标被定义为“motion IoU”,motion IoU越小,目标运动越快。

基于此,作者设计了Temporal Stride Predictor,来为参考帧t选择哪些帧用于聚合。该预测器将特征t和特征k之间的差异作为输入(如ft-fk),预测第t帧和第k帧之间的偏差分数(即motion IoU)。若motion IoU<0.7(说明目标运动快)就将当前参考帧设为快时间步长(默认为9)。若0.7≤motion IoU≤0.9(说明目标运动适中)就将当前参考帧设为中时间步长(默认为24)。若motion IoU>0.9(说明目标运动慢)就将当前参考帧设慢快时间步长(默认为38)。

该预测网络由:2个卷积层(核大小为3x3,256通道),全局池化层,全连接层,sigmoid函数组成。在运行时,ft和ft-10被喂给该网络,来预测参考帧t的运动速度。

总结:

创新点:

  • 提出了TCENet来通过时间聚合利用时间上下文信息。
  • 提出了TCEA,聚合相邻帧的特征来对时间上下文建模,以增强参考帧的特征,更有效的处理表观退化问题。
  • 提出了temporal tride predictor,来自适应的选择用于聚合的视频帧,有利于利用可变的时间信息,用更少的视频帧进行聚合来实现更好的结果。
  • 提出了DeformAlign模块,对由帧间运动引发的位移建模,实现精确的像素级空间特征对齐。