视频动作实时识别
视频动作实时识别,是计算机视觉和机器学习领域的一个重要研究方向,其目标是实时识别视频中的人体动作。进行实时动作识别要经过目标检测、目标跟踪、行为识别的过程。
近十年来,随着高质量大规模动作识别数据集的出现,人们对视频动作识别的研究兴趣日益浓厚。图1是动作识别数据集的统计,圆形面积图2是对相关数据集的简单介绍。
图1 动作识别数据集统计
图2 相关数据集介绍
传统方法
iDT
在深度学习之前,2013年Heng Wang等人提出的iDT(improved dense trajectories)算法在动作识别领域具有很好的效果。通过在图片的多个尺度的特征点进行密集采样,估计相机运动估计来消除背景上的光流以及轨迹,跟踪特征点轨迹,基于轨迹特征提取,进行特征编码和分类,最后基于编码结果训练SVM分类器。IDT方法通过密集采样特征点、跟踪特征点轨迹、计算描述符来进行动作识别和行为分析。它结合了局部运动和外观信息,提高了特征提取的鲁棒性和准确性,但是由于计算光流速度很慢,算法速度很慢。基本框架如图3所示。
图3 IDT基本
深度学习方法
基于CNN的方法
Two-Stream CNN
在深度学习方法被运用于动作识别前期,起初提出的算法提取的特征甚至比人工提取的效果更差。2014年Simonyan等人提出了双流卷积网络用于对视频中的动作识别,Two-Stream CNN最早提出的利用光流进行视频动作识别的模型之一。文章提出一种基于两个独立的识别流(空间和时间)的构架,然后通过后期融合将它们结合起来。两个流都是用卷积网络来实现。空间流从静止的视频帧中执行动作识别,时间流被训练以密集光流的形式从运动中识别动作。这两个流都被实现为ConvNets。双流结构如图4所示。本文在小规模的训练数据集上,在多帧稠密光流上训练的卷积神经网络获得非常好的性能。最后本文将多任务学习应用于两个不同的动作分类数据集,增加训练数据量并提高两者的性能。
图4 双流结构
CNN + LSTM
视频除了空间维度外,最大的痛点是时间序列问题。而众所周知,RNN网络在NLP方向取得了傲人的成绩,非常适合处理序列。所以除了上述两大类方法以外,另外还有一大批的研究学者希望使用RNN网络思想来解决动作识别问题。该类框架的思想是使用CNN处理空间信息,使用LSTM处理时序信息。