哪有什么岁月静好,不过是有人替你负重前行!

Graph Convolutional Networks for Temporal Action Localization

0. 前言

  • 相关资料:

  • 论文基本信息:

    • 领域:时序动作定位

    • 发表时间:ICCV2019(2019.9.7)

摘要

  大多数最先进的行动定位系统单独处理每个行动proposal,而没有在学习过程中明确地利用它们之间的关系。然而,proposal之间的关系实际上在行动定位中扮演着重要的角色,因为一个有意义的行动总是由一个视频中的多个proposal组成。在本文中,我们提出了利用图卷积网络(GCNs)的proposal-proposal关系。首先,我们构造一个动作proposal图,其中每个proposal都表示为一个节点,两个proposal之间的关系表示为一条边。在这里,我们使用两种类型的关系,一种用于捕获每个proposal的上下文信息,另一种用于描述不同动作之间的相关性。然后,我们在图上应用gcn来建模不同proposal之间的关系,并学习动作分类和定位的强大表示。实验结果表明,我们的方法在THUMOS14上显著优于最先进的方法(49.1%对42.8%)。此外,在ActivityNet上的增强实验也验证了动作proposal关系建模的有效性。

 

1.介绍

由于视频在安全监控、人类行为分析和许多其他领域的广泛应用[10、35、38、12、13、14、15、16、42],了解视频中的人类行为已经成为计算机视觉领域的一个重要研究课题。尽管在这方面取得了丰硕的进展,但仍有一些具有挑战性的任务需要进一步探索-时间动作定位就是这样一个例子。为了处理未经剪辑且通常包含不相关活动背景的真实视频,时间动作定位要求机器不仅对感兴趣的动作进行分类,还对每个动作实例的开始和结束时间进行定位。考虑一个如图1所示的运动视频,探测器应该找出动作事件发生的帧,并确定事件的类别。

 

  图1。我们的方法的示意图描述。我们应用图卷积网络来建模proposal-proposal交互,并提高时间动作定位性能。

  在过去的几年里,时间动作定位已经引起了越来越多的关注[6,18,26,33,34]。受目标检测成功的启发,目前大多数动作检测方法都采用两阶段流程:首先生成一组一维时间proposal,然后分别对每个proposal进行分类和时间边界回归。然而,在预测阶段单独处理每个proposal不可避免地会忽略proposal之间的语义关系。

  我们认为,利用视频域中的proposal关系可以提供更多线索,以便于识别每个proposal实例。为了说明这一点,我们重温图1中的例子,在这里我们产生了四个proposal。一方面,相互重叠的proposal p1、p2和p3描述了同一行动实例的不同部分(即开始阶段、主体和结束阶段)。传统方法仅利用p1的特征进行预测,我们认为这不足以为检测提供完整的知识。如果我们额外考虑p2和p3的特征,我们将获得更多关于p1的上下文信息,这对p1的时间边界回归尤其有利。另一方面,p4描述了背景(即运动场),其内容也有助于识别p1的动作标签,因为运动场上发生的可能是运动动作(如“掷铁饼”),而不是其他地方发生的动作(如“接吻”)。换句话说,p1的分类可以部分地由p4的内容指导,即使它们在时间上是不相邻的。

  为了对proposal-proposal交互进行建模,可以使用自注意力机制[39]——正如之前在语言翻译[39]和对象检测[22]中所做的那样——来捕获proposal之间的成对相似性。自我关注模块可以通过使用自动学习的聚合权重聚合来自所有其他proposal的信息来影响单个proposal。然而,这种方法在计算上非常昂贵,因为查询所有proposal对的proposal数具有二次复杂性(请注意,每个视频可能包含数千个以上的proposal)。相反,图卷积网络(GCN)将卷积从网格状数据(如图像)推广到非网格结构(如社交网络),在机器学习领域受到越来越多的关注[25,47]。GCN可以通过聚合来自相邻节点的信息来影响每个节点,因此非常适合利用proposal之间的关系。更重要的是,与自我注意策略不同,应用GCN使我们能够仅为每个proposal聚合来自本地邻域的信息,从而有助于显著降低计算复杂度。

  在本文中,我们将proposal视为特定图的节点,并利用GCNs对proposal关系进行建模。受上述讨论的启发,我们通过研究proposal之间的两种边来构建图,包括上下文边以合并每个proposal实例的上下文信息(例如,通过访问图1中的p2和p3来检测p1)和周围边以从附近但不同的proposal中查询知识(例如,查询图1中的p1的p4)。

  然后,我们对构造的图执行图卷积。尽管信息是从每一层的本地邻居聚合而来的,但如果GCN的深度增加,远程节点之间的消息传递仍然是可能的。此外,我们进行了两种不同的GCN来分别执行分类与回归,实验证明,该方法是有效的。此外,为了避免巨大的计算开销,我们进一步设计了一种采样策略,在保持期望检测性能的同时,有效地训练GCN。我们在两个流行的时间动作检测基准上评估了我们提出的方法,即THUMOS14[24]和AcitivityNet1.3 [4].

  综上所述,我们的贡献如下:

  •据我们所知,我们是第一个利用proposal关系在视频中进行时间动作定位的。

  •为了对proposal之间的交互进行建模,我们根据有价值的观察结果建立边来构建proposal图,然后应用GCN在proposal之间进行消息聚合。

  •我们已经在两个基准上验证了我们提出的方法的有效性。特别是在THUMOS14上,当tIoU=0.5时,我们的方法得到49.1%的mAP,这显著优于最先进的方法,即通过[6]得到42.8%。ActivityNet上的增强实验也验证了建模行动proposal关系的有效性。

 

2.相关工作

  时间动作定位。最近,深度学习[5,9,19,53]取得了很大进展,这有助于时间动作定位的发展。这项任务的方法可分为三类:(1) 方法执行帧或段级分类,其中需要平滑和合并步骤来获得时间边界[33,28,51];(2) 采用两阶段框架的方法,包括proposal生成、分类和边界细化[34、46、52];(3) 方法开发集成proposal生成和分类的端到端架构[48,1,26]。

  我们的工作建立在第二类的基础上,首先生成行动proposal,然后用于执行分类和边界回归。按照这种模式,寿等[34]提出从滑动窗口生成proposal,并对其进行分类。Xu等人[46]利用3D ConvNet,提出了一个受更快的R-CNN启发的框架[30]。上述方法忽略了proposal的背景信息,因此已经开发了一些尝试,以结合背景来增强proposal功能[8、17、18、52、6]。它们通过在proposal的扩展感受野(即边界)上提取特征,显示出令人鼓舞的改进。尽管他们取得了成功,但他们都各自处理每一项proposal。相比之下,我们的方法考虑了proposal之间的相互作用,并利用proposal之间的关系。

  图2。我们的P-GCN模型的示意图。给定一组来自输入未剪辑视频的proposal,我们根据每个proposal实例化图中的节点。然后,在节点之间建立边来模拟proposal之间的关系。我们在同一构造图上使用两个独立的GCN,它们具有不同的输入特征(即原始特征和扩展特征)。最后,P-GCN模型同时输出所有proposal的预测行动类别、完整性和边界回归结果。

  图卷积网络。Kipf等人[25]提出了图卷积网络(GCN)来定义非网格结构上的卷积[37]。由于其有效性,GCNs已成功应用于计算机视觉的多个研究领域,如基于骨架的动作识别[47]、人员重新识别[32]和视频分类[45]。对于现实世界的应用程序,图形可能很大,直接使用GCN效率很低。因此,借助于抽样策略,提出了几种有效训练的尝试,例如节点方法SAGE[20],层模型FastGCN[7]及其层依赖变体as-GCN[23]。在本文中,考虑到灵活性和可实现性,我们在框架中采用SAGE方法作为采样策略。

 

3.我们的方法

3.1.符号和准备

  我们表示一个未修剪的视频为V={It∈RH×W×3}Tt=1,It表示高度为H,宽度为W的t时刻帧,在每个视频V,让P={pi|pi=(xi,(ti,s,ti,e))}Ni=1表示感兴趣的动作proposal,ti,s和ti,e分别表示proposal的开始和结束时间。另外,给定proposal pi,设xi∈Rd为由某些特征提取器(如I3D网络[5])从Iti,s和Iti,e之间的帧中提取的特征向量。

  G(V,E)是一个具有N个节点的图,节点vi∈V,边eij=(vi,vj)∈E。此外,A∈RN×N是关于G的邻接矩阵。在本文中,我们试图利用P中的动作proposal上的图G(V,E)来更好的建模视频交互。在这里,每个动作proposal都被视为一个节点,E中的边用来表示proposal之间的关系。

3.2.我们方法的总体方案

  在本文中,我们使用proposal图G(P,E)来表示proposal之间的关系,然后在图上应用GCN来利用这些关系并学习proposal的强大表示。应用GCN背后的直觉是,当执行图卷积时,每个节点都会聚集来自其邻域的信息。通过这种方式,每个proposal的特征会被其他proposal增强,这最终有助于提高检测性能。

  在不丧失一般性的情况下,我们假设已经通过一些方法(如[52]中的TAG方法)预先获得了行动建议。在本文中,给定一个输入视频V,我们试图利用提案关系来预测每个提案p的动作类别和时间位置。在形式上,我们计算

  其中,F表示任何需要学习的映射函数。为了利用GCN进行动作本地化,我们的范例将建议图和建议特征作为输入,并在图上执行图卷积,以利用建议关系。然后,我们使用增强的提案特征(即GCN的输出)来联合预测类别标签和时间边界框。我们的方法的原理图如图2所示。为简单起见,我们今后将我们的模型表示为P-GCN。

  在下面的章节中,我们要回答的目标是回答两个问题:(1)如何构造一个图来表示建议之间的关系;(2) 如何使用GCN学习基于图形的proposal表示,并促进行动定位。

3.3.proposal图构造

  对于每个视频的图G(P,E),节点被实例化为动作proposal,而proposal之间的边E需要被专门描述,以便更好地建模proposal关系。

  构造边的一种方法是将所有proposal相互链接,这将为遍历所有proposal对带来巨大的计算量。由于一些不相关的proposal不应该被连接起来,因此它也会为行动定位带来冗余或嘈杂的信息。在本文中,我们通过利用proposal之间的时间相关性/距离,设计了一种更智能的方法。具体来说,我们介绍了两种类型的边,分别是上下文边和周围边。

  上下文边。如果r(pi,pj)>θctx,其中θctx是某个阈值,我们在proposalpi和pj之间建立一条边。这里,r(pi,pj)代表proposal之间的相关性,由tIoU度量定义,即:

  其中I(pi,pj)和U(pi,pj)分别计算这两个proposal的时间交集和并集。如果我们关注proposal pi,通过计算r(pi,pj)来建立边,r(pi,pj)>θctx将选择与它有高度重叠的邻域作为它的邻近proposal。显然,高度重叠的邻域中的非重叠部分能够为pi提供丰富的上下文信息。正如在[8,6]中已经演示的那样,探索上下文信息有利于细化检测边界,最终提高检测精度。在这里,通过我们的上下文边,所有重叠的proposal都会自动地相互共享上下文信息,这些信息会通过图卷积进一步处理。

  周围边。上下文边连接了通常对应于相同动作实例的重叠proposal。实际上,不同但就在附近的动作(包括背景项)也可以是相互关联的,并且在它们之间传递的消息将有助于相互检测。例如,在图1中,背景proposal p4将提供关于确定proposal p1的动作类别的指导(例如,更有可能是运动动作)。为了处理这种相关性,我们首先利用r(pi,pj)=0来查询不同的proposal,然后计算下面的距离

  为了在较近的动作proposal(d(pi,pj)<θsur,θsur是一个确定的阈值)间添加边,在等式(3)中,ci(或cj)代表pi的中心坐标。作为上下文边的补充,周围边使得消息可以通过不同的动作实例传递,从而为检测提供了更多的时间线索。

 

3.4.用于动作定位的图卷积

  给定所构造的图,我们应用GCN来进行动作定位。我们在实现中建立了k层图卷积。特别是对于第k层(1≤k≤k),图的卷积是由下式实现

  这里,A是邻接矩阵;W(k)∈ Rdk×dk是要学习的参数矩阵;X(k)∈ RN×dk是k层所有proposal的隐藏特征;X(0)∈ RN×d是输入特征。

  在将特征输入到下一层之前,我们在每个卷积层之后应用激活函数(即ReLU)。此外,我们的实验发现,通过进一步将隐藏特征与最后一层的输入特征连接起来,这种方法更有效,即

  其中,||表示连接操作。

  结合之前的工作[52],我们发现,借助于两个GCN(一个对原始proposal特征xi进行,另一个对扩展proposal特征xi进行)分别预测动作标签和时间边界是有益的。第一个GCN的公式如下:

  其中,我们在GCN1上应用一个带有softmax操作的全连接(FC)层来预测动作标签。第二个GCN可以表述为

  其中,图结构G(P,E)与等式中的相同(6),但输入proposal的特征是不同的。首先将pi的时间边界在左右两边都扩展其长度的1/2,然后在扩展边界内提取特征,得到扩展特征x'i。在这里,我们在GCN2之上采用两个FC层,一个用于预测边界,另一层用于预测完整性标签,这表明该proposal是否完整。[52]已经证明,tIoU较低的不完整proposal可能具有较高的分类评分,因此在单独使用分类评分对mAP测试的proposal进行排序时,会出现错误;进一步应用完整性评分使我们能够避免这个问题。

  邻接矩阵。在公式(4)中,我们需要计算邻接矩阵A。这里,我们通过赋予边特定的权值来设计邻接矩阵。例如,我们可以利用余弦相似度来估计边eij的权值

  在上述计算中,我们通过特征xi计算Aij。我们也可以在余弦计算之前使用类似于[44]中的可学习线性映射函数将特征向量映射到嵌入空间。我们把讨论留在实验中。

3.5.抽样高效训练

  典型的proposal生成方法通常为每个视频生成数千个proposal。将上述图卷积(等式(4))应用于所有proposal需要大量的计算和内存占用。为了加速GCNs的训练,已经提出了几种基于邻域采样的方法[7,23,20]。这里,我们的方法采用了SAGE方法[20],以提高方法的灵活性。

  SAGE方法以自顶向下的方式逐层对每个节点的固定大小的邻域进行统一采样。换句话说,第(k−1)层的节点被表示为第k层节点的采样邻居。采样所有层的所有节点后,SAGE以自底向上的方式执行信息聚合。这里我们将聚合函数指定为式(4)的抽样形式,即

 

  其中节点j从节点i的邻域采样,即, j∈N(i);Ns 为抽样大小,且远小于总数目N。式(10)中的和进一步用Ns进行归一化,这在经验上使训练更加稳定。此外,我们还对式(10)中的节点i实施了其特征的自添加。我们在测试时不进行任何抽样。为了更好的可读性,算法1描述了我们的方法的算法流程。

4.实验

4.1.数据集

  THUMOS14[24]是动作定位的标准基准。它的训练集被称为UCF-101数据集,包含13320个视频。验证集、测试集和背景集分别包含1010个、1574个和2500个未裁剪视频。在此数据集上执行动作定位很有挑战性,因为每个视频有超过15个动作实例,71%的帧被背景项占据。按照[24]中的通用设置,我们在验证集中应用200个视频进行训练,并对来自测试集中的213个带注释的视频进行评估。

 

  ActivityNet[4]是另一个未修剪视频上动作定位的流行基准。我们在ActivityNet v1.3上评估了我们的方法,其中包含了大约10K的训练视频和5K的验证视频,分别对应200个不同的活动。每个视频平均有1.65个动作实例。按照标准做法,我们在训练视频上对我们的方法进行训练,并在验证视频上对其进行测试。在我们的实验中,我们将我们的方法与最先进的方法在THUMOS14和Activi- tyNet v1.3上进行对比,并对THUMOS14进行消融。

4.2.实现细节

  评价指标。我们使用平均精度(mAP)作为评价指标。如果proposal与基础事实实例的时间IoU大于某个阈值,并且预测类别与该基础事实实例相同,则认为该proposal是正确的。在THUMOS14上,tIOU的阈值选择为{0.1,0.2,0.3,0.4,0.5};在ActivityNet v1.3中,IoU阈值来自{0.5,0.75,0.95},我们还报告了IoU阈值在0.5到0.95之间,步长为0.05的平均mAP。

  特征和proposal。我们的模型是在双流策略[35]:RGB帧和光流下实现的,我们首先将每个输入视频均匀地划分为64帧的片段。然后,我们使用一个预先在Kinetics[5]上训练的双流inflate 3D Conv-Net (I3D)模型来提取片段特征。I3D模型以RGB/光流片段为输入,输出每个片段的1024维特征向量。在I3D特征的基础上,我们进一步应用跨片段的最大池化,为BSN方法[27]得到的每个proposal获得一个1024维的特征向量。注意,在我们的训练阶段,我们不微调I3D模型的参数。

  proposal图构造。我们通过将两个流的θctx的值固定为0.7,θsur的值固定为1来构建建议图。关于θctx和θsur值的选择可以有更多的讨论。我们采用2层GCN,因为我们没有观察到超过2层的明显改善,但模型的复杂度增加了。为了提高效率,除非另有规定,我们在等式中选择了Ns=4(10)用于邻近抽样。

  训练。RGB流的初始学习率为0.001,Flow流的初始学习率为0.01。在训练期间,学习率将被10除以每15个时代。dropout率为0.8。分类yˆi 和完整性cˆi 分别用交叉熵损失和hinge损失进行训练。回归项经过平滑L1损失训练。更多的训练细节可以在补充材料中找到。

  测试。我们不进行邻域采样(即式(10))进行测试。RGB流和Flow流的预测采用2:3的比例进行融合。我们将分类得分与完全性得分相乘作为计算mAP的最终得分。然后,我们使用非最大抑制(NMS)来分别获得每个动作类的最终预测时间proposal。我们在每个视频中分别使用600和100个proposal来计算THUMOS14和ActivityNet v1.3上的mAPs。

 

5.结论

  在本文中,我们利用proposal-proposal交互来处理时间动作定位的任务。通过构建proposal图并将GCNs应用于消息传递,我们的P-GCN模型在两个基准上大大优于最先进的方法,即THUMOS14和ActivithNet v1.3。将我们的P-GCN扩展到图像中的对象检测是很有趣的,我们把它留给我们未来的工作。

 
posted @ 2022-05-07 12:10  Lhiker  阅读(171)  评论(0)    收藏  举报