基于RDSNet的毫米波雷达人体跌倒检测方法
2021-09-02元志安周笑宇刘心溥卢大威马燕新
元志安 周笑宇 刘心溥 卢大威* 邓 彬 马燕新
①(国防科技大学电子科学学院 长沙 410073)
②(国防科技大学气象海洋学院 长沙 410073)
1 引言
据统计,我国每年至少有2000万老年人发生2500万次跌倒[1],意外跌倒成为威胁老人安全的重大隐患。在家庭和医疗健康监护中,如何及时准确地进行实时老人状态监测特别是跌倒检测成为亟待解决的难题。
跌倒检测算法主要分为两种:穿戴式和非穿戴式。穿戴式方法针对固定对象进行跌倒检测,如利用惯性测量单元、加速度计和陀螺仪等传感器组成的穿戴式跌倒检测设备[2,3];吕艳等人[4]提出一种基于卷积神经网络(Convolutional Neural Network,CNN)和手机传感器的跌倒检测系统,利用神经网络对智能手机内置的三轴传感器数据进行训练和分类,可以达到较好的检测效果。上述穿戴式方法主要存在体感上的不适和老人忘记主动佩戴等问题。
非穿戴式方法针对固定区域进行检测,主要有以下几种传感器:相机、WiFi、超宽带雷达、毫米波雷达。基于相机的跌倒检测方法[5,6]不断出现:Abobakr等人[7]通过深度残差卷积长短时记忆网络(Long Short-Term Memory,LSTM)对RGB-D图像进行跌倒分类;Feng等人[8]利用目标检测对复杂场景进行人体检测,并利用LSTM网络对图像进行跌倒结果预测,得到较好的检测效果。基于图像检测的方式存在侵犯个人隐私风险,不适合用于洗手间、卧室等隐私场所,同时需要充足的光线,不适合夜晚场景的使用。基于WiFi的方法有着成本低的优势:Bao等人[9]基于WiFi通道状态信息提出一种智能监控系统,根据通道状态信息的相位和幅度差值来建立跌倒检测模型;Hu等人[10]提出DeFall的检测方法,首先建立跌倒的通道状态信息静态模板库,然后利用通道状态信息估计跌倒时的速度进行相似度匹配。基于WiFi的方式容易收到其他外来信号的干扰,同时上述算法基于传统建模,泛化性较差。基于超宽带雷达的方法开始出现:Mokhtari等人[11]对回波信号进行特征提取,计算人体运动速度,利用运动速度的不同来进行跌倒检测;Maitre等人[12]利用CNN与LSTM网络对超宽带雷达信号的回波进行特征提取和学习,能够较好地完成跌倒检测任务。上述基于超宽带雷达的方法成本较高,且只对单一跌倒动作进行检测,在动作检测扩展方面仍需改进。相比之下,毫米波雷达具有良好的安全性和稳定性,且测量精度较高,成本较低,在跌倒检测中有着独特的优势。基于毫米波雷达的跌倒检测算法日渐增多:Jin等人[13]利用毫米波雷达采集微多普勒特征,并利用CNN进行训练和识别患者动作,计算效率较高,但是算法的准确率有待提高;Wang等人[14]基于CNN提出一种线核卷积神经网络(Line Kernel Convolutional Neural Network,LKCNN)用于提高跌倒检测算法的准确性,但存在检测动作单一的问题;Shrestha等人[15]和Li等人[16]利用双层LSTM结构来对调频连续波雷达信号进行学习,达到对人体动作进行分类的目的,这两种算法时延较大,需要进一步提高运行速度。上述基于毫米波雷达的方法仍存在网络结构单一,对于信号特征的提取和利用有限的问题。
本文提出一种基于毫米波雷达的人体跌倒检测算法,针对调频连续波雷达数据序列,结合CNN和LSTM网络设计一种距离多普勒热图序列检测网络(Range Doppler heatmap Sequence detect Network,RDSNet)。本文首先介绍跌倒检测系统构成,然后设计RDSNet网络结构,建立距离多普勒热图动态序列检测模型,构建包括跌倒在内的人体6种动作姿态的训练数据集,通过实时测试结果对本文所提出的方法进行有效验证和性能分析,并与其他跌倒检测算法进行对比,证明了算法的检测精度高且实用性较好。
2 跌倒检测系统构成
本文设计的跌倒检测系统属于非穿戴式检测设备,主要由毫米波雷达和PC机组成,系统组成如图1所示。采用毫米波雷达可以在保护检测对象的隐私情况下有效采集运动信息,同时不受光线影响。PC机搭载的RDSNet可以在经过数据训练后实时检测测试对象的跌倒及其他运动行为。
图1 跌倒检测系统构成Fig.1 The pipeline of fall detection
2.1 调频连续波雷达
毫米波雷达采用调频连续波,一个调频周期内发射信号为[17]
式中,AT为发射信号的幅度,fc=79 GHz为中心频率,B=4 GHz为带宽,Tm=40 μs为信号调频周期。经过目标和环境反射后,接收天线得到回波信号
式中,AR为回波信号的幅度,Δt为时延,Δfd表示多普勒频移。发射信号与回波信号混频处理并低通滤波得到中频信号
式中,c 为光速,对中频信号进行采样,在第n个重复周期的第m个采样点,离散中频信号为
式中,N为一帧内重复周期数量,M为一个调频周期内的采样点数。对一帧内N个信号调频周期的M个中频信号采样点数据分别做距离快速傅里叶变化(Fast Fourier Transform,FFT)和多普勒FFT,即可得到目标场景的一帧距离多普勒分布热图。
2.2 CNN
卷积神经网络是一种经典的神经网络结构,具有类似人眼的感受野[18],能够全面观测目标信息,在二维图像处理领域有着广泛应用。
对于距离多普勒热图的特征提取,CNN有以下几个优点[19]:原始图像直接输入,可以避免大量的预处理;局部感受域获取特征,可以减小图像的平移、缩放和旋转带来的影响;参数共享机制可以减小网络结构的复杂度,提高计算效率;下采样充分利用局部相关性信息,既减小数据处理量又可以保留结构信息。
本文利用CNN的特征提取优势,通过非线性结构有效地将多普勒热图的抽象表达提取出来,同时减少人工干预。
2.3 LSTM
长短时记忆网络[17]是循环神经网络的一种特殊自回归模型,通过加入长期记忆单元和改变门结构,缓解了循环神经网络(Recurrent Neural Network,RNN)中的梯度弥散和梯度爆炸问题,已广泛应用在序列数据处理中[20]。
LSTM结构如图2所示,相比于RNN只有一个传递状态,LSTM有两个传输状态:ct和ht,ct相对变化速度很慢,对应长时间的变化状态,ht与当前单元输入有关,相对变化速度较快,对应短时间变化状态。LSTM的前向计算公式为
图2 LSTM网络单元Fig.2 The unit of LSTM network
其中,ct和ht为本时刻传输状态,Sf,Si,St和S0为4个门控状态,[xt,ht-1]为输入xt和上一时刻传输状态ht-1的拼接向量,⊗为矩阵元素对应相乘,⊕为对应矩阵加法,Wf,Wi,Wt和W0为权重矩阵。
LSTM单元内部主要进行3个操作:
(1) 选择遗忘:针对上一节点传输信息进行选择性忘记,利用门控状态Sf来控制上一时刻的状态ct-1的遗忘策略。
(2) 选择记忆:针对本节点输入进行选择性保留记忆,利用门控状态Si和St来控制本时刻输入xt和上一时刻输出ht-1的记忆策略。
(3) 输出生成:决定当前模块单元的输出状态,主要利用门控状态S0来控制当前节点输出ht。
LSTM通过门控状态来控制传输状态,记忆需要长时间保留的信息和内容,丢弃不重要信息,将序列数据之间的时间相关性保留记忆并提取,刻画序列数据的时间关联信息。
3 RDSNet网络设计
RDSNet主要由CNN和LSTM网络组成,利用CNN高效的特征提取能力,完成单幅多普勒热图的特征提取;利用LSTM对序列数据的时间关联刻画作用,完成特征图序列的时间相关性描述。输入数据选择距离多普勒热图,热图方法具有几个优点:敏感度较高,能够快速准确地捕捉运动信息。数据复杂度低,便于加快计算效率。不涉及成像,能够较好地保护检测对象的隐私。
RDSNet整体结构如图3所示,主要分为3个部分:CNN,LSTM和分类器。CNN有两层结构:第1层包含4通道3×3卷积核的卷积层和3×3最大值池化层,第2层包含8通道3×3卷积核的卷积层和3×3最大值池化层。LSTM网络由单一隐藏层构成,隐藏层维度为208。采用单层LSTM是为了加快收敛速度,提升RDSNet的计算效率。分类器网络包含:拆分多维向量网络、全连接层和线性整流函数(Rectified Linear Unit,ReLU)。ReLU函数计算方法为
图3 RDSNet网络结构Fig.3 The structure of RDSNet
拆分多维向量网络包含3通道33卷积核的卷积层和22最大值池化层,全连接层中dropout的比例设定为50%。
上述CNN部分层数、卷积核尺寸和通道数选取的依据:首先,参考类似图像特征提取任务,如图像分类、目标检测中的CNN网络结构设计,选择了比较常见的网络层组合思路和结构参数设定;其次,针对距离多普勒热图的特性,保证网络既不会在训练过程中对训练集过拟合,也保持对测试集的泛化性,选择了合适的卷积核数量和卷积层数;最后,RDSNet网络可以同样部署在树莓派平台,进一步投入实际应用,这需要网络的结构精简,计算复杂度较低,所以本文对CNN和LSTM进行合适的结构设定。
RDSNet为端到端的网络结构,输入数据后可以自动完成提取特征和学习时间序列模式,网络最终直接输出检测结果。其工作流程为:首先将生成的距离多普勒热图序列按照时间顺序拆分,每一时刻对应的热图分别进入CNN,由CNN网络提取得到8通道特征向量序列。按照时间顺序,依次将每个时刻对应的1通道特征向量作为LSTM网络记忆模块的输入值tm(m=0,1,2,···),得到LSTM网络的输出序列hm(m=0,1,2,···)。将输出序列hm拆分为多维向量进入全连接层,通过ReLU函数得到最终结果。
4 实验验证
4.1 数据集构建
在实验过程中,设计了跌倒、挥手、起立、静止、走动和翻身6个动作。单次动作数据包含8张距离多普勒热图,如表1所示。每个动作在不同方向和不同姿势下采集500次,共计3000组数据。同时为使数据具有更好的泛化性,选取身高、体重和年龄各不相同10名实验人员来进行数据采集,形成人体姿态数据集。
表1 动作设计及距离多普勒热图序列Tab.1 Motion design and range Doppler heat map sequence
在采集实验数据时,针对单人场景下的状态监测,设立单目标运动场景。同时在采集各个动作时加入随机性,以不同的角度、位置、速度、方向和对象来进行动作数据的采集。
4.2 RDSNet训练与测试
实验采用的调频连续波毫米波雷达设备支持77~81 GHz最大4 GHz的调频带宽,设置1个发射天线和1个接收天线,天线增益为12.2 dB,水平方向视场角为±47°,垂直方向为±19°,为达到足够的检测区域,设立雷达架设高度为1.5 m。实验采用的PC机配置为Windows10 64位操作系统,Intel i7 6核CPU,32 GB运存,NVIDIA Quadro P1000显卡,环境为Python3.6,深度学习框架为Pytorch 1.0.0。实验流程如图4所示。
图4 实验流程Fig.4 The process of experiments
首先设置雷达的参数并设计6种人体动作(跌倒、挥手、起立、静止、走动和翻身),对各种动作进行数据采集并建立训练数据集,将采集的热图序列输入RDSNet进行训练,CNN的输入图像分辨率为256×16,采用Adam优化器,权重退化系数为10-5,该优化器在其他图像处理感知任务中得到广泛应用,在随机梯度下降优化器的基础上能更好地避免陷入局部最优解。学习率为0.001,训练轮数为20轮,每次迭代的批样本数(batch size)为20,训练过程中利用GPU进行加速计算。一次完整的训练耗时5 min。
模型训练结束后,采用实时测试的方式进行模型效果验证,获取实测结果数据。实验场景和雷达视角如图5所示。
图5 实验场景和雷达视角示意图Fig.5 Experimental scene and radar perspective diagram
在测试过程中,为保证实验的严谨性、鲁棒性和有效性,在测试过程遵循以下原则:
(1) 实时测试。模拟真实场景,测试对象实施动作中间不停顿,连续完成所有动作。
(2) 对象选取。选取与建立训练数据集不同的6名实验人员参与实时测试实验。
(3) 动作选取。选取600个动作(300次跌倒、其余动作共300次),动作顺序随机组合。
(4) 动作实施。测试过程选取不同的角度、方向、位置、速度和对象进行测试。
4.3 实验结果对比分析
为对本文设计的跌倒检测系统做出客观公正的评价,将跌倒检测系统与其他方法进行对比分析。为探究基于毫米波雷达的跌倒检测系统的可行性,本文将不同传感器下的不同检测方法进行对比研究;为探究网络结构对跌倒检测效果的影响,本文将基于毫米波雷达的不同网络结构进行对比分析,分析系统网络结构的合理性;为探究自身网络结构的优化,本文将不同层数、类型的CNN和LSTM网络进行组合,测试网络分类效果,得到最优组合结构。
首先将系统与不同传感器下的不同检测方法进行性能对比,对比结果如表2不同检测方法结果对比所示。通过结果对比可以看出,与穿戴式设备相比,文献[3]提出方法在4种动作分类时检测准确率最高,但是无法实时进行检测,RDSNet在4种动作分类时检测准确率低于最高准确率2.33%;文献[4]提出方案在2种动作分类时检测准确率最高,同时可以进行有效的实时检测,RDSNet在2种动作分类时检测准确率低于最高准确率0.18%;RDSNet在6种动作种类时准确率最高,达到93.33%,相比之下RDSNet对于多类动作检测泛化性较好;与非穿戴式设备相比,RDSNet在不同传感器、不同检测方法和不同种类动作检测中都具有最高的准确率,在非穿戴式方法中具有明显的优势。RDSNet网络处理的时延小于50 ms,可以达到实时检测,同时传感器简单有效、成本较低,具有较高的实用价值。
表2 不同检测方法结果对比Tab.2 Comparative experimental results of different detection methods
为进一步探究网络结构对于实验结果的影响,选取相同传感器下(毫米波雷达)的不同网络结构方法来进行对比和研究,同时本文也对CNN,LSTM和CNN+LSTM 3种网络结构进行了实验对比研究,得出最优的网络结构,结果对比如表3所示。在不同种类的动作检测中,CNN+LSTM的网络结构都具有最高的准确率,且时延小于50 ms,满足实时检测要求,所以RDSNet采用CNN+LSTM的网络结构。
表3 相同传感器下不同网络结构的结果对比Tab.3 The results of different network structures under the same sensor
最后对网络结构的组合进行对比实验,得到最优方案。将不同层数的CNN和LSTM进行组合,表4结果表明:2层CNN与1层LSTM组合准确率最高(96.67%),漏警率最低(3.33%);3层CNN与1层LSTM组合虚警率最低(6%);1层CNN与1层LSTM组合时延最低(<38 ms)。因此最终确定RDSNet为2层CNN与1层LSTM组合,既能达到最高的准确率、最低的漏警率,又可以保证时延较低,达到实时检测的要求。
表4 不同网络结构组合结果对比Tab.4 Comparison results of different network structure combinations
测试跌倒(300次)、挥手(100次)、走动(100次)和静止(100次)4种动作的分类结果及混淆矩阵,结果如图6所示。
图6 4种动作分类RDSNet混淆矩阵Fig.6 RDSNet confusion matrix for 4 types of action classification
本文算法跌倒检测的准确率为96.67%,漏警率为3.33%,虚警率为8%,能够达到较好的检测效果。主要误判结果为跌倒过程判断为走动(10次),走动过程判断为跌倒(7次),说明走动过程与跌倒过程两个动作同为剧烈运动,具有一定的相似性。
通过以上的实验结果对比和分析,得出以下结论:
(1) 通过不同传感器的不同检测方法对比,可以发现基于毫米波雷达的方法可以在非穿戴式方法中达到最优检测效果,在扩展到多种动作分类时具有较好的泛化性,并且可以实时检测,具有较高的实用价值。
(2) 通过相同传感器(毫米波雷达)的不同网络结构的对比,得到CNN与LSTM组合的更优网络结构,可以达到最佳检测效果。
(3) 通过相同网络结构(CNN+LSTM)下的不同层数和类型的CNN和LSTM进行组合,探究得到最优组合结构:2层CNN和1层LSTM组结合。该组合方式既可以达到最高的检测准确率和最低的漏警率,又可以保持较低时延,保证实时检测作用。
5 结论
本文提出了一种基于毫米波雷达的人体跌倒检测算法,能够在保护个人隐私的前提下和无光线环境中有效工作。针对毫米波雷达的距离多普勒热图序列,设计了一种基于CNN和LSTM的RDSNet网络模型,可以对动态序列特征进行高效学习,达到良好的检测效果。本文建立了人体姿态数据集,利用数据集对RDSNet进行训练,利用实时测试的方式对算法检测结果进行研究。与其他不同传感器的方法相比,基于毫米波雷达的方法可以达到更优的检测效果;与其他网络结构相比,CNN+LSTM的网络结构在检测的准确率和泛化性上更具有优势;对不同的网络结构组合进行对比研究,RDSNet可以达到最高的检测准确率和最低的漏警率。以上结果证明本文提出的跌倒检测算法在提高检测准确性、降低计算时延、提升多动作检测泛化能力方面有明显作用,具有较高实用价值。后续工作将对跌倒检测算法在存在动态干扰的真实环境中的应用进一步探究。