对视频进行分类是一个活跃的研究领域,因为处理这种类型的问题需要大量的数据。内存需求经常达到现代GPU的极限,可能需要在多台机器上进行分布式的训练。
目前学者们正在探索复杂度不断增加的几个方向,来回顾一下:
第一种方法是通过将视频的每一帧视为一幅单独的图像,利用二维 CNN 进行处理。这种方法将视频分类问题简化为图像分类问题。每帧视频图像都有类别输出,并且根据各帧输出的类别,选择频率最高的类别作为视频的分类结果。
第二种方法是创建一个单一的网络,将二维 CNN 与一个 RNN 结合在一起。这个想法是,CNN 将考虑到图像分量,而 RNN 将考虑每个视频的序列信息。这种类型的网络可能非常难以训练,因为要优化的参数数量非常大。
第三种方法是使用三维卷积网络,其中三维卷积网络是二维 CNN 的在 3D 张量(时间,图像宽度,图像高度)上运行的扩展。这种方法是图像分类的另一个自然延伸,但三维卷积网络可能很难训练。
第四种方法基于智能方法的直觉。它们可以用于存储视频中每个帧的离线功能,而不是直接使用 CNN 进行分类。这个想法基于,特征提取可以非常有效地进行迁移学习,如前面章节所示。在提取所有的特征之后,可以将它们作为一组输入传递给RNN,其将在多个帧中学习序列并输出最终的分类。
第五种方法是第四种方法的简单变体,其中最后一层是 MLP 而不是 RNN。在某些情况下,就计算需求而言,这种方法可以更简单并且成本更低。
第六种方法也是第四种方法的变体,其中特征提取阶段采用三维 CNN 来提取空间和视觉特征,然后将这些特征传递给 RNN 或 MLP。
参考文章
https://blog.csdn.net/neural_net_child/article/details/78440306