RF-Action:使用射频信号进行多人动作识别.
1. 模型总览
动作识别是指从时间序列(视频帧、人体骨骼序列等)中检测和区分人类动作。基于射频信号的动作识别方法能够穿透障碍物识别目标的动作,但现有方法不能很好地推广到新环境中,并且不能处理多人动作。本文提出了RF-Action方法,能够在遮挡或弱光环境下进行多人动作识别。
RF-Action将人体的姿态骨架作为中间表示,有以下优点:(1)模型能够同时使用射频信号和光学图像进行训练,并充分利用现有基于视觉的3D骨架数据集;(2) 允许对中间骨架进行额外的监督,帮助指导学习过程,而不仅仅使用动作标签;(3)由于人体骨架表示受环境或个体的影响较小,提高了模型推广到新环境和未知目标的能力。
由于通过射频信号生成的人体骨架可能会有错误,因此中间表示还包括每个关节随时间变化的置信度得分。通过自注意力机制允许模型随着时间的推移关注不同的关节。在推广到多人动作识别场景时,场景中不同的人可能会进行不同的动作,通过一个多提案模块来处理此类场景。
为了评估RF-Action,作者使用无线设备和多相机系统从不同的环境中收集动作检测数据集。该数据集跨度为25小时,包含30名执行各种单人和多人动作的人员。实验表明RF-Action在可见场景中的性能与基于视觉的系统相当,并且在完全遮挡的情况下仍能保持良好的性能。此外通过多模态训练可以进一步提高不同模态下动作检测性能,这表明将骨架作为公用的中间表示的价值。
2. RF-Action
(1)射频信号的先验知识
作者使用两个垂直和水平排列的天线阵列,设备发射5.4和7.2 GHz之间的FMCW波。输入数据采用二维热图的形式,一个来自水平阵列,另一个来自垂直阵列;水平热图是射频信号在平行于地面的平面上的投影,而垂直热图是信号在垂直于地面的平面上的投影(红色表示较大值,蓝色表示较小值,较大的值对应于该位置的信号反射的强度较高)。
射频设备以30帧/秒的速率工作。由于射频信号具有与光学图像不同的物理特性,基于射频的动作识别存在以下困难:
- 射频信号具有比视觉数据更低的空间分辨率。在该系统中,深度分辨率为10厘米,角度分辨率为10度。较低的分辨率很难区分挥手和梳头等动作。
- 人体在穿墙的频率范围内是镜面反射的。镜面反射是当射频信号的波长大于目标的表面粗糙度时发生的物理现象,此时物体相当于反射体(即镜子)而不是散射体。该系统的射频信号波长约为5厘米,因此人类目标相当于反射体,信号可能会根据每个肢体表面的方向反射到传感器或远离传感器。即使信号被反射回传感器,反射面积较小的肢体(如手)反射的信号更少,因此更难跟踪。
- 即使射频信号可以穿过墙壁,它们在穿过墙壁时的衰减明显大于空气中的衰减。因此当人在墙后时,从人体反射的信号较弱。即在墙遮挡的情况下检测动作的精度降低。
(2)模型总览
RF-Action是一个端到端的神经网络模型,可以在遮挡和恶劣照明条件下检测人类目标的行为。模型架构如图所示,模型将射频信号作为输入,生成三维人体骨架作为中间表示,并识别多人随时间的动作和交互。该模型也可以采用从视觉数据生成的3D骨架作为输入,因此RF-Action也可以使用现有的基于骨架的动作识别数据集进行训练。
作者采用RFPose3D从无线信号中生成人体骨架。具体而言,骨架生成网络接收水平和垂直热图,并生成多人3D骨架。网络的输入是水平和垂直热图的3秒窗口(90帧)。该网络由三个模块组成,首先使用时空卷积的特征网络从输入射频信号中提取特征,然后将提取的特征通过区域提议网络以生成所有可能的骨架边界框,最后将提取的区域送入3D姿态估计子网络提取3D骨架。
(3)模态无关的动作识别
模态无关的动作识别框架使用从RF信号生成的3D骨架来执行动作检测。
首先沿着时间维度关联骨架以获得多个骨架序列,每个骨架序列来自一个人体目标,每个骨架由关键点(肩部、手腕、头部等)的三维坐标表示。由于射频信号的特性,不同的关键点在不同的时间反射的数量不同,导致关键点位置(跨时间和跨关键点)的置信度不同。因此使用骨架生成网络的预测置信度作为每个关键点的另一个输入参数。最终每个骨架序列是一个大小为$4×T×N_j$的矩阵,其中$4$表示空间维度加上置信度,$T$表示序列中的帧数,$N_j$对应于骨架中的关键点数。
动作检测模型有三个模块:
- 基于注意力的特征学习网络: 从每个骨架序列中提取高层次的时空特征。
- 多提案模块:提取提案,每个提案对应于行动开始和结束的时间窗口。多提案模块由两个提案子网络组成:一个用于生成单人行动的提案,另一个用于两人互动。
- 根据生成的提案来裁剪和调整相应的隐特征,并将每个裁剪的动作片段输入到分类网络中。分类网络首先通过执行双向分类来细化时间提案,以确定该持续时间内是否包含动作。然后预测相应的动作类别。
① 时空注意力模块 Spatio-Temporal Attention Module
基于时空注意力的网络用于学习动作识别的特征,该网络基于分层共现网络(HCN)。HCN使用两种卷积流:一种是对骨架关键点进行操作的空间流;另一种是根据骨架关键点位置随时间的变化进行操作的时间流。HCN连接这两个流的输出以从输入骨架序列中提取时空特征,并使用这些特征来预测人类行为。
然而从射频信号预测的骨骼不如人类标记的骨骼准确,并且不同的关键点可能具有不同的预测误差。为使动作检测模型关注预测置信度较高的身体关节,引入时空注意力模块。定义一个可学习的遮挡矩阵$W_m$,将其作用于空间特征$f_s$和时间特征$f_t$:
\[Mask = Conv(concat(f_s,f_t),W_m)\]然后将遮挡结果$Mask$应用于隐特征,其作用是为不同关节提供不同的权重,以获得更好的动作识别性能。此外还在特征提取后的时间维度上添加了多头注意力模块,以学习不同时间上的注意力。
注意力模块有助于学习更具代表性的特征,因为学习到的遮挡利用了空间流和时间流提供的信息,而多头注意力有助于该模型更多地关注有用的时间信息。实验表明,时空注意力模块有助于更有效地组合空间和时间表示,并生成更好的特征表示,不仅有助于提高从射频信号预测的骨架上的动作检测精度,而且有助于在基准视觉动作识别数据集上提高性能。
② 多提案模块 Multi-Proposal Module
大多数动作识别数据集只有一个动作或交互,因此无法处理多人同时执行不同动作的场景。在作者收集的数据集中,当场景中有多个人时,他们可以随时自由地进行任何动作或交互。
作者使用一个多提案模块处理多人的动作和交互。当出现$N$个人体目标时,多提案模块输出$N+(\frac{N}{2})$个提案,对应于$N$个可能的单人动作,以及$(\frac{N}{2})$个两人之间可能的互动。模型预测采用优先级策略,交互动作优先于单人动作。例如如果同时存在“指向某物”(单个人)和“指向某人”(互动)的预测,最终预测将是“指向某人”。
(3)多模态端到端训练
由于希望以端到端的方式训练模型,因此不使用arg max来提取3D关键点位置,而是使用回归器提取每个关键点的3D位置。这使得动作标签也可以作为骨架预测模型的监督,使用3D骨架作为中间表示使模型能够利用以前基于骨架的动作识别数据集。
通过以下方式组合不同的模态来训练模型:对于射频数据集,梯度反向传播通过整个模型,用于调整骨架预测模块和动作识别模块的参数;对于基于骨架的动作识别数据集,梯度反向传播用于调整动作识别模块的参数。这种多模态训练显著增加了数据多样性,并提高了模型的性能。
3. 实验分析
(1)数据集
由于没有可用的动作检测数据集同时提供RF信号和相应的骨架,作者收集了一个RF多模态数据集(RF-MMD)。使用射频设备采集射频信号,使用具有10个不同视点的摄像机系统来采集视频帧。无线电设备和摄像机系统在10毫秒内同步。
在10个不同环境中收集了30名志愿者共25小时的数据,包括办公室、休息室、走廊、演讲室等。我们从PKU-MMD数据集中选择了35个行为(29个单人行为和6个互动)。对于每10分钟的数据,我们要求最多3名志愿者从上述集合中随机执行不同的动作。平均每个样本包含1.54名志愿者,每个志愿者在10分钟内执行43个动作,每个动作需要5.4秒。使用20小时的数据集进行训练,5小时用于测试。
数据集还包含两个穿墙场景,其中一个用于训练,一个用于测试。对于这些穿墙环境,将摄像机放在墙的两侧,便可以通过射频设备进行校准,并使用可以捕捉到人的摄像机来标记动作。RF-MMD上的所有测试结果仅使用射频信号,不使用基于视觉的输入。
使用多视图摄像机系统提取三维骨架序列。首先将AlphaPose应用于摄像机系统收集的视频,以提取多视图2D骨架。由于场景中可能有多人,因此将每个视图中的2D骨架关联起来,以获得每个人的多视图2D骨架。由于相机系统已经校准,可以对每个人的三维骨架进行三角测量。这些3D骨架充当由模型生成的中间3D骨架的监督。
利用PKU-MMD数据集来提供额外的训练样本。该数据集允许动作检测和识别,包含66名受试者执行的来自51个类别的近20000个动作。该数据集允许RF-Action从基于视觉的样本中学习。
(2)结果分析
与基于视频的动作检测和基于骨架的动作检测中常见的情况一样,使用在不同的交并比阈值$θ$处的平均精度(mAP)来评估模型的性能,分别在$θ=0.1$和$θ=0.5$上报告结果。
为了对模型进行端到端的训练,需要提供两种类型的真实标签:3D人体骨架用于监督中间表示,动作开始-结束时间和类别用于监督模型的输出。使用AlphaPose和前述多视图相机系统对3D骨架进行三角测量;使用多视图摄像机系统手动分割和标记每个人的动作并提供动作的持续时间和类别。
下图给出了各种场景下射频动作的定性结果。该图显示即使不同的人同时执行不同的动作,RF-Action也能正确检测动作和交互,并能处理遮挡和不良照明条件。
作者将RF-Action的性能与基于骨架的动作识别和基于射频信号的动作识别的最新模型进行了比较。使用HCN作为计算机视觉中性能最好的基于骨架的动作检测系统的代表,由于HCN将骨架作为输入,因此为其提供由RF动作生成的中间骨架;使用Aryokee作为基于射频的动作识别的最先进技术的代表。所有模型均在射频动作识别数据集上进行训练和测试。
下表给出了以射频信号为输入的可见场景和穿墙场景的测试结果。在两种测试条件下,RF-Action均优于HCN和Aryokee,这表明骨骼的额外监督以及RF-Action的神经网络设计对处理射频数据非常重要。
作者进一步研究了RF-Action处理基于射频信号的骨架与基于视觉的骨架的性能。在执行推理时,向RF-Action提供来自测试集的输入射频信号或者使用相机系统获得的真实骨架。
下表显示了不同输入模态的结果。对于可见场景,在摄像机系统的真实骨架上进行操作提高了几点精度,因为射频骨架是使用基于视觉的骨架作为标签进行训练的。基于摄像机的系统使用10个视点来估计3D骨架,而只有一个无线设备用于基于射频的动作识别,此时基于射频的动作识别可以实现接近具有10个视点的校准摄像机系统的性能。该系统在穿墙场景中仍能很好地工作,但由于信号在穿墙时会衰减,因此精度降低。
作者进一步展示了测试集上动作检测结果的示例。在该示例中有两个目标进行了实验。第一行显示第一个人的动作持续时间,第二行显示第二个人的动作时间,第三行显示他们之间的交互。结果表明所提模型可以高精度地检测每个人的行为和他们之间的交互,进一步证明多提案模块在多人独立执行某些动作或相互交互的场景中具有良好的性能。
(3)消融实验
① 注意力模块
作者评估了所提时空注意模块的有效性。下表给出了在RF-MMD和PKU-MMD上使用或不使用注意模块的动作检测性能。结果表明,注意力模块对两个数据集都是有用的,在RF-MMD上效果更好。这是因为从射频信号预测的骨骼可能具有不准确的关节。进一步在动作分类数据集NTU-RGB+D上进行实验,所提注意力模块在这种情况下也有用。
② 多提案模块
多提案模块可以同时进行多个动作预测。作者评估模型在有或没有多提案模块情况下的性能。添加多提案模块显著提高了性能,这是因为数据集包含许多人同时执行不同动作的实例,在多个提案的情况下,模型可以获得更高的性能。
③ 多模态训练
使用人体骨架作为中间表示允许模型分别从射频数据集和基于视觉的骨架数据集学习。作者通过将PKU-MMD的训练集添加到射频动作模型的训练中来执行多模态训练,即使用射频数据集来训练端到端的模型,并使用PKU-MMD数据集训练动作检测模型。将检测结果与在两个数据集上分别训练的模型进行比较,多模态训练可以提高模型性能,因为它引入了更多的数据用于训练,因此可以获得更好的泛化能力。
④ 端到端模型
RF-Action采用端到端的训练方式,即动作识别的损失也通过骨架生成网络反向传播。作为对比的是一种分散的结构,即骨架与动作分开学习,动作损失不会通过骨架生成网络进行传播。下表报告了两种模型的骨架关节位置的平均误差,结果表明端到端的方法能够改进骨架生成本身。端到端的模型不仅提高了动作检测任务的性能,还减少了从射频信号中估计骨架关节位置的误差。这是因为动作检测损失为从射频信号中生成3D骨架提供了正则化。