《3D Convolutional Neural Networks for Human Action Recognition》论文阅读笔记
前言
行为识别已成为当下最热门的研究领域之一。其中一种开创性研究称为3D CNN(三维卷积神经网络)。当前该技术已在诸多领域取得了显著进展。然而由于复杂多变的背景环境、遮挡现象以及成像角度等多种因素(cluttered backgrounds, occlusions & viewpoints variations)的存在,在准确识别动作方面仍面临着巨大挑战。目前多数现有方法往往基于过于乐观的前提假设:例如,在实际场景中这些假设往往不成立。
传统方法
1)计算原始视频帧的特征
2)第二步基于获得的特征学习分类器。
存在问题
在实际应用中,在问题的高度影响下
论文贡献
研究指出,基于3D卷积核的方法能够有效提取视频数据的时间与空间特征。这些基于时空维度设计的特征提取器不仅能够捕获视频流的空间信息,并且能够追踪其运动变化。
2)通过使用3D卷积特征提取器构建了一个3D卷积神经网络。模型能够从连续的视频帧中生成多通道的信息。随后,在每个通道上分别执行卷积和下采样操作。最后将所有通道的信息整合起来以获取最终的特征描述
3)提出一种通过分析提取高层运动特征并生成辅助输出信息来提升模型性能的方法。为适应不同应用场景的需求,该方法还通过整合多种先进的CNN结构进行系统性分析以提高识别准确性。
在TRECVID数据集上进行评估,并与若干基准方案进行了对比分析。实验结果表明本文提出的方案显著优于现有的二维CNN模型以及其它相关基准方案
3D 卷积神经网络
3D卷积
在视频流中采用CNN作为一个简单的方案来识别每一帧。然而这种方法并未考虑连续帧之间的运动信息。为了整合运动信息文中提出了一种基于3D卷积的方法。该方法通过将3D卷积应用于CNN的卷积层来捕捉时间与空间维度上的独特特征。

2D卷积

3D卷积
3D卷积是通过叠加多个连续的帧形成一个立方体,并随后在该立方体内应用3D卷积核。
在此结构下,在每一层中的每个特征图均会与上一层中的相邻几个连续帧相关联,并由此捕获运动信息。
需要特别注意的是:3D卷积核仅限于从cube中提取一种类型的特征。这是因为在整个cube中所有这些卷积核的权值都是一样的。即这些卷积核共享相同的权值,并且是同一个卷积核(图中标示为相同颜色连接线的部分表示相同权重)。我们可以通过采用不同的卷积核来提取多种特征。
需要特别注意的是:3D卷积层仅能从立方体(cube)中提取单一类型的特征。这是因为在这个立方体的所有位置上所有这些滤波器(convolution kernels)都会使用相同的权重参数进行计算。也就是说,在这个立方体内部所有滤波器都是共享权重的,并且它们属于同一个滤波器组(同一颜色线条连接的部分表示相同权重)。我们可以通过更换不同的滤波器来获取不同种类的特征。
遵循以下通用设计原则:在较深层(靠近输出层的一侧),特征图的数量应当有所增加;这样能够使低级到高级的特征图生成更多种类的特征。
3D CNN构架
文中的3D CNN架构由一个硬编码层、三个卷积模块、两个下采样模块以及一个全连接模块构成。每个3D卷积核处理的是连续的7帧数据块,并且其中每个patch的尺寸为60×40像素;

3D CNN构架图
在第一层中,我们使用了一个预先设定好的固定核来进行图像帧运算,并生成多通道数据。随后分别提取各个通道的信息。通过整合各通道的数据获得最终的特征描述。这一过程实际上编码了我们对于特征的认识,并优于随机初始化。

从每一幅图像中提取五种不同的信息通道包括灰度信号以及在x轴和y轴上的梯度信息其中前三种可以在同一幅图像中完成计算而水平与垂直方向上的光流场则需要连续两幅图像的数据才能被确定下来即使用上述方法总共会产生7 \times 3 + (7-1) \times 2 = 33个特征图
随后,在每个通道中分别应用了一个由空间尺寸为7\times 7和时间维度为3组成的三维卷积核。通过在每个位置上使用两个不同设计的卷积核来增加输出特征图的数量。从而,在C2层中形成了两组各包含23个不同特性的特征图。其中54\times 34=(60-7+1)\times (40-7+1)表示输出的空间尺寸计算结果。
在随后设置的下采样层S3中应用了max pooling操作,在C₂空间位置上采用大小为₂×₂窗口进行降采样。这将导致输出特征图的空间分辨率较之输入有所降低。下采样后得到的结果是(56/ )(56/ )=14 ×17$.
C4模块采用了5个不同的三维卷积核设计策略,在每个位置上使用了7\times6\times3大小的卷积核来实现对输入数据的空间抽取与特征提取功能。通过在每个位置上使用三种不同的卷积核设计策略来增加特征图的数量,并且通过优化参数组合能够有效提升模型对复杂场景的理解能力。实验表明,在这种参数设置下生成的6组独特的特征图层,并每组包含~\text{~}~\text{~} ((7-3+1)-\!-\!-\!-\!-\!-\!-\!-\!+\,+\,+\,+\,+\,+\,+\,+\,+\,)\times 2)数量级的三维空间分布特性信息能够有效增强模型对目标运动特性的捕捉能力;同时通过优化参数组合能够有效提升模型对复杂场景的理解能力
S5层用的是3x3的下采样窗口,所以得到7x4。

在当前阶段,在时间维度上的帧数量已显著减少。(具体而言,在gray、gradient-x及gradient-y通道中各有3个帧,在optflow-x及optflow-y通道中各有2个帧)在此阶段中,在空间维度上仅进行卷积操作。此时所使用的核尺寸为7×4。经过上述卷积操作后,输出的特征图的空间尺寸被压缩至1×1的大小(即每个区域仅保留一个数值)。值得注意的是,在C6层中拥有128个独立的特征图(每个对应特定的特征向量)。这些特征图与S5层中的所有78个(由13×6排列构成)特征图进行全连接运算。经过上述全连接操作后,每个特征图的空间尺寸降至1×1(即一个标量值),而这标量值即为最终的特征向量。共有128个这样的向量形成完整的表征信息。
经过多层卷积和下采样处理后,在任意连续7帧输入图像中都会被提取出一个128维特征向量,并且这个特征向量包含了输入帧所携带的信息。在输出层上定义了若干神经元单元,并且该神经网络模型设计使得每个输出单元都对应于特定的行为类别标签,并且每一个该输出单元都与前一层(即C6)中的全部128个神经元单元之间实现了全连接
在这里我们应用了一个线性分类器将这些128维的数据样本经过分类器处理以完成行为识别的过程
模型中的每个可训练参数都会被赋予一个随机初始值,并在该算法的作用下经过迭代优化后完成相应的学习任务
模型规则化Model Regularization
该模型对输入数据的要求较为严格,在实际应用中通常选取连续的一段视频片段作为训练样本(此处我们选择了7个连续帧)。当输入窗口尺寸扩大时,则会导致模型所需学习参数数量相应上升。然而,在真实场景中观察到的行为往往跨度较大。如前所述的一个实例显示,在某些情况下行为特征可能持续超过10个连续帧。

鉴于此,在3D卷积神经网络(CNN)模型中不可忽视地捕获这种高级别的运动信息至关重要。为此目的而我们通过大量帧的数据获取来精确提取运动特征,并将其作为辅助输出用于模型规范以提升其性能表现。
针对每一个需要进行训练的行为, 我们从每个行为中获取其长期行为数据, 并将其视为其高级行为特征. 这些运动数据由于时间足够长, 相较于CNN输入的数据来说, 包含的信息更加丰富. 然后我们引导CNN去学习一个与其高度相关的特征向量. 这可以通过在CNN的最后一层隐藏层后再附加一些辅助输出节点, 并在其训练过程中确保提取到的理想状态下的这些高阶行为运动特性就能被更好地捕捉到.

试验过程中,在基于原始灰度图像的前提下计算密集SIFT描述子;随后将上述SIFT描述子与MEHI历史运动边缘数据结合生成Bag-of-Words特征,并将其用作辅助特性。
由于灰度图保留了外观信息,在分析物体形态时具有重要价值;而运动边缘历史图像则专注于形状与运动规律的研究。因此,在连续帧中提取这两种属性可形成完整的局部特征集合 bag。如上图右侧所示,则是 MEHI 的详细运算流程:首先对两帧之间的差异进行基本计算;随后对其进行 Canny 边缘检测处理;这一步骤处理后可以使观测图像更加清晰简洁。最终的整体运动边缘图像可被视为通过乘以遗忘因子并对历史数据进行累加得到的结果。
实验结果
论文,有详细介绍,略过。
实验结论
本文提出了一种基于3DCNN的动作识别方法,并对该研究通过TRECVI和KTH数据集对3DCNN进行了验证。结果显示,在TRECVID数据集上使用3DCNN的方法取得了超越其他现有算法的优异效果,在KTH数据集上也展示出了有竞争力的性能,并且这些结果进一步验证了该方法的有效性以及其在真实世界环境中的卓越表现
参考文献
[1] The first reference is available at
[2] By clicking on the link here, you can access detailed information about the topic.
[3] The second reference can be found at
[4] For further reading, please visit
