3D Convolutional Neural Networks for Human Action Recognition
获取途径:http://users.eecs.northwestern.edu/~mya671/mypapers/ICML10_Ji_Xu_Yang_Yu.pdf
一、概述
在现实中复杂的环境中存在多变的背景障碍物以及不同的视角等情形对于人而言相对容易识别但对于计算机而言却是一个较为困难的问题传统的Human Action Recognition方法主要依赖于针对特定应用场景做出严格假设的前提条件这些假设通常包括目标的小尺寸变化以及小范围内的视觉改变等然而在现实世界中这些条件往往难以满足
目前,在这方面,大部分当前的打法都是遵循两个步骤:
1)在原始的输入中提取复杂的人工特征;
2)在获取的特征上学习分类器。
然而,在现实世界的复杂环境中(...),准确判断一个具体任务所需的关键特征往往充满挑战。这是因为(...)其选择紧密关联于特定问题的本质特性(...)。特别地,在行为识别领域中(...),各类运动类型在视觉特征和动态模式方面存在显著差异(...)。
这篇文章开发了一个新型的3D CNN架构用于运动识别任务。该模型通过在空间与时间维度上提取多维特征,并采用三维卷积操作捕获复杂运动模式,在动作识别领域展现出显著性能优势。
该论文的贡献,其自组织为:
1)开发一种基于3D卷积运算核的方法来获取视频数据的时间与空间特征。这些3D特征提取器在空间与时间维度上运行,并从而能够有效捕获视频流中的运动信息。
通过构建一个基于3D卷积特征提取器的结构来生成一个三维卷积神经网络。该架构能够从连续的视频帧序列中提取多通道特征信息,并在每个通道独立地执行卷递进运算并结合下采样操作。随后将各个通道产生的信息整合以生成最终的特征描述。
3)针对高层运动特征提取所得的辅助输出设计了一种提升模型性能的方法。为适应不同环境需求,在系统实现中融合了多种不同的CNN架构以确保识别结果的准确性与可靠性
基于TRECVID数据集的实验中,并与若干基准模型进行了对比分析。实验结果表明文中提出的方法展现出更好的性能表现,并显著优于2D-CNN架构和其他主流对比学习方案。
二、3D卷积神经网络
1、3D卷积
在视频中采用CNN作为一个简单的方法就是对每一帧运用CNN来进行识别;然而该方法并未考虑连续帧之间的运动信息;为了有效地整合运动信息文中提出了一种基于3D卷积的有效方法用于整合运动信息;通过将CNNs的卷积层设计为三维卷积结构来捕捉时间与空间维度上的独特特征

通过将多个连续帧叠加形成三维数据块,并在其中应用三维卷积核来实现3D卷积操作。在这种结构中,在线性代数框架下定义的方式下,在线性代数框架下定义的方式下,在线性代数框架下定义的方式下,在线性代数框架下定义的方式下,在线性代数框架下定义的方式下,在线性代数框架下的每个特征图都会与上一层中的多个相邻连续帧相关联以捕捉运动信息
需要注意的是,在3D卷积过程中仅限于从单个cube中提取一种类型的特征。这是因为整个cube内的所有3D卷积核都具有相同的权重值(即共享权值),都是同一个卷积核(图中的相同颜色线条代表相同的权重)。通过引入多个不同的卷积核类型,则能够有效捕获更多样化的特征信息。
遵循以下通用设计原则:在较靠近输出层的那些层中设置更多的通道数量是CNN设计中的一个重要策略;这样一来,在这些层级中通过组合较低层次的通道特征就能够生成更多种类的特征。
2、3D CNN架构
文中的3D CNN架构由一个硬编码层、三层卷积模块、两组降维过程以及一个全连接层组成。每个三维卷积核覆盖了连续七帧数据,并对每张切片的空间尺寸为60×40像素进行处理;

在第一层中, 我们采用了预设硬编码核来处理原始帧, 生成多条通道信息. 接着逐一处理各个通道. 最后整合各通道信息形成完整的特征描述. 这一全连接层实际上编码了我们对于特征的先验知识, 其性能优于随机初始化方案.

从每一帧中提取五个不同的信息通道具体包括灰度信息以及在x轴和y轴上的梯度变化情况并进一步包含x轴与y轴上的光流信息其中前三个信息项可以在同一帧内直接计算出来而水平与垂直方向上的光流场则需依赖于连续两帧的数据才能被确定下来因此总的特征图数量为7×3加上(7−1)×2等于33个
随后,在每个通道上分别施加了一个7\times 7的空间尺寸与3个时间维度的深度卷积核进行特征提取操作。通过在每个位置配置两个不同的卷积核来提升特征表示的多样性,在C2层中形成了两个独立的特征图集合(即两组特征图),每组包含23个不同的空间时频域特征图(即(\text{空间域}=(7−3+1)\times 4,\text{时间域}=(6−3+1)\times 2))。其中,在空间域上得到(\text{空间域}=(7−3+1)=4)个空间位置,在时间域上得到(\text{时间域}=(6−3+1)=4)个时间位置。输出的空间尺寸为54\times 34像素(即(60−7+1)\times (40−7+1))。
随后,在紧接着的下采样层S3中应用了max pooling操作,在其 preceding layer C₂提取出的空间位置上运用了大小为 2×2 的窗口执行降采样处理。这将导致与原始图元数量相当但空间分辨率较低的空间位置信息被提取出来。经过该降采样处理后,在二维空间上的输出尺寸为 27×17(即 (52÷₂)×(34÷₂))。
C4层采用了5个不同的三维卷积核配置方案,在各向异性空间中进行了深入设计以增强表征能力。通过引入多支离散的空间分辨率分支(MDSR),我们成功实现了对不同尺度细节信息的有效捕捉与融合;在此基础上设计了多支离散的方向感知分支(MDSP),从而进一步提升了模型对目标细节信息的关注程度;同时通过引入多支离散的空间分辨率分支(MDSR)与多支离散的方向感知分支(MDSP)之间的深层交互机制,实现了目标细节信息的深度学习与全局表征融合;在此基础上,我们成功构建了一个具有更强表达能力的新模型架构
S5层用的是3x3的下采样窗口,所以得到7x4。

此时,在时间维上的帧数量已降至较低水平。
其中,在灰度图层以及梯度方向(x和y)中各有3个帧,在光流方向(x和y)中各有2个帧。
在这一层次中,在空间维度上执行卷积操作。
此时所采用的空间卷积核尺寸为7×4。
随后生成的特征图尺寸缩减至1×1。
而第C6层包含了总共128个独立的空间特征图。
每个空间特征图将与S5层的所有独立特征图(共计78个)进行全连接计算。
经过上述全连接操作后,“每个空间特征图将缩减至单一数值表示。”
共生成了总共128维的空间表征向量。

通过多层卷积和下采样处理后的任何连续7帧输入图像都会被转换为一个128维特征向量,并且这些特征向量能够反映输入帧之间的运动关系。输出层共有与行为类别总数相同的节点数量,并且每个这样的节点都与C6中的全部128个节点实现全连接。
在当前研究中,我们采用一个线性模型来对提取的128维特征向量进行建模,用于行为识别任务。
在模型中所有可训练的参数均通过随机赋值,并且利用在线BP算法进行训练
3、模型规则化Model Regularization
3D CNN模型输入受限于一个有限的连续视频帧(这里采用7帧),这是因为当输入窗口扩大时,模型所需参数数量随之上升。然而,在实际观察中发现许多人的行为跨越了大量帧数。例如,在下图所示的情境中,某人做动作的手势跨越了超过10个连续帧。

基于3D CNN模型的架构设计中
针对每一个需要进行训练的行为, 我们从每个行为中提取其长时间行为数据, 并将其视为该行为的高级行为特征. 由于持续时间足够长, 这种运动数据所包含的信息更加丰富, 覆盖了常规卷积神经网络(CNN)输入帧立方体所无法捕捉到的关键细节. 接下来我们将这一目标作为约束条件, 通过在卷积神经网络(CNN)最后一个隐藏层之后附加一系列辅助输出节点, 并在训练过程中优化这些辅助节点以促进模型更好地学习和提取相关联的行为运动高级特征向量.

在试验过程中,我们基于原始灰度图像提取了密集SIFT描述子,并结合运动边缘历史图像(MEHI)构建了BAG-of-Words特征作为辅助特征。

由于灰度图能够保留外观信息,在分析运动边缘时我们只需关注形状与运动模式这两方面即可因此能够获取相互补充的信息作为两个连续帧的局部特征bag. MEHI 的运算过程如图中右侧所示:首先对相邻两帧进行差分运算以获取运动信息随后对差分值执行Canny边缘检测运算从而使得观测到的图像更加清晰简洁. 最终的整体运动边缘特征图是通过将历史阶段的图像序列经过指数衰减处理后累加得到当前时刻的运动边缘特征图. 关于具体实现方法建议参考相关领域的进一步研究
4、模型组合
多样化的3D CNN模型在各个应用环境下表现出不同的性能。一种自适应的方法就是采用多种多样的3D CNN模型构建自适应策略。针对任意一个特定的输入样本集合,在该样本集合中分别运行每种模型,并将这些预测结果综合分析后得出最终结论。
在本文中,我们构建了一系列具有独特结构的3D卷积神经网络模型。从而该系统能够从输入数据中提取出多种互补的信息特征。随后,在预测阶段,每个子网络则分别针对单个输入样本生成相应的预测结果。将这些中间结果进行集成处理后即可获得最终的预测结果。
5、模型的实现
本研究开发的3D卷积神经网络模型采用C++语言实现,并作为NEC行为识别系统的组成部分存在(参考文献[2]详细说明)。该网络架构基于原始CNN设计框架进行扩展(参考文献[3][4]提供具体技术细节)。所有子采样层均采用最大值池化操作以减少计算量。为了训练规则化模型的整体损失函数,在计算过程中融合了真实行为类别的误差项与高层特征辅助输入的信息(具体公式见下文)。其中权重参数设定为1.0和0.005(经验最优值)。为了提高训练效率,在优化过程中采用基于对角Levenberg-Marquardt算法的随机版本策略:首先利用1,000个随机采样的样本数据构建Gauss-Newton近似矩阵;随后根据其对角元素动态调整每个参数的学习速率以加快收敛速度
三、参考文献
实验结果就不说了,大家可以直接看论文。下面是一些参考文献:
[1] S Jiu, W Xu, M Yang and K Yu, D convolutional neural network-based approaches for human motion understanding, Pattern Analysis & Machine Intelligence, IEEE Transactions on (Volume: 35–Issue: 1), 2013
M. Yang et al., "Identifying Human Movements Within Surveillance Footage," Proceedings of the TREC Video Retrieval Evaluation Workshop, Year 2009
[3] Yves LeCun及其合著者LeCun等,在《IEEEProceedings》期刊上发表的文章《基于梯度的方法应用于文档识别》详细阐述了该技术的核心原理及其实现细节
该文献由Yann LeCun、Léon Bottou、Gunnar Orr和Klaus Klaus-Robert共同提出:「Efficient Backpropagation」,在《神经网络技巧》第2版中。
