基于RGB视频数据的深度行为分类模型发展综述之一

安全 应用安全
理解视频中的人体行为在视频监控、自动驾驶以及安全保障等领域有着广泛的应用前景。

 摘要:

理解视频中的人体行为在视频监控、自动驾驶以及安全保障等领域有着广泛的应用前景。目前视频中的人体行为分类研究是对分割好的视频片段进行单人的行为分类。对视频中的人体行为分类研究已经从最初的几种简单人体动作到几乎包含所有日常生活的几百类行为。近些年来基于RGB视频数据的先进深度行为分类模型可以分为三类:基于双流架构的、基于循环神经网络RNN的和基于3D卷积神经网络的。本文将详细介绍前两种深度行为分类模型。

一、视频行为分类

当前人体行为识别的研究主要分为两个子任务:行为分类和时序行为检测。行为分类一般是对分割好的视频片段进行行为分类,每一个视频片段仅包含一个行为实例。然而,现实生活中大部分视频都是未分割的长视频,因此时序行为检测任务从未分割的长视频中检测出行为的开始、结束时间以及行为类别,一段长视频中一般包含一个或多个行为实例。行为分类是时序行为检测的基础,时序行为检测是比行为分类更复杂的研究任务,行为分类的经典模型(如TSN,C3D,I3D等)也被广泛用于时序行为检测任务当中。现在视频中人体行为识别的研究工作大部分都致力于提高行为分类模型的性能,并且研究最广泛的是对单人行为的识别。

二、评估数据集

对于数据驱动的深度学习方法来说,庞大的视频数据量显然能够提升模型的性能。本文选用了最新且规模更大视频数据集kinetics,来分别比较最新的基于RGB视频输入数据的行为分类模型的性能,同时也使用典型的视频数据集UCF101, 帮助分析和比较经典的深度行为分类模型。UCF 101和Kinetics数据集的评估度量标准都是是平均精度均值(mAP)。在对视频中的行为进行分类时,每一个视频片段都会预测一个行为标签。假设有C个行为类别,每个视频片段都对应一个有C个元素的列表,每个元素代表着该视频属于行为c的概率,并将C个类别标签按照概率值从高到底排序。假设一共有n个视频片段,并取一个视频片段的预测得分列表中的前k个值,P(k)分别是类别标签排名在前k的预测概率值,rel(k)是指示函数,表明第k个标签是否是真阳性(true positive),如果是则为1,否则为0。因此,某个行为类别的平均精度(AP)的计算方式是

 

平均精度均值(mAP)是所有类别的平均精度求和后再取均值。

 

 

UCF 101数据集一般只取预测概率最高的标签作为预测标签(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(improved Dense Trajectories)[1],是深度学习应用到视频领域之前性能最好的方法,它通过光流追踪图像像素点在时间上的运动轨迹。该方法有个很大的缺点是获得的特征维度甚至比原视频还要高,计算速度非常慢。早期的深度学习的方法在和iDT结合之后都能取得一定的效果提升。发展到现在,深度学习方法在视频行为分类上的性能已较iDT有大幅提升。1、双流架构2014年Karpathy [2]等人采用两个独立流分别获取低分辨率帧和高分辨率的特征,在时间上采用慢融合的方式扩展了所有卷积层在时间上的连通性,这是将CNN扩展到视频行为分类的运用,但其性能与传统方法iDT还有一定的差距。Simonyan首次提出基于光流的双流(two-stream)架构,分别使用视频帧和帧间的光流图像作为CNN的输入。该方法可以说是CNN扩展到视频行为分类的首次非常成功的尝试,在UCF101上的精度达到了88%,优于手工特征提取的方法iDT。结合光流输入的双流架构的良好表现激发了后续对许多基于双流架构的改进。双流融合法(Two-stream Fusion) [3]在双流架构的基础上,使用VGG-net深度模型作为骨干网络,并提出在最后一个卷积层后融合特征比在全连接层之后融合特征的效果要好。考虑到这两种双流方法无法对长期时序结构建模,时序上一次仅能处理连续10帧的堆叠光流场,空域则仅处理单帧图像。时序分割网络(TSN) [4]则直接对整段视频建模,在时序上将整个视频分段(segment),最后融合不同片段的类别得分,来获得长期的时序特征,融合后的预测结果是视频级的预测,在UCF 101数据集上的精度达到了94.2%。TSN的模型如图1所示。

 

 

 

图 1 时序分割网络(TSN)模型架构

TSN在UCF 101数据集上的性能表现已经非常优越。Lan等人[5]提出深度局部特征(DVOF),在TSN模型的基础上利用深度网络提取局部特征,将聚合局部特征形成的全局特征输入到浅层网络进行分类,来纠正局部特征学习到的错误的行为标签信息。时序关系推理(TRN)[6]是2017年MIT周博磊大神基于TSN改进的一个很具有启发性的研究工作。TRN在时间维度上能够提取不同尺度的视频特征,然后使用多层感知机(MLP)融合不同时间尺度的帧间关系,用于学习和推理视频帧之间的时间依赖关系。该方法在UCF101上的性能提高并不明显,这是因为UCF101中的视频数据表示的动作在空间上的上下文关联更强,但是论文在时序上下文相关性更强的Something-Something[]视频数据集上验证了TRN发现视频中时序关系的能力。基于光流的双流架构展现了优越的性能,然而光流的计算需要消耗很大的计算资源。也有方法尝试能够代替光流表示运动信息的方法,Zhang等人[7]提出计算运动矢量(motion vector)来代替光流作为CNN的输入,推理速度能达到每秒390.7帧,作者将光流CNN中学习的特征和知识迁移到运动矢量CNN中期望能弥补运动矢量在细粒度和噪声上的不足,但是最终模型在精度上还有很大的牺牲。上述双流方法在UCF101数据集上的性能如表1。

 

 

 

表 1 双流架构在UCF101数据集上的性能对比

2、RNN网络CNN是典型的前馈神经网络,上述基于CNN网络的模型一次仅能处理有限的视频帧,如典型的TSN处理一次处理10个视频帧并通过时序聚合方式获得更长期的视频级的预测,C3D则一次处理16帧,I3D则是一次处理64帧图片。然而在实际生活中,很多常见的人类行为比如握手,饮酒,打电话,或步行、游泳等重复动作的行为通常持续数十秒跨越数百个视频帧。循环神经网络(RNN)的循环结构,能够将先前的信息连接到当前任务,允许信息长期存在,因此可以很好地对序列结构建模。然而早期的 RNN网络不能对长期的依赖关系进行建模,也不能在很长一段时间内存储关于过去输入的信息。理论上讲一个足够大的RNN应该能够建模任意复杂度的序列,然而在训练RNN时会出现梯度消失和梯度爆炸问题。RNN网络的变体,长短期记忆网络(LSTM)则解决了这个问题。LRCN[8]将LSTM用于在时间序列上对2D卷积网络提取的帧特征建模,发现这样的网络结构显著提高了那些动作持续时间长和动作的静态外观易混淆的行为分类精度。Ng[9]等人比较了特征池化和LSTM两种时序聚合方式,将CNN输出的帧级特征聚合成视频级,说明在整合视频序列中长期的信息可以实现更好的视频分类,论文中也通过双流架构分别使用RGB和光流图像作为输入。Sharma 等人[10]开创性地在基于LSTM的网络中引入了注意力机制,提出了soft-attention LSTM,该模型让网络能够关注视频帧中与行为类别相关的区域。VideoLSTM[11]则是在soft-attention LSTM的基础上堆叠了一个RNN用于运动建模并且装配了增强版的注意力模型,然而复杂的模型结构并没有明显地提高性能。上述模型都是采用了CNN+LSTM的形式,使用CNN提取视频帧特征,并用LSTM直接聚合多个视频帧来获得视频时序上的依赖关系。然而,通过这样的方式学习到的运动隐含地假设了视频中的运动在不同的空间位置上是静止的。Sun[12]等人提出了Lattice LSTM(L2STM),通过学习记忆单元在不同空间位置的独立隐藏状态转换来扩展LSTM,有效地增强了时间上动态建模能力。上述基于RNN网络的视频中人体行为分类方法在UCF 101数据集上的精度如表2所示。

 

 

 

表 2 在UCF101数据集上比较RNN行为分类模型

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2020-02-07 17:48:53

RGB视频数据分类模型

2022-10-26 15:41:38

深度学习Deepfake机器学习

2024-03-22 15:08:47

CLIP机器学习人工智能

2023-12-25 15:15:17

模型训练

2018-03-08 16:04:19

2022-08-19 09:00:00

人工智能GANs生成模型

2021-07-01 15:56:42

深度学习人工智能互联网

2022-10-25 08:00:00

Huggingfac开源库数据仓库

2024-04-18 10:39:57

2020-05-07 20:52:01

入侵检测响应模型

2017-08-07 10:08:29

深度学习分类体系信息检索

2009-09-04 13:02:17

IT职业规划孔文达

2010-06-24 17:03:45

BitTorrent协

2024-07-01 10:19:22

2022-02-11 14:39:11

游戏JS鸿蒙

2023-09-26 22:13:09

深度学习

2024-05-17 13:17:39

2022-10-11 16:34:28

深度学习模型

2016-03-18 15:51:24

大数据预测

2022-03-28 18:59:02

DockerFlask深度学习
点赞
收藏

51CTO技术栈公众号