行为识别 论文笔记(一):Going Deeper into Action Recognition - A Survey

文章地址:https://arxiv.org/abs/1605.04988

First, what is a action

leg movement on a football kick : simple motion

jumping for a head-shoot : collective movements

Action is the most elementary human -surrounding interaction with a meaning

interaction : relative motions with respect to the surrounding

行为是人类最基本的在一定环境下产生意义的互动(与环境)

对算法的分类

行为识别 论文笔记(一):Going Deeper into Action Recognition - A Survey

  • 基于特征表示的方案和基于深度学习的方案

早期的行为识别使用 3D 模型描述行为,如WALKER模型;圆筒描述肢体的模型,但是由于构造 3D 模型比较难且昂贵,所以采用整体代表或者局部代表的形式

全局表征

Bobick 和 Davis(2001)提出了Motion Energy Image(MEI) 以及Motion History Image(MHI) ,用单一图像编码与行为相关的信息。

MEI是描述动作发生的位置的图像
E τ ( x , y , t ) = ⋃ i = 0 τ − 1 D ( x , y , t − i ) . E_{\tau}(x,y,t) = \bigcup\limits^{\tau-1}_{i=0}D(x,y,t-i). Eτ(x,y,t)=i=0τ1D(x,y,ti).

D ( x , y , t ) D(x,y,t) D(x,y,t) 是一个二值图像序列,表示检测到的物体像素; E τ E_\tau Eτ 表示 τ \tau τ 时刻形成的MEI ( E E E D D D 在时间上的集合)。运动能量图显示了运动的轮廓和能量的空间分布。

MHI 表示了动作图像是怎样移动的,MHI 中的每一个像素都是该点的时间上动作的函数。通过计算时间段内同一位置的像素变化,将目标运动情况以图像亮度的形式表现出来。它的每个像素的灰度值表示了在一组动作序列中该位置像素的最近的运动情况,最后运动的时刻越接近当前帧,该像素的强度值越高。因此,MHI图像可以表征人体在一个动作过程中最近的动作情况,这使得MHI被广泛应用于动作识别领域。

MEI 和 MHI 包含了有关视频背景的有用的信息,比如MHI模板的梯度用于过滤移动和杂乱的背景:通过使用Harris 兴趣点检测器在 MHI模板中确定关键运动区域,然后将移动/杂乱的背景识别为与感兴趣点周围运动不一致的区域。

行为识别 论文笔记(一):Going Deeper into Action Recognition - A Survey

例如这是一个“跳”的动作序列,中间是运动能量图(MEI),下面是运动历史图(MHI)。MEI捕捉动作发生的位置,MHI表示动作图像是如何移动的。最右边的列显示的在一个行为结束时的模板图像。

MEI的扩展版本的主要思想是通过其轮廓在时空中产生的三维形状来表示一个动作。为便于分类,通过计算曲面内各点到达边界所需的平均时间,将得到的3维曲面转换为二维图。一些研究认为用3维的图表示增强了对于视角变化的鲁棒性。

有研究建议根据时空体(STV)的差异特性来识别动作,STV是通过沿时间轴堆叠对象轮廓实现的。STV在方向,速度和形状上的改变固有地描述潜在的行为。动作的轮廓是从STV表面提取的一组属性(比如高斯曲率),并且在观测点变化时表现出鲁棒性。

行为识别 论文笔记(一):Going Deeper into Action Recognition - A Survey

左图:用于描述动作演变过程的时空体,通过计算到达边界点所用的平均时间将三维表示转换为二维图 右图:是发网球和走路序列的时空曲面。表面几何结构(如峰、谷)用于表示一个行为

视频的整体表示大致在1997年至2007年之间主导着行动识别的研究,因为这种表征更有可能保留行动的空间和时间结构。然而,现在,局部和深度表征收到青睐。这种转变有多种原因。例如,Dollar等人声称整体方法过于僵化,无法捕捉行动的可能变化(例如,视角、外观、遮挡)。Matikainen等人认为以轮廓为基础的表征无法在轮廓内捕捉细节。

局部特征的方法

动作识别中局部特征的方法来自 Laptev 在时空感兴趣点(STIPs)方面创造性的工作 。局部表征遵循以下流程:interest point detection ⟶ \longrightarrow local descriptor extraction ⟶ \longrightarrow aggregation of local descriptors.

1. 兴趣点检测

为了构建一个时空兴趣点检测器,Laptev将 Harris 角点检测器扩展到 3D-Harris 检测器。在3D-Harris中,为了触发检测器(理解为正常使用)需要丰富的空间结构和时间信息。二维哈里斯角探测器的想法是在图像中找到在两个正交方向有显著变化的空间位置。3D-Harris检测器识别空间变化较大且运动不恒定的点。

行为识别 论文笔记(一):Going Deeper into Action Recognition - A Survey

红色的点就是检测到的感兴趣点,沿时间轴(用箭头标记)的空间变化是明显的。因此,尽管有大量的空间特征,但在面部没有发现时空兴趣点。同样,在她的腰部,由于有限的空间变化,无法检测到时空兴趣点。(未满足空间时间条件)

另一个广泛使用的2D兴趣点检测器是Hessian检测器,同样扩展到了它对应的3D版本。与3D-Harriss使用梯度检测兴趣点的方式不同,它使用的是二阶导数最为检测依据。

Dollar等人注意到在某些方面,例如面部表情,3D-Harris或3D-Hessian探测器所要求的真正的时空角落是相当罕见的,即使发生了有趣的运动。虽然稀疏的时空信息在一定程度上是可取的,但太少的STIP可能会导致动作难以识别。为了克服这一局限性,Dollar等人提出将空间滤波从时间滤波中分解出来,由此产生的检测器可以对任何在经历复杂运动的具有空间区别特征的区域作出响应。

不像图片那样,视频有复杂的背景环境,在处理视频时要小心,因为好的特征很可能会纠缠于和目标无关的细节。比如一个晃动的摄像头很可能会产生很多我们不需要的兴趣点。为了解决这个问题,Liu等人建议使用检测到的兴趣点的统计特性来去除不相关的特征。此外,从背景中获取的时空特征被称为静态特征,特别是靠近运动区域的特征对动作识别非常有用。

2. 局部特征描述符

一个3D长方体或者说一个长方体是一个由检测到的兴趣点周围的像素构成的立方体。了在某个感兴趣的点获得局部描述符,早期的作品几乎一致地选择长方体,后来提出了使用轨迹来表示。

边缘和运动描述符

Klaser等建议使用梯度方向的直方图作为描述符,受HOG的启发,由于描述符本身是在时空领域的,因此命名为HoG3D.

光流场可以编码视频片段中像素级别的运动,受此启发,Laptev等人提出将局部区域的光流直方图(HoF)作为时空描述符,Dalal等人对HoF进行扩展得到了鲁棒性更好的运动边界直方图(MBH)。MBH是在运动边界上计算得到的,也就是光流场的空间导数(如下图)。计算光流场十分昂贵,为克服此问题,作者建议使用视频解压技术。更具体地说,作者使用MPEG压缩中的运动场而不是计算光流场以得到MBH或者HoF描述符。这种运动场称为MPEG流,在视频译码过程中很容易获得。

行为识别 论文笔记(一):Going Deeper into Action Recognition - A Survey

MBH 运动图像 b: 空间梯度 c,d分别为水平和垂直边界图像不同于忽略运动信息的空间梯度,运动边界图像(MBH的图像)偏重于用运动物体的边界,运动边界图像是通过计算光流场的梯度得到的。

像素模型描述符

局部二值模式(LBP)是基于强度的2D描述符,在脸部识别和纹理分析等视觉问题上成功应用,LBP描述符是通过对像素的邻域与其强度进行量化来计算的。

LBP的扩展:

  • Zhao和Pietikainen(2007)将二维LBP描述符扩展到时空域
  • 在体积LBP(VLBP)中,局部体积由二进制的直方图编码,虽然比较简单,但是它产生的不同的特征的数量对于大一点的邻域来说就有点太多了.(Zhao and Pietikainen, 2007).
  • LBP-TOP:在三个正交的平面上使用局部二值模式来得到描述符(Kellokumpu)
  • 三个平面扩展到9个平面(Norouznezhad)

Tuzel等人提出了利用二阶统计量来描述图像区域。确切地来说,为了描述图像中的区域 R R R ,首先从 R R R 中提取出一组特征 {} { z i } i = 1 n \{z_i\}^n_{i=1} {zi}i=1n z i ∈ R d z_i\in \R^d ziRd (稀疏或密集方法)。这里常见的选择是低级特征(例如梯度、RGB强度)或中级特征(例如SIFT或HoG)。 { z i } i = 1 n \{z_i\}^n_{i=1} {zi}i=1n d × d d\times d d×d 协方差矩阵(通常被称为区域协方差描述符RCD)作为 R R R 的描述符,由于它的自然黎曼几何结构,RCDs对尺度和转换的变化是鲁棒的,并且有抗噪能力。

行为识别 论文笔记(一):Going Deeper into Action Recognition - A Survey

左图: Kellokumpu等受到Zhao LBP- top描述符的启发在动作识别中的LBP提取面。这里视频流被视为一个时空体,LBP描述子仅从两个正交平面提取到图像平面

右图:时空协方差描述符(Sanin et al),给出一个时空窗口 R R R ,首先从 R R R 中提取一组特征向量 z i z_i zi ,然后用抽取的特征向量 z i z_i zi d × d d\times d d×d 协方差来描述此窗口

立方体到轨迹

一个时空兴趣点可能不位于长方体的时间范围内完全相同的空间位置,所以从立方体(以上描述符都属于立方体型)提取的特征可能不一定可以精确描述兴趣点。轨迹是随着时间的推移可以正确跟踪的特征。在Messing et al. (2009)和 Matikainen et al. (2009)的相关工作以后,从轨迹中提取局部特征开始流行,有趣的是,这两位的研究都使用轨迹的速度作为局部特征。

轨迹之间的相对运动(比如方向、大小、和位置上的差异)可以描述某些特定的动作类型,特别是那些涉及人与人之间交互的动作比如握手。Jiang等人提出使用摄像机运动矫正轨迹会带来改进;他们还将轨迹进行聚类来确定序列中的主导运动。假设主要运动是由相机引起的,并且通过对原始轨迹进行减法或仿射变换进行了补偿。尽管如此,两项研究都发现,如果视频的大部分都被实际动作覆盖,则这种补偿可能会产生误差。

稀疏或密集

以前用的多的是稀疏的兴趣点,现在多用密集采样,并且表现出了优越性。

3. 聚类(特征融合)

F = { f i } i = 1 n \mathbb F = \{f_i\}^n_{i=1} F={fi}i=1n , f i ∈ R d f_i \in \R^d fiRd 作为从视频中提取的局部特征。为了实现动作识别,我们需要一个机制来从这些集合中学习并且最终比较它们。像支持向量机(SVM)等学习算法大都接受固定尺寸的向量,不能处理不同大小的集合(每个视频局部特征的数量是不同的)。为了使用这些学习算法,需要一种方法将局部特征集聚合成有区别的、固定大小的描述符。为了实现此方式,基于视觉词袋(Bag-of-Visual Words BoV)和字典学习概念的结构成了最好的选择。

1)使用BoV 融合

简单来说,给定一个视觉词表或者代码本 $\mathbb D = {d_j}^k_{i=1} $ ( d j ∈ R d d_j \in\R^d djRd ) 。在密码本 D \mathbb D D 中给定的一组局部描述符 F = { f i } i = 1 n \mathbb F = \{f_i\}^n_{i=1} F={fi}i=1n f i ∈ R d f_i \in \R^d fiRd) 的分布被当作描述符。

在BoV中,出现的视觉单词的直方图被用作描述符,也就是把将每个视觉单词 d j d_j dj看作和局部特征 f i f_i fi匹配度最高的频率作为描述符。早期的BoV忽略了时间信息,为克服此缺点,Laptev等人提出了时空网格的概念。主要思想就是将一个视频分割为很多小视频,把每个小视频的局部特征进行融合来构成所谓的“通道”并且根据通道描述符来比较视频。与BoV概念相同的改进是分层BoV,基本词汇表是使用HoG3D描述符学习的,在考虑了时空邻域的情况下,通过聚合它们的直接较低层次的描述符来构造其他层次的词汇。

最近,又出现了通过Fisher Vector(FV)编码的融合方法,这种方法基于Fisher Kernels原理:它结合了模式分类的生成和判别方法的优点。BoV和FV最主要的区别就是:1)BoV采用硬分配来实现特征融合,而FV则使用软分配。2)假设特征生成的底层模型是高斯混合模型,BoV只考虑了聚合中的0阶信息出现的次数,而FV使用一阶和二阶统计量。轨迹中的FV编码在一些研究中表现出了最佳性能。彭等人引入了堆叠式FVs,可以理解为对Laptev等人提出的时空网格的扩展。

FVs一般使用高纬度,在某些程序中是冗余的。FV的简化版本称为向量的局部聚合描述符(VLAD),取消了描述符中的二阶信息。,最终VLAD描述符的维度大概只有FVs的一半。利用从时空特征中获取的VLAD描述符可以进行动作识别

2)使用时空字典学习和稀疏编码进行特征融合

在过去的十年时间里,稀疏编码已经成为神经科学、信息论、信号处理等相关领域的热门选择。通过稀疏编码,可以只用一些非零系数来表示像图像这样的自然信号,即使用合适的字典的几个原子进行线性分解。在计算机视觉中,稀疏图像表示最初是(Olshausen and Field)在人类视觉系统中模拟细胞的空间感受野时介绍的。接下来的研究显示,在各种视觉推理任务中,如人脸识别,子空间聚类和图像复原都取得了显著的结果。

在动作识别领域,zhu等人使用稀疏编码的原理来融合局部时空特征。他们使用学习字典,对从均匀分布的时空长方体获得的HoG3D特征进行编码。对稀疏代码进行最大池化来得到视频描述符。此外,为了学习字典,他们建议在没有标签的视频数据中进行迁移学习。

guha和ward 在动作检测的任务中研究了多种形式的字典。最简单的一种是包含了所有动作类别的公共字典,但是当有新的动作类别引入时,这种公共字典就有局限性了,因为已有的类别不具有代表性。为解决此问题,提出了使用类特异的字典。

为了提取时空特征,Somasundaram等(2014)提出了显著时空区域。其主要思想受到信息理论原理的启发,阐明了一个时空区域的显著性是通过其结构的复杂性体现出来的。通过使用字典,可通过最小描述长度的概念来估算每帧的结构复杂性。直观来看,表示它所需要的比特数随着数据的规律性增加而减少了

受目标库方法的启发,sadanand and corso 提出了“动作库”:其中的动作由充当高维“动作空间”字典的大量检测器来描述。我们指出,动作库本身是一个高级词典。shao等人提出了一个与此相关的观点:使用3D高斯滤波器的拉普拉斯算子构建动作空间。两种方法都使用金字塔结构来增强跨时空域的鲁棒性。

3)时间相干融合

我们通过描述将时间信息明确纳入视频描述符的时空信息融合的研究来总结此部分

深度结构

由于深度和数据驱动的架构,我们正在见证无数任务上的的重大进步。深度神经网络,比如卷积神经网络,已经成为了研究图像内容的首选方法。一般来说,现在研究的问题是从现有的数据中确定一个复杂的决策函数。在深层架构中,这是通过组合多层非线性操作来实现的。考虑到决策面的非凸性,寻找深层结构的参数空间不是一件容易的事。在有大量标注数据的条件下,依赖于大算力的梯度下降算法是比较成功的方法。

在本节中,我们的目的是讨论已用于(或可能用于)解决从视频中学习动作问题的深层模型。从分类的角度来看,我们可以把应用于动作识别的结构分为四类,即:

  • 时空网络
  • 多流网络
  • 深度生成网络
  • 时间相干网络

1.时空网络

卷积结构通过池化和权值共享有效地利用图像结构减少搜索空间,池化和权值共享也对尺度变换和空间变换有鲁棒性。通过分析CNN结构的卷积核可以发现最初的卷积层学习低级特征,而高层学习高级的特征,这进一步扩展了卷积网络作为通用特征提取器的使用。使用深度网络进行动作识别的一个直接方法是在卷积操作中加入时间信息。,因此产生了3D卷积网络。3D卷积网络使用3D卷积核(在时间轴上扩展filters)在时间和空间维度上提取信息,从而希望能获得在时空信息和相邻帧中编码的动作。实际上为网络补充一些信息(如光流)来加速训练是很重要的。Ji等人(2013)的经验表明,3D卷积网络的性能明显优于基于2D帧的对应网络。

一般来说,三维卷积网络具有非常严格的时间结构,网络的输入是先定义好数量的帧入(例如Ji等人(2013)的输入只有7帧)。虽然使用固定的空间维度是有道理的(空间池化可以提高跨尺度的鲁棒性),但是为什么在时间维度上也这样设置尚不清楚原因。更不清楚的是时间跨度的正确选择,因为在不同的行动中的宏观运动有不同的速度,因此不同的跨度。

为了回答如何将时间信息输入卷积网络,人们研究了各种融合方案。吴恩达等人研究了时间池化,得出的结论是在时域上最大池化表现更好Karpathy等(2014)提出了慢融合的概念,以提高卷积网络的时间感知能力。在慢融合中,卷积网络接受视频的几个连续的部分并使用相同的层来处理他们以产生跨时域的响应。

其他形式的融合还有早期融合(向网络输入一组相邻的帧)和后期融合(在最后的网络层中融合帧的特征)Karpathy等人(2014)还表明,使用两个独立网络的多分辨率方法不仅提高了精确度,还减少了需要学习的参数的数量。这是因为每个网络的输入都变小了。我们注意到fovea stream 接收帧的中心区域以利用很多视频中都有的相机的偏差,因为感兴趣的对象通常占据中心区域。

像使用VGG和Decaf网络作为图像的通用描述符一样,Tran等试图找到一种基于3D卷积网络的通用视频描述符。他们在Sports-1M数据集上训练特征提取网络。经验表明,使用 3 × 3 × 3 3\times 3\times 3 3×3×3 的同质卷积核(每一层的深度固定)比时间深度变化的卷积核表现更好。通过使用3D池化层,可以获得时间范围上的灵活性。通过对C3D网络的第一全连接层的输出进行平均得到一种通用的描述符叫C3D。