王彩玲,闫晶晶,张智栋
西安石油大学计算机学院,西安 710065
人体行为识别的研究目标是通过对人体行为的识别开发模仿人的视觉系统用以理解和描述给定场景中的人类行为,目前已经广泛应用于智能安防[1]、虚拟现实[2]、人机交互[3]等领域并获得了很高的商业价值。
近年来,随着低成本可穿戴传感器与深度相机的进一步研究,用于人体行为识别研究的数据类型不仅局限于RGB,还出现了新模式的数据,如深度、骨骼和红外数据。根据数据的类型,目前流行的人体行为识别研究方法包含基于RGB的行为识别和基于骨骼的行为识别(如图1所示),这两种方法都是该领域的热点方向。
图1 行为识别示例Fig.1 Examples of action recognition
深度学习的引入为基于RGB的人体行为识别带来了新的发展方向。深度学习在人体行为识别领域最初的研究方法侧重于RGB 静态图像的特征提取,目前则重点关注视频图像。Guo 等[4]对基于静止RGB 图像的人体行为识别技术进行了调查,讨论了机器学习和深度学习用于低级特征提取和高级行为表示的不同方法。Ma等[5]详细地讨论了深度学习表示的优缺点,同时还介绍了流行的标准数据集。裴利沈等[6]更加侧重于总结关于群体行为中活动细节理解的算法发展。近年来,将骨骼数据与深度学习相结合的优势逐渐明显。众多研究人员逐渐关注基于骨骼的人体行为识别研究。调查[7-8]不仅详细介绍了用于人体行为识别的图卷积网络(graph convolution neural network,GCN)结构和骨骼数据模态,而且重点介绍了GCN 在人体行为识别领域的应用。
目前,前人的研究论述中没有包含基于RGB 和骨骼的两种研究方法的综合调查,缺少宏观全面的介绍。因此,本文分别对上述两种流行的方法进行了全面的分类调查。具体的内容包括三部分:特征表示方法、公共数据集、挑战与前景。本文的主要贡献如下:
(1)提供了针对RGB 和骨骼数据的特征表示方法的全面调查,包括基于手工标注的和基于深度学习的方法(如图2所示),并总结了典型方法的优缺点;
图2 基于RGB和骨骼的人体行为识别研究方法Fig.2 Research methodology for human action recognition based on RGB and skeleton
(2)对目前国内外公开数据集进行介绍和对比,包括RGB数据集和骨骼数据集;
(3)在基于骨骼的人体行为识别中,总结了单目标和多目标的深度人体姿态估计模型,以及在人体行为识别中的应用;
(4)分别阐述了基于RGB 和骨骼数据的人体行为识别方法面临的挑战,展望了未来的发展方向。
本文首先介绍了基于RGB和骨骼数据的人体行为识别方法,包括手工提取特征和基于深度学习提取特征的方法。接着,介绍了国内外用于人体行为识别的公开数据集,包括RGB数据集和骨骼数据集。然后,列出部分流行的算法在RGB和骨骼数据集上的表现结果。最后,总结了人体行为识别技术目前所面临的挑战并展望了未来的发展前景。
传统的RGB人体行为识别的特征提取采用手工标注的方式,基于深度学习的RGB 人体行为识别采用深度架构提取特征。下面分别对基于RGB的手工特征和深度架构进行方法综述。
基于手工特征的人体行为识别方法一般包含两个主要步骤:行为表示和行为分类。行为表示的目标是将视频信息转换为特征向量,提取人体行为的代表性和判别性信息,并将变化最小化,从而提高识别性能。行为表示的方法大致可以分为全局特征表示方法和局部特征表示方法。
全局表示方法可以捕捉整个人体主体的运动信息,但由于信息捕获区域为固定的矩形会引入不相关背景信息。Bobick 等[9]基于全局表示提出了运动能量图像(motion energy image,MEI)和运动历史图像(motion history image,MHI)来编码动态人体运动到一个单一的图像,如图3所示。
图3 输入的视频帧与MEI和MHI的对比图Fig.3 Comparison diagram of input video frames with motion energy image(MEI)and motion history image(MHI)
局部表示只识别具有显著运动信息的局部区域,克服了全局表示中的问题。例如时空兴趣点[10]、运动轨迹[11]等方法都对平移、外观变化等有很强的鲁棒性。
在计算出行为表示后,将所得特征向量输入到分类器中学习分类。分类器包含直接分类法[12]、序列法[13]、时空法[14]、基于部分法[15]、多元化学习法[16]等。
虽然全局特征和局部特征已得到显著的效果,但这些手工特征需要大量的先验知识来预定义参数,并且不能很好地在大型数据集上进行泛化。近年来,深度神经网络广泛应用在行为识别研究并取得巨大成功,基本分为基于双流网络、基于三维卷积网络和基于混合网络三类方法。
1.2.1 双流网络
光流[17]是描述物体或场景运动的有效运动表示。传统的手工特征[18]也包含类似光流的特征,如光流直方图和运动边界直方图都可以证明光流的有效性。
Simonyan等[19]首次提出了双流网络,包括空间流和时间流。其中空间流将原始RGB视频帧作为输入以捕获视觉外观信息,时间流将光流图像信息作为输入,以捕获视频帧之间的运动信息,最后融合两个分支的特征得到分类结果。
众多学者对双流网络中的融合方法展开讨论。其中一个关键问题是网络的融合,最简单和最直接的方法是后期融合[19],它是对来自两个流的预测分数进行加权平均。此外,Feichtenhofer 等[20]认为在模型学习过程中进行早期交互融合可得到更丰富的特征及更高的性能,并研究了如何进行空间融合、在何处融合网络,以及如何进行时间融合。该研究表明早期融合相比于后期融合可以得到更丰富的特征及更高的性能。另外,Feichtenhofer等[21]在文献[20]的基础上提出了SlowFast,示意图,如图4 所示。该网络结合人类视觉细胞的特性,其中快速路径保持时间保真度,而慢速路径可以更多地关注空间和语义信息,同时采用横向连接来融合每个路径所提取的特征。由于Fast路径计算量小,通道容量少,因此SlowFast的整体效率大大提高。
图4 快慢网络架构Fig.4 SlowFast network architecture
最近,针对现有行为识别方法中抗背景干扰能力差和准确率低等问题,雷永升等[22]提出了一种改进的双流视觉Transformer行为识别模型。该模型采用分段采样提高模型对长时间序列数据的处理能力,有助于更好地理解视频数据中的动态变化和连续性。此外,无参数的注意力模块可以降低背景动作的干扰,增强模型的特征表示能力,让模型更加专注于处理和学习数据的关键特征。当前主流2DCNN 无法提取输入帧之间的相关信息,导致网络无法获得输入帧间的时空特征信息进而难以提升识别精度。针对目前主流方法存在的问题,龚苏明等[23]提出了通用的时空特征金字塔模块(space-time feature pyramid module,STFPM)并嵌入到现有的CNN构成新的网络时空特征金字塔网络(space-time feature pyramid network,STFP-Net)。STFP-Net 用于提取多帧图像的原始特征,使用原始特征金字塔提取时序特征,最后将两类特征加权融合,这很大程度地提升了识别准确率。
1.2.2 3DCNN网络
在双流方法中,空间和时间信息总是分离的,这对于大规模训练或实时部署并不友好。随后,有学者提出了直接提取时空特征的三维卷积方法。Ji等[24]最早提出3D 卷积神经网络(3D convolutional neural network,3DCNN)进行行为识别。Tran 等[25]在3DCNN[24]的基础上进行扩展提出C3D(convolutional 3D)。该网络可看作是VGG16[26]网络的3D 版本,并表现出强大的泛化能力。为了更进一步提高泛化能力,Carreira等[27]提出I3D(inflated 3D ConvNet),其沿时间维度将网络膨胀为时空特征提取器。它适应了成熟的图像分类架构,以用于3DCNN,并且将ImageNet预训练的2D模型权重膨胀到3D模型中的相应权重。
为了降低3D 网络训练的复杂性,P3D(pseudo-3D ConvNet)[28]和R(2+1)D[29]利用因子分解的思想,使用一个2D空间卷积(1×3×3)和一个1D时间卷积(3×1×1)的组合来代替标准3D 卷积(3×3×3)。简化3DCNN 的另一种方法是在单个网络中混合2D 和3D 卷积[30-31],以生成信息更丰富的特征图。
考虑到网络无法捕获长时间的信息从而导致特征丢失,Wang等[32]提出了TSN(temporal segment network)。TSN能够建立长时间依赖,并采用稀疏采样策略降低了训练成本。此外,Wang等[33]引入了一种新的构件,称为non-local。non-local 是一种可即插即用的操作,类似于注意力[34]。最近,V4D[35]提出了视频级4DCNN,用4D卷积来模拟远程时空表示的演化。
还有一些研究人员不断探索优化网络结构以提升3DCNN的性能并减少参数量。知识蒸馏和注意力模块成为了研究热点。Stroud 等[36]构建了D3D(distilled 3D networks)。该网络通过知识蒸馏使双流3DCNN 的空间流分支拥有捕获光流信息的能力,并将双流网络融合为单流网络,这极大地强化了网络捕捉视频中的时空信息的能力。Jiang 等[37]和Kim 等[38]设计了不同的注意力模块,包括兼顾时空信息的高效注意力模块(efficient attention module,EAM)和聚焦视频动作的双注意力(double attention,DA),这些注意力模块可以鼓励网络聚焦于关键特征,进而提升行为识别能力。近年来,Fanany 等[39]提出了一种端到端多分辨率三维胶囊网络用于检测多人活动场景。该3D胶囊网络结合多重分辨率在不同的尺度上捕获的较低级别的特征,进而检测每个行为中多个演员的规模、尺度和纵横比。除此之外,Zhao 等[40]提出了一种三维卷积神经网络融合通道注意力(3D convolutional neural network fusing channel attention,3DCCA)模型。该模型提出了RGB 视频帧预处理的均值归一化方法,并使用通道注意力突出关键的时空特征。
总体而言,3DCNN 并不是取代双流网络,也不是互斥的,而是分别用不同的方式建立时间与空间特征的关系。
1.2.3 混合网络
另一种流行的行为识别方法是在卷积神经网络(convolutional neural network,CNN)上添加循环层以构建混合网络[41],如长短期记忆(long short-term memory,LSTM)、循环神经网络(recurrent neural network,RNN)。这种混合网络同时兼得了CNN 和LSTM 的优点,因此在提取空间维度特征及长时间特征依赖方面表现出巨大的优越性。
Donahue 等[41]探索了LSTM 在CNN 生成的空间特征上进行时间序列的建模,提出LRCN(long-term recurrent convolutional network)。Ng等[42]同样在CNN上使用LSTM并比较了在时间维度上6种类型的池化操作,包括慢池化和卷积池化。之后,He等[43]结合了卷积提取空间特征和LSTM提取时间信息的优点,提出了深度双向LSTM。该方法对长时间视频的处理效果较好,可以通过分析一定时间间隔的特征来处理长视频。之后Li等[44]提出VideoLSTM,其包括基于相关性的空间注意力机制和基于轻量级运动的注意力机制。Lattice LSTM[45]通过学习单个空间位置的存储单元的独立隐藏状态转变来扩展LSTM,从而可以准确地对长期和复杂的运动建模。
但由于LSTM 模块的结构问题,无法进行并行计算。Transformer[34]可以解决这个问题,是目前最流行的深度学习架构。Girdhar等[46]使用Transformer的架构来聚合上下文特征,并引入了注意力机制。Li等[47]提出了一种基于Transformer 的RGB-D 自我中心行为识别框架,该框架包括帧间注意编码器和相互注意融合块。
近年来,武东辉等[48]考虑到单一的CNN 缺乏有效的时序信息且单一的RNN 对局部信息捕获不完整,提出了融合注意力机制与时空网络的深度学习模型。该模型分别使用CNN 和LSTM 提取局部特征和时序信息,并结合注意力机制获取并优化最重要的特征,提升了识别准确率。针对传统算法不能有效抑制空间背景信息,网络间缺乏信息交互,以及无法对全局时间相关性进行建模的问题,余金锁等[49]提出一种基于分割注意力的特征融合卷积神经网络-双向长短时记忆网络算法。该方法主要通过注意力机制分割网络提取的图像特征,结合不同卷积层之间的信息交互,获取深度特征输入到双向长短时记忆网络中对时序信息建模。
现有方法虽然在精度上取得了一定的进步,但大多数混合算法的结构越来越复杂,网络层次也越来越深。Chen等[50]在从控制论的角度分析经典LSTM的结构后,提出了一种带有输入差分特征模块的LSTM结构,同时考虑了一阶和二阶微分对运动姿态信息提取的影响,即运动速度和加速度对动作识别的影响。此外,Le 等[51]提出了一种新的混合算法,该方法由SlowFast 模型[21]和BERT(bidirectional encoder representations from Transformers)[52]两个模型组成。前者用于提取时空特征,后者用于聚合时间关系,两者使用早期集成和晚期集成两种不同的融合方法依次堆叠,构建了一个强大的统一系统。
经过对双流网络、3DCNN 及混合网络具体特点的介绍,表1汇总了上述部分算法的相关工作与突出特点。
表1 基于RGB数据模态的深度学习算法对比分析Table 1 Comparative analysis of deep learning algorithms based on RGB data modality
相较于RGB 数据,骨骼数据对光照、视角、背景遮挡有更好的鲁棒性,能更好地避免噪声影响。且骨骼数据信息较为集中,大大减少了冗余信息的计算,从而使得基于骨骼的人体行为识别受到了研究者青睐。
随着Kinect、Orbbec Astra 等深度相机和传感器的开发,骨骼数据的获取变得容易,但骨骼数据的处理还依赖于Openpose、SDK(software development kit)等姿态评估算法的进一步研究。因此,本章系统地介绍了流行的姿态评估算法并从特征入手梳理基于骨骼的人体行为识别相关方法。
人体姿态估计旨在预测图像或视频中人体部位的姿态,通常,姿态估计分为单目标姿态估计和多目标姿态估计。
单目标姿态估计的图像里只有单个待检测目标。首先检测出目标的边界框图像,再检测出目标人体的所有关节点。一般分为两种:一种方法是直接从特征中回归关键点[53],称之为基于直接回归的框架,如DeepPose[54]、直接坐标回归方法解构式关键点回归[53]、自我修正模型[55]、结构感知回归方法[56],如图5 所示;另一种方法是先生成热图,并通过热图推断关键点位置,称之为基于热图的框架[57]。
图5 回归关键点示例图Fig.5 Example diagram of regression key points
与单目标姿态估计不同,多目标姿态估计包含检测和定位两个任务。根据检测步骤可将人体姿态估计方法分为自上而下方法和自下而上方法。前者首先采用目标检测算法获取图像中的多个主体,再对单个主体目标进行姿态估计。例如,G-RMI(global rigid motion invariant)[58]、Mask R-CNN(mask region-based convolutional neural network)[59]、AlphaPose[60]、HRNet(highresolution network)[61]、DNANet(de-normalized attention network)[62]。后者,首先检测出图像中的所有关节点,再通过相应策略将关节点聚类成人体,实现姿态估计。自底向上的方法摆脱了首先对个体进行检测的前提,例如,DeepCut[63]、OpenPose[64]、Lightweight OpenPose[65]、PiPaf[66]、HigherHRNet[67]。
Yang 等[68]提出了深度运动图(depth motion maps,DMM)。在DMM中首先从正视图、侧视图和俯视图投影并压缩运动数据分别得到三个运动历史图,然后用HOG特征进行特征表示。
一些学者提出了不同的骨架表示方法来提高算法的性能及效率。Vemulapalli 等[69]利用三维空间中的旋转和平移对不同身体部位的几何关系进行建模,他们用李群中的曲线来模拟运动。Su等[70]、李梦荷等[71]提取统计属性的特征,包括均值、方差和物理属性的特征如关节点的相对位置进行研究。
基于手工提取的特征可解释性强,模型简单易懂。但是手工特征往往不能完全地表征运动整体状态,而且依赖于研究者的先验知识,泛化能力较弱,不易推广。
近年来,将骨架数据与深度学习相结合的优势逐渐显露出来,主要分为基于RNN 的方法、基于CNN 的方法和基于GCN的方法。
2.3.1 基于RNN的方法
RNN 在实际训练过程中,如果序列过长会导致优化时梯度消失和梯度爆炸的问题。为了解决这一问题,Li 等[72]提出独立循环神经网络(independently recurrent neural network,IndRNN)。该网络通过时间调节梯度反向传播,并允许网络学习长期依赖关系。并且同一层中的神经元彼此独立且跨层连接,这可以解释每层神经元的行为。
LSTM 网络通过设计“循环体”克服了RNN 梯度消失和梯度爆炸的缺陷,且在时间序列特征提取方面具有很大的优势。Lee等[73]认为不同时间步长的LSTM网络可以很好地模拟不同的属性,提出了基于骨骼动作识别的集成时态滑动LSTM网络,该网络不仅考虑了长期特征,还加入了短期和中期特征。
当所有关节都作为输入时,不相关的关节作为噪声会降低网络性能,因此应更加关注有重要信息的关节。与其他人不同的是,Liu等[74]考虑到噪声数据的干扰,提出了具有循环注意机制的全局上下文感知注意LSTM(global context-aware attention LSTM networks,GCALSTM)。该方法通过使用全局上下文记忆单元,能够选择性地关注每帧中的信息关节。同时,他们还引入了粗粒度注意力和细粒度注意力的双流框架,提高了网络的注意性能。
共现特征结合了不同维度的特征,并增强网络特征的表达能力。Zhu等[75]引入了一种正则化方法来研究骨架的共现特征。同样,Si等[76]增加了一种注意力机制来增强关键关节的信息,并提出了注意力增强图卷积LSTM网络(attention enhanced graph convolutional LSTM network,AGC-LSTM),它可以挖掘时空域的共现特征;还提出了一种时间层次结构,如图6 所示,增加AGC-LSTM 层的时间感受域,增强了高级语义表示能力,显著降低了计算成本。Zheng 等[77]提出了一种注意循环关系网络(attention recurrent relational network,ARRN-LSTM)。它可以同时模块化空间布局和时间运动特征。
图6 一个AGC-LSTM层的结构Fig.6 Structure of an AGC-LSTM layer
最近,高治军等[78]专注于研究人体危险行为识别算法,将CNN 网络和LSTM 网络并联提出了一种基于CNN-LSTM的双流卷积危险行为识别模型。该模型同时提取静态特征和动态特征,充分挖掘了时空特征并提升了危险动作识别的准确率,有效地对危险动作做出分类识别。
2.3.2 基于CNN的方法
与RNN 不同的是,CNN 模型对高级信息的提取能力很强,并且可以轻松、高效地对高级语义信息进行学习,在基于骨骼的行为识别中被广泛应用。
为了满足CNN模型的输入需要将三维骨架序列数据从矢量序列转换为伪图像,然后提取伪图像的特征。Du 等[79]利用空间关系提出了一种端到端的层次结构,将3D 骨架坐标表示为序列,然后将其按时间连接起来。最后,生成图像并输入CNN 进行特征提取和识别。在文献[79]工作之后,Ke等[80]提出了一种改进的骨架序列表示方法,其中3D坐标被分离成三个灰度图像,然后分别输入深度CNN 学习。受到基于RGB 的双流CNN[19]启发,Li 等[81]提出了一个基于骨骼的双流CNN,其中一个流的输入是原始骨骼坐标,另一个流的输入是连续两帧间的关节坐标差。
上述方法处理复杂,容易丢失重要信息。为了克服这一缺点,Caetano 等[82]定义了一种新的骨骼图像表示方法命名为SkeleMotion,以此作为神经网络的输入。然后,Caetano等[83]做了进一步研究,使输入不再局限于骨骼的坐标。该研究引入了树结构参考关节图像(tree structure reference joint image,TSRJI)作为骨架表示,并将参考关节和树结构骨架结合使用,避免了卷积神经网络对骨架结构的忽视。
最近,Duan等[84]开发了一种新的基于骨骼的动作识别框架PoseConv3D,如图7 所示。与基于GCN 的方法相比,PoseConv3D在学习时空特征方面更有效,对姿态估计噪声的抗噪性更强,在跨数据集设置中泛化效果更好。此外,PoseConv3D 可以处理多人场景而无需额外的计算成本。由于大多模型没有充分挖掘骨骼序列所蕴含的几何特征,为了弥补这方面的不足,陈泯融等[85]提出多流融合网络模型(multi-scale convolutional neural network,MS-CNN)。该网络新增了一种几何特征输入,这使得模型可以更加健全地学习全局运动信息,提升模型的识别准确率。
图7 PoseConv3D网络架构Fig.7 PoseConv3D network architecture
2.3.3 基于GCN的方法
CNN 和RNN 只能学习排列规则的欧式数据,而不能直接处理非欧式数据。出于挖掘图数据的需求,Bruna等[86]通过在图数据上扩展CNN,提出GCN。人体骨骼数据可视为由关节点和骨骼边组成的非欧式的图数据,采用GCN 能够直接对图数据进行学习。一般来说,GCN主要有两大分支:光谱GCN和空间GCN。
光谱GCN利用图拉普拉斯矩阵的特征值和特征向量将图从时域变换到频域[87],但是计算量巨大。此外,Kipf 等[88]通过限制滤波器在每个节点周围的一个邻居上运行,优化了光谱GCN 方法。近年来,Mazari 等[89]提出了一种新的光谱多拉普拉斯图卷积网络(multi-Laplacian graph convolutional network,MLGCN)来学习用作其他基本拉普拉斯凸组合的图拉普拉斯。尽管光谱GCN在动作识别任务中已显示出其有效性,但由于计算成本昂贵,难以捕获图的高级信息[90]。
与光谱GCN相比,空间GCN具有更低的计算成本和更好的性能。因此,目前基于GCN 的人体动作识别方法大多集中在空间GCN中。
Yan等[91]首次提出了一种基于骨架行为识别的时空图卷积网络(spatio-temporal graph convolutional network,ST-GCN)模型。如图8所示,该网络首先将人的关节作为时空图的顶点,将人体连通性和时间作为图的边;然后使用标准softmax 分类器[92]将ST-GCN 上获取的高级特征图划分为对应的类别。
图8 时空图卷积网络(ST-GCN)模型结构Fig.8 Spatio-temporal graph convolution network(ST-GCN)model architecture
由于图网络每一层的参数都是固定的,这在一定程度上失去了行为识别的灵活性。为了解决这一问题,Shi等[93]提出了一种可以自学习参数的双流自适应图卷积网络,如图9所示。该网络可以在网络训练中自适应地学习不同GCN层的参数和拓扑图的结构。同时引入注意机制及骨骼的高阶信息,使网络更具鲁棒性并提高了准确率。Shiraki 等[94]考虑到关节的重要性对于每个行为都是不同的,提出了时空注意图卷积网络(spatiotemporal attention graph convolutional network,STAGCN)。STA-GCN 是第一个同时考虑关节重要性和相互关系的方法。受此启发,一些研究人员着手研究在GCN添加注意力[95-96]。
图9 双流自适应图卷积网络架构Fig.9 Two-stream adaptive graph convolutional network architecture
一些研究集中在改进GCN的模型。例如,shift-GCN中新颖的移位图操作使时空图的接受域更加灵活,轻量级的点卷积有助于减少特征通道的数量。ResGCN[97]是具有bottleneck瓶颈结构和部分注意力块的残差图卷积网络的算法,该算法使图卷积网络更强大、更快、更易于解释行为识别。
受到人类骨骼是多个身体部位组合的想法的启发,Thakkar等[98]和Li等[99]提出了不同的分割身体部位的方法,将骨架图划分为4 个节点共享的子图,利用基于局部的图卷积网络学习识别模型。
现有的方法在处理骨骼节点长距离多维依赖关系方面存在一定的不足,同时时间特征提取能力也相对较弱。针对这些问题,曹毅等[100]提出了一种超连接图卷积网络(hyper-connected graph convolutional network,HC-GCN)。其中,超连接强化了骨骼节点之间的长距离多维依赖关系建模,使得信息的传递和交互更加高效。此外,超连接和时间感知模块可以提升模型识别的准确率和泛化能力。通过HC-GCN的推广应用,为基于骨骼行为识别技术的发展带来新的突破。
然而,大多数GCN模型只能聚合节点信息,忽略了中心节点与相邻节点的特征差异。基于多感受野注意力机制的中心差分自适应图卷积网络模型[101]引入了中心节点梯度特征聚合机制,从而在全局范围内聚合所有节点的梯度特征。这种机制可以捕获骨骼序列中节点之间复杂而微妙的相互作用关系,并提取关键的动态特征,极大程度地提高了模型的性能。
总的来说,基于骨骼数据的算法在鲁棒性、高效性上均表现突出,下面汇总了基于RNN、CNN、GCN 的部分算法的相关工作及突出特点,如表2所示。
随着人体行为识别领域的不断深入研究,用于评估和检测算法性能的公开数据集不断涌现。按照数据集的数据类型可将其划分为RGB数据集和骨骼数据集。
本节将介绍基于RGB的行为识别常用数据集。表3列出了一些常用的RGB 数据集的基本参数信息,包括发布年份、视频数量和行为标签数等[102-110]。
表3 RGB数据集Table 3 RGB datasets
HMDB51[102]数据集总共有大约7 000 个视频片段,分为51个动作类别。每个类别至少包含101个视频片段。
UCF101[103]数据集共有13 320 个视频数,分为101个动作类别。
Sports-1M[104]数据集共有1 133 158 个视频数,分为487类行为,平均每个类别包含1 000~3 000个视频片段。
ActivityNet[105]数据集于2015年推出。最新的ActivityNet 200(V1.3)包含28 000个视频数,分为203个人类日常生活行为类别。
Kinetics 包含一系列数据集,包括Kinetics-400[111]、Kinetics-600[106]、Kinetics-700[112]、AVA Kinetics[113]和Kinetics700-2020[114]。根据数据集的版本,涵盖400/600/700 个行为的类别。与图像识别中的ImageNet 一样,它是动作识别中的一个重要基准。
Moments in time[107]是一个用于动作理解的大规模视频数据集。它包含超过100 万个视频数,分为339 个行为类别。视频中的元素包括人、动物、物体或自然现象。该数据集致力于构建能够抽象和推理复杂人体行为的模型。
HACS[108]数据集是2019 年从在线视频中收集的一个新的大规模数据集。HACS 包含5.04×105个未修剪视频数,其中有1.5×106个带注释的视频,涵盖200个行为类别。
HVU[109]数据集于2020 年发布,共572 000 个视频数,分为3 142个类别。视频的持续时间各不相同,最长为10秒。
AViD[110]数据集于2020 年引入,它收集了来自不同国家的匿名视频并构成了一个大型视频数据集,包含4.67×105个视频数,分为887 个动作类,每个视频的持续时间在3~15秒之间。
本节介绍了常用的骨骼数据集。表4 列出了一些流行的骨骼数据集的基本参数信息,包括发布年份、传感器类型、主体数量、行为标签数量和数据模态等。
表4 骨骼数据集Table 4 Skeleton datasets
CAD-120[115]数据集共包含120个人-物互动的视频,分为20 类行为。每个视频标注了人体骨骼轨迹、物体轨迹、物体标签、子活动标签和每个视频的高级行为。
UWA3D Multiview[116]数据集由Kinect 拍摄,包含10名参与者的30项不同规模的日常室内活动。
NTU RGB+D[117]数据集创建于2016年,由3台Kinect V2摄像机拍摄,包含56 880个视频样本,并分为60个行为。每个样本都包含RGB视频、深度图序列、3D骨架和红外视频。
Kinetics-Skeleton[111]数据集利用Openpose的姿态评估算法获取了Kinetics-400 中视频的所有关键骨骼节点,创建了Kinetics-Skeleton。该数据集包含近30 万个视频数,分为400个行为类。
SYSU[118]是一个由40 个参与者执行的人-物交互数据集,共包含480个视频数,分为12项不同的活动,其中每个参与者操作6个不同物品(电话、椅子、袋子、钱包、拖把和扫帚)中的一个。每个视频剪辑都包含RGB 数据、深度序列和骨架数据。
UW-IOM[119]数据集使用Xbox One的Kinect传感器以平均每秒12 帧的速度录制。该数据集由18~25 岁的20 名参与者完成录制,每个视频的持续时间约为3 分钟,共有17个行为类别。
NTU RGB+D 120[120]数据集在NTU RGB+D 的基础上增加了60个类别和57 600个额外的视频样本。数据类型和摄像机与NTU RGB+D相同。数据集包括82个日常活动,12个与健康有关的活动,以及26个交互活动,共120个行为类别。
HiEve[121]数据集侧重对各种人群和复杂事件进行分析,包含9 个不同的场景。该数据集共32 个视频序列,分为14个类别,大多超过900帧,总长度33分18秒。
评价指标可以衡量模型的性能,反映模型当前存在的问题,也是衡量模型泛化能力的数值评价标准。
(1)准确率
准确率是一种常用的评价指标,它的计算方法为正确分类的样本数除以所有样本数的总和,即:
其中,m为样本数,f(xi)为预测类别,yi是真实类别。当它的值越大,模型表现越好。错误率与准确率相反,描述了分类器误分类的比例,计算方法为:
(2)平均精度
平均精度(mean average precision,mAP)是目标检测任务中常用的算法评估标准,它综合考虑了精确率(precision)和召回率(recall)两个指标。精确率衡量了模型在预测为正类的样本中的准确性,即模型预测为正类的样本有多少是真正的正类。召回率衡量了模型对正类样本的覆盖程度,即模型能够正确检测到多少正类样本。mAP通过计算不同置信度阈值下的精确率和召回率,并计算其曲线下的面积来量化算法的性能。其具体计算公式为:
其中,TP 表示模型正确预测为正类的样本数,FP 表示模型错误预测为正类的样本数,FN 表示模型错误预测为负类的样本数。
根据不同置信度下的精确率和召回率绘制精确率-召回率曲线(PR 曲线),对于每个类别,计算PR 曲线下的面积(area under curve,AUC)作为该类别的平均精确率(average precision,AP)。最后对所有类别的AP进行求平均,得到mAP。其计算公式如下:
其中,n为类别数。
基于RGB 数据模态的算法评估中,使用最广泛的两个数据集是HMDB51和UCF101。目前,虽然已经开发了数据量更大的新数据集,但是UCF101的数据类别丰富、背景复杂、相机运动幅度较大,十分具有挑战性。同时,表5统计了部分基于RGB数据的深度学习算法在不同数据集下的精确率对比。由表可知,深度学习中由于各种网络架构差异性较大,在HMDB51数据集上,各模型准确率介于41.3%~81.2%,在UCF101 数据集上各模型准确率介于62.9%~97.6%。
表5 部分基于RGB数据的深度学习算法性能对比Table 5 Performance comparison of some deep learning algorithms based on RGB data
基于骨骼模态的算法评估中,NTU RGB+D和NTU RGB+D 120 为最常用的评估数据集,前者根据设置不同划分为X-Sub和X-View 两类数据集;后者根据设置不同划分为X-Sub和X-Set两类数据集。表6统计了部分基于骨骼数据的深度学习算法在不同数据集下的精确率对比。总体而言,NTU RGB+D中X-View数据集较为简单,各模型准确率在76.7%~97.1%。而Kinetics数据集分类较多,挑战性极大,现有模型的准确率在30.7%~47.7%。
表6 部分基于骨骼数据的深度学习算法性能对比Table 6 Performance comparison of some deep learning algorithms based on skeleton data
尽管人体行为识别研究已经取得很大的进展,但还面临众多挑战。
RGB 数据的获取相对容易且成本较低,但基于RGB 数据模态的行为识别会受到周围环境的影响,如相机的运动、光照、动态背景等。对于数据集本身而言,其存在分布不均匀、规模较小等现象,这使深度神经网络的训练学习更加具有挑战性。
骨骼数据在采集过程中依赖于深度相机及传感器等硬件设备的发展,还会受到复杂环境等因素影响,这些都影响了骨骼数据获取的准确性。在实际的应用场景,往往需要将RGB 数据和骨骼数据进行多模态数据融合处理。然而,不同数据模态一般具有不同的时间及空间分辨率,可能导致融合过程存在矛盾并出现数据不一致的情况,这会增加多模态数据处理的成本。
此外,由于大部分骨骼数据集给出的关节点比较宏观,来自身体关节尺度的特征对于准确识别细微动作来说不够充分。因此,在不丢失全局特征的情况下增强局部特征的提取是必不可少的。
综合基于RGB和基于骨骼的人体行为识别研究现状及存在问题,提出如下几点展望。
(1)数据集的进一步开发
对于深度学习来说,数据与模型开发同等重要。然而受到现实环境及数据集规模等因素影响,仍然很难推广到现实场景中。此外,还存在地区限制和隐私问题,如YouTube数据集管理器通常只发布ID或视频链接供用户下载,而不是实际的视频。这些挑战促进了新的数据集的开发。
(2)数据增强
深度神经网络出色的表现力严重依赖于数据集的丰富多样性。在行为识别领域的标准数据增强技术包括水平翻转、裁剪子片段或者拼接视频[122-124]。然而,生成的视频不太真实。Zhang 等[125]进一步使用GAN 合成新样本,并使用“self-paced selection”进行训练。Gowda等[126]提出Learn2Augment,它选择前景和背景视频的视频合成作为数据增强过程,可以产生多样化和真实的新样本,是一种解决有限数据问题的数据空间方案。
(3)模型改进
目前无论是基于RGB还是基于骨骼的行为识别方法,都依赖于深度架构的不断改进。模型改进大概分为以下两方面:
长时间依赖建模。长时间相关性表征了在长序列中发生的动作的顺序,这与大脑的存储相似。也就是说相邻的时间特征之间存在极强的相关性,在空间建模的同时也要注重时间维度的建模。
高效建模。现有的大多方法面临参数量巨大、无法达到实时性和模型复杂等挑战,因此开发一个高效的网络架构是十分必要的。可以借鉴图像分类中提出高效的方法,例如模型压缩、模型量化、模型修剪、分布式训练[127-128]、移动网络[129-130]、混合精度训练等。
(4)多模态融合
多模态数据提供了比单模态数据更丰富的信息。多模态视频理解主要分为两类:一种是使用多模态信息如场景、对象、运动和音频来丰富视频表示[131-132];另一种方法是设计一种可利用多模态信息作为预训练模型监督信号的模型[133-135]。但目前大多数方法将不同模态的数据融合为单独的通道,然后在分类阶段将它们组合起来,而没有充分利用它们的互补特性。有效地并行集成深度网络对不同模态的特性将是一个有潜力的研究领域。同时,多模态信息的使用也有助于减少单模态数据的噪声。因此,未来的研究方向可以集中于整合多模态信息,并结合周边环境的语境信息。不同的行为分类方法采用不同的融合方案,因此在未来的研究中,研究人员可以比较这些融合方案,以找到最佳的融合策略。
(5)行为预测
行为预测任务大致可分为两类:短期预测和长期预测。短期预测侧重于通常持续数秒的短时间动作视频,该任务的目标是根据时间上不完整的动作视频推断动作标签。长期预测是根据当前观察到的人类行为推断出未来的行为,它旨在为动作过渡建模,因此专注于持续数分钟的长时间视频。这一研究仍有尚未探究的方向,例如,时间范围的可解释性、如何建模长时间相关性,以及如何利用多模态数据来丰富预测模型。
首先,系统地归纳和总结了基于RGB 和基于骨骼的人体行为识别的方法,并对各种方法的优缺点进行了相关的分析和讨论。此外,还介绍了现有的流行的人体行为数据集,包括RGB数据集和骨骼数据集。最后,分析了人体行为识别领域这一任务目前面临的问题与挑战,阐述了行为识别领域的前景和研究方向。