论文笔记:CVPR 2018 关于行为识别论文略读笔记(二)

论文五:PoTion: Pose MoTion Representation for Action Recognition

和上面两篇论文类似,这篇文章主要是利用人体关键点(Keypoint)来做行为识别。目前的许多方法主要是双流网络来分别处理外观(appearance)和动态(motion)。在本篇文章中,作者引入了一种新颖的表示方式,可以优雅地编码某些语义关键点的移动。我们使用人体关节作为这些关键点,编码后的维度固定的特征称为:PoTion,将该特征图输送到简单的CNN中即可用用来行为识别分类。方法框架图如下:

方法大致流程为:首先在每个帧中运行目前最先进的人体姿态估计器,并为每个人体关节获取热图。这些热图对每个像素的概率进行编码以包含特定的关节我们使用取决于视频片段帧的相对时间的颜色对这些热度图进行着色。如下图所示的为不同通道下的随时间的上色机制:

对于每个关节,我们对所有帧上的彩色热图进行求和,以获得整个视频片段的PoTion表示。如下图所示为某一关节点聚合之后的色彩图,使用了不同的聚合方式:

给定这种表示形式,我们训练一个浅层CNN架构,包含6个卷积层和一个完全连接的层来执行动作分类,CNN结构如下:

image-20180618211827050

整个这个网络可以从头开始训练,并胜过其他姿势表示商法。而且,由于网络很浅并且以整个视频clip的紧凑表示为输入,因此训练例如非常快速。在一台用于HMDB的GPU上只需要4个小时,而标准的双流方法则需要几天的培训和仔细的初始化[5,43]。另外,PoTion可以看做是标准外观和运动流的补充。与RGB和光学流程的I3D [5]结合使用时,我们在JHMDB,HMDB,UCF101上获得了最先进的性能。

论文六:Im2Flow: Motion Hallucination from Static Images for Action Recognition

这是今年CVPR 2018中在静态图像中做行为识别的一篇文章。静态图像动作识别需要系统识别发生在单张照片中的行为。 该问题对于基于人类行为和事件组织照片集合(例如,在网络,社交媒体上的照片)具有实际意义。现有的一些方法都仅仅依据图像的表象特征——物体、场景和肢体姿势来区分单张静态图像中的动作,但是这样的方法会忽略图像中所包含的丰富的动态结构和动作。为了挖掘单张图片所包含的motion信息,本文提出了一种为单张图片产生类似光流的图像,表示图像中所蕴含的未来的可能的motion。 其中一个关键的想法是:从数千个未标记的视频中学习一个先验的短期动态,一次来在新的静态图像上推断的预期光流,然后训练利用RGB流和光流来进行的动作的识别。框架图如下:

方法大致流程为:首先通过观察上千个包含各种动作的未标注的视频中学习一个动作的先验知识(motion prior);然后利用下图中的Image-to-image translation模型,去将一个RGB图像转化为上图右边类似的光流图,改光流图是3通道的,前两个通道是motion angle $\theta\in[0,2\pi]$,第三个通道是幅度M。最后通过RGB图像和得到的光流图像去共同进行行为识别。

本方法很重要的一个创新点:结合了GAN中的Image-to-image translation模型来仅仅为静态图像即可生成相应的光流图,所预测出的光流是十分准确的,同时也提升了行为识别的准确性,思想值得借鉴。

论文七:Compressed Video Action Recognition

这是今年CVPR 2018中做行为识别的另一篇文章。本文很重要的一个创新点是:利用压缩视频作为输入来进行视频中的行为识别。原始的视频帧数据往往具有巨大的尺寸而且高时间冗余,关于动作的有用信息很容易淹没在许多不相关的背景数据中。利用压缩后的视频具有许多好处:首先由于视频压缩(使用H.264,HEVC等)可将原始视频信息量降低两个数量级;其次视频中压缩中的motion vector提供了额外的motion信息,这是RGB图像所不具备的;而且压缩视频排除了空间可变性,这样提高了模型的泛化性;最后压缩视频模型会更快更简单更准确;因此本文建议直接在压缩视频上训练深层网络。

大多数现代编解码器将视频分成I帧(内编码帧),P帧(预测帧)和零个或多个B帧(双向帧)。I帧是常规图像并且被压缩。P帧引用前面的帧并仅编码相对前一帧所需要的‘变化’。B帧可以被视为特殊的P帧,其中运动向量是双向计算的,并且只要在参考中没有循环就可以引用未来帧。

本文工作将视频压缩后得到的用于描述两帧之间变化的motion vector、residual帧图像(如下图所示)作为各种SOTA网络中输入进行行为识别,都得到了很明显的提升,而且更快速、更简单、更准确。

论文八:What have we learned from deep representations for action recognition?

这是今年CVPR 2018中对行为识别任务时空特征研究的一篇探究性文章。这篇文章通过可视化双流网络具体所学习到的时空特征来探究视频中行为识别这一任务。我们展示了用于外观和运动物体的局部检测器,以形成用于识别人类行为的分布式表示。

目前的可视化方法有三类:

  • Visualization for given inputs.
  • Activation maximization.
  • Generative Adversarial Networks (GANs).

本文的可视化方法是基于activation maximization并将它们扩展到时空域,以便在双流融合模型中找到各个单元的首选时空输入,我们将问题表述为在输入空间中搜索的(正则化的)基于梯度的优化问题,方法框架如下图所示。

方法流程为:随机初始化的输入呈现给我们模型的光流和外观路径。 我们计算特征图一直到我们想要可视化的特定图层。 选择单个目标特征通道c,并且执行激活最大化(activation maximization)以分两步产生优选输入(preferred input)。 首先,影响c的输入上的导数是通过将目标损耗(在所有位置上求和)反向计算到输入层来计算的。 其次,通过学习速率缩放传播的梯度并将其添加到当前输入。 这些操作由图2中的虚线红线说明。基于梯度的优化以自适应降低的学习速率迭代地执行这些步骤,直到输入收敛为止。 重要的是,在此优化过程中,网络权重不会改变,只有输入接收更改

主要的结论有如下四点:

  • 第一:相比于分开单独学习外观以及运动特征,cross-stream可以学习到真正的时空特征
  • 第二:网络可以学习高度类别已知的本地表示,也可以学习适用于一系列类的通用表示。
  • 第三:通过网络结构,特征变得更加抽象并且对于对获得期望的分布不重要的数据(比如不同速度间的motion模式)显示出逐渐增加的不变性。
  • 第四:可视化不仅可用于揭示学习的表示,还可用于揭示训练数据的特性并解释系统的失败情况。

论文八:Non-local Neural Networks

这是今年CVPR 2018中做利用Non-local方法去做行为识别的一篇文章。long-range的依赖捕捉是深度学习的核心问题,对于序列数据,recurrent操作是主要的方法,对于图像数据,long-range依赖通过多层的卷积形成的感受野来捕捉。但卷积和recurrent操作都是local的操作,在本文中,受启发于计算机视觉的经典non-local均值法,作者提出了进行non-local操作的通用构建块系列,来捕获long-range依赖性的。本文中的non-local操作将所有位置处的特征的加权和作为某一位置的响应。直观一点,如下图所示:

image-20180721152747380

使用非本地操作有几个优点:

  • (a)与循环和卷积操作的渐进行为相反,非本地操作通过计算任意两个位置之间的相互作用直接捕获长程依赖性,而不管它们的位置距离如何;
  • (b)正如我们在实验中所表明的那样,非局部操作是有效的,即使只有几层(例如5)也能达到最佳效果;
  • (c)最后,我们的非本地操作保持可变输入大小,并且可以很容易地与其他操作组合(例如,我们将使用的卷积)。

该non-local构建块可以集成到目前许多计算机视觉框架中。通过在视频分类任务上进行验证,我们的non-local模型也可以在Kinetics和Charades数据集上取得很有竞争力的结果;在静态图像识别中,我们的non-local模型提高了在COCO数据集上的对象检测/分割和姿态估计任务,证明了模型的有效性。