摘要:了解视频中的人类行为在视频监控、自动驾驶和安全等方面具有广阔的应用前景。目前对视频中人类行为分类的研究是对分割后的视频片段中单个人的行为进行分类。对视频中人体行为分类的研究,已经从最初的几个简单的人体动作发展到几乎涵盖日常生活的数百种行为。近年来,基于RGB视频数据的高级深度行为分类模型可分为三类:基于双流架构的、基于RNN的和基于3D卷积神经网络的。本文将详细介绍前两个深度行为分类模型。1.视频行为分类目前对人类行为识别的研究主要分为两个子任务:行为分类和时间行为检测。行为分类一般对分割后的视频片段进行行为分类,每个视频片段只包含一个行为实例。然而,现实生活中的大部分视频都是未分段的长视频,因此时序行为检测任务是从未分段的长视频中检测行为的开始、结束时间和行为类别。一段长视频通常包含一个或多个Behavior实例。行为分类是时间序列行为检测的基础。时间序列行为检测是比行为分类更复杂的研究任务。行为分类的经典模型(如TSN、C3D、I3D等)也广泛应用于时序行为检测任务。目前关于视频中人类行为识别的研究工作大多致力于提高行为分类模型的性能,其中研究最广泛的是对单人行为的识别。2.评估数据集对于数据驱动的深度学习方法,海量的视频数据可以明显提升模型的性能。本文使用最新更大的视频数据集kinetics来比较最新的基于RGB视频输入数据的行为分类模型的性能,同时也使用典型的视频数据集UCF101来帮助分析比较经典的深度行为分类模型。UCF101和Kinetics数据集的评估指标是平均精度(mAP)。在对视频中的动作进行分类时,每个视频片段都会预测一个动作标签。假设有C个行为类别,每个视频片段对应一个包含C个元素的列表,每个元素代表该视频属于行为c的概率,C个类别标签按照概率值从高到低排序。假设共有n个视频片段,取一个视频片段的预测得分列表中的前k个值,P(k)为类别标签排名在前k的预测概率值,rel(k)是一个指示函数,表示第k个标签是否为真阳性(truepositive),如果是则为1,否则为0。因此,计算某个行为类别的平均精度(AP)为平均精度(mAP)是所有类别的平均精度之和,然后取平均。UCF101数据集一般只取预测概率最高的标签作为预测标签(k=1,top-1)。在Kinetics数据集中,行为类别的细粒度分类导致一个视频剪辑可能包含多个动作。例如,“开车”时“发短信”,“弹尤克里里”时“跳草裙舞”,“跳舞”时“刷牙”等。所以在Kinetics数据集上进行评估时,通常选择得分最高的前5个标签该模型被用作预测的行为类别标签(k=5,top-5)。本文在比较模型的推理速度时使用了两个评价指标。一个是每秒帧率(FPS),即每秒模型可以处理的视频帧数。另一个是每秒浮点运算次数(GFLOPS)。本文展示的GFLOPs指标均采用32帧视频片段作为模型的输入数据。三、视频人体中的深度行为分类模型在行为分类研究中,一个关键且具有挑战性的问题是如何从视频的时间序列维度中获取人体运动信息。基于RGB视频的深度学习方法根据不同的时间序列建模方法可分为两流架构、基于递归神经网络(RNN)和基于3D卷积神经网络。早期将深度学习方法扩展到RGB视频的经典尝试是将2D卷积神经网络扩展成双流架构分别获取视频帧。帧间的空间特征和运动特征。随后的研究将循环神经网络(RNN)与卷积神经网络(CNN)相结合,试图学习更多的全局视频时序信息。考虑到视频本身是一个时间维度更多的3D体,3D网络直观地使用了3D卷积核来获取视频的时空特征。这些基于RGB视频的行为分类方法主要关注两点:(1)如何在视频中提取更具鉴别力的外观特征;(2)如何获取时间序列中视频帧外观的变化。在介绍这类深度学习方法之前,不得不提一下经典的人工特征提取方法iDT(改进的DenseTrajectories)[1],这是深度学习应用到视频领域之前性能最好的方法,它使用光学flow来及时跟踪图像像素的运动轨迹。这种方法有一个很大的缺点,就是得到的特征维数比原始视频还要高,计算速度很慢。早期的深度学习方法与iDT结合后可以达到一定的效果。截至目前,深度学习方法在视频行为分类方面的性能较iDT有了很大的提升。1.双流架构2014年,Karpathy[2]等人。使用两个独立的流分别获得低分辨率帧和高分辨率特征,并在时间上使用慢速融合来扩展所有卷积层的时间连通性,这是CNN扩展在视频行为分类上的应用,但其性能与传统方法iDT仍有一定差距。Simonyan首先提出了一种基于光流的双流架构,将视频帧和帧间的光流图像作为CNN的输入。这种方法可以说是CNN向视频行为分类延伸的第一次非常成功的尝试。在UCF101上准确率达到了88%,优于人工特征提取方法iDT。双流架构与光流输入相结合的良好性能激发了许多基于双流架构的后续改进。双流融合方法(Two-streamFusion)[3]是基于双流架构,使用VGG-net深度模型作为主干网络,提出在最后一个卷积层之后融合特征相比于融合的效果全连接层后的特征更好。考虑到这两种双流方法无法对长期时间结构进行建模,时间序列一次只能处理10个连续帧的堆叠光流场,空间域只能处理单帧图像。时间序列分割网络(TSN)[4]直接对整个视频进行建模,将整个视频按时间序列进行分割,最后融合不同片段的类别得分,得到长期的时间序列特征,融合后的预测结果为是视频级别的预测,在UCF101数据集上的准确率为94.2%。TSN的模型如图1所示。图1TimeSeriesSegmentationNetwork(TSN)模型架构TSN在UCF101数据集上的表现已经很不错了。兰等。[5]提出DeepLocalFeature(DVOF),在TSN模型的基础上利用深层网络提取局部特征,将局部特征聚合形成的全局特征输入浅层网络进行分类,修正学习到的局部特征.错误的行为标签信息。TemporalRelationalReasoning(TRN)[6]是麻省理工周博雷在2017年基于TSN改进的一项非常鼓舞人心的研究工作。TRN能够在时间维度上提取不同尺度的视频特征,然后使用多层感知器(MLP)融合不同时间尺度的帧间关系,以学习和推断视频帧之间的时间依赖性。该方法在UCF101上的性能提升并不明显,因为UCF101中视频数据所代表的动作具有更强的空间上下文关联,而论文在Something-Something[]视频数据集中具有更强的时间上下文关联。以上验证了TRN发现视频中时间关系的能力。基于光流的双流架构表现出优越的性能,但是光流的计算需要大量的计算资源。也有尝试用光流替代来表示运动信息的方法。张等。[7]提出计算运动向量(motionvector)代替光流作为CNN的输入。推理速度可达每秒390.7帧。作者使用光流CNN将学习到的特征和知识迁移到运动向量CNN中,有望弥补运动向量细粒度和噪声的不足,但最终的模型在精度上还是有很大的牺牲。上述双流方法在UCF101数据集上的性能如表1所示。表1双流架构在UCF101数据集上的性能比较2.RNN网络CNN是典型的前馈神经网络。上述基于CNN的模型一次只能处理有限数量的视频帧。例如,典型的TSN一次可以处理10个视频。Frames并通过时间序列聚合获得更长期的视频级预测,C3D一次处理16帧,I3D一次处理64帧。然而,在现实生活中,许多常见的人类行为,如握手、喝酒、打电话,或步行、游泳等重复性动作,通常持续数十秒,跨越数百个视频帧。循环神经网络(RNN)的循环结构可以将先前的信息连接到当前任务,使信息能够长期存在,因此可以很好地对序列结构进行建模。然而,早期的RNN网络无法对长期依赖性进行建模,也无法长期存储有关过去输入的信息。从理论上讲,足够大的RNN应该能够对任意复杂度的序列进行建模。但是在训练RNN的时候会出现梯度消失和梯度爆炸的问题。RNN网络的一个变体,即长短期记忆网络(LSTM),解决了这个问题。LRCN[8]使用LSTM对时间序列上二维卷积网络提取的帧特征进行建模,发现这样的网络结构显着提高了那些持续时间长、静态外观混乱的动作的分类精度。吴[9]等人。比较了特征池化和LSTM这两种时序聚合方法,将CNN输出的帧级特征聚合到视频级,表明在视频序列中融合长时信息可以实现更好的视频分类。在论文中,RGB和光流图像也通过双流架构分别用作输入。夏尔马等。[10]率先在基于LSTM的网络中引入了注意力机制,并提出了一种软注意力LSTM,使网络能够专注于视频帧中与行为类别相关的区域。VideoLSTM[11]在用于运动建模的软注意LSTM的基础上堆叠了一个RNN,并组装了一个增强版的注意模型。然而,复杂的模型结构并没有显着提高性能。以上模型均采用CNN+LSTM的形式,利用CNN提取视频帧特征,利用LSTM直接聚合多个视频帧,得到对视频时序的依赖关系。然而,以这种方式学习的运动隐含地假设视频中的运动在不同的空间位置是静止的。孙[12]等人。提出了LatticeLSTM(L2STM),通过学习不同空间位置的记忆单元的独立隐藏状态转换来扩展LSTM,有效地增强了时间上的动态建模能力。上述基于RNN的视频人体行为分类方法在UCF101数据集上的准确率如表2所示。表2RNN行为分类模型在UCF101数据集上的对比
