利用深度学习进行图像分类发展到目前已经日趋成熟,在ImageNet数据集上面的准确率已经超过人类水平,但是视频分类仍然处在一个萌芽时期,视频分类技术并没有像二维图像分类那样成熟

视频分类的难点

视频分类相较于图像分类,主要有两个难点:

1.如何有效利用时序信息

深度学习利用卷积处理二维图像,能够有效利用图像中物体的位置、角度、色彩等信息,但是视频数据中会多出一维时间信息,而这一维中会蕴含大量有效信息,例如击球场景下,前一帧图像中击球动作发生,后一帧球轨迹改变,这里面就蕴含直接的因果关系,但这是时间维度上面的,传统的二维卷积没有办法学习和利用到这种信息

2.如何减少运算量

可以将视频视为在时间维度上面离散的二维图像,利用深度学习做视频分类最直接的方法就是利用3维卷积,相当于将原来的2维卷积核扩展为3维,这样看似简单的思想,带来的计算量的增加却是非常可怖的,因此如何减少视频分类任务中所需的计算量也是至关重要的一点

主流方法

目前基于深度学习的视频分类任务主要有两个大的方向:

1.基于3D卷积的方法

将原有的(a, b, c)大小的卷积核转换为(a, b, c, n)大小,这样能够利用时间维度信息,但是同时带来的是计算量的提升,同时精度也不是很高,因此针对于如何减少计算量和提升精度提出了一系列改进方法,例如18年cvpr的文章《ECO: Efficient convolutional Network For online video understanding》,首先提取离散帧图像,然后利用2D卷积对每一帧图像进行特征提取,然后将提取到的特征进行融合,最后利用一个3D卷积进行分类,相比于同时期的sota模型速度提升8-10倍

2.CRNN

CRNN实际上是CNN+RNN,利用encoder-decoder结构,采用CNN对视频数据进行编码,然后利用RNN进行时序图片信息的解码,具体来讲,采用2D卷积网络将一系列2D视频帧进行编码,得到对应的一维向量,RNN网络(一般采用LSTM)的输入是编码后的一维信息,



深度学习

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!