作者:侯文轩
本文对最近被 TPAMI 接收的一篇综述文章 Human Action Recognition from Various Data Modalities: A Review(基于不同数据模态的人类动作识别综述)进行解读。
原综述文章地址:https:arxiv.org/pdf/2012.11866.pdf1 概述人类动作识别(Human Action Recognition, HAR)旨在理解人类的行为,并为每个行为分配一个标签。多种不同的数据形态都可以用来表示人类的动作和行为。这些模态可以分为 2 类:视觉模态和非视觉模态,视觉模态和非视觉模态的主要区别在于:视觉模态的数据对人类行为的表示相对直观,但是非视觉模态的数据则不是。视觉模态主要包括:如 RGB,骨架,深度,红外,点云,事件流(event stream)等数据模态,而非视觉模态则主要包括音频,加速度,雷达,wifi 信号等数据模态,如图 1 所示。这些数据模态是对不同的信息来源进行编码,根据应用场景的不同,不同模态的数据有着不同的独特优势。
图 1 HAR 任务中使用到的数据模态该综述对基于不同数据模态的深度学习 HAR 方法的最新进展做了一个综合调研。介绍调研的主要内容分为三部分(1)当前主流的单模态深度学习方法。(2)当前主流的多模态深度学习方法,包括基于融合(fusion)和协同学习(co-learning)的学习框架。(3)当前 HAR 任务的主流数据集。
2 单模态学习方法前文中已经提到,不同模态具有着独特的优势,在这些模态中,单独使用 RGB / 光流模态和骨架模态的 HAR 工作相对较多。而其他模态由于其大多存在一些固有的缺陷,所以单独使用的情况较少,大部分情况下都是与其他模态结合使用。
2.1 RGB 和光流模态RGB 模态指的是由 RGB 相机捕获的图像或序列。而光流则是视频图像中同一对象(物体)像素点移动到下一帧的移动量,由于通常是由 RGB 模态数据所进一步生成,所以下文中把 RGB 和光流模态统称为 RGB 模态。RGB 模态的优点和缺点都非常明显,优点主要有:(1)RGB 数据容易收集,通常是最常用的数据模态。(2)RGB 模态包含所捕获的场景上下文的信息。(3)基于 RGB 的 HAR 方法也可以用来做 pretrained model。缺点主要有:(1)由于 RGB 数据中存在背景、视点、尺度和光照条件的变化,所以在 RGB 模态中进行识别通常具有挑战性。(2)RGB 视频数据量较大,计算成本较高。图 2 展示了基于 RGB 模态数据的 HAR 方法的主要分类,下面分别对这些方法进行介绍。
图 2 基于 RGB / 光流模态的 HAR 方法分类
基于 2D 双流网络的方法。这类方法的核心思想是,通过两个或多个 backbone 学习不同的视频特征,[1]和 [2] 是这类方法中最具代表性的工作,[1]的两个 stream 分别输入 RGB 帧和多帧的光流,以分别学习外观特征和运动特征, RGB + 光流的模态组合也被很多后续的工作所效仿。[2]则对低分辨率 RGB 帧和高分辨率 RGB 帧的中心裁剪输入两个 stream 中,以降低计算量。精确的光流获取通常需要很高的计算成本,所以如何在较低的计算成本下获取光流的近似或代替也是此类方法一个研究重点。如 [3] 提出了一个基于知识蒸馏的框架实现从使用光流训练的 teacher network 到使用 motion vector 作为输入的 student 网络的知识迁移。motion vector 可以直接从 compressed videos 中获得,而不再需要额外的计算。
基于 RNN 的方法。2D 双流网络的一个缺点是对时序上的长期依赖关系的建模不足,那么使用时序建模的网络如 LSTM,则可以弥补这一点。这类基于 RNN 的方法依据其核心贡献又可以分为 4 小类:(1)2D CNN 与 RNN 的组合:如 [4] 使用 2D CNN 提取每个 frame 的特征,然后再使用 LSTM 生成动作标签。(2)attention 机制的引入,attention 机制主要包括空间的 attention 和时序的 attention,或两者的组合。比如 [5] 设计了一个多层的 LSTM 模型,可以递归地输出对下一帧的输入 feature map 的 attention map。(3)使用 GRU 等模型来代替 RNN,相比于 RNN,GRU 的参数更少,但在 HAR 任务上通常可以提供与 LSTM 相近的性能。(4)2D 双流网络和 RNN 的结合,比如 [6] 中利用 2D 双流网络分别提取 spatial 和短期的运动特征,然后再分别输入 2 个 LSTM 来提取长时的运动信息。
基于 3D CNN 的方法。基于 RNN 的方法通常是对 CNN 已经提取出的 feature 进行操作,而不是对原始的图像序列进行操作。基于 3D CNN 的方法则可以做到这一点。基于 3D CNN 的方法依据其核心贡献同样分为 4 小类:(1)2D CNN 到 3D CNN 的扩展,[7]使用 3D conv 从原始的视频中直接学习时空特征。(2)对长时序依赖关系的建模,3D CNN 有着 CNN 共同的特点,侧重于对 local 信息的提取,而对 global 信息的提取能力不足。[8]中提出了一个长时时间卷积框架,以降低空间分辨率为代价,增加了 3D 卷积在 temporal 维度上的感受野。(3)3D conv 的分解:3D 卷积通常包含大量的参数,也需要大量的训练数据,因此其计算量较大。[9]提出将 3D conv 分解成了空间上的 2d conv 和时间维度上的 1d conv。(4) 对 3D conv 中其他问题的讨论,比如 [10] 从概率的角度分析了 3d conv 中的时空融合,[11]提出了一个随机均值缩放的正则化方法来解决过拟合问题。
基于 transformer 的方法。transformer 是一种以 attention 机制为核心的模型,其在长时序建模、多模态融合和多任务处理等方面具有良好的性能,由于 transformer 在 NLP 领域的成功应用,目前也有很多将 transformer 应用到 HAR 任务中的方法,如 [12] 通过把 video 分解成 frame-level 的 patches,将 VIT 应用到了视频中,并且在模型的每个 block 中分别应用了 spatial 和 temporal 的 attention。但是,transformer 的通病是其所需的显存和计算开销一般较大,所以也有很多工作,研究了如何降低基于 transformer 的视频理解模型的复杂度,比如 [13] 将 3d 的视频帧转换成 2d 的 super image 作为 transformer 的输入。[14]使用了在 spatial 维度进行特征处理的 backbone(例如 2D CNN)和基于 temporal attention 的 encoder 来达到精度和速度之间的权衡。
2.2 骨架数据模态骨架序列表人体关节的轨迹,这些轨迹可以用来表征人体的运动,因此骨架数据是比较适配于 HAR 任务的一种数据模态,骨架数据提供的是身体结构与姿态信息,其具有两个明显的优点:(1)具有比例不变性。(2)对服装纹理和背景是鲁棒的。但同时也有两个缺点:(1)骨架信息的表示比较稀疏,存在噪声。(2)骨架数据缺少人 - 物交互时可能存在的形状信息。图 3 展示了基于骨架模态数据的 HAR 方法的主要分类,下面分别对这些方法进行介绍。
图 3 基于骨架数据模态的 HAR 方法分类基于 RNN 的方法。使用 RNN 的核心原因是希望能够学习时序数据中的动态依赖性。这类基于 RNN 和骨架数据的 HAR 方法,大多聚焦于 RNN 或 LSTM 等模型在 HAR 任务上的改进和应用。如 [15] 将人体骨骼分为 5 个部分,这 5 部分分别输入到多个双向 RNN 中,然后再将其输出进行分层融合,以生成动作的高级表示。[16]提出了一个部分感知 LSTM,并模拟了 LSTM 单元中不同身体部分之间的关系。
基于 CNN 的方法。CNN 以其在空间维度上卓越的特征提取和学习能力,在 2D 图像识别任务中取得了巨大的成功。把 CNN 应用到基于骨架数据的 HAR 任务中时,一个研究重点是对时空信息的建模。如 [17] 和[18]的思路是将骨架序列数据编码成图像,然后送入 CNN 中进行动作识别,它们分别给出了骨骼光谱图和关节轨迹图。此外也有一些工作专注于解决某些特定的问题,比如视点变化问题和计算成本过高的问题。
基于 GNN/GCN 的方法。将人体的骨架数据表示为一个序列或 2d/3d 的 image,并不能对身体关节作出完全准确的模拟。而人体的骨架天然地就可以表示为一个 graph,因此基于 GNN 或 GCN 的 HAR 方法成为了近两年一个热门的研究方向。[19]将人体的骨架表示为了一个有向无环图以有效地合并骨骼和关节信息。[20]设计了一个时空 GCN(Spatial-temporal GCN)以从骨架数据中分别学习 spatial 和 temporal 的 feature。
基于 transformer 的方法。将 transformer 应用于骨骼序列的 HAR 任务时,研究的重点仍然是时空维度的建模。比如 [21] 中提出 Spatial-Temporal Specialized Transformer (STST),其由一个 spatial transformer 模块和一个 temporal transformer 模块组成。spatial transformer 模块用于捕捉 frame-level 的姿态信息,temporal transformer 用于在 temporal 维度上捕捉长动作。
2.3 深度模态深度图中的像素值表示的是从给定视点到场景中的点的距离,所以构建深度图的本质是将 3D 数据转换为 2D 的 image。该模态通常对颜色和纹理的变化比较鲁棒,随着技术的发展,现在已经有多种设备可以捕获场景中的深度图。现有的对深度数据学习的方法大多数还是利用 CNN 提取深度图中的 feature。深度数据可以提供几何形状信息,但是对外观数据的提供是缺失的,所以深度数据通常不单独使用,而是与其他模态的数据融合使用。
2.4 红外模态红外数据的获取主要有两种方式:(1)主动式,发射红外线,利用目标反射的红外线感知场景中的物体。(2)被动式,通过感知物体发出的红外线来感知物体。在目前基于深度学习的方法中,比较多的做法是把红外图像作为其中一个 stream 输入双流或多流网络中。红外数据以其不需要依赖外部环境的可见光的特点,特别适合于夜间的 HAR,但是,红外图像也有着对比度低和信噪比低的固有缺点。
2.5 点云模态点云数据由大量的点组成,这些点可以用来表示物体的空间分布和表面特征。作为一种三维数据形态,点云具有很强的表达物体轮廓和三维几何形状的能力,且对视点的变化不敏感。但是点云中通常存在噪声和高度不均匀的点分布。[22]将原始的点云序列转换为规则的体素集合,并应用 temporal rank pooling 将 3D 动作信息编码到一个单独的 voxel set 中。最后通过 PonitNet++[23]将体素表示应用于 3D HAR 任务中。但是将点云转换为体素不仅效率较低,而且会带来量化误差。[24]提出直接堆叠多帧点云,并通过聚合 temporal 和 spatial 维度上的相邻点的信息计算局部特征。
2.6 事件流模态事件照相机(event camera)可以捕捉照明条件的变化并为每个像素独立产生异步事件。传统的摄像机通常会捕捉整个图像阵列,而事件摄像机仅响应视觉场景的变化。事件照相机能够有效地滤除背景信息,而只保留前景运动信息,这样可以避免视觉信息中的大量冗余,但是其捕捉到的信息通常在时间和空间维度上是稀疏的,而且是异步的。因此一些现有的方法主要聚焦于设计事件聚合策略,将事件摄像机的异步输出转换为同步的视觉帧。
2.7 音频模态音频信号通常与视频信号一起提供,由于音频和视频是同步的,所以音频数据可以用定位动作。因为音频信号中的信息量是不足的,所以单独使用音频数据执行 HAR 任务相对比较少见。更常见的情况是音频信号作为 HAR 的补充信息,与其他模态(如 rgb 图像)一起使用。
2.8 加速度模态加速度信号通常是从加速度计中获得,它具有以下的优点:(1)对遮挡、视点、照明、背景等因素的变化具有鲁棒性。(2)对某个特定的动作,人们一般都使用相似的方式完成,所以加速度信号对同一个动作的类内方差较小。(3)加速模态可以用于细粒度的 HAR。但同时,该模态也存在一些固有的局限性:(1)志愿者需要随身佩戴传感器,而且这些传感器通常比较笨重。(2)传感器在人体上的具体位置对性能会有比较明显的影响。
2.9 雷达模态雷达的工作原理是发射电磁波并接收来自目标的回波,其优势是对照明和天气条件变化鲁棒,并且具有穿墙感知的能力,但昂贵的传感器成本是制约其实际应用的重要因素。现有的方法将多普勒频谱图视作时间序列或图像,并分别送入 RNN 和 CNN 中以预测行为类别,目前也有一些方法,将雷达模态的数据纳入到了双流网络结构中。
2.10 wifi 模态wifi 是现在最常见的室内无线信号类型之一,由于人体是无线信号的良好反射体,所以 wifi 信号可以用于 HAR 任务,现有的基于 wifi 的 HAR 方法大多使用信道状态信息(CSI)来执行 HAR 任务。如何更有效地利用 CSI 的相位和幅度信息,以及如何在处理动态环境时提高鲁棒性,是目前基于 wifi 的 HAR 任务所面临的主要挑战。
3 多模态学习方法
多模态机器学习是一种建模方法,旨在处理和关联来自多模态的视觉信息,通过聚合各种数据模态的优势,多模态学习可以在 HAR 任务上得到更鲁棒和准确的结果。多模态学习方法主要有两种,融合(fusion)和协同学习(co-learning)。其中融合指的是对来自两个或更多模态的信息进行集成,并将其用于训练或推理,而协同学习指的则是对不同模态之间的知识进行迁移。图 4 展示了多模态学习方法的分类,对于每种类型的多模态学习方法,本篇解读会介绍原综述文章中提及的一些具有代表性的方法,更多的方法介绍请直接阅读原综述文章。
图 4 多模态 HAR 方法分类