杨志勇,王俊杰,金 磊
(南昌航空大学 软件学院,南昌 330063)
近年来,60 岁以上的老年人在人口中所占的比例越来越高,且还在迅速增长。老年人尤其是独居老人的医疗保健是全社会面临的重大问题,而摔倒和治疗延误造成的事故严重威胁着老年人的生命,摔倒检测已成为当前热门的研究领域。
目前,摔倒检测方案可以分为基于可穿戴传感器的方法、基于环境传感器的方法、基于计算机视觉的方法和基于无线信号的方法[1]这4 大类。
基于可穿戴传感器的方法是使用可穿戴传感器设备如加速度计[2-3]、陀螺仪[4-5]、相机等来检测人体摔倒行为。文献[6]利用老人佩戴加速度计进行测试,从加速度计获取日常步态特征来预测摔倒情况。AIHUA 等[7]利用三轴加速度计、三轴陀螺仪和三轴磁强计获取加速度和欧拉角,并使用基于加速度和欧拉角的检测算法检测摔倒行为。文献[8-10]结合基于视觉和基于可穿戴传感器方法的优点,提出一种基于可穿戴相机的摔倒检测方法,通过分析相机拍摄图像的变化来检测摔倒行为。基于可穿戴传感器的方法优点是不受检测空间的限制,不易受环境干扰,但该方法需要用户佩戴可穿戴传感器,舒适性较差。
基于环境传感器的方法是将传感器放置在检测区域中来检测人体摔倒行为,常用的传感器包括压力传感器[11]、红外传感器[12]、声音传感器[13]等。ALWAN 等[14]使用一种特殊的压电传感器,通过捕捉地板的振动确定摔倒事件。GUAN 等[15]通过部署红外传感器,参考结构层析成像和基于立体视图的红外辐射变化传感机制来检测人体摔倒行为。文献[16]以地板和声传播为基础,利用加速度计和声音传感器(麦克风)来检测摔倒事件。基于环境传感器的方法优点是不需佩戴任何设备,舒适性较好。但该方法容易受到周围环境的偶然性和不确定性影响,摔倒识别的精度有待提高。
基于计算机视觉的方法是采用红外摄像机监测用户行为,利用计算机视觉技术来检测人体摔倒行为。文献[17-19]通过建立图像背景模型,使用图像减法对个体进行分割,然后提取图像个体特征来检测摔倒。如果房间的照明情况发生变化,这种基于图像的效果就会不理想。而基于深度学习的方法不依赖光照[20],如深度相机[21]能够提高深度识别人体摔倒的精确度。SASE 等[22]通过提取视频、滤波、二值化、关联成分分析等预处理和设置阈值来检测人体摔倒动作。文献[23]结合不同视频摔倒识别系统的置信度,比较了4 种基于ROC 曲线下面积的聚集方法来识别人体摔倒事件。但基于计算机视觉的方法会产生视频记录,涉及用户隐私问题,在实用性方面也有很多局限,对人员的活动范围有一定限制。
基于无线信号的方法是利用人体活动对无线信号的影响,找到无线信号的变化与人体不同活动之间的对应关系来检测人体摔倒行为。常用的无线信号获取设备有雷达[23-25]和商用WiFi 设备[26-28]。文献[29]利用雷达获取时间序列信号,利用深度卷积神经网络自动提取特征进行人体摔倒检测。文献[30]利用离散小波变换对商用WiFi 采集的人体摔倒信号进行去噪处理,并通过循环神经网络(Recurrent Neural Network,RNN)对人体摔倒行为进行分类。基于无线信号的方法优点是无干扰感知和隐私保护,但该方法对环境要求较高,抗干扰性不强。
针对现有的人体摔倒识别存在适应性差、高入侵性、易误判、成本昂贵等问题,本文提出一种基于射频信号强度的人体摔倒检测方法,利用XGBoost 模型对时域特征分量和小波域特征分量进行处理,并使用排列组合法从中筛选较优的多域特征。通过深度学习网络得到数据潜在规律的特点,将CNN 网络结构作为主干网络,并在相邻网络层之间嵌入通道注意力(Squeeze and Excitation,SE)模块以识别不同人体摔倒动作。
本文提出的人体摔倒检测框架如图1 所示。该框架由RSS 数据采集与联合特征构建、摔倒检测模型建立2 个部分组成。对于第1 个部分,在数据采集时,目标人员只需在由多个物联网节点组建的无线传感器网络中模拟摔倒行为,即可通过PC 端收集对链路产生遮蔽效果的数据。在联合特征构建时,对数据进行预处理后提取时域和小波域特征,再利用XGBoost 分类器分别对不同组合的特征进行实验对比,选出最具有区分能力的时域小波域联合特征。第2 个部分是建立摔倒检测模型,为了得到RSS 测量值更深层次的特征信息,将获得的时域小波域联合特征和源RSS 测量值一起作为卷积神经网络的输入数据,并结合目标人员的不同动作作为标签进行训练,对目标人员的活动作出判断,从而实现对人体摔倒检测。
图1 人体摔倒检测框架Fig.1 Human fall detection framework
在通常情况下,1 个无线传感射频网络由M个节点组成,两两节点之间可以无线通信,可得到L=M(M-1)条无线链路。节点之间的通信机制是轮询机制,因此可以将整个无线射频网络的射频信号强度值(RSS)表示为R0,1,…,L={R0,R1,…,RL},其中R0==1,2,…,M}表示无线射频网络内没有人员情况下的RSS 测量值。RL==1,2,…,M;i=1,2,…,I}表示某种动作对应的RSS 值。由于实际实验环境存在无效链路,如有K条无效链路,那么无线射频网络RSS 测量值就可以表示为R0,1…,L-K={R0,R1,…,RL-K},通过对有效的RSS 提取出不同的活动特征实现摔倒识别。
假设节点的RSS 测量值长度为L,记为[R1,R2,…,RL],则时域均值特征计算式如式(1)所示:
时域方差特征计算式如式(2)所示:
时域峰峰值特征计算公式如式(3)所示:
时域特征提取完毕后,可以得到一个3×1 维的特征向量,时域特征可以表示为式(4)所示:
本文采集的信号是RSS,为非稳定信号,利用小波变换来提取小波特征。小波变换的公式如式(5)所示:
其中:a为尺度参数,对应频率,控制函数的伸缩;τ为平移参数,对应时间,控制函数的平移。
本文对剔除了无效链路的信号进行小波变换,选用的小波函数为Daubechies 函数,该函数的正则性随着N的增加而增加,同时具有正交性。RSS 测量值经过一系列的低通和高通滤波器后,得到对应的近似系数(cA)和细节系数(cD),同时频谱减少为原来的1/2。假设RSS 测量值长度为L,使用小波变换的单层分解,得到近似系数cA1 和细节系数cD1,并且近似系数cA1和细节系数cD1的长度为原来L/2。如果对RSS 测量值进行多层分解,那么近似系数cA1 可以继续小波变换得到cA2 和cD2,以此类推,直到分解级数达到N。多层分解还会得到一个长度为L的向量,表达式如式(6)所示:
其中:C是小波分解后的小波系数,包含cA 和cD;X表示分析信号;N为分解级数;wname 是小波基函数,即本实验的Daubechies 函数。图2 所示为小波多层分解的示意图。
图2 小波分解示意图Fig.2 Schematic diagram of wavelet decomposition
通常,小波分解的频率范围与采样频率有关。假设Fs是采样频率,如果进行N层分解,则N阶细节系数的频带范围为Fs/2(N+1)~Fs/2NHz,近似系数的频带范围为0~Fs/2(N+1)Hz。本文的RSS 数据采样频率为5 Hz。从理论上来看,经过5 级小波分解后,五阶细节系数的频率范围为0.07~0.15 Hz,五阶细节系数的频率<0.07 Hz,这仅包括人体摔倒频率的正常范围,正常成年人的摔倒频率为0.05~0.12 Hz。因此,本文选择的分解层数为5。
小波变换的结果会因小波变换选择的小波基不同而不同。在实际应用中,小波基的选择需要考虑各种因素,例如支撑长度、规则性、对称性、相似性和消失力矩。在此实验中对过滤没有特殊要求,一般来说,Daubechies 小波基通常用于一维信号降噪。
一旦选择了小波基函数,还需要选择合适的支撑长度。小波的支持范围是2N-1。在实际应用中,支撑长度越长,计算时间也越长。根据以往的研究结果,在信号处理中,小波基的支持长度通常在5~10 之间选择,因为如果支持长度过长,不仅会出现计算复杂性的问题,而且还会引起边界问题。如果太短,则不利于信号能量的集中。因此,本文选择支撑长度为10。图3 是部分原RSS 测量值的波形图,图4是向前摔倒的部分原RSS 测量值5 层分解之后得到的近似系数分量和细节系数分量,图5 是第1 层~第4 层的细节系数分量。
图3 部分RSS 的波形图Fig.3 Part of the RSS waveforms
图4 近似系数分量和细节系数分量Fig.4 Approximate coefficient component and detail coefficient component
图5 第1 层~第4 层的细节系数分量Fig.5 Detail coefficient components of the first to fourth layers
由图3~图5可知,原RSS信号经过5层小波变换后得到的cA5 和cD5 可以在低频和高频2 个频带较为清晰地表示出原射频信号强度值。由此选取cA5 和cD5小波系数来提取过零点数、方差、能量等小波域特征。其中过零点数表示动作进行的快慢程度,方差表示实验人员动作的幅度大小,能量则表示信号的汇聚程度。
假设小波系数向量长度为F,记为[C1,C2,…,CF],
则小波域过零点数特征计算公式如式(7)所示:
小波域方差特征计算式如式(9)所示:
小波域能量特征计算公式如式(10)所示:
小波域的近似系数分量和细节系数分量在提取特征后得到一个6×1 的特征向量,如式(11)所示:
为验证时域特征和小波域特征对人员动作分类识别的有效性,本文分别在RSS 测量值的时域和小波域提取出时域特征和小波域特征后,使用2 种方法进行验证,第1 种方法是使用XGBoost 分别对RSS测量值的时域和小波域特征进行分类识别验证,获得各自特征的区分能力;第2 种方法则是使用XGBoost 分类器对时域和小波域特征进行排列组合交叉验证,选取出最终最具有区分能力的联合特征。
卷积神经网络(Convolutional Neural Networks,CNN)是传统神经网络的一种改进的网络,其网络层之间加入了卷积操作,具有表征学习能力,使用局部操作对表征进行分层抽象。由于CNN 具有局部感受野、权值共享、下采样等特点,因此可以增强特征并有效降噪。
本文采用经典的LeNet-5 卷积神经网络结构,包括输入层、2 层卷积层、2 层池化层、2 层全连接层和输出层,共8 层,其网络结构如图6 所示。
图6 LeNet-5 网络结构Fig.6 Structure of LeNet-5 network
SE 模块是Momenta 胡杰团队提出的一种新的端到端网络模块,采取了“特征重标定”的思想来进行特征通道间的融合,在未增加额外特征空间的条件下,以深度学习的方式来自动获取每个特征通道的重要程度,并赋予有效的特征更高的权重,减小无效或效果不明显的特征权重,以此来使训练模型达到更好的效果。SE 模块不是1 个完整的网络结构,而是一个端到端的子结构,可以嵌到其他分类或检测模型中。SE 模块的网络结构如图7 所示。
图7 SE 模块的网络结构Fig.7 Network structure of SE module
本文在经典LeNet-5 卷积神经网络结构中插入2 层SE 模块层,得到SE-CNN 网络结构,包括输入层、2 层卷积层、2 层池化层、2 层SE 模块层、2 层全连接层和最后一层输出层,共10 层网络。SE-CNN 网络模型结构如图8 所示。
图8 SE-CNN 网络模型结构Fig.8 SE-CNN network model structure
本文通过设计一个无线射频网络来进行人体摔倒检测,该网络由36 个CC2530 节点构成,这36 个节点分布在6 根等高的PVC 管上,每根PVC 管上按序地从上向下地安置着6 个节点,构成1 个足够让实验人员进行摔倒实验的三维空间环境。图9 为实验环境图(彩色效果见《计算机工程》官网HTML 版本)。
图9 实验环境Fig.9 Experimental environment
在数据采集过程中,挑选不同的人在空间里进行正常站立、向前摔倒、向后摔倒、蹲下、坐在地上这5 个动作,同时采集一组空环境的实验数据以供比较。采集数据的过程中,36 个节点以“轮询”的机制周期性地向Base 节点发送数据,Base 节点与PC 端连接,侦听和接收来自这36 个感知节点数据包中无线链路的RSS 值并使用串口助手将RSS 数据保存为TXT 文本存储在PC 端。从收集到的数据可以看出,无线链路的RSS 值均以十六进制表示,36 个感知节点组成1 个轮询广播的RSS 信号采集网络,按照节点编号依次发送数据,组成一个36×36 的矩阵。每一个数值表示该行和该列对应的2 个节点的链路RSS 值。由于节点无法向自身发送RSS 数据,因此数据包内对应自身节点位置的RSS 值为0。
数据预处理流程如下:
1)数据缺失值处理。实验接收的TXT 文本数据头部和尾部不是完整周期,需要删除不完整的周期,同时采用平均值填充的方法对在数据传输过程和接收过程中丢失的无线链路进行补充。
2)进制转换。由于接收数据为十六进制,则需要将十六进制转换为十进制,方便后期的处理。
3)RSS 物理值提取。将从CC2530 节点寄存器读出的接收信号强度指示(Received Signal Strength Indicator,RSSI)的原始数值,转换为物理接收信号强度。
4)有效链路提取。由于某些无线链路不会受到人体动作的影响,所以剔除。如图9 中的PVC 管1、2、3 上的节点形成的链路不会受到人体动作的影响,需要剔除。根据实验,1~18 号节点与25~36 号节点,19~24 号节点与1~12 号节点处在视距路劲上形成有效链路,则有效链路共有18×12+6×12=288 条。
4.3.1 不同特征性能分析
本文提出时域小波域联合特征作为分类识别的特征,在分类识别的过程中,将时域特征和小波域的3 个特征进行组合,总有11 种组合方式。例如,时域特征和小波域能量作为一组特征,分别对这11 种特征进行分类识别。由于XGBoost 在工业界应用广泛且效果优良,因此采用XGBoost 对这11 种特征进行分类识别,选出具有区分能力的特征作为之后的SE-CNN 的输入。
1)时域特征性能
将时域的3 个特征用交叉验证的方式进行分类识别。时域的均值特征用M 表示,时域的方差特征用V 表示,时域的峰峰值特征用P 表示,均值和方差的组合用“MV”表示。不同组合对应的分类识别准确率如图10 和表1 所示。
表1 时域不同特征的平均准确率Table 1 Average accuracy of different features in the time domain %
图10 不同组合对应的分类识别准确率Fig.10 Classification and recognition accuracy corresponding to different combinations
由图10 和表1 的对比结果可知,随着特征数量的增加,分类识别的准确率也越高,说明特征数量越多,携带的信息可能就越丰富,表征能力就越强,区分能力也就强。
2)小波域特征性能
将小波域的3 个特征用交叉验证的方式进行分类识别。Z 表示小波域的过零点数,V 表示小波域的方差,E 表示小波域的能量,小波域的过零点数和方差组合为“ZV”。不同组合对应的分类识别准确率如图11 和表2 所示。
图11 小波域不同特征的准确率Fig.11 Accuracy of different features in the wavelet domain
表2 小波域不同特征的平均准确率Table 2 Average accuracy of different features in the wavelet domain %
由图11 和表2 可知,小波域特征在单个特征和组合特征的形式下整体的平均准确率均高于时域特征,说明小波域的特征具有良好的区分性。
3)时域特征性能
为验证时域小波域联合特征的有效性,将最常用的时域特征和小波域特征进行组合,时域特征用字母缩写“T”表示,联合特征不同组合对应的分类识别准确率如图12 所示。
图12 不同联合特征的准确率Fig.12 Accuracy of different joint features
由图11 和图12 可知,时域特征与小波域单个联合特征的准确率均高于时域联合特征,表明小波域特征比时域特征具有更高的识别率。同时,还可以得知时域联合特征准确率为63.7%,小波域联合特征的准确率为75.6%,而时域小波域联合特征的准确率达86.7%,高于单独联合时域特征和单独联合小波域特征的准确率。通过对比可知,时域和小波域联合特征的准确率最高,可以有效识别人体摔倒动作,具有很强的区分能力。
4.3.2 SE-CNN 性能分析
SE-CNN 性能分析的步骤如下:
1)将网络层嵌入SE 模块的模型和未嵌入SE 模块的模型进行性能比较。实验采用综合评价指标ROC/AUC,在进行1 000 次iteration 之后,得到对比结果如图13 所示。
图13 CNN 与SE-CNN 的对比实验结果Fig.13 Comparison of CNN and SE-CNN experimental results
由图13 可知,加入SE 模块的模型,其AUC 值大于未加入SE 模块的模型AUC 值,SE-CNN 模型优于CNN 模型,反映了SE-CNN 可以在进行卷积操作输出特征图后,获取特征通道的重要程度,并按照重要程度提升有用的特征,对作用不大的特征进行抑制,从而有效进行人体动作识别。
2)对比使用了联合特征和未使用联合特征的SE-CNN 模型的性能,对比结果如图14 所示。
图14 联合特征的对比实验结果Fig.14 Comparison experiment results of joint features
由图14 可知,增加了时域和小波域联合特征模型的AUC 值大于未加入模型的AUC。由此可看出联合特征可以提高RSS 数据的可区分性,同时SECNN 模型对人体摔倒识别有较高的识别率,保证了该实验的有效性和可行性。
4.3.3 基于深度学习的人体摔倒检测性能分析
为了评估基于SE-CNN 的人体摔倒检测的性能,将本文方法与其他文献所提方法进行比较。文献[31]使用体域网和室内传感器网络实现老年人行为检测,其利用MicaZ 节点基于集中式检测方法的准确率为90%。文献[32]通过Kinect 传感器获得人体跌倒识别的人体骨骼信息后,采用Back Propagation 算法进行分类,准确率为90%。文献[33]介绍了一种基于HMM 的跌倒检测系统,该系统基于微波多普勒传感器来检测人体摔倒,准确率达95%。文献[34]通过WiFall 来获取CSI 信息,利用支持向量机和随机森林算法实现人类跌倒的识别,准确率分别为90%和94%。表3 为不同人体摔倒识别方法的准确率,从表中可知本文方法与其他方法相比具有较高的准确率,明显优于其他方法。
表3 不同方法的人体摔倒识别准确率Table 3 Accuracy of human fall recognition by different methods %
本文提出一种基于SE-CNN 模型的人体摔倒动作识别方法,利用人体活动对无线信号链路的影响提取无线射频信号的时域特征,并通过小波变换提取小波域特征,运用XGBoost 对时域和小波域以排列组合的形式进行结合,构建具有显著区分能力的联合特征。此外,引入卷积神经网络和SE 模块对无线射频信号及联合特征进行分类学习,以提高摔倒动作的分类识别准确率。实验结果表明,联合特征的加入能够提高RSS 数据的可区分性,且SE-CNN模型识别准确率高于CNN 模型,可以实现高准确率的人体摔倒检测。但本文方法目前只考虑了检测环境中单人的场景,没有考虑多人场景,下一步将尝试在多人场景下进行检测,从中提取出摔倒特征,并获取日常实际的样本数据训练模型,以提高本文方法的鲁棒性。