TensorFlow实现视频分类的6种方法

  • 内容
  • 评论
  • 相关

对视频进行分类是一个活跃的研究领域,因为处理这种类型的问题需要大量的数据。内存需求经常达到现代GPU的极限,可能需要在多台机器上进行分布式的训练。

目前学者们正在探索复杂度不断增加的几个方向,来回顾一下:

  1. 第一种方法是通过将视频的每一帧视为一幅单独的图像,利用二维 CNN 进行处理。这种方法将视频分类问题简化为图像分类问题。每帧视频图像都有类别输出,并且根据各帧输出的类别,选择频率最高的类别作为视频的分类结果。
  2. 第二种方法是创建一个单一的网络,将二维 CNN 与一个 RNN 结合在一起。这个想法是,CNN 将考虑到图像分量,而 RNN 将考虑每个视频的序列信息。这种类型的网络可能非常难以训练,因为要优化的参数数量非常大。
  3. 第三种方法是使用三维卷积网络,其中三维卷积网络是二维 CNN 的在 3D 张量(时间,图像宽度,图像高度)上运行的扩展。这种方法是图像分类的另一个自然延伸,但三维卷积网络可能很难训练。
  4. 第四种方法基于智能方法的直觉。它们可以用于存储视频中每个帧的离线功能,而不是直接使用 CNN 进行分类。这个想法基于,特征提取可以非常有效地进行迁移学习,如前面章节所示。在提取所有的特征之后,可以将它们作为一组输入传递给RNN,其将在多个帧中学习序列并输出最终的分类。
  5. 第五种方法是第四种方法的简单变体,其中最后一层是 MLP 而不是 RNN。在某些情况下,就计算需求而言,这种方法可以更简单并且成本更低。
  6. 第六种方法也是第四种方法的变体,其中特征提取阶段采用三维 CNN 来提取空间和视觉特征,然后将这些特征传递给 RNN 或 MLP。

使用哪种方法取决于具体应用,并没有统一的答案。前三种方法通常计算量更大,而后三种方法计算成本更低,而且性能更好。

本节将展示如何利用论文“Temporal Activity Detection in Untrimmed Videos with Recurrent Neural Networks”(Montes,Alberto and Salvador,Amaia and Pascual,Santiago and Giro-i-Nieto,Xavier,2016)中的实验结果实现第六种方法。

这项工作旨在解决 ActivityNet 挑战赛中的问题(http://activity-net.org/challenges/2016/),重点是从用户生成的视频中识别高层次和目标导向的活动,类似于互联网门户中的活动。面临的挑战是如何在两个不同的任务中生成 200 个活动类别:

  • 分类挑战:给定一个长视频,预测视频中的活动标签。
  • 检测挑战:给定一个长视频,预测视频中活动的标签和时间范围。

图 1 C3D+RNN示例

本文标题:TensorFlow实现视频分类的6种方法

本文地址:https://www.hosteonscn.com/4258.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注