zoukankan      html  css  js  c++  java
  • 视频动作定位的分层自关注网络:ICCV2019论文解析

    视频动作定位的分层自关注网络:ICCV2019论文解析

    Hierarchical Self-Attention Network for Action Localization in Videos

    论文链接:

    http://openaccess.thecvf.com/content_ICCV_2019/papers/Pramono_Hierarchical_Self-Attention_Network_for_Action_Localization_in_Videos_ICCV_2019_paper.pdf

    摘要

    提出了一种新的分层自聚焦网络(HISAN),用于产生用于视频动作定位的时空管。HISAN的本质是将双流卷积神经网络(CNN)与分层双向自我注意机制相结合,它包括两个层次的双向自我注意,有效地捕捉长期的时间依赖信息和空间上下文信息,使动作定位更加精确。同时,采用序列重排序(SR)算法解决了遮挡或背景杂波引起的检测分数不一致的难题。此外,提出了一种新的融合方案,该融合方案不仅融合了双流网络的外观和运动信息,而且融合了运动显著性,以减轻摄像机运动的影响。仿真结果表明,该方法在广泛使用的UCF101-24和J-HMDB数据集上,在动作定位和识别精度方面均达到了国际先进水平。

    1.       Introduction

    由于动作定位技术在视频监控[1]和视频字幕[2]等视频内容分析领域具有广阔的应用前景,近年来受到了广泛的研究关注,它可以对动作进行分类,生成与角色位置相关的包围盒序列。然而,在动作识别中,动作定位不仅会遇到背景杂波、遮挡、类内变化、摄像机反向运动等常见的问题,而且会遇到视频可能未经处理且具有多个动作实例的挑战性问题。

    针对动作识别和定位,人们提出了多种算法[4–7]。例如,Zolfaghari等人[5] 利用马尔可夫链模型对多流特征进行聚合。Alwando等人[6] 考虑了一种有效的动态规划(DP)方法来搜索多个动作路径,并使用迭代增强算法来获得更精确的边界框。辛格等人[8] 将单点多盒探测器(SSD)与增量DP方案相结合,生成低复杂度的动作管。

    然而,上述方法[4-8]在不使用帧间的时间关系信息的情况下,分别考虑每个帧,因此通常无法检测包含一系列子动作的动作,例如板球保龄球和篮球。为了解决这个问题,Yang等人[9] 提出了一种基于位置预测网络的级联方案生成方案,以利用相邻帧间的序列信息。Hou等人[10] 训练一个三维卷积网络来利用相邻帧的时间信息。Kaloigeton等人[11] 提出了一种管形检测器,它可以同时从多帧图像中产生一系列包围盒及其检测分数。然而,与二维卷积网络相比,[10,11]需要更高的训练复杂度。He等 [12] 采用长短期记忆(LSTM)对动作管内的时间信息进行建模。Li等人[13] 考虑了一种利用多帧多上下文来定位动作的递归检测网络。

    然而,LSTM是按顺序处理信息的,因此一般来说,它在远距离学习时间依赖性方面有困难[14]。Gu等人[15] 利用一个双流反馈3D ConvNet(I3D)[16]来保存双流快速R-CNN的时间信息[6,7]。最近,在文献[17]中提出了一种胶囊网络的三维泛化方法,它可以在不使用区域建议网络(RPN)的情况下学习不同的动作特征。然而[15]和[17]都具有很高的计算复杂度,需要大量的训练数据才能完全收敛。             

    提出了一种新的分层自聚焦网络(HISAN),用于产生用于视频动作定位的时空管。HISAN的本质是将双流卷积神经网络(CNN)与新设计的分层双向自我注意机制相结合,该机制由两层双向自我注意组成,不仅有效地捕获了长期的时间依赖信息,而且有效地捕获了空间上下文信息,使定位更精确。如图1所示,HISAN可以学习关键参与者的结构关系,以提高在处理群体行动场景时的定位精度,这是一个很难仅用一个罪来识别的问题              单帧。

    此外,序列重排序(SR)算法是用于解决遮挡或背景杂波引起的检测分数不一致的难题。此外,提出了一种新的融合方案,该方案综合了双流网络的外观信息和运动信息,以及运动显著性,以减少摄像机运动对运动信息的影响。仿真结果表明,该方法在广泛使用的UCF101-24和J-HMDB数据集上,在动作定位和识别精度方面均达到了与现有方法相比的竞争性能。

    本文的主要工作如下:

    1)提出了一种新颖的层次双向自我注意的双流CNN,该CNN利用时空注意和空间上下文信息来提高定位精度。据作者所知,这是第一次利用自我注意进行动作定位;

    ii)采用一种SR算法,可以校正不一致的检测分数,减少遮挡和背景杂波的不利影响;

    iii)一种新的融合方案,融合了运动显著性,旨在减轻相机运动的影响。

     2.       Related Works

    大量的CNN目标探测器被用于动作定位[6-9,11,13]。当前的目标检测器可以分为提议的[3,18]或提议自由的[19–21]。Ren等人[3] 考虑了一个区域建议网络(RPN),以降低生成区域建议时的培训成本。Dai等人[18] 开发了位置敏感感兴趣区域(RoI)池,解决了检测中的平移不变性问题。尽管这种方法比文献[3]更快,但检测精度较低。Red mon等人[21]设计了一个全卷积网络来进行低复杂度的多尺度训练。SSD[19]使用固定数量的锚[3]和多尺度特征映射来处理不同大小和比率的对象。这两种方法[19,21]在精度和复杂度之间进行权衡,无法很好地定位小尺度物体[22]。复杂的CNN体系结构一直关注于如何整合来自多种模式的信息,以提高动作识别和定位的准确性。例如,Simonyan等人[23]开发了一个具有后期融合策略的双流CNN,用于聚合空间和运动信息。Ji等人[24]用3D ConvNet代替传统的2D-CNN从多个相邻帧捕获时间信息。文[5]采用马尔可夫链模型对多流特征进行融合。Choutas等人[25]提出了一种人类联合信息流,以补充双流体系结构。注意机制在学习视频中的黑人行为时有效地提高了CNN的表现[26-29]。Girdhar等人[26]提出自上而下和自下而上的关注,以取代传统的CNN汇集方法。方等人[27]建立了一个注意力模型,该模型关注关键身体部位的相关性,以识别人与物体的相互作用。在文献[28]中,Actor注意正则化被开发出来,用于监督围绕Actor的重要动作区域的时空注意。Li等人[29]设计了一种具有多样性正则化的时空注意来学习人体的各个部位,从几个不同的角度来识别一个人。时间依赖性已经被广泛研究,以获得更具歧视性的CNN描述符。一种常见的解决方案是将递归神经网络(RNN)或其变体LSTM与CNN体系结构相结合。例如,Li等人[30]考虑卷积软注意LSTM来引导基于运动的注意围绕动作的位置。Li等人[13] 将两级检测网络与LSTM相结合,产生更精确的检测结果。Shi等人[31]用径向基函数代替了传统的RNN核函数来预测未来的行为。最近,在文献[32]中提出了一种非局部神经网络,它将时间依赖信息融合到CNN结构中用于视频分类。与上述方法相比,我们的工作将学习时间依赖的自我注意强度[14,33]与基于CNN的目标检测器相结合,以获得更精确的动作定位。

    3.       Methodology

    本小节描述了提议的HISAN,该HISAN提供时空注意来纠正检测网络中不准确的边界框。HISAN由多个双向的自我注意单元组成,用于对长期时间依赖信息进行建模。

    我们考虑双向自我注意网络,如图3所示,它整合了过去和未来的上下文信息,以解决不同视频在最初几帧中包含相似运动模式时的歧义问题[33,35]。双向自我注意通过在没有因果关系限制的情况下将一个位置与所有其他位置相关联来计算该位置在序列中的响应[33]。

    如图2所示,可以产生两级信息的HISAN被设计成学习关键参与者的位置。第一级聚合多人-对象交互和上下文信息,而第二级则随着时间的推移集成第一级功能以定位动作。第一层由两个双向自我注意单元组成,第一个单元处理来自多个边界框的时空特征,而另一个单元从视频帧获取上下文特征。

    在我们的框架中,帧级检测与DP算法相连接,DP算法对在时间上不重叠的边界框。然而,在某些情况下,由于遮挡或背景杂波,检测分数较低。在这种情况下,即使重叠度很高,但由于检测分数较低,边界框可能无法链接到正确的路径。为了克服这一缺陷,我们设计了一个继承HISAN输出的SR算法。该算法分为三个阶段,如图4所示。

    我们考虑了一种新的融合方案,它结合了运动显著性来突出运动信息。考虑到由于小的摄像机运动而可能从运动CNN中进行错误检测,因此包括运动显著性。例如,给定图5(a)中的RGB图像,如图5(b)所示,不能基于运动CNN得分来区分运动的演员。相反,如图5(c)所示,运动显著性捕捉与运动参与者相关联的正确区域。

    融合后,帧级检测盒连接在一起生成动作管。注意动作定位和多目标跟踪是两个不同的问题,因为前者需要动作分类跨帧链接动作。此外,与多目标跟踪相反,在动作定位问题中,通常只定位关键角色[39]。因此,我们选择使用轻量级DP算法,而不是更复杂的多目标跟踪算法[42,43],该算法使用数据关联算法将跟踪器与检测链接起来。             

    优化问题可以使用多路径搜索算法[6]来解决,该算法在一次迭代中同时查找所有可能的路径。在未经剪辑的视频中,一个动作通常只占整个视频持续时间的一小部分。因此,需要确定作用管内作用的时间持续时间。为此,我们使用了与[4]相同的算法,该算法使用DP来求解管能量最大化,同时限制了连续帧上的分数平滑度。

     

     4.       Experimental Results

    学习过程包括训练更快的RCNN和HISAN,这两个过程是分开进行的。更快的R-CNN训练没有特征共享[4]。为了便于参考,表1总结了这些训练程序的超参数。所有实验都基于UCF10124[4,44]和J-HMDB[4,45]提供的相同协议。对于UCF101-24和J-HMDB,我们分别使用长度为TL=30和15的视频单元,这取决于数据集中视频的最小长度。选择特征维数C=4096作为检测网络fc7的维数。我们根据[14,33]中的建议,将头数设为P=8,辍学率设为0.1。

    首先,我们用HISAN在UCF101-24和J-HMDB上产生的时空注意来检验性能的提高,分别如表2和表3所示,由此我们可以注意到,在UCF101-24和J-HMDB上,两流CNN的视频图可以提高约2.5%到5%和5%到12%,分别是。此外,在UCF101-24和J-HMDB上,帧映射可以分别增强约6%和16%。这是因为该机制利用时间依赖性来引导对动作位置的注意。J-HMDB的改进比UCF101-24的改进更为显著,因为前者有许多具有相似子动作序列的动作类,如图6所示,这需要更多的时间依赖信息来对动作进行分类。时空注意的效果在图1中也有说明,从图中我们可以看出,自我注意可以帮助定位动作,特别是在仅用单个帧的信息难以识别的群体动作场景中。

    接下来,我们详细研究了SR算法的效果,该算法用于处理遮挡导致的不一致检测分数。如表2和表3所示,与SR一起,UCF101-24和J-HMDB上的视频地图可分别进一步增强约0.3%到1.5%和0.2%到0.4%。此外,两个数据集的帧映射都可以提高约0.5%。对J-HMDB的改进较少,因为在所有视频中只有一个动作实例,所以该数据集中的遮挡较少。

    最后,我们研究了新的融合方案,它包含了运动显著性以减少相机小动作的影响。从表2和表3可以看出,新方案在UCF101-24和J-HMDB上分别将视频地图提高了1.1%到2.3%和0.7%到1.7%。此外,在UCF101-24和J-HMDB上,帧映射可以分别提高约2%和0.2%。UCF101-24的改进更为显著,因为该数据集中的视频包含更多的摄像机运动。作为说明,在图7中描绘了运动显著性有助于动作定位的一些情况,从图中我们可以看到显著性地图包含有动作的真实区域,因此可以通过(13)用运动显著性得分来支持来自空间CNN和运动CNN的低检测得分。在上述仿真的基础上,为了获得更高的性能,在后续的仿真中,提出的HISAN加入了SR算法和新的融合算法。

    从表5中,我们可以注意到[17]结合了一个胶囊网络来学习更多的语义信息,在IoU=0.2上可以获得最佳性能。然而,它在这个较小但具有挑战性的数据集上不能很好地工作,因为对于更高的IoU,它的性能会大幅下降。

    接下来,我们将UCF101-24上的动作识别性能与上面的一些基线进行比较,这些基线报告了它们在这个问题上的性能,如表6所示,从中我们可以看出T-CNN[10]通过利用3D ConvNet提供的判别特征,获得了比[8,48]更好的性能。使用RBF核化RNN结合对抗性训练策略,[31]显著优于[10]。我们的方法利用层次双向自我注意来利用时间信息,表现出最佳的性能。如表6所示,在J-HMDB上也与上述一些基线进行了动作识别性能的比较,从中我们可以看出[31]优于[10],因为与RBF核化RNN相比,3D ConvNet中的时间依赖性没有得到很好的训练。R-STAN[28]是一个单一的双流LSTM网络,它提供了对动作周围区域的关注,达到了更高的准确性。PoTion[25]将位姿运动网络与双流I3D相结合,使其性能优于[28],通过学习长期的时间依赖和空间上下文信息,达到了最佳的效果。

     

     

     

     5.       Conclusions

    本文开发了一个有效的结构HISAN,它将两流CNN和新设计的分层双向自关注相结合,用于视频中的动作定位,以学习长期的时间依赖和空间上下文信息。此外,采用SR算法对不一致检测分数进行校正,并提出了一种新的运动显著性辅助融合方案来突出运动信息。仿真结果表明,新方法在UCF101-24和J-HMDB数据集上与最新方法相比,获得了具有竞争力的性能。

  • 相关阅读:
    Socket实现简易聊天室,Client,Server
    自定义异常案例
    异常处理的常见方法
    创建一个测试类,测试异常的抛出,异常的抛出处理案例
    Exception,异常处理操作try{}catch(XXXException e){}finally{}
    使用PrintWriter完成写操作 ,实现简易记事本工具
    iOS 面试
    ios面试
    ios 面试基础问题
    iOS 面试 runloop
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/12594115.html
Copyright © 2011-2022 走看看