近年来, 随着计算机视觉技术的不断发展, 人体行为识别逐渐成为一个重要的研究领域, 在视频监控、医疗看护、游戏应用与人机交互等方面有着广泛的应用[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帧的片段, 降低了动作识别的连续性, 具有一定的局限.
如今, He等[9]提出的空间金字塔池化网络(SPP-net)已经成功解决了深度神经网络中输入数据维度固定的问题, 并在目标分类、目标检测等领域取得了良好的效果. 本文将空间金字塔池化扩展为时空金字塔池化(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.1 改进3D CNN结构
3D卷积网络与2D卷积网络相比, 可以同时捕捉目标的外观和运动信息, 具有更好的行为识别性能, 且其结构比目前许多行为识别模型都简单, 具有较快的运行速度. 该模型将多个连续帧堆叠形成立方体, 每帧中生成多个通道信息, 采用不同的核对连续帧的每一个通道做3D卷积, 这样得到的特征图连接到了多个邻近帧, 从而在提取空间信息的同时获得时间信息. 最终将所有通道上的信息结合计算得到多种类型的特征.
3D CNN结构包括1个硬线层、3个卷积层和2个下采样层, 网络以尺寸为60×40的连续7帧图像作为输入. 硬线层从每帧图像中提取灰度、横坐标梯度
然而, 3D CNN中全连接层的长度大小是事先定义好的, 这就要求网络的训练及测试都需要输入尺寸和比例固定的视频帧. 当输入任意大小的视频时, 3D CNN会对帧图像进行裁剪或缩放以产生固定大小的输入样本, 而这样操作很可能会导致重要信息丢失、扭曲, 从而影响特征的提取. 为了对任意尺寸的视频帧做更全面的处理, 本文用时空金字塔池化层替换掉3D CNN中最后一个池化层, 来接收大小不同的输入并将其转化为固定长度的特征向量, 同时提取更多不同时间角度的特征.
由于卷积层可以接收任意大小的输入, 并随之产生不同大小的输出. 给定一段任意尺寸的RGB视频序列作为3D CNN的输入, 经过前期的3D卷积和普通下采样后, 假设最后一个卷积层的特征映射尺寸为
不同视频的长度不一定相同, 视频中每个动作的时间长度也是不一样的, 因为任何动作的发生都是一个动态的过程, 单纯的一帧视频图像或者连续几帧形成的片段常常不能在时间上表达出完整的动作. 然而, 3D CNN只能接受长度固定(7帧)的视频输入, 这导致任意长度视频的行为识别精度变低. 为了更充分地提取动作的连续特征, 本文在改进3D CNN后连接LSTM模型进一步识别人体行为.
LSTM对输入或输出的长度没有固定限制, 这有利于捕捉任意长度数据的动作特征; 且作为循环神经网络的变体, 它不仅解决了RNN梯度爆炸的问题, 还对长期时间依赖关系具有很好的建模能力. LSTM模块连接在改进3D CNN的全连接层后, 根据其特定的学习机制, 可以通过内部的门控单元对输入的数据选择性遗忘、记忆或更新, 获得可变长度的连续动作序列特征之间的关系. 此外, 由于时空注意力机制(Spatial-Temporal Attention, ST-Att)可以同时捕捉行为特征的空间相关性和动态时间相关性, 本文在LSTM模型中加入ST-Att, 以筛选出权重较大的值, 增强关键特征, 获得更复杂的时空线索. 其单元结构如图3所示.
在基本的LSTM单元中,
$\left\{ {\begin{split} & {i_t} = \sigma \left( {{W_{xi}}{x_t} + {W_{hi}}{{\hat h}_{t - 1}} + {b_i}} \right) \\ & {f_t} = \sigma \left( {{W_{xf}}{x_t} + {W_{hf}}{{\hat h}_{t - 1}} + {b_f}} \right) \\ & {o_t} = \sigma \left( {{W_{xo}}{x_t} + {W_{ho}}{{\hat h}_{t - 1}} + {b_o}} \right) \\ & {g_t} = \sigma \left( {{W_{xg}}{x_t} + {W_{hg}}{{\hat h}_{t - 1}} + {b_g}} \right) \\ & {c_t} = {f_t} \odot {c_{t - 1}} + {i_t} \odot {g_t} \\ & {{\hat h}_t} = {o_t} \odot \tanh \left( {{c_t}} \right) \\ & {h_t} = {f_{\rm {att}}}\left( {{{\hat h}_t}} \right) + {{\hat h}_t} \\ \end{split}} \right. $ | (1) |
其中,
骨架序列能够有效地代表人体行为的动态, 目前, 我们已经可以通过Kinect和先进的人体姿态估计算法获得完整的3D骨架序列. 为了得到更加丰富的行为特征, 进一步提高动作识别精度, 本文采用ST-GCN作为基于骨架识别动作的通道模型. ST-GCN是由图卷积网络扩展的时空图模型, 是用于行为识别的骨骼序列通用表示, 它不仅拥有很强的表达能力和很高的性能, 而且易于在不同环境中推广.
首先, 对于具有T帧和
对于行为识别, 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%, 这是因为时空注意力机制可以有效地增强关键特征, 筛选出更复杂的时空信息, 从而提高模型的表达能力.
3.3.2 方法对比
将C3DP-LA和ST-GCN两个特征提取网络进行早期融合形成最终的识别模型, 为了评估模型性能, 本文将其与目前主流的深度学习算法进行比较.
(1) UCF101数据集上的结果对比
表2给出了本文算法中RGB特征提取模型与双流卷积网络(Two Stream), 3D卷积网络(3D CNN), 递归混合密度网络(RMDN)[21], 时空注意力模型(STA-CNN)[10]的行为识别效果, 可以看出, 本文RGB通道模型的识别准确率优于其他算法, 表现出更好的性能.
(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%的识别准确率, 不仅优于单一模态的识别方法, 与其他多种模态融合的方法相比也表现出更好的性能, 证明了本文算法对人体行为识别的有效性.
4 结论与展望
针对单一行为模态的特征难以充分表达复杂的人体动作, 导致行为识别准确度不高的问题, 本文提出基于多模态特征学习的行为识别算法, 分别学习视频的RGB特征和骨骼特征, 然后将两者融合, 利用融合特征的互补性优势, 达到提高行为识别率的目的. 通过在UCF101和NTU RGB+D两个公开的行为识别数据集上进行实验, 证明了本文方法与目前多种行为识别算法相比有着较高的识别准确率, 能够更有效地识别人体动作. 今后的研究将考虑到更多现实环境的因素, 提高算法实际应用时的在线识别精度和速度.
[1] |
Aggarwal JK, Ryoo MS. Human activity analysis: A review. ACM Computing Surveys, 2011, 43(3): 16. DOI:10.1145/1922649.1922653 |
[2] |
Yeung S, Russakovsky O, Mori G, et al. End-to-end learning of action detection from frame glimpses in videos. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA. 2016. 2678–2687.
|
[3] |
Liu MY, Yuan JS. Recognizing human actions as the evolution of pose estimation maps. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Salt Lake City, UT, USA. 2018.1159–1168.
|
[4] |
Weng JW, Weng CQ, Yuan JS, et al. Discriminative spatio-temporal pattern discovery for 3D action recognition. IEEE Transactions on Circuits and Systems for Video Technology, 2019, 29(4): 1077-1089. DOI:10.1109/TCSVT.2018.2818151 |
[5] |
Shotton J, Fitzgibbon A, Cook M, et al. Real-time human pose recognition in parts from single depth images. Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Providence, RI, USA. 2011. 1297–1304.
|
[6] |
Vemulapalli R, Arrate F, Chellappa R. Human action recognition by representing 3D skeletons as points in a lie group. Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus, OH, USA. 2014. 588–595.
|
[7] |
Wang PC, Li ZY, Hou YH, et al. Action recognition based on joint trajectory maps using convolutional neural networks. Proceedings of the 24th ACM International Conference on Multimedia Conference. Amsterdam, the Netherlands. 2016. 102–106.
|
[8] |
Tran D, Bourdev L, Fergus R, et al. Learning spatiotemporal features with 3D convolutional networks. Proceedings of 2015 IEEE International Conference on Computer Vision (ICCV). Santiago, Chile. 2015. 4489–4497.
|
[9] |
He KM, Zhang XY, Ren SQ, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. DOI:10.1109/TPAMI.2015.2389824 |
[10] |
Meng LL, Zhao B, Chang B, et al. Interpretable spatio-temporal attention for video action recognition. arXiv: 1810.04511, 2018.
|
[11] |
Yan SJ, Xiong YJ, Lin DH, et al. Spatial temporal graph convolutional networks for skeleton-based action recognition. Proceedings of the 32nd AAAI Conference on Artificial Intelligence, (AAAI-18), the 30th Innovative Applications of Artificial Intelligence (IAAI-18), and the 8th AAAI Symposium on Educational Advances in Artificial Intelligence (EAAI-18). New Orleans, LA, USA. 2018. 7444–7452.
|
[12] |
Simonyan K, Zisserman A. Two-stream convolutional networks for action recognition in videos. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, QC, Canada. 2014. 568–576.
|
[13] |
Chen C, Liu K, Kehtarnavaz N. Real-time human action recognition based on depth motion maps. Journal of Real-time Image Processing, 2016, 12(1): 155-163. DOI:10.1007/s11554-013-0370-1 |
[14] |
Lee I, Kim D, Kang S, et al. Ensemble deep learning for skeleton-based action recognition using temporal sliding LSTM networks. Proceedings of 2017 IEEE International Conference on Computer Vision (ICCV). Venice, Italy. 2017. 1012–1020.
|
[15] |
Chaaraoui AA, Padilla-López JR, Flórez-Revuelta F. Fusion of skeletal and silhouette-based features for human action recognition with RGB-D devices. Proceedings of IEEE International Conference on Computer Vision Workshops. Sydney, NSW, Australia. 2013. 91–97.
|
[16] |
Sanchez-Riera J, Hua KL, Hsiao YS, et al. A comparative study of data fusion for RGB-D based visual recognition. Pattern Recognition Letters, 2016, 73: 1-6. DOI:10.1016/j.patrec.2015.12.006 |
[17] |
Li M, Leung H, Shum HPH. Human action recognition via skeletal and depth based feature fusion. Proceedings of the 9th International Conference on Motion in Games. Burlingame, CA, USA. 2016. 123–132.
|
[18] |
Chen C, Jafari R, Kehtarnavaz N. Improving human action recognition using fusion of depth camera and inertial sensors. IEEE Transactions on Human-Machine Systems, 2015, 45(1): 51-61. DOI:10.1109/THMS.2014.2362520 |
[19] |
Soomro K, Zamir AR, Shah M. UCF101: A dataset of 101 human actions classes from videos in the wild. arXiv: 1212.0402, 2012.
|
[20] |
Shahroudy A, Liu J, Ng TT, et al. NTU RGB+D: A large scale dataset for 3D human activity analysis. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas, NV, USA. 2016. 1010–1019.
|
[21] |
Bazzani L, Larochelle H, Torresani L. Recurrent mixture density network for spatiotemporal visual attention. arXiv: 1603.08199, 2016.
|
[22] |
Si CY, Jing Y, Wang W, et al. Skeleton-based action recognition with spatial reasoning and temporal stack learning. Proceedings of the 15th European Conference on Computer Vision. Munich, Germany. 2019. 106–121.
|
[23] |
Baradel F, Wolf C, Mille J. Human action recognition: Pose-based attention draws focus to hands. Proceedings of 2017 IEEE International Conference on Computer Vision Workshops (ICCVW). Venice, Italy. 2017. 604–613.
|
[24] |
Baradel F, Wolf C, Mille J. Human activity recognition with pose-driven attention to RGB. Proceedings of the 29th British Machine Vision Conference (BMVC). Newcastle, UK. 2018. 1–14.
|
[25] |
Wang PC, Li WQ, Wan J, et al. Cooperative training of deep aggregation networks for RGB-D action recognition. Proceedings of 32nd AAAI Conference on Artificial Intelligence(AAAI-18), the 30th Innovative Applications of Artificial Intelligence (IAAI-18), and the 8th AAAI Symposium on Educational Advances in Artificial Intelligence (EAAI-18). New Orleans, LA, USA. 2018. 7404–7411.
|