3D Convolutional Neural Networks for Human Action Recognition
来源:互联网 发布:东方财富网龙虎榜数据 编辑:程序博客网 时间:2024/04/30 17:48
1 INTRODUCTION
识别现实世界中的人类行为,可以发现各种领域的应用,包括智能视频监控,客户属性和购物行为分析。 然而,由于混乱的背景,遮挡和视角变化等[1],[2],[3],[4],[5],[6],[7],[8],[9],[10] [11],准确地识别行为是一项非常具有挑战性的任务。目前的大多数方法[12],[13],[14],[15],[16]关于视频拍摄的情况,做出了某些假设(例如,小尺度和视角变化)。 然而,这种假设在现实环境中很少存在。此外,大多数方法遵循两步法,其中第一步在原始视频帧上计算特征,第二步是基于获得的特征学习分类器。在现实世界的情况下,很少知道什么特征对于手头的任务很重要,因为特征的选择是高度依赖于问题的。特别是对于人类行为的识别,不同的动作类别在外观和运动模式方面可能会显得不同。
深度学习模型[17],[18],[19],[20],[21]是一类机器,可以通过从低级别构建高级特征来学习层次特征。这种学习机器可以使用监督或无监督的方法进行训练,并且所得到的系统已被证明可以在视觉对象识别中产生竞争性能[17],[19],[22],[23],[24],人类行为识别[25],[26],[27],自然语言处理[28],音频分类[29],脑机交互[30],人类跟踪[31],图像恢复[32],去噪[33] ,和分割任务[34]。卷积神经网络(CNN)[17]是一种深层模型,其中可训练的滤波器和局部邻域池化操作交替地应用于原始输入图像,导致越来越复杂的特征的层次结构。已经表明,当训练时有适当的正则化[35],[36],[37],CNN可以在视觉对象识别任务上实现卓越的性能。此外,CNN已被证明对于一些变化是不变的,如姿势,照明和周围的杂乱[38]。作为特征构造的深层次模型,CNN主要应用于2D图像。在本文中,我们探讨了CNN在视频中人类动作识别的应用。在这个方向上的一个简单方法是将视频帧视为静止图像,并应用CNN来识别单帧级别的动作。事实上,这种方法已被用于分析发育胚胎的视频[39]。然而,这种方法不考虑在多个连续帧中编码的运动信息。为了有效地将视频分析中的运动信息结合起来,我们提出在CNN的卷积层中执行3D卷积,从而捕获空间和时间维度的区分性特征。我们表明,通过在输入的相同位置应用多个不同的卷积运算,可以提取多种类型的特征。基于提出的3D卷积,可以设计出各种3D CNN架构来分析视频数据。我们开发了一个从相邻的视频帧中生成多个通道信息,并在每个通道分别进行卷积和下采样的3D CNN架构。通过组合来自所有通道的信息来获得最终特征表示。为了进一步提高3D CNN模型的性能,我们提出用高级运动特征计算得到的辅助输出来增强模型,并集成各种不同架构的输出来做出预测。
我们在TREC视频检索评估(TRECVID)数据中评估了开发的3D CNN模型,其中包括在伦敦盖特威克机场记录的监控视频数据。我们构建了一个多模块事件检测系统,其中3D CNN作为主要模块,并参与了TRECVID 2009监控事件检测评估的三个任务[25]。我们的系统在所有三个参与的行动类别(即CellToEar,ObjectPut和Pointing)方面取得了最佳表现。为了提供对3D CNN模型的独立评估,我们在本文中对TRECVID 2008开发套件的性能进行了报告。
我们还提供关于KTH数据的结果,因为该数据的已发布的性能可用。我们的实验表明,开发的3D CNN模型在TRECVID数据上优于其他基线方法,并且在KTH数据上实现了竞争性的表现,表明3D CNN模型对于现实环境更有效,例如在TRECVID数据中捕获的。实验还验证了3D CNN模型在大多数任务中显着优于基于帧的2D CNN。
本文的主要贡献可归纳如下:
•我们提出应用3D卷积运算,从视频数据中提取空间和时间特征。这些3D特征提取器在空间和时间维度上操作,从而在视频流中捕获运动信息。
•我们开发基于3D卷积特征提取器的3D卷积神经网络(CNN)架构。该CNN架构从相邻视频帧生成多个信息通道,并在每个通道中单独执行卷积和子采样。通过组合来自所有通道的信息来获得最终特征表示。
•我们提出通过用高级运动特征计算的辅助输出来增强模型来正则化3D CNN模型。我们进一步提出通过结合各种不同架构的输出来提升3D CNN模型的性能。
•与基线方法和替代架构相比,我们在TRECVID 2008开发套件中对3D CNN模型进行了评估。实验结果表明,提出的模型明显优于2D CNN架构和其他基线方法。
本文的其余部分安排如下:我们在第2节描述了TRECVID动作识别系统中使用的3D卷积运算和3D CNN架构。第3节讨论了一些动作识别的相关工作。第4节报告了在TRECVID和KTH数据的实验结果。我们在第5节得出结论并讨论。
2 3D CONVOLUTIONAL NEURAL NETWORKS
2.1 3D卷积
请注意,3D卷积核只能从帧立方体中提取一种类型的特征,因为核的权重将跨整个立方体进行复制。
CNN的一般设计原理是通过从同一组较低级别的特征图生成多种类型的特征,在后期层次上应该增加特征图的数量。
类似于2D卷积的情况,可以通过将具有不同内核的多个3D卷积应用于上一层中的相同位置来实现(图2)。
2.2 3D CNN架构
基于上述的3D卷积,可以设计出各种CNN架构。在下文中,我们描述了我们为TRECVID数据集中的人类动作识别开发的3D CNN架构。然后,我们分别在5个通道中的每个通道上应用内核大小为7×7×3(空间维度为7×7,时间维度为3)的三维卷积。为了增加特征图的数量,在每个位置应用两组不同的卷积,导致C2层中的两组特征图,每个由23个特征图组成。在随后的子采样层S3中,我们在C2层中的每个特征图上应用2×2子采样,这导致具有降低的空间分辨率但相同数量的特征图。通过在两组特征图中的5个通道中的每一个上分别应用7×6×3的核大小的3D卷积来获得下一个卷积层C4。要增加特征图的数量,我们在每个位置使用不同内核的3个卷积,导致C4层中的6组不同的特征图,每个包含13个特征图。通过在C4层中的每个特征图上应用3×3子采样获得下一层S5,这导致具有降低的空间分辨率的相同数量的特征图。在这个阶段,时间维度的大小已经相对较小(3对于gray,gradient-x,gradient-y,2对于optflow-x和optflow-y),我们仅在该层的空间维度上执行卷积。所使用的卷积核的大小是7×4,使得输出特征图的尺寸减小到1×1。 C6层由128个尺寸为1×1的特征图组成,每个都与S5层中的所有78个特征图连接。
2.3模型正则化
另一方面,许多人类行为跨越了许多框架。
因此,期望将高级运动信息编码到3D CNN模型中。
为此,我们建议从大量帧中计算运动特征,并通过使用这些运动特征作为辅助输出来对3D CNN模型进行规则化(图4)。
图像分类任务中已经使用了类似的想法[35] - [37],但其在动作识别中的表现不清楚。
特别地,对于每个训练动作,我们生成将长期动作信息编码到包含在输入框架立方体中的信息到CNN的特征向量。
然后,我们鼓励CNN学习一个靠近此功能的特征向量。
这通过将多个辅助输出单元连接到CNN的最后一个隐藏层并且在训练期间将计算出的特征向量夹在辅助单元上来实现。
这将鼓励隐藏层信息靠近高级运动特征。
关于这个方案的更多细节可以在[35] - [37]中找到。
在实验中,我们使用由原始灰色图像和运动边缘历史图像(MEHI)[41]计算的密集SIFT描述符[40]构成的词包特征作为辅助特征。
结果表明,这种正则化方案导致性能持续提高。
- 3D Convolutional Neural Networks for Human Action Recognition
- 3D Convolutional Neural Networks for Human Action Recognition
- 深度学习文章阅读2--3D Convolutional Neural Networks for Human Action Recognition
- 【论文学习】3D Convolutional Neural Networks for Human Action Recognition
- 基于3D卷积神经网络的行为识别:3D Convolutional Neural Networks for Human Action Recognition
- Multi-view Convolutional Neural Networks for 3D Shape Recognition
- Convolutional Neural Networks for Visual Recognition 3
- 论文阅读:Multi-view Convolutional Neural Networks for 3D Shape Recognition
- Convolutional Neural Networks for Visual Recognition 1
- Convolutional Neural Networks for Visual Recognition 2
- Convolutional Neural Networks for Visual Recognition 4
- Convolutional Neural Networks for Visual Recognition 5
- Convolutional Neural Networks for Visual Recognition 6
- Convolutional Neural Networks for Visual Recognition 7
- Convolutional Neural Networks for Visual Recognition 8
- Convolutional Neural Networks for Visual Recognition
- Convolutional Neural Networks for Visual Recognition
- Convolutional Neural Networks for Visual Recognition
- ava.lang.NoClassDefFoundError: com.umeng.analytics.MobclickAgent,发现此类是友盟SDK的类。
- “老”程序员的反思 在40岁之际
- Android开发中内存、内部存储、外部存储详解
- 解决安卓与IOS点击效果兼容(去除移动端Ios点击阴影 )
- springMVC集成swagger
- 3D Convolutional Neural Networks for Human Action Recognition
- JAVA获得版本号以及字节码编译版本
- springboot配置
- MapReduce 判断输出路径是否存在问题
- C++ initializer_list(列表初始化)
- 回调函数批本质,求资深专家反驳!!!
- Ubuntu恢复普通用户权限<1000:1000改为0:0>后只能guest身份进入系统(亲测有效)
- Android用CameraApi实现相机开发以及用opengl es实现相机实时滤镜
- 关于hdfs中启动namenode进程