20.Flow-Guided Feature Aggregation for Video Object Detection

用于视频目标检测的流引导特征聚合

摘要

将最先进的目标检测器从图像扩展到视频是具有挑战性的。检测的准确性受到视频中外观恶化的影响,例如,运动模糊,视频散焦,罕见姿势等。现有工作试图在盒级上利用时间信息,但是这种方法不是端对端训练的。我们提出了流引导特征聚合,一种用于视频目标检测的精确的端到端学习框架。它利用了特征级别的时间一致性。它通过沿运动路径聚合附近特征来改善每帧特征,从而提高视频识别精度。我们的方法显著改进了ImageNet VID中强大的单帧基线[33],特别是具有挑战性的快速移动对象。我们的框架是有原则的,与赢得2016年ImageNet VID挑战的最佳工程系统相同,没有额外的花哨。所提出的方法与深度特征流[49]一起,为ImageNet VID挑战2017的获奖作品提供了动力。该代码可在github中查看。

 

  1. 引言

近年来在目标检测方面取得了显著进展[11]。最先进的方法具有类似的两阶段结构。深度卷积神经网络(CNN)[22,36,40,14]首先应用于在整个输入图像上生成一组特征图。然后,粗糙的检测特定网络[13,10,30,26,5]从特征图生成检测结果。

这些方法在静止图像中获得优异的结果。但是,将它们直接应用于视频目标检测是具有极大挑战性的。识别精度受到在静止图像中很少观察到的视频中的对象外观恶化的影响,例如运动模糊,视频散焦,罕见姿势等等(参见图1中的示例以及图2中的更多示例)。在实验中量化时,最先进的静止图像目标检测器(R-FCN[5]+ResNet-101[14])对于快速移动的物体会显著恶化(表1(a))。

然而,视频具有关于同一对象实例的丰富信息,通常在短时间内在多个“快照”中观察到。在现有的视频目标检测方法[18,19,12,23]中以简单的方式利用这种时间信息。这些方法首先在单个帧中应用目标检测器,然后在专用的后处理步骤中跨越时间维度组装检测到的边界框。此步骤依赖于现成的运动估计,例如光流,以及手工制作的边界框关联规则,例如对象跟踪。通常,这种方法操纵具有普通特性的单帧检测盒,但不提高检测质量。性能改进来自启发式后处理而不是原则学习。没有端到端的训练。在这项工作中,这些技术称为盒级方法。

我们试图深入研究视频目标检测。我们寻求通过以原则方式利用时间信息来提高检测或识别质量。由于图像识别的成功[11],特征很重要,我们建议通过时间聚合来改进每帧特征学习。请注意,由于视频运动,相同对象实例的功能通常不会跨帧在空间上对齐。如下表1(b)所述,朴素的特征聚合甚至可能使性能恶化。这表明在学习过程中对运动进行建模至关重要。

在这项工作中,我们提出了流引导特征聚合(FGFA)。如图1所示,特征提取网络应用于各个帧以产生每帧特征映射。为了增强参考帧的特征,光流网络[8]估计附近帧和参考帧之间的运动。来自附近帧的特征映射根据流动运动被扭曲到参考帧。根据自适应加权网络聚合变形特征映射以及参考帧上自己的特征映射。然后将得到的聚合特征图馈送到检测网络以在参考帧上产生检测结果。特征提取,流估计,特征聚合和检测的所有模块都是端到端训练的。

与盒级方法相比,我们的方法在特征级别上工作,执行端到端学习并且是互补的(例如,对于Seq-NMS [12])。它改进了逐帧功能并生成高质量的边界框。这些方框可以通过盒级方法进一步修改。我们的方法是在大型ImageNet VID数据集上进行评估的[33]。严格的消融研究证明它是有效的,并在强大的单帧基线上得到显著改善。与盒级方法相结合可以进一步改进。我们报告的目标检测精度与赢得ImageNet VID挑战的最佳工程系统相同,没有额外的功能(例如,模型集成,多尺度训练/测试等)。

另外,我们根据物体运动幅度进行深入评估。结果表明,快速移动的物体比慢速物体更具挑战性。这也是我们的方法获得最大收益的地方。我们的方法可以有效地利用快速移动物体的各种快照中的丰富外观信息。所提出的方法与深度特征流[49]一起,为2017年ImageNet VID挑战的获胜条目提供了动力。该代码在github上公开发布。

 

扫描二维码关注公众号,回复: 4315060 查看本文章

2.相关工作

图像的目标检测。用于一般目标检测的现有技术[10,30,26,5],主要基于深度CNN [22,36,40,14]。在[11]中,提出了一种具有多级传播途径,称为区域卷积神经网络(R-CNN),用于训练深度CNN以对用于目标检测的区域进行分类。为了加速,ROI池化被引入SPP-Net [13]和Fast R-CNN [10]中整个图像上共享的特征图谱。在Faster R-CNN [30]中,区域由区域提议网络(RPN)生成,并且特征在RPN和Fast R-CNN之间共享。最近,RFCN [5]取代了中间特征图上的ROI池化操作,并在最终得分图上进行了位置敏感的ROI池化操作,将功能共享推向极致。

与静止图像目标检测的这些方法相比,我们的方法侧重于视频中的目标检测。它结合了时间信息以提高卷积特征图的质量,并且可以很容易地从静止图像目标检测器的改进中受益。

视频目标检测。最近,ImageNet引入了一种新的视频目标检测挑战(VID),它将目标检测带入了视频领域。在这一挑战中,几乎所有存在的方法仅在最后阶段“边界框后处理”中包含时间信息。T-CNN [18,19]根据预先计算的光流将预测的边界框传播到相邻帧,然后通过应用来自高信任边界框的跟踪算法生成小管。沿着小管的盒子基于小管分类重新评分。Seq-NMS [12]沿着连续帧的附近高精度边界框构建序列。将序列的框重新评分为平均信度,抑制接近该序列的其他框。 MCMOT[23]将后处理制定为多对象跟踪问题。一系列手工制作规则(例如,关于滤波器的检测器,颜色/运动线索,变化点检测和前向后验证)用于确定边界框是否属于被跟踪对象,并进一步重新确定跟踪结果。不幸的是,所有这些方法都是多阶段传输途径,每个阶段的结果将依赖于前一阶段的结果。因此,很难纠正前一阶段产生的错误。

相比之下,我们的方法考虑特征级别的时间信息而不是最终的盒子级别。整个系统是针对视频目标检测任务进行端到端训练的。此外,我们的方法可以进一步结合这种边界框后处理技术,以提高识别精度。

流的运动估计。视频中的时间信息需要原始像素或特征中的对应关系以建立连续帧之间的关系。光流被广泛用于许多视频分析和处理。传统方法主要采用变分方法[2,15],主要针对小位移[43]。最近的重点是大位移[3],并且组合匹配(例如,DeepFlow [44],EpicFlow [31])已经整合到变分方法中。这些方法都是手工制作的。基于深度学习的方法(例如,FlowNet [8]及其后继者[28,17])最近已被用于光流。与我们最相关的工作是深度特征流[49],它表明视频中的信息冗余可以被利用来加速视频识别,同时精度下降很小。它显示了联合训练流网子网和识别子网的可能性。

在这项工作中,我们关注于在连续帧中关联和组合丰富的外观信息,提高特征表示,从而提高了视频识别的准确性。我们遵循深度特征流的设计,以实现跨帧的特征变形。

特征聚合。特征聚合广泛用于动作识别[34,20,24,47,38,1,21,41]和视频描述[7,46]。一方面,大多数这些工作[34,24,47,7,46,1,9,35]使用递归神经网络(RNN)来聚合来自连续帧的特征。另一方面,完整的时空卷积用于直接提取时空特征[38,21,41,42]。但是,这些方法中的卷积核大小可能会限制对快速移动目标的建模。为了解决这个问题,应该考虑一个较大的卷积核,但它会大大增加参数的数量,带来过拟合,较大的计算开销和内存消耗等问题。相比之下,我们的方法依赖于流指导聚合,并且可以扩展到不同类型的目标运动。

视觉跟踪。最近,深度CNN已被用于目标跟踪[25,16],并取得了令人印象深刻的跟踪精度。当跟踪新目标时,通过将预先训练的CNN中的共享层与在线更新的新二进制分类层组合来创建新网络。跟踪明显不同于视频目标检测任务,因为它假设目标在第一帧中的初始定位,并且它不需要预测类标签。

 

3.流引导特征聚合

3.1基线和动机

给定输入视频帧{Ii},i = 1,...,∞,我们的目标是输出在所有帧上目标的边界框,{yi},i = 1,...,∞。基线方法是将现成的目标检测器单独应用于每个帧。

现代的基于CNN的目标检测器具有相似的结构[11,10,30,26,5]。在输入图像I上应用深度卷积子网络Nfeat,以在整个图像上产生特征映射f = Nfeat(I)。在特征图上应用简单检测特定子网Ndet以生成输出,y = Ndet(f)。

视频帧包含相同目标实例的剧烈外观变化,如图2所示。单帧上的检测会产生不稳定的结果,并且在外观不佳时会失败。图1给出了一个例子。由于运动模糊,“猫”类别的特征响应在参考帧t处较低。这会导致单帧检测失败。观察到附近的帧t-10和t+10具有高响应,它们的特征可以传播到参考帧。增强参考帧上的功能后,对其的检测成功。

这种特征传播和增强需要两个模块:1)运动引导的空间扭曲。它估计帧之间的运动并相应地扭曲特征图。2)特征聚合模块。它详细说明了如何从多个框架中正确融合功能。与特征提取和检测网络一起,这些是我们方法的构建块。它们在下面详细说明。

 

3.2 模型设计

流引导扭曲。如[49]所示,给定参考帧Ii和相邻帧Ij,流网络F(例如,FlowNet [8])估计流场Mi→j = F(Ii,Ij)。


根据流将相邻帧上的特征映射扭曲到参考帧。扭曲函数定义为

其中W(·)是在特征映射中为每条通道应用于所有位置的双线性扭曲函数,并且fj→i表示从帧j到帧i扭曲的特征映射。


功能聚合。在特征扭曲之后,参考帧累积来自附近帧(包括其自身)的多个特征映射。这些特征图谱提供了目标实例的各种信息(例如,变化的照明/视点/姿势/非刚性变形)。对于聚合,我们在不同的空间位置使用不同的权重,并让所有特征通道共享相同的空间权重。用于扭曲特征fj→i的2维权重图表示为    wj→i。然后获得参考帧¯fi处的聚合特征

其中K指定用于聚合的相邻帧的范围(默认K = 10)。等式(2)类似于注意力模型的公式[32],其中将不同的权重分配给存储缓冲器中的特征。


然后将聚合特征¯fi馈送到检测子网络中以获得结果,

与基线和先前的盒级方法相比,我们的方法在产生最终检测结果之前聚合来自多个帧的信息。


自适应权重。自适应权重指示所有缓冲帧[Ii-K,...,Ii+K]对于每个空间位置处的参考帧Ii的重要性。具体地,在位置p处,如果变形特征fj→i(p)接近特征fi(p),则将其分配给更大的权重。否则,分配较小的权重。在这里,我们使用余弦相似性度量[27]来测量扭曲特征和从参考帧提取的特征之间的相似性。此外,我们不直接使用从Nfeat(I)获得的卷积特征。相反,我们将一个微小的完全卷积网络E(·)应用于特征fi和fj→i,它将这些特征投射到用于相似性度量的新嵌入,并被称为嵌入子网络。我们估计权重


其中fe = ε(f)表示用于相似性测量的嵌入特征,并且对于附近帧上的每个空间位置p,权重wj→i被归一化,

可以将权重估计视为嵌入特征之间的余弦相似性通过SoftMax操作的过程。

 

3.3 训练和推理


推理。算法1总结了算法。给定连续帧{Ii}的输入视频和指定的聚合范围K,所提出的方法顺序地处理每个帧,在附近的帧上具有滑动特征缓冲区(通常长度为2K+1,除了开始和结束K之外的帧)。初始时,在开始的K+1帧上应用特征网络以初始化特征缓冲区(L2-L4在算法1中)。然后,算法遍历所有视频帧以执行视频目标检测,并更新特征缓冲区。对于作为参考的每个帧i,特征缓冲区中的附近帧的特征映射相对于它变形,并且计算它们各自的聚合权重(L6-L10)。然后聚合扭曲的特征并将其馈送到检测网络以进行目标检测(L11-L12)。在将第(i+1)帧作为参考之前,在第(i+K+1)帧上提取特征图并将其添加到特征缓冲器(L13)。

至于运行时复杂性,所提出的方法与单帧基线的比率为


其中O(·)测量函数的复杂性。通常,当与Nfeat进行比较时,可以忽略Ndet,ε和W的复杂性。该比率近似为:r≈

增加的计算主要来自F.这是可以承受的,因为一般来说,F的复杂性也远低于Nfeat。

训练。整个FGFA架构完全可以区分,可以进行端到端的训练。唯一需要注意的是,特征变形模块是通过双线性插值实现的,也是完全可微的w.r.t.特征图谱和流域都是。

时域dropout。在SGD训练中,聚合范围编号K受内存限制。我们在推理中使用大K但在训练中使用小K(默认= 2)。这不是问题,因为自适应权重分别在训练和推理期间被适当地标准化。注意,在训练期间,从大于等于推理期间的范围中随机采样相邻帧。作为dropout[37]技术的类比,通过丢弃随机时间帧,可以将其视为时间丢失。如表3所示,该训练策略运作良好。

3.4 网络架构

我们在FGFA模型中介绍了不同的典型子网络。

流网络。我们使用FlowNet [8](“简单”版本)。它是在飞行椅数据集[8]上预先训练的。它适用于半分辨率的图像,输出步长为4。由于特征网络的输出步长为16(见下文),因此流域缩小一半以匹配特征图的分辨率

特征网络。我们采用最先进的ResNet(-50和-101)[14]和Inception-Resnet [39]作为特征网络。原始lInception-ResNet专为图像识别而设计。为了解决特征未对准问题并使其适用于目标检测,我们使用了一个被称为“Aligned-Inception-ResNet”的修改版本,在[6]中有描述。ResNet-50,ResNet-101和Aligned-Inception-ResNet模型都是经过预先训练的ImageNet分类。

在我们的FGFA模型中,预训练模型被制作成特征网络。我们稍微修改了三个用于目标检测的模型的性质。我们删除了结束平均池化和全连接层,以及保留卷积层。为了提高特征分辨率,按照[4,5]中的实践,最后一个块的有效步长从32变为16。特别是在最后一个块的开头(ResNet和Aligned-Inception-ResNet的“conv5”),步长从2变为1。为了保持感受野大小,最后一个块中卷积层(内核大小> 1)的扩张设置为2。最后,在顶部应用随机初始化的3×3卷积以将特征维度减少到1024。

嵌入网络。它有三层:1×1×512卷积,3×3×512卷积和1×1×2048卷积。它是随机初始化的。

检测网络。我们使用最先进的R-FCN[5]并遵循[49]中的设计。在1024维特征映射之上,应用RPN子网和R-FCN子网,分别连接到第一个512维和最后512维的特征。在RPN中使用9个锚点(3个标度和3个纵横比),并且在每个图像上产生300个建议。R-FCN中的位置敏感得分图是7×7组

 

4.实验

4.1实验设置

ImageNetVID数据集[33]。它是视频目标检测的大型基准测试基准。遵循[18,23]中的提议,分别从来自验证集的555个片段中的3,862个视频片段进行模型训练和评估。这些片段是完全注释的,一般帧速率为25或30 fps。有30个目标类别。它们是ImageNet DET数据集中类别的子集。

慢速,中速,快速移动。为了得到一个更好的分析,目标的标签根据其运动速度进行分类。物体的速度通过其平均交并集(IoU)分数与其附近帧中的相应实例(±10帧)来测量。该指标被称为“运动IoU”。运动IoU越低,物体就越快。图3显示所有运动IoU分数的直方图。根据得分,目标分为慢速(得分> 0.9),中等(得分ε[0.7,0.9])和快速(得分<0.7)组。各组的实例如图4所示。

在评估中,除了标准平均精确度(mAP)评分外,我们还分别对慢速,中速和快速组进行分析,分别表示为mAP(慢速),mAP(中等)和mAP(快速)。这为我们提供了更详细的分析和深入的理解。

实施细节。在训练期间,在[18,23]之后,使用了ImageNet DET训练和ImageNet VID训练集。进行两阶段训练。在第一阶段,特征和检测网络在ImageNet DET上进行训练,使用ImageNet VID中的30个类别的注释。进行SGD训练,每个小批次都有一张图像。在4个GPU上执行120K迭代,每个GPU保持一个小批量。在第一个80K和最后40K迭代中,学习率分别为10-3和10-4。在第二阶段,整个FGFA模型在ImageNet VID上进行训练,其中特征和检测网络来自从第一阶段的权重初始化。在4个GPU上进行60K迭代,学习率分别为10-3和10-4,分别为40K和20K。在训练和推理中,图像被调整为用于特征网络的600像素的较短边,以及用于流网络的300像素的较短边。实验在具有Intel E52670 v2 CPU 2.5GHz和Nvidia K40 GPU的工作站上执行。

 

4.2消融研究

FGFA架构设计。表1将我们的FGFA与单帧基线及其变体进行了比较。方法(a)是单帧基线。它使用ResNet-101的mAP为73.4%。它接近[49]中73.9%的mAP,也是基于R-FCN和ResNet-101。

这表明基线是竞争性的,并且是评估的有效参考。请注意,我们不会添加像多尺度训练/测试,利用上下文信息,模型集合等的花里胡哨,以便于比较和得出明确的结论。

对运动组的评估表明,检测快速运动的对象具有挑战性:慢动作的mAP为82.4%,快动作的mAP降至51.4%。由于不同尺寸的物体可能具有不同的运动速度,我们进一步分析物体尺寸的影响。表2显示了不同运动速度的小,中,大目标的mAP分数。它表明,“快速运动”是一个内在的挑战,无论物体有多大。

方法(b)是朴素的特征聚集方法和FGFA的简并变体。没有使用流运动。流程图Mi→j在等式(1)中被设置为全零。不使用自适应加权。权重wi→j在等式(2)中设定为1/(2K+1)。该变体也以与FGFA相同的方式进行端对端训练。使用ResNet101,mAP降低至72.0%,比基线(a)低1.4%。快速运动(51.4%→44.6%)的减少比慢动作(82.4%→82.3%)更显著。它表明在视频目标检测中考虑运动至关重要。

方法(c)将自适应加权模块添加到(b)中。它的mAP为74.3%,比(b)高2.3%。请注意,添加自适应加权方案对mAP(慢速)和mAP(中等)没什么帮助,但对于mAP(快速)(44.6%→52.3%)很重要。图5(左)显示快速移动实例的自适应权重集中于靠近参考的帧,其具有相对小的位移w.r.t.一般的参考。

方法(d)是提出的FGFA方法,其将流引导的特征聚合模块添加到(c)。它将mAP得分提高2%至76.3%。快速运动的改善更为显著(52.3%→57.6%)。图5显示(d)中的自适应权重在相邻帧上比(c)更均匀地分布,并且对于快速运动而言最明显。它表明流引导的特征聚合有效地促进了特征聚合中附近帧的信息。与单帧基线(a)相比,所提出的FGFA方法将总mAP评分提高2.9%,mAP(快)提高6.2%。一些示例结果如图6所示。

方法(e)是(d)的简并版本,不使用端到端训练。它采用来自单帧基线(a)的特征和检测子网络,以及预先训练好的现成FlowNet。在训练期间,固定这些模块并且仅学习嵌入子网络。它显然比(d)更糟糕。这表明了FGFA中端到端训练的重要性。

至于运行时,使用ResNet-101和FlowNet,提出的FGFA方法需要733ms来处理一帧。它比单帧基线(288ms)慢,因为每帧的流量网络评估为2K + 1(K = 10)次。为了减少评估次数,我们还尝试了另一种版本的FGFA,其中流网络仅应用于相邻的帧对。通过组合中间流获得的非相邻框架之间的流场。以这种方式,每个相邻帧对上的流域计算可以重新用于不同的参考帧。FGFA的每帧计算时间减少到356ms,比733ms快得多。由于流场组成中的误差累积,精度略微降低(~1%)。

#训练和推理中的帧.由于内存问题,我们在本实验中使用了轻量级的ResNet-50。我们在SGD训练期间(5帧到达记忆帽)中尝试了每个小批量中的2帧和5帧,以及推断中的1,5,9,13,17,21和25帧。表3中的结果表明,2帧和5帧的训练达到非常接近的准确度。这验证了我们的时域dropout训练策略的有效性。在推断中,正如预期的那样,随着使用更多帧,准确度提高。改善在21帧饱和。默认情况下,我们在训练中采样2帧,并在推理中聚合超过21帧。

4.3与盒级技术相结合

我们的方法专注于提高视频帧中的特征质量和识别准确度。输出目标框可以通过先前的盒级技术进一步改进作为后处理。特别是,我们测试了三种流行技术,即运动引导传播(MGP)[18],Tubelet重新分析[18]和Seq-NMS [12]。请注意,MGP和Tubelet重新计算用于ImageNet VID challenge 2015 [18]的获奖作品。 我们利用官方公共代码进行MGP和Tubelet重新计算,并重新实现了Seq-NMS。

表4列出了结果。这三种技术首先使用ResNet-101模型与我们的单帧基线相结合。它们都改善了基线。这表明这种后处理技术是有效的。在他们之间,Seq-NMS获得最大的收益。当使用ResNet-101模型将它们与FGFA组合时,MGP和Tubelet重新评估没有观察到改善。然而,Seq-NMS仍然有效(mAP增加到78.4%)。 通过使用Aligned-Inception-ResNet作为特征网络,FGFA + Seq-NMS的mAP进一步提高到80.1%,表明Seq-NMS与FGFA高度互补。

与最先进的系统进行比较.与图像目标检测不同,视频目标检测的范围包括原则指标[48]以及评估和比较指南。ImageNet VID挑战2015和2016中的现有主要条目显示了令人印象深刻的结果,但它们是复杂且高度工程化的系统,具有各种尺度和功能。这使得不同作品之间的直接和公平的比较变得困难。

这项工作旨在为视频目标检测而不是最佳系统的原则提供学习框架。FGFA在强单帧基线上的稳固改善验证了我们方法的有效性。 作为参考,ImageNet VID挑战2016(NUIST团队)[45]的获奖作品在ImageNet VID验证中获得81.2%的mAP。它使用各种技术,如模型集成,级联检测,上下文信息和多尺度推理。相反,我们的方法不使用这些技术(仅使用Seq-NMS)并且以80.1%实现最佳mAP。 因此,我们得出结论,即使是目前最好的工程系统,我们的方法也具有很强的竞争力。

 

5.结论和未来工作

这项工作为视频目标检测提供了一个准确的,端到端和原则性的学习框架。 由于我们的方法侧重于提高功能质量,因此它将与现有的盒级框架互补,以提高视频帧的准确性。有几个重要方面需要进一步探索。我们的方法可以减慢速度,并且可以通过更轻量级的流量网络进行调整。快速物体运动仍有很大的空间需要改进。更多注释数据(例如,YouTube-BoundingBoxes [29])和精确流量估计可能有益于改进。我们的方法可以进一步利用聚合中更好的自适应存储器方案而不是使用的注意模型。我们相信这些开放性问题将激发更多未来的工作。

 

猜你喜欢

转载自blog.csdn.net/weixin_40740160/article/details/83267925
今日推荐