本文最后更新于:2020年10月23日 早上

最近主要阅读了Flow-Related的三篇视频目标检测的相关论文:FGFA、DFF、MANet。其中,FGFA使用FlowNet计算帧间光流信息,根据光流信息将临近帧的特征图加权融合到参考帧上,然后利用整合后的信息做检测和分类。DFF对FGFA进行了改进,仅在稀疏的关键帧上运行卷积子网络,并且通过光流场将其深度特征图传播给其他帧。

阅读文献:

[1] Zhu X, Wang Y, Dai J, et al. Flow-guided feature aggregation for video object detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 408-417.

[2] Zhu X, Xiong Y, Dai J, et al. Deep feature flow for video recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 2349-2358.

[3] Wang S, Zhou Y, Yan J, et al. Fully motion-aware network for video object detection[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 542-557.

1.FGFA

将用于图像的目标检测器应用于视频非常有挑战,视频中会出现运动模糊、失焦、和罕见的姿势等目标表观退化的情况。现有的一些方法在box level利用时间信息做出尝试,但其不是端到端的训练。本文采用光流指导的特征聚合,提出了一种featue-level的端到端学习的视频目标检测框架,提升了逐帧特征,可生成高质量的边界框。

Flow-Guided Feature Aggregation(FGFA)

为每一帧图像应用特征提取网络,产生逐帧的特征图。使用FlowNet估计参考帧及其临近帧之间的运动,根据运动流将临近帧的特征图扭曲到参考帧。最后将扭曲的特征图、参考帧自己的特征图用自适应权重网络进行聚合,以增强参考帧的特征。之后将产生的聚合特征图喂给检测网络,来在参考帧上产生预测结果。

在特征传播、增强参考帧过程中有两个必要模块:1)运动指导的空间扭曲,根据帧与帧之间的运动扭曲特征图。2)特征聚合模块,解决怎样恰当的融合多帧特征。

img

模型设计:

  • 光流指导的扭曲imgF是由FlowNet产生的光流场,Ii是参考帧,Ij是临近帧,W是双线性扭曲函数,作用于特征图每个通道的所有位置。
  • 特征聚合:在特征扭曲后,参考帧累积了多张特征图(包括其自己的),这些特征图提供了目标的不同信息(如变化的光照、视角、姿势、非刚体形变)。作者在不同的空间位置采用不同的权重,并使所有的特征通道共享相同的空间权重。聚合的特征图表示为img其中,从j到i的二维权重图用wj->i表示。聚合后的特征图喂给检测子网络以获得检测结果:img
  • 自适应权重:自适应权重表示在每个空间位置上临近帧到参考帧的重要性。在位置p上,如果扭曲的特征图fj->i(p)与特征图fi(p)相似,就被分配一个大权重。否则就分配一个小权重。作者使用cos相似度来度量扭曲特征图和参考帧特征图之间的相似性。使用一个小的卷积神经网络:嵌入子网络来将fi和fi->j投影到一个新的embedding用于相似性度量。img使用以上公式估计权重,其中img是用于相似性度量的嵌入特征,wj->i在每个空间位置p在相邻帧进行正则化:img。权重的估计也就是通过SoftMax操作计算嵌入特征之间cos相似度的过程。

网络结构:

使用FlowNet来预测光流场,采用在ImageNet上预训练的ResNet(-50and-101)和Aligned-Inception-Resnet作为特征网络。一个随机初始化的嵌入网络,检测网络采用R-FCN和RPN。

ImageNet VID数据集:

是一个普遍用于视频目标检测的大规模基准数据集,训练集有3862个视频片段,验证集有555个视频片段。片段被完全标注,帧率为25或30fps,有30个目标类别。类别是ImageNet DET数据集的子集。

评价标准:

为了便于分析,将ground truth目标根据其运动速度进行分类。目标的速度定义为在其相邻的前后10帧上对应实例的平均IoU,称为“motion IoU”,motion IoU越小,说明目标移动速度越快。IoU>0.9的为slow,0.7<IoU<0.9的为medium,IoU<0.7的为fast。相对应的:沿用目标检测中的mAP,但是会根据目标的速度分为mAP(slow), mAP(medium), mAP(fast)。

img

总结:

创新点:

  • 使用FlowNet计算帧间光流信息,根据光流信息将临近帧的特征图加权融合到参考帧上。
  • 利用前后帧光流信息增强当前参考帧的特征,从而提升识别精度。

缺点:

  • 识别速度很慢。
  • 物体运动速度越快,光流的效果就会越差。
  • 仅融合与当前帧相邻的前后帧,有一定局限性,是否有更加全局的特征融合

2.Deep Feature Flow for video Recognition

直接将图像识别方法应用在视频的每一帧上需要更大的计算量,并且更慢。作者提出了一种用于视频目标检测的快速且精确的框架:deep feature flow,该框架仅在稀疏的关键帧上运行卷积子网络,并且通过光流场将其深度特征图传播给其他帧。因为光流估计和特征传播比计算卷积特征更快,所以可以避免计算瓶颈,提升检测速度。

Deep Feature Flow

deep feature flow首次在一个深度学习框架中联合训练光流和识别任务。作者将卷积神经网络N分为两个连续的子网络Nfeat和Ntask:第一个称为特征子网络,输出若干中间特征图;第二个称为任务网络,对于任务有特定的结构,在特征图上执行识别任务(在执行目标检测任务时,采用R-FCN、RPN,使用了anchors)。

连续的视频帧具有高度相似性,编码高级别语义概念的深度特征图的相似性甚至更高。作者正是利用这些相似性来减少计算开销。特征网络Nfeat仅仅在某些稀疏关键帧Ik上运行,非关键帧Ii的特征图来自于之前的关键帧Ik的传播。

数学推导:

imgimg是一个由光流估计算法获得的二维光流场。

特征扭曲通过双线性插值实现: (1) 其中c为特征图f的通道数,q枚举特征图上所有的空间位置,img,G(·,·)是双线性插值核,G是二维的,可被分为两个一维的核:img,其中img

由于光流估计的误差,空间扭曲有时不精确,故使用“scale field”Si->k来调整其振幅。最终,特征传播函数定义为:img(3) 其中,W在特征图的所有通道和所有位置应用了等式(1),并按元素乘以Si->k。

img img

训练过程:

使用CNN估计光流场和尺度场,所有的内容以任务为导向进行联合的端到端训练。网络结构如图b所示,使用随机梯度下降(SGD)训练,在每个mini-batch中随机采样Ik和Ii,i与k相隔不超过9帧。在前向传播过程中,首先在Ik上应用特征网络Nfeat,获得特征图fk。然后在Ik和Ii上运行光流网络F,预测光流场和尺度场。当i>k时,按照等式(3)将特征图fk传播给fi。最终Ntask作用于fi来产生结果yi。通过在最后一个卷积层增加一些通道,作者在网络的输出加入了一个尺度函数S。尺度函数被初始化为1(输出层的权重初始化为0,偏差初始化为1)

总结:

创新点:

  • 利用轻量的光流网络计算帧与帧之间的关系,根据计算出的光流场将关键帧的特征传播至其他帧。无需对每一帧计算特征图,提升了检测速度。
  • 传统的逐帧训练仅可使用标注过的帧进行训练,而DFF可以使用所有帧进行训练(只要参考帧被标注)。

缺点:

  • 传播后的特征会变弱,造成非关键帧的精度有一定损失。
  • 使用固定的关键帧持续长度l,当图像内容急剧变化时,没有分配新的关键帧。

3.MANet

为了增强视频每一帧的特征,此前的做法是聚合相邻帧的特征。但由于目标和摄像机的移动,目标的特征通常没有进行逐帧的空间校准。本文提出了一个端到端的模型:MANet,在像素级别实例级别以一个统一的框架,联合校准目标特征。像素级校准可以灵活地对详细的运动进行建模,而实例级校准则可以捕获更多的全局运动线索,以便对遮挡具有鲁棒性。

FGFA使用光流估计来预测逐像素的运动(以下称为像素级别的特征校准),当目标的表观剧烈变化时,尤其是目标被遮挡时,这种方法将会不精确。一旦光流估计不精确,光流指导的扭曲就会误导特征校准。

本文在现有像素级别的方法上,提出了实例级别的校准方法。估计每个目标随时间的运动,以更加精确的聚合特征。具体地,为参考帧的每个proposal,提取其相应的运动特征来预测附近帧与当前帧之间的相对运动。根据预测的相对运动,将相邻帧中同一对象的特征进行RoI池化和合并,以更好地表示。对比像素级别的校准,实例级别的校准对较大的表观变化(如遮挡)更鲁棒。

作者在观察的基础上,提出了一个运动模式推理模块:若某个运动模式更有可能是非刚体的,并且没有发生遮挡,最终结果将会更依赖像素级别的校准,否则就更依赖实例级别的校准。

MANet结构:

img

  • 首先,Nfeat特征提取器对三帧图像进行计算,产生三张中间特征图ft-τ,ft,ft+τ。
  • 第二步,对ft-τ和ft+τ应用pixel-level的校准,生成ft-τ->t和ft+τ->t,被合并为fpixel,随后喂给Nrpn和Nrfcn产生proposal。fpixel也被喂给Nrfcn,对第i个proposal产生Sipixel
  • 第三步,在Nrfcn 位置敏感得分图上执行instance-level校准。在ft-τ,ft,ft+τ上应用专门的卷积层,产生一组k2个位置敏感的得分图St-τ,St,St+τ。对St的第i个proposal(xit,yit,wit,hit)。引入一个过程,回归相对应的St-τ的proposal位置(xit-τ,yit-τ,wit-τ,hit-τ)和St+τ的proposal位置(xit+τ,yit+τ,wit+τ,hit+τ)。通过这些预测出的proposal,附近帧的特征被RoI池化,合并为Siinsta
  • 最终,执行运动模式推理模块,将pixel-level的校准和instance-level的校准合并。运动模式推理模块根据动态的运动模式合并SiinstaSipixel得到综合的score map。

以上所有模块(包括Nfeat,Nrpn,Nrfcn,pixel-level校准、instance-level校准)都被端到端的训练。

Pixel-level Calibration:

与FGFA、DFF相似,在此不再赘述。对非刚体建模更灵活(如tiny animals)

Instance-level Calibration:

instance-level对常规运动轨迹更好(如汽车),对遮挡的容忍度更高。实例级校准是在R-FCN的分数图上进行的。R-FCN使用专门的卷积层来生成位置敏感的得分图St。为了对第i个proposal合并出分数Sit,需要知道St-τ、St+τ和proposal位移。前两者可以通过将ft-τ和ft+τ喂给R-FCN获得,下面详细介绍如何学习到第i个proposal的相对位移。

作者采用光流估计和参考帧的proposal作为输入,期望生成每一个proposal在临近帧和参考帧之间的位移。计算相对位移需要运动信息,尽管FlowNet预测的逐像素的运动由于遮挡可能不精确,但其有能力描述运动趋势。作者将这个运动趋势作为输入,输出整个目标的位移。首先使用RoI池化操作来生成池化过的特征mit-τimg(在(x,y,h,w)的第i个proposal),φ指RoI池化,F指光流估计。然后根据mit-τ,利用回归网络R(·)来估计第i个proposal在t-τ和t之间的相对位移。img其中R(·)是一个全连接层。根据估计到的相邻帧的proposal位置,合并后的第i个proposal的特征为Siinsta,其中Sj是相邻的分数图,ψ是位置敏感的池化层。

img

总结:

MANet利用R-FCN对FGFA进行了改进,在像素级别实例级别联合校准目标特征。先根据提取出的feature和用FlowNet提取出帧间的光流信息,完成pixel-level的calibration。接着通过预测出来的instance的位移(其实就是R-FCN得到的proposal的位移),进行instance-level的calibration。最后使用Motion pattern reasoning model融合pixel-level和instance-level得到的feature用于训练和测试。

创新点:

  • 在现有像素级别的方法上,提出了实例级别的校准方法,对遮挡更鲁棒。
  • 提出了运动模式推理模块,根据运动,动态的联合像素级别和实例级别的校准。

缺点:

  • 实验部分仅对比了精度,速度没有提,可能会更慢一些。