APP下载

基于毫米波雷达稀疏点云的人体行为识别方法

2024-02-29李育臣张之江

计算机测量与控制 2024年2期
关键词:集上全局雷达

李育臣,张之江,曾 丹,李 佳

(上海大学 通信与信息工程学院,上海 200444)

0 引言

随着人口老龄化程度的加深以及护理服务需求的增多,老人跌倒监测以及其他人体行为感知逐渐成为辅助生活的关键技术[1-3]。目前,摄像头、WIFI、雷达等设备均可以用于非接触式行为感知。利用摄像头监控人体行为已经成为非常成熟的技术[4-6],但是也存在一些问题阻碍了其发展。在家庭环境下,人们越来越关注的隐私问题限制了摄像监控的应用;同时,摄像头对环境的干扰比较敏感,易受到光线条件和周围物体遮挡的影响。此外,利用WIFI[7]也可用于探测人体的行为,但它们精度较低。相比于其他的无线设备,毫米波雷达具有精度高和探测距离较远的优点,并且不会涉及隐私问题,也不易受到光照影响,在黑暗环境下也可正常工作,具有一定的穿透性,因此毫米波雷达在行为感知方面具有很大的优势[8-10]。

目前较为主流的手段是利用多普勒雷达收发毫米波,然后使用时频分析法将原始信号映射到时频图上,并观察不同行为的微多普勒效应[2,9,11]。但是这种基于微多普勒图的行为识别有一定的局限性,即需要对雷达回波信号进行运算量比较大的时频分析,同时特征的定义和分类器的设计也比较复杂,并且只通过速度信息来判断跌倒在某些场合的准确度并不高。Singh等人[12]在2019年证明了稀疏点云的时间窗口体素表示可以用于人类行为识别。通过将点云体素化,利用基于深度学习的分类器进行了测试,可以达到甚至超过基于微多普勒图特征分类的效果。但该方法计算量较大,实时处理能力较弱,并且复杂环境中的噪声对点云体素化的效果有较大影响。Gong等人[13]尝试用图的方式来表示点云,虽然取得了不错的分类效果,但是由于毫米波雷达的特殊性,对于人体行为识别系统的抗干扰能力、实时性以及鲁棒性有着很大的要求,在满足实时性的同时也要具备很强的抗干扰能力和模型泛化能力,该方法并不能满足要求。因此,如何在复杂的环境中准确地、快速地识别人类行为仍然存在着巨大挑战。

现有方法无法在复杂环境下有效地提取稀疏点云的空间特征和时序特征,同时模型的抗干扰能力和泛化能力较差。综上,提出了一种通用的基于毫米波雷达稀疏点云的人体行为识别方法,该方法根据毫米波雷达所产生点云的特性,既保留了点云的原始特征,提高了网络计算的效率,同时使用基于注意力特征融合的点云活动分类网络(MM-PCANet,MMwave radar point cloud activity network)进行稀疏点云的特征提取和识别。在MMActivity数据集[12]和MMGesture数据集[14]上评估了所提的方法,分别取得97.50%和94.10%的准确率,均优于所有其它基线。从而证明了所提方法具有很好的鲁棒性,也适用于解决毫米波雷达点云相关的其它问题。

1 相关工作

1.1 毫米波雷达点云生成

在过去几年中,单片毫米波雷达有着快速的发展和应用,美国德克萨斯仪器公司的毫米波雷达就是其中一个具有代表性的设备,可以利用这些毫米波雷达来捕获人体活动相关的点云。点云指的是一系列包含空间坐标、速度以及其它信息的离散点集合,以此来表示人体在空间上的形状以及姿态等信息。毫米波雷达点云生成的整体流程如图1所示。

图1 毫米波雷达点云生成过程

这些毫米波雷达采用调频连续波(FMCW),其在一个调频周期内发射信号[15]可以表示为:

(1)

式中,AT为发射信号的幅值,fc为载波中心频率,B为带宽,Tc为信号调频周期,φ(t)为相位噪声。经过目标和环境反射后,接收天线得到回波信号,回波信号可以表示为:

SR(t)=

(2)

式中,AR为发射信号的幅值,td表示从雷达发射至接收到人体反射信号的时间,td=R/c,其中R表示目标距离,c为光速。

发射信号与回波信号混频处理并低通滤波得到中频信号,对中频信号执行距离快速傅里叶变换(FFT,fast fourier transform)运算以分离不同的频率分量,从而获得每个目标与雷达之间的距离。对中频信号执行多普勒FFT操作以测量中频信号的相位变化,来获取目标的速度信息。

除此之外为了得到目标的空间坐标x、y和z,还需进行角度估计,利用天线之间的相位差计算出目标的方位角和俯仰角。在经过角度估计之后,获取了目标的距离R、方位角θ以及俯仰角φ。假设笛卡尔坐标系中的点坐标为(x,y,z),其中x表示横轴,y表示纵轴,z表示高度,则雷达坐标系转换为笛卡尔坐标系的计算如式(3)所示:

x=R*cos(φ)* sin(θ)

y=R*cos(φ)*cos(θ)

z=R*sin(φ)

(3)

以上是毫米波雷达生成点云的大致流程,至此就可以获取到目标的三维坐标、距离以及速度等信息,供后续数据集构建、数据处理以及数据可视化使用。连续多帧的点云信息就是后续方法的输入,每一帧包含n个离散的点,每个点都包含空间位置x、y和z以及速度等信息。

1.2 点云分类网络PointNet++

在上述所提到的MM-PCANet当中,采用PointNet++[16]作为主干网络,从3D点云中提取空间分层特征。PointNet[17]是使用深度学习的方法提取点云特征的先驱工作,之后出现了类似于PointNet++等许多新颖的基于深度学习的点云网络,但大多数都是以PointNet为基础。在PointNet当中使用多层感知机(MLP,multilayer perceptron)来进行点云的高级特征表示,并选择用最大池化来进行特征的聚合,PointNet提取特征的方式是对所有点云数据提取一个全局特征,这会带来很大的局限性,即无法提取到点云的空间局部特征,使得它很难对复杂场景进行分析。PointNet++采用了分层抽取特征的思想,把每一次特征提取操作称为Set Abstraction。Set Abstraction又分为三部分,分别是采样层、分组层、特征提取层,它能够在不同尺度提取局部特征,通过多层网络结构得到更深层次的特征,同时兼顾全局特征以及空间局部特征。因此,在点云稀疏或其它复杂的场景下,PointNet++有着更好的特征提取能力。

2 方法

2.1 点云采样策略

在实际的人体行为数据采集过程中,不同帧的点云数量是不相同的,在一些复杂的动作当中,生成的点云数量可能会比简单动作的要多,为了使每帧点云数量保持一致,作为后续分类网络的输入,同时方便比较每帧固定不同点云数量时分类方法的整体性能差异,采用基于K-means++聚类算法进行点云的采样,如果当前帧的点云个数小于设定的阈值,则通过重复一些原有点和聚类中心点,完成点云的扩充。如果大于设定的阈值,则只保留聚类中心点,剔除中心点以外的其它点。整体流程如图2所示。

图2 点云采样整体流程

2.1.1 方法介绍

K-means聚类是最常用的聚类算法。它的基本思想是通过迭代寻找K个簇的一种划分方案,使得聚类结果对的损失函数最小。它的优点是计算复杂度较低,收敛速度较快,但是容易受初始值的影响,为了减少初始值带来的影响,选择利用K-means++中选择初始聚类中心的方法初始化聚类中心。通过给定具体的K值,将点云数据聚类成K个簇,通过保留或重复聚类中心点,完成点云的采样。具体步骤如下:

1)先从数据当中随机选择一个点作为聚类中心。

2)对于其它每个点,都计算其和最近的一个聚类中心的欧式距离。

3)用加权的方式选取聚类中心点,离已确定的中心点距离越远,越有可能被选择为下一个中心点。

4)重复步骤2)和3),直到K个聚类中心选择完成。

5)针对每个点计算其到所有聚类中心的欧式距离,并将其归属到距离最小的聚类中心所对应的类别。

6)针对每个簇类,重新计算该簇的聚类中心并对聚类中心进行更新。

7)重新迭代5)、6)两步,直到簇的聚类中心不发生改变或达到迭代上限。

8)迭代完成后,保留每个簇的聚类中心作为最终的结果。

2.1.2 参数分析

随机选取一帧点云个数为109的数据,将聚类中心分别设置为16、32、64、128和256,代表着将点云个数采样至对应的数值,迭代次数设置为300次,选择用欧式距离作为距离的衡量标准,采样的效果如图3所示,分别对应不同采样值的采样效果,可以看出利用所提出的K-means++聚类算法可以很好地保留关键的特征点以及原始的点云空间特征,在进行采样的同时,不会造成点云空间结构的变化。

图3 点云采样效果图

2.2 分类网络结构

基于毫米波雷达的特殊性,人体行为识别需要面临如下两个挑战:第一是所采集到人体行为点云较为稀疏;第二是人体的行为并不是单帧的三维点云,而是多帧三维点云的聚合,因此如何从这些连续且无序的三维点云中高效地提取特征是主要问题。如图4所示,是所提出的MM-PCANet分类网络的整体结构图,其中主要包含基础模块、全局帧模块、全局点模块以及注意力特征融合模块等。

图4 MM-PCANet分类网络

2.2.1 基础模块

该模块的输入维度是T×N×D,其中T代表着时间序列帧的个数,N代表每帧当中点云的数量,D代表每个点的特征个数,在所提出的方法中,每个点有4个特征,分别是空间位置x、y、z以及速度。该模块的作用是利用MLP提取出每一帧点云的高级表示,同时为了提取到帧间的局部特征以及减少计算量,采用了帧间分组与采样模块[18],其包含两个部分,即帧间分组模块和采样模块。帧间分组模块可以通过在短周期内找到k个相邻点来构造局部点云集,从而能够在更密集的点云中学习出更精细的行为特征,当人体快速移动时,也可以学习更多的全局运动信息。采样模块旨在通过在每个时刻采样点云特征来收集局部时空信息,以降低计算成本并识别不同尺度的人体行为。

2.2.2 全局帧模块

因为人体的行为是连续帧所叠加而成的,所以帧与帧之间的时序信息是很重要的,全局帧模块旨在利用长短时记忆网络[19](LSTM,long short-term memory)来提取连续帧之间的时序信息。LSTM是循环神经网络的一种特殊自回归模型,通过加入长期记忆单元和改变门结构,缓解了循环神经网络中的梯度弥散和梯度爆炸问题,已广泛应用在序列数据处理中。该模块具体的步骤是首先经过了帧间分组与采样模块以及MLP多层感知机,进一步将每一帧的点云特征进行更高级的表示,然后送入LSTM层提取连续帧之间的时序信息,最后送入注意力特征融合模块和后续全局点模块所输出的特征相融合。具体计算方法如公式(4)所示:

ft=σ(Wf[ht-1,yt]+bf)

it=σ(Wi·[ht-1,yt]+bi)

ot=σ(Wo[ht-1,yt]+bo)

ht=ot*tanh(Ct)

(4)

2.2.3 全局点模块

上述的全局帧模块是以每一帧的点云信息作为整体,提取帧与帧之间的时序信息,但是由于点云的特殊性,不仅要关注帧与帧之间的时序信息,还要关注每一帧点云当中每个点在整个时间序列当中的时序信息,这样有助于模型获取每个点在整个行为过程中的一个特征变化,从而进一步的提取到更有用的点特征。受PointLSTM[20]的启发,通过共享的LSTM层对每个点云的时序特征进行提取。

h(t),c(t)=LSTM(y(t),h(t-1),c(t-1))

(5)

(6)

(7)

2.2.4 注意力特征融合模块

上述通过全局帧模块和全局点模块之后,分别提取到了帧与帧之间的时序信息以及每一帧点云当中点的空间和时序特征,最后利用基于注意力的特征融合模块[21]将这两部分的特征融合。如图5所示,其中MS-CAM模块是当中提到的多尺度通道注意力模块[21],该模块是为了更好地融合语义和尺度不一致的特征,解决了融合不同尺度给出的特征时出现的问题。同时针对初始特征集成对于注意力特征融合影响比较大的问题,使用额外一层注意力特征融合模块生成更好的初始特征,故称之为迭代注意力特征融合模块。具体的计算方法如下:

(8)

图5 迭代注意力特征融合模块

式中,M是MS-CAM多尺度通道注意力模块[21],X和Y是两个维度T×N×D的输入特征,Z是维度T×N×D的融合特征。

2.2.5 损失函数

多分类交叉熵(Multiclass Cross-entropy)是一种常用的损失函数,用于衡量多分类问题中模型输出的概率分布与真实标签的差距,具体计算方法如下:

(9)

式中,N代表样本数,K代表类别数,yic代表真实标签中第i个样本属于类别c的概率,pic代表模型预测的第i个样本属于类别c的概率。

3 实验

3.1 数据集

在MMActivity数据集[12]和MMGesture数据集[14]两个毫米波雷达人体数据集上进行了验证,从而来证明所提方法的鲁棒性和通用性。

1)MMActivity数据集:该数据集是第一个使用毫米波雷达收集人体行为点云信息的数据集,使用IWR 1 443毫米波雷达采集来自两个不同实验者的5种人体行为数据,5种行为分别是跳跃、拳击、行走、蹲起和开合跳跃,每个行为在两秒内完成,采样频率是每秒30帧,一共收集了93 min的数据。

2)MMGesture数据集:该数据集是第一个使用毫米波雷达收集手势点云信息的数据集,使用的是IWR 1 443毫米波雷达,将在其远程方案的数据当中进行实验,一共有79个不同性别的参与者执行4种手势,包含左滑动,右滑动,敲击和旋转,其中不仅直接感应了手势动作,而且在有某些堵塞物的情况下进行了感测,收集的点云包含空间坐标x、y和z、速度以及反射强度5个特征信息。

3.2 训练和推理

该工作在单块的3090TI显卡上完成模型的训练和推理,其余工作是在具有Inteli7-10750H的处理器以及16GB运行内存的笔记本电脑上完成,使用了PyTorch深度学习框架实现所有模型。设置初始学习率为0.000 1,并采用衰减率为0.005的阶梯式学习率衰减的Adam优化器[22]来训练模型,训练集和测试集的比例为8:2,采用的是多分类交叉熵损失函数。其中上述基础模块里两个MLP层输出的特征维度分别为64和128,全局帧模块和全局点模块里MLP层输出的特征维度分别为256和1 024,LSTM的层数为2且单向,输入输出的特征维度分别为256和1 024,PointLSTM输入输出的特征维度分别为132和256。在3个帧间分组与采样模块中,分别选择相邻的4、8、4个点进行分组,并且点云采样率为0.5。

3.3 基线

本小节将所提出的MM-PCANet划分为3个主要部分作为基线,以此来验证网络每一部分的特征提取能力以及所做出的改进。

1)基础模块+全局帧模块(Baseline A):在该基线中选择保留了基础模块和全局帧模块,并且将注意力特征融合模块删除,其余保持不变。该基线可以作为参照以此来证明全局帧模块的作用。

2)基础模块+全局点模块(Baseline B):在该基线中选择保留了基础模块和全局点模块,并将注意力特征融合层去掉,其余保持不变。该基线可以作为参照以此来证明全局点的作用。

3)基础模块+全局帧模块+全局点模块+特征拼接(Baseline C):在该基线中选择保留了基础模块、全局帧模块以及全局点模块,并选择直接用特征拼接的方法代替注意力特征融合层,其余保持不变,以此来证明全局帧模块和全局点模块的互补作用以及注意力特征融合层的作用。

3.4 指标

通过以下4个指标来评判所提出模型的可行性。

准确率:准确率是最常见的评价指标,指的是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。

(10)

精确率:又称为查准率,指的是在模型预测结果为正样本中,真正样本所占的百分比。

(11)

混淆矩阵:主要用于比较分类结果和实际测得值,可以把分类结果的精度显示在一个混淆矩阵里面,并直观地表明所提出模型在哪一类样本里面表现得不是很好。

推理速度:神经网络执行一次前向传播所需要的时间是推理时间。通常用一秒钟内模型能够执行的推理次数来表示模型的推理速度,单位用fps表示。

4 结果

4.1 消融实验

为了验证MM-PCANet网络每个模块的有效性以及所作出的改进,利用K-means++方法将点云采样至64个点,分别在MMActivity和MMGesture两个数据集上进行了实验。如图6和图7所示,分别按照3.3所提出的3个基线进行了测试,其中Baseline A在两个数据集的准确率分别达到了93.6%和77.6%,说明所提出的基础模块和全局帧模块是具备一定的序列点云特征提取能力。Baseline B在两个数据集的准确率分别达到了95.3%和85.3%,证明了全局点模块的特征提取效果要略微强于全局帧模块,能够更准确地完成人体行为的识别。Baseline C在两个数据集的准确率分别达到了96.5%和89.5%,该基线将全局帧模块和全局点模块同时利用起来,并通过直接拼接的方式进行特征融合,效果要强于Baseline A和Baseline B,证明全局帧模块和全局点模块具有互补作用,不仅提取了帧与帧之间的序列信息同时也很好地提取到了帧中点云的时序的信息。用注意力特征融合模块代替了特征的直接拼接,形成了所提出的MM-PCANet模型,在两个数据集的准确率分别达到了97.50%和94.10%,直接说明了注意力特征融合模块的有效性,能够更好地融合全局帧模块和全局点模块所输出的特征信息。

图6 在MMActivity数据集上的表现

图7 在MMGesture数据集上的表现

4.2 点云采样实验

为了验证K-means++采样方法的有效性,在两个数据集上分别利用K-means++采样和随机采样在不同采样值的情况下进行了实验,如图8所示,上方的两条线分别代表MM-PCANet在MMActivity数据集上两种采样方法的表现,下方的两条线分别代表在MMGesture数据集上两种采样方法的表现,可以得出,在不同采样值下K-means++采样方法比随机采样方法准确率平均提升了0.4个百分点,证实了所提出的K-means++采样方法的有效性。

图8 不同点云采样值在两个数据集上的表现

4.3 方法对比实验

从表1中可以看出8种不同方法在MMActivity数据集上的表现,其中不同的模型点云的表示方式不同,将点云体素化表示的RadHAR[12]准确率表现不是很好,随着体素分辨率的增加,该方法的空间成本和计算复杂性呈立方增长,同时点云的密度不均匀也会造成体素分布的不均匀,导致空间特征的丢失,在稀疏点云的数据集上这种问题会更加严重。除此之外是传统的直接对点云处理网络PointNet[17]、PointLSTM[20]以及Pantomime[23]和用图表示点云的MMPointGNN[13]分类网络,分类准确率均不如所提出的MM-PCANet,该准确率达到了97.50%,是表1所有方法当中表现最好的,造成这种现象更多的是因为上述4个基线网络无法兼顾帧序列的时序特征和具体点云的时序特征,而MM-PCANet可以很好地解决这个问题。如图9所示MM-PCANet在MMActivity数据集的混淆矩阵可以看出整体的分类效果是非常好的,尽管由于跳跃和行走之间的相似性,两者有点混淆,但并不影响MM-PCANet的整体优良表现。

表1 不同方法在MMActivity数据集上的表现

图9 MM-PCANet在MMActivity数据集的混淆矩阵

从图10中可以看出,由于独特的运动轨迹,旋转手势具有最高的准确性,不容易被误判。其他3个手势的准确度不够高,因为这3种手势的运动模型相似。表2是不同方法在MMGesture数据集上的表现,其中PointNet+LSTM的准确率仅为70.41%,这是因为受限于PointNet的空间特征提取能力,在较为稀疏的手势数据集上表现较差。PointLSTM和MMPointGNN的准确率分别为90.35%和92.67%,而MM-PCANet有着更高的准确率94.10%,表明所提出的MM-PCANet在基于毫米波雷达稀疏点云的手势识别场景有着更好的特征提取能力。

表2 不同方法在MMGesture数据集上的表现

图10 MM-PCANet在MMGesture数据集的混淆矩阵

4.4 推理速度

如表3所示,分别在两个数据集上测试了MM-PCANet的平均推理速度,可以看出Batch Size越大,网络的平均推理速度也越快,在Batch Size为1时,在这两个数据集上的平均推理速度分别达到了每秒19.40次和每秒50.02次,也完全满足使用毫米波雷达进行人体感知的实时性。

表3 不同Batch Size下MM-PCANet的平均推理速度 fps

5 结束语

本文提出了一种通用的基于毫米波雷达稀疏点云的人体行为识别方法,该方法直接对人体原始点云进行处理,无需将点云进行体素化或者其它方式的表示,利用K-means++算法进行点云采样,在不破坏点云空间结构的同时有效地提高了模型的计算效率。此外,使用MM-PCANet进行人体行为特征的提取和识别,兼顾点云的空间特征以及时序特征,对稀疏点云的运动有着灵敏的感知能力,同时也具有较强的抗干扰能力。实验结果表明该方法在两个毫米波雷达人体点云数据集(MMActivity和MMGesture)上的表现均优于所有其它基线,证明所提出方法的鲁棒性和通用性。但由于要融合多方面的特征,导致网络结构略显复杂,因此未来会尝试将网络变得更轻量化。

猜你喜欢

集上全局雷达
有雷达
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
雷达
落子山东,意在全局
复扇形指标集上的分布混沌
基于空时二维随机辐射场的弹载雷达前视成像
现代“千里眼”——雷达