APP下载

基于多模态特征学习的人体行为识别方法①

2021-04-23周雪雪雷景生卓佳宁

计算机系统应用 2021年4期
关键词:模态卷积时空

周雪雪,雷景生,卓佳宁

(上海电力大学 计算机科学与技术学院,上海 200090)

近年来,随着计算机视觉技术的不断发展,人体行为识别逐渐成为一个重要的研究领域,在视频监控、医疗看护、游戏应用与人机交互等方面有着广泛的应用[1].目前,人类行为主要可以基于RGB 视频[2,3],深度图[4,5]和3D 骨架[6,7]等3 种模态的特征进行识别.

尽管基于每种特征的识别技术发展迅速并取得了很多成果,当前仍然存在以下几个问题:(1)现有的人体识别算法大多是基于单一模态特征进行识别的.(2)基于RGB 视频的行为识别容易受到遮挡、环境变化或阴影的干扰;深度图中颜色和纹理的缺失容易导致相关模型识别率较低;3D 骨架由于角度、姿势以及关节点数有限等原因,容易导致动作被错检或漏检.(3)视频中存在大量与行为识别无关的画面,这些信息会降低算法的准确度.针对以上情况,本文融合RGB视频和3D 骨架两种行为信息的特征,充分利用两者的优势,同时引用注意力机制来研究行为识别.

对于RGB 视频行为特征,前人提出了一些经典的识别模型.Tran 等[8]采用3D 卷积和3D 池化构建了三维卷积神经网络(3D CNN),它可以同时提取视频行为的外观和运动特征,而且结构简单,运行速度较大多行为识别算法更快,并在UCF101 等公开数据集上取得了不错的效果.然而,3D CNN 也存在一定的技术缺陷:(1)网络的训练及测试均要求输入尺寸和比例固定的视频帧.当输入任意大小的视频时,3D CNN 会对其进行裁剪或缩放以产生固定大小的输入样本,而这种操作会导致信息丢失或扭曲,从而影响特征的提取,如图1所示.(2)网络每次只能接收7 帧输入.3D CNN 将连续的视频分割成多个长度为7 帧的片段,降低了动作识别的连续性,具有一定的局限.

图1 将视频帧裁剪或缩放后导致关键信息丢失

如今,He 等[9]提出的空间金字塔池化网络(SPPnet)已经成功解决了深度神经网络中输入数据维度固定的问题,并在目标分类、目标检测等领域取得了良好的效果.本文将空间金字塔池化扩展为时空金字塔池化(STPP),并将其应用在3D CNN中,使得任意尺寸的视频都可以直接输入网络,并产生固定大小的输出.此外,LSTM 因其对长短时特征的记忆功能而被广泛应用于视频识别中,由于3D CNN 不能充分提取长时序的时间特征,本文采用添加时空注意力机制[10]的LSTM 来进一步获取长时序视频帧的时间信息,并自适应地分配不同注意力的权重,感知关键帧信息,最终得到更为完整的动态行为.

基于骨架的行为识别方面,本文采用Yan 等[11]提出的时空图卷积网络提取骨骼特征.在骨骼序列上构建时空图,通过对其应用多层时空图卷积操作,逐渐在图像上生成高级的骨骼特征.最后,本文将第1 层通道C3DP-LA 提取到的RGB 视频特征和第2 层通道ST-GCN 提取到的骨骼特征进行早期融合,充分学习不同类型特征的优点,并用标准的Softmax 分类器完成动作识别.

本文的贡献:(1)考虑到单一模态的特征各有不足,本文提出一种双流行为识别框架,先分别提取两种不同类型的特征,再将其融合,利用两者的互补性综合表征人体行为.(2)为了能够处理任意大小和长度的RGB视频,本文在3D CNN中接入时空金字塔池化,然后连接LSTM 学习时间特征.(3)为了增强关键特征,提高算法精度,本文在LSTM 模块加入时空注意力机制.(4)本文的方法在NTU RGB+D 数据集上优于现有的一些算法,在基于单一特征和融合特征两类识别方法中表现出良好的识别效果.

1 相关工作

人体行为识别是计算机视觉领域中的一个热门研究课题.目前,针对动作识别的研究大多是基于单一模态开展的,例如,Simonyan 等[12]提出的首个双流卷积网络框架,采用两个分支CNN 分别对RGB 视频的静态帧图像和动态光流进行特征提取,以获得空间和时间信息,最后用SVM 将两种信息进行融合分类,完成动作的识别.Chen 等[13]提出基于深度图的行为识别算法DMMs,利用深度图投影之间的绝对差形成一个DMM,然后应用带有距离加权的正则协同分类器识别动作.Lee 等[14]提出基于骨架进行动作识别的时间滑动LSTM (TS-LSTM)网络,依靠多个LSTM的集合捕获人体行为的短期、中期和长期运动特性,有效地学习时间和空间特征,增加对动态时间变化的鲁棒性.这些方法可以正确识别一些动作,但单一模态的特征难以准确、全面地表达复杂的人体动作.为了解决这一问题,一些研究者尝试将不同模态的特征融合起来,利用其互补性达到更好的识别效果.

Chaaraoui 等[15]提出一种二维形状的人体姿态估计与骨骼特征相结合的方法,通过将有效的2D 轮廓和3D 骨骼特征融合获取具有较高鉴别价值的视觉特征,同时利用轮廓提供的额外判别数据,提高人体行为识别误差的鲁棒性.Sanchez-Riera 等[16]针对手势识别和通用对象识别,将RGB 特征与深度特征融合起来,并评估早期和晚期融合两种方案,结果表明,两种特征的早期融合相比于晚期融合和单一特征具有更有效的行为表达能力.Li 等[17]提出了多特征稀疏融合模型,分别从骨架和深度数据中提取人体部位的多个特征,并利用稀疏正则化技术自动识别关键部分的特征结构,由此学习到的加权特征对于多任务分类更具鉴别性.Chen 等[18]基于深度相机和惯性体传感器,分别提取人体行为的深度图像特征和RGB 视频特征,并评估特征级融合和决策级融合两种识别框架.

上述多特征融合模型由于从所选模态中提取的时间或空间特征不够显著,识别准确度仍然有所欠缺.考虑到深度图像色彩、纹理等重要信息的缺失可能导致模型混淆分类,本文从RGB 视频和3D 骨骼两种模态中提取特征,将其融合,利用两种特征的优势进行动作分类.

2 算法框架

本文基于多模态特征融合的行为识别算法框架如图2所示.模型在行为特征的提取阶段主要包含两层:C3DP-LA 网络和ST-GCN 网络,其中C3DP-LA 网络由改进3D CNN和包含时空注意力机制的LSTM 模型组成.输入一段视频,我们可以得到行为样本的RGB视频序列和3D 骨骼序列.在C3DP-LA 网络中,添加时空金字塔池化的3D CNN 可以自动处理任意尺寸大小的RGB 视频帧序列,快速卷积得到初步的时空特征,紧接着的LSTM 模块凭借其记忆功能将当前甚至更早时刻的信息传递给下一刻使用,进一步提取时间特征,同时采用时空注意力机制增强关键信息,得到最终的RGB 视频特征.ST-GCN 网络通过在骨骼序列上构建时空图并对其应用多层时空图卷积操作,生成更高级的骨骼特征.最后,将提取到的两种模态特征融合,采用标准的Softmax 对融合特征向量做出动作分类预测.下面详细介绍了算法中的每个模块.

图2 基于多模态特征学习的人体行为识别模型

2.1 改进3D CNN 结构

3D 卷积网络与2D 卷积网络相比,可以同时捕捉目标的外观和运动信息,具有更好的行为识别性能,且其结构比目前许多行为识别模型都简单,具有较快的运行速度.该模型将多个连续帧堆叠形成立方体,每帧中生成多个通道信息,采用不同的核对连续帧的每一个通道做3D 卷积,这样得到的特征图连接到了多个邻近帧,从而在提取空间信息的同时获得时间信息.最终将所有通道上的信息结合计算得到多种类型的特征.

3D CNN 结构包括1个硬线层、3个卷积层和2个下采样层,网络以尺寸为60×40的连续7 帧图像作为输入.硬线层从每帧图像中提取灰度、横坐标梯度x、纵坐标梯度y、光流x、光流y这5个通道信息,生成33个特征图;C2 卷积层采用两种不同的3D 核对上一层输出的5个通道信息分别进行卷积操作,C4 卷积层则采用3 种不同的卷积核分别对特征图进行卷积操作,从而得到更多的、兼具空间和时间两种维度的特征图;降采样层S3和S5 分别采用大小为2×2和3×3的滑动窗口对上一层得到的每个特征图进行下采样,保持特征图数量不变的同时减少空间上的分辨率;最后一个卷积层C6 对每个特征图采用7×4的2D 核进行卷积操作,得到128个特征图,即输入帧中动作信息的128D 特征向量,并送入全连接层做动作识别.

然而,3D CNN中全连接层的长度大小是事先定义好的,这就要求网络的训练及测试都需要输入尺寸和比例固定的视频帧.当输入任意大小的视频时,3D CNN 会对帧图像进行裁剪或缩放以产生固定大小的输入样本,而这样操作很可能会导致重要信息丢失、扭曲,从而影响特征的提取.为了对任意尺寸的视频帧做更全面的处理,本文用时空金字塔池化层替换掉3D CNN中最后一个池化层,来接收大小不同的输入并将其转化为固定长度的特征向量,同时提取更多不同时间角度的特征.

由于卷积层可以接收任意大小的输入,并随之产生不同大小的输出.给定一段任意尺寸的RGB 视频序列作为3D CNN的输入,经过前期的3D 卷积和普通下采样后,假设最后一个卷积层的特征映射尺寸为T×W×H,其中T为池化立方体的时间,H和W是帧的高度和宽度.不同于3D CNN中使用的常规滑动窗口池化,STPP在给定池化层产生的特征数量后,会动态地调节滑动窗口的大小.具体来说,我们将P(pt,ps)表示为时空池化级,其中pt是时间池化级,ps是空间池化级,因此,每个池化立方体的大小为当ps=4,2,1且pt=1 时,大小不同的卷积输出就可转化为维度固定的特征向量,输入全连接层.其中,每个时空池化立方体均对响应值采用最大池化.这样,配置了STPP的改进3D CNN 就可以适应任意尺寸或比例的视频帧,并支持对帧尺度的任意缩放.

2.2 基于时空注意力机制的LSTM 模型

不同视频的长度不一定相同,视频中每个动作的时间长度也是不一样的,因为任何动作的发生都是一个动态的过程,单纯的一帧视频图像或者连续几帧形成的片段常常不能在时间上表达出完整的动作.然而,3D CNN 只能接受长度固定(7 帧)的视频输入,这导致任意长度视频的行为识别精度变低.为了更充分地提取动作的连续特征,本文在改进3D CNN 后连接LSTM模型进一步识别人体行为.

LSTM 对输入或输出的长度没有固定限制,这有利于捕捉任意长度数据的动作特征;且作为循环神经网络的变体,它不仅解决了RNN 梯度爆炸的问题,还对长期时间依赖关系具有很好的建模能力.LSTM 模块连接在改进3D CNN的全连接层后,根据其特定的学习机制,可以通过内部的门控单元对输入的数据选择性遗忘、记忆或更新,获得可变长度的连续动作序列特征之间的关系.此外,由于时空注意力机制(Spatial-Temporal Attention,ST-Att)可以同时捕捉行为特征的空间相关性和动态时间相关性,本文在LSTM 模型中加入ST-Att,以筛选出权重较大的值,增强关键特征,获得更复杂的时空线索.其单元结构如图3所示.

图3 包含时空注意力机制的LSTM 模型

在基本的LSTM 单元中,it、ft、ot分别代表3个门:输入门,遗忘门和输出门.it根据传入信息选择性地更新细胞状态;ft负责对细胞状态中的信息选择性记忆或遗忘;ot控制的输出会对其他神经元产生一定的影响.ct、、htct、、ht则分别代表记忆细胞状态、LSTM 原始单元的输出和添加注意力后的输出.xt代表行为视频经过改进3D CNN 后得到的一系列特征,具体计算公式如下:

其中,σ (·)表示取值范围为(0,1)的Sigmoid 非线性激活函数,t anh(·)表示取值范围为(−1,1)的tangent 非线性激活函,⊙表示哈达玛积,Wij表示对应的权重矩阵,bj代表偏差,表示隐藏状态,gt表示记忆调制状态,fatt(·)表示能够自适应感知关键帧特征的注意力机制.为了在加强关键帧信息的情况下不丢失非聚焦信息,最 终以与的和作为输出,保持时空特征的完整性.

2.3 时空图卷积网络

骨架序列能够有效地代表人体行为的动态,目前,我们已经可以通过Kinect和先进的人体姿态估计算法获得完整的3D 骨架序列.为了得到更加丰富的行为特征,进一步提高动作识别精度,本文采用ST-GCN 作为基于骨架识别动作的通道模型.ST-GCN是由图卷积网络扩展的时空图模型,是用于行为识别的骨骼序列通用表示,它不仅拥有很强的表达能力和很高的性能,而且易于在不同环境中推广.

首先,对于具有T帧和N个节点的骨架序列,构造表示该信息的时空图G=(V,E),图中的节点集V={vti|t=1,···,T;i=1,···,N}表示骨骼序列中所有关节点,每个节点都对应人体该处的关节,其中第t帧的第i个节点的特征向量F(vti)由该节点的坐标向量和估计置信度组成.这个图结构包括两种边:一种是根据人体结构,将每帧中的节点自然连接起来的空间边;另一种是将连续两帧中相同关节点连接起来的时间边.然后,以构造的骨架图中关节点的坐标向量作为ST-GCN的输入,对其应用多层时空图卷积操作,图卷积后各关节的输出特征是由采样函数定义的邻域内关节特征的加权和,最终得到人体行为视频的3D 骨架特征图.

2.4 特征融合

对于行为识别,RGB 视频模态具有丰富的颜色和纹理信息,3D 骨骼模态不容易受到光照、遮挡、衣着等不利因素的影响,本文考虑到特征融合的互补性优势,提出基于上述两种模态特征的人体行为识别方法.根据融合发生的时间,特征融合通常可分为:早期融合、晚期融合和双向融合.早期融合是指在进行识别之前将多种不同的特征融合,其优势在于特征融合模块是独立于后期其他模型的.因此,本文采用早期融合策略,将RGB 视频和3D 骨骼这两种类型的特征归一化后拼接起来,生成新的混合特征向量,并应用Softmax分类器对得到的融合特征进行动作分类.融合后的特征可以使RGB 视频与3D 骨骼模态相辅相成,优势互补,从而传达重要的行为信息.

3 实验

3.1 数据集和评价标准

本文实验所用到的数据集为UCF101[19]和NTU RGB+D[20].UCF101 包含13320个视频,视频主要来源于YouTube 等网站,空间分辨率为320×240.该数据集共101个行为类别,主要分为人和物体交互、只有肢体动作、人与人交互、玩音乐器材、各类运动五大类.本文选取9320个视频用于训练,剩下的4000个视频用于测试.NTU RGB+D 包含56880个视频样本,视频由3个Microsoft Kinect v2 相机同时记录在不同水平视图下40个人的行为.该数据集共有60个动作类别,每个样本都包括RGB 视频、深度图序列、3D 骨架数据和红外视频4 种形式,RGB 视频的分辨率为1920×1080,深度图和红外视频均为512×424,3D 骨架数据包含每帧25个主要身体关节的三维位置.本文选用40880个视频作为训练集,剩下16000个视频作为测试集.

算法的评价标准为行为识别的准确率,准确率取每个类别准确率的平均值.

3.2 训练细节

本文实验选择Linux 操作系统和PyTorch 深度学习框架.首先,UCF101 数据集与NTU RGB+D 数据集相比明显较小,为了提高模型的泛化能力,并且防止在UCF101 上训练时出现过拟合现象,本文对该数据集的视频做数据增广处理,将样本扩充为原来的5 倍.其次,为了减少视频长度对训练精度的影响,统一将每个视频插值化处理为32 帧.由于本文在3D CNN中添加的STPP 可以接受任意尺寸的输入,因此不需要对两个数据集中视频的分辨率大小进行调整.最后,在特征融合阶段,通过实验对比两种特征各占的权重,选用1:1.2作为RGB 特征和骨骼特征的权重.

训练时,参考随机梯度下降算法中的参数,将批处理大小设为128,动量设为0.9.将初始学习率设置为0.001,经过15000 次迭代后缩小0.1,最大迭代次数为25000 次.

3.3 实验结果与分析

本文的关键点主要在于:(1)在3D CNN中添加STPP;(2)在提取RGB 视频特征的通道加入包含时空注意力机制的LSTM;(3)将RGB 特征与骨骼特征融合.下面分别评估前两个模块对识别性能的影响,并将最终识别模型与现有的流行方法做对比分析.本文选用UCF101 数据集,添加各模块后的识别性能如表1.

3.3.1 RGB 通道的模块分析(1)添加STPP的效果

带有STPP的改进3D CNN 支持不同尺寸的视频输入而原始3D CNN 不能,因此,本文在UCF101 数据集上用多尺寸视频训练该模块,用固定尺寸的视频训练3D CNN.由表1可知,多尺寸训练的改进3D CNN比单尺寸训练的原始3D CNN 效果要好,识别精度提升了2.4%,这是因为多尺寸训练可以防止网络陷入过拟合.

(2)添加基于时空注意力的LSTM的效果

由表1给出的在UCF101 数据集上LSTM和时空注意力机制对视频行为的识别效果,改进3D CNN 连接LSTM 模型后的识别准确度有所提升;进一步添加了时空注意力机制后,性能优化更加明显,准确度提高了4.5%,这是因为时空注意力机制可以有效地增强关键特征,筛选出更复杂的时空信息,从而提高模型的表达能力.

表1 添加模块对识别性能的影响

3.3.2 方法对比

将C3DP-LA和ST-GCN 两个特征提取网络进行早期融合形成最终的识别模型,为了评估模型性能,本文将其与目前主流的深度学习算法进行比较.

(1)UCF101 数据集上的结果对比

表2给出了本文算法中RGB 特征提取模型与双流卷积网络(Two Stream),3D 卷积网络(3D CNN),递归混合密度网络(RMDN)[21],时空注意力模型(STACNN)[10]的行为识别效果,可以看出,本文RGB 通道模型的识别准确率优于其他算法,表现出更好的性能.

表2 不同行为识别算法在UCF101 数据集上的准确率(%)

(2)NTU RGB+D 数据集上的结果对比

表3给出了本文最终识别模型与一些算法在交叉主体(Cross-Subject,CS)和交叉视图(Cross-View,CV)两个评估协议上的识别效果.对比算法分为两类:一类是基于单一模态(如RGB 或骨骼)进行识别的模型,包括姿态估计图的演化模型(Pose Estimation Maps)[3],关节轨迹图模型(JTM)[7],本文用到的时空图卷积网络(ST-GCN)和基于空间推理和时间堆栈学习的网络(SR-TSL)[22];另一类是基于多种模态识别的模型,包括手势识别网络(STA-Hands)[23],基于姿态的注意力模型(Pose-based Attention)[24]和深度聚合网络(DAN)[25].由表3可以看出,本文提出的方法在NTU RGB+D 数据集上取得了88.7%和92.8%的识别准确率,不仅优于单一模态的识别方法,与其他多种模态融合的方法相比也表现出更好的性能,证明了本文算法对人体行为识别的有效性.

表3 不同行为识别算法在NTU RGB+D数据集上的准确率(%)

4 结论与展望

针对单一行为模态的特征难以充分表达复杂的人体动作,导致行为识别准确度不高的问题,本文提出基于多模态特征学习的行为识别算法,分别学习视频的RGB 特征和骨骼特征,然后将两者融合,利用融合特征的互补性优势,达到提高行为识别率的目的.通过在UCF101和NTU RGB+D 两个公开的行为识别数据集上进行实验,证明了本文方法与目前多种行为识别算法相比有着较高的识别准确率,能够更有效地识别人体动作.今后的研究将考虑到更多现实环境的因素,提高算法实际应用时的在线识别精度和速度.

猜你喜欢

模态卷积时空
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
联合仿真在某车型LGF/PP尾门模态仿真上的应用
EASY-EV通用底盘模态试验
跨越时空的相遇
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
玩一次时空大“穿越”
模态可精确化方向的含糊性研究
时空守护者之宇宙空间站