APP下载

基于LoRa设备的人体活动识别研究*

2024-01-24万亚平聂明星

计算机工程与科学 2024年1期
关键词:房间内接收端频率

崔 浩,万亚平,钟 华,聂明星,肖 杨

(南华大学计算机学院,湖南 衡阳 421001)

1 引言

人体活动识别HAR(Human Activity Recognition)在诸如医疗保健[1]、智能家居[2]和人员识别[3]等许多应用中都有重要作用。相对于可穿戴式传感器与摄像头,无线传感设备以其安装于环境中而不需随时佩戴,不采集用户敏感信息而受到了更广泛的关注。近年,基于WiFi[4]、FMCW(Frequency Modulated Continuous Wave)雷达[5]、RFID(Radio Frequency IDentification)[6]、多种设备混合检测[7]、与深度学习结合检测[8-10]的实验均取得了很多突破。

如表1所示,WiFi信号高频信号穿透力较差,仅能保证有限的有效传感范围。FMCW雷达因其分辨率与数据的稀疏性[18]在细粒度人体活动识别任务中表现较差。RFID常被用于分析人员流动和用户跟踪[19],但用于人体活动识别任务时就会对RFID标签的携带与RFID阅读器的放置有较苛刻的要求[19]。前述工作没能很好地解决有效传感距离短的问题。LoRa(Long Range radio)[6]是低功耗广域网络的一种通信技术,在过去的几年中已经在许多亚欧国家广泛部署。此前工作大多只利用其传递其他传感器采集的数据[21]。近年来,针对LoRa设备的传感范围[22]、抗干扰性[23]、感知人体活动的能力[24]进行研究,并将其用于解决多目标呼吸检测问题[25],展现了LoRa设备在长距离传感领域的巨大潜力。所以,本文引入LoRa设备,测试其在多个房间内的人体活动识别能力。本文提出一种LoRa数据的特征提取方法,通过分析LoRa信号变化提取特征,以便使用深度学习方法来完成人体活动识别任务。该方法从LoRa数据中提取反映人体活动的频率变化特征并以图像形式保存,然后使用深度神经网络学习不同活动信号间的特征差异。为了检验本文所提方法的性能,采集LoRa数据,创建2个数据集并复现了数个当前先进的图像分类深度学习网络。本文的数据集获取途径已公开在Github并可在https://github.com/CocoNazZ/LoRa-Dataset下载。

Table 1 Comparison of conventional wireless sensor devices表1 常规无线传感设备对比

Figure 1 Workflow of LoRa data processing图1 LoRa数据处理流程

2 LoRa数据处理方法

本节首先介绍提出的LoRa数据处理方法,然后分析LoRa数据与所提方法的流程细节。

2.1 方法简介

如图1所示,原始LoRa数据是包括I/Q双通道的复数组,转化到实数域可得到一个非常长的时域信号序列。本文方法首先对原始LoRa数据进行短时傅里叶变换STFT(Short-Time Fourier Transform),得到一个反映时间-频率变化规律的二维矩阵;然后去除其中与人体活动无关的数据与静态环境分量;最后重新排列该矩阵,得到大小合适的矩阵作为图像分类网络的输入。

2.2 LoRa数据分析

LoRa采用啁啾扩频CSS(Chirp Spread Spectrum)调制技术[26],将数据变换为频率随时间变化的啁啾发送。假设生成一个啁啾信号s(t)=ejπkt2(j为虚数单位,k为任意正整数),经过N条不同的路径传播到达接收端,则由Zhang等人[24]的工作可知,接收端接收到的信号如式(1)所示:

(1)

其中,an(t)表示第n条路径的衰减因子;τn(t)表示信号在第n条路径上的传播延迟;θc=2πΔft,Δf=fc-f′c是由发射器和接收器时钟不同步引起的载波频率偏移CFO(Carrier Frequency Offset)[24];θs是由采样频率偏移SFO(Sampling Frequency Offset)引起的相位误差。θc和θs会显著影响相位变化。

Figure 2 Change of two antenna signals and their ratios in frequency domain图2 2根天线信号及其比值在频域的变化

CFO与SFO产生的主要原因是收发器之间振荡器的频率误差以及多普勒频移,其中振荡器频率误差主要受到所处环境及振荡器温度变化的容差等影响[28]。如何计算并消除CFO与SFO的误差是存在已久的研究问题。在本文的研究中,θc=2πΔft=2π(fc-f′c)t。假设f′c=fc+Δt·k,Δt为f′c和fc之间的时间差,则θc在接收端对信号频率引起的影响如式(2)所示:

(2)

在500 kHz的带宽下(Band Width,公式中用变量B表示),LoRa设备具有±ΔfB=500=60 kHz的频率偏移[29]。在125 kHz的带宽下,LoRa设备的频率偏移会更小。所以,2个设备间频率相差的时间Δt<ΔfB=500/(B/T)≈0.48T,其中T为LoRa信号啁啾的一个变化周期。实际上这种偏移对LoRa设备传递数据本就影响甚微[30],也可以通过查询来自每个LoRa有效载荷前面的前置和SFD(Start Frame Delimiter)位的信息来纠正[30],但本文仅通过不同时间多次采集多组数据来减弱其对数据的影响。

而多普勒频移则指发射端、接收端与传播介质之间存在相对运动时,接收端接收的信号频率不再是发射端发射的频率的现象。这对于建立传统处理模型的方法来说是一个很大的误差,但其受到相对运动的影响也表明多普勒频移的变化规律可以被机器学习方法捕捉来反向分析发射、接收端之间发生的相对运动。已有多项研究工作通过机器学习方法分析多普勒频移,来识别传播介质之间存在的相对运动信息[31-33]。

LoRa信号传播过程中的主要误差CFO、SFO会影响对相位的分析,但它们对频率的影响是相对可以容忍(CFO)并利用(SFO)的。所以,本文以受误差影响小的频率变化规律作为识别不同活动的特征。区别于WiFi信号的分析CSI矩阵的方法[27],文献[24]提出的消除CFO、SFO误差的信号比方法提高了检测相位变化的准确度,如图2c所示(图2为本文在相同时刻2根天线各自信号及其比值的时频图,其中,横坐标表示时间,单位为s,与实际时间一致;纵坐标表示频率,单位为Hz,为方便观察仅截取了变化明显且位于相同频段的部分,纵坐标值不等于实际频率值),该方法也完全消除了信号的频域变化规律。为此,本文对LoRa信号频率变化进行了进一步研究。

2.3 方法流程

2.3.1 提取数据位啁啾

图3所示为通过短时傅里叶变换后的数个LoRa数据片段。由图3可知,在一个变化周期内,LoRa信号频率首先是一个频率随时间从最小频率向最大频率增加的长上行啁啾;然后是频率随时间从最大频率向最小频率减小的帧定界符SFD;最后就是数据位的啁啾。通过对比不同活动的数据变化可以发现,上啁啾和SFD部分的频率不受活动种类变化影响,但数据位啁啾频率的变化受活动种类影响十分明显,那么去除上啁啾和SFD后的数据位频率变化就可以作为识别不同种类活动的特征。

Figure 3 Comparison of LoRa signal fragments of multiple groups of activities图3 多组活动的LoRa信号片段对比

2.3.2 用信号差去除静态分量

Figure 4 Spread paths of LoRa signal in the room图4 LoRa信号在房屋内的传播路径

Figure 5 Change of two antenna signals and their differences in frequency domain图5 2根天线的信号及其差在频域的变化

Zhang等人[24]的工作显示,信号的传播路径受人体活动影响也会有一定变化。如图4所示,如果将LoRa信号依据在整个传感空间的传播路径是否会受人体活动影响分为恒不受人体活动影响(Sv1)和会受人体活动影响(Dv1)2类,那么,在有人活动时(如图4a所示)接收端的信号可以表示如式(3)所示:

Rx1(t)=Sv1+Dv1

(3)

相对地,在无人活动时(如图4b所示)接收端的信号则可以表示如式(4)所示:

Rx2(t)=Sv1+Sv2

(4)

其中,Sv1不变,Sv2表示有人活动时会受到影响但此时只受环境影响的那部分信号。

对比式(3)和式(4)可知,在任何活动的传播路径中总会存在不受人体活动影响的静态分量Sv1,这对于分布范围更小的动态分量Dv1而言是一个很大的误差项。但是,这2组信号的Sv1项是近似一致的,如果对这2组数据进行减法运算,即可得到式(5):

R′x=Dv1-Sv2

(5)

此时虽然仍有Sv2部分的误差,但去掉了Sv1部分,静态分量对Dv1的影响大幅下降。同时,如图5所示(图5为本文在相同时刻2根天线各自信号及其差值的时频图,其中,横坐标表示时间,单位为s,与实际时间一致;纵坐标表示频率,单位为Hz,为方便观察仅截取了变化明显且位于相同频段的部分,纵坐标值不等于实际频率值),由于短时傅里叶变换的性质,对信号值的加减可以变换成为对信号瞬时频率的加减。这样通过简单的减法运算就能更准确地突出不同活动对LoRa信号频率变化的影响。同时同一活动数据经过与不同无人活动的数据做差也可以成为一种锻炼数据对环境、CFO等误差的鲁棒性的数据增强策略。

Figure 6 Time frequency charts obtained using two downsampling methods图6 使用2种下采样方法得到的时频图

2.3.3 按时间排列每帧

时间间隔为5 s的LoRa数据经过短时傅里叶变换可以得到大小约为25*39064的数组。受时间、设备和开始采集时刻等外部因素影响,每次采集实际得到的帧数、每帧实际长度都会有一定变化。为突出活动数据,经过裁剪后剩余数据每帧大小约为25*224,共有约173帧。在去除上行啁啾和SFD后得到的剩余数据中,每帧大小约为25*142,按每帧分隔开约25*(142*173),其长宽不均衡、帧数过多并不适合直接进行训练。针对此类问题,研究人员常对数据进行下采样后再进行后续识别操作,如使用卷积神经网络提取每帧特征完成下采样,再将每帧采样结果输入到循环神经网络中[33]完成识别的方法。本文首先尝试了扩大STFT窗口与随机下采样的下采样方法,如图6所示(同图2和图5一样,纵坐标值不等于实际频率值),此时频率变化特征已经被稀释,而且,过多帧数也对循环神经网络的训练有较大压力。对此本文提出了新的处理思路。

LoRa设备的采样率能达到900 kHz,如果将代表整个活动的频率变化矩阵按帧分割开,此时帧数过多难以处理。由于该序列实际上是以长宽不均衡的二维矩阵的形式保存的,二维矩阵又是图像的常见保存形式,如果能重新排列每帧使矩阵更均衡就可以将帧序列作为频率变化图保存起来,使数据更容易被处理。本文仿照Vision Transformer网络将图像分为多个块并按顺序排列来将图像转换为序列的思路,逆向将每帧数据分为多个块并按顺序拼接成一幅大小更均匀的图像。如图7所示,本文将帧序列中每数个连续帧拼接得到长度一致的数个二维矩阵当做块,然后将这些矩阵在竖直方向再次拼接起来,最终得到长宽相近(等)的一个二维矩阵并保存为图像格式。这样在按时间顺序保留频率变化特征的同时把帧序列转化成了帧图,此时图像大小适宜,可以直接输入图像分类神经网络中训练,将序列分析问题转换成了图像分类问题。对于帧序列的处理会有更科学高效的方法,这需要后续进一步研究。

Figure 7 Convering long matrix to square matrix图7 将长矩阵转换为正方形矩阵

3 实验

为了验证本文方法的有效性,选取近年来图像分类任务中效果突出、有代表性的Vision Transformer网络、Swin Transformer网络和ConvNext网络进行对比实验。具体版本信息为:基于PyTorch框架复现的Vision Transformer网络的base版本(vit_base_patch16_224_in21k)、Swin Transformer网络的tiny版本(swin_tiny_patch4_window7_224)和ConvNext网络的Base版本。

本节首先介绍实验设备信息与实验场景,然后介绍本文提出的2个数据集的具体采集过程,最后通过分类实验结果来验证本文方法的有效性和LoRa信号用于传感的潜力。

3.1 设备详情

如图8所示,LoRa实验样机由1个LoRa发射端和1个LoRa接收端构成。其中,LoRa发射端由一个搭载Semtech SX1276[34]LoRa节点的Arduino Uno[35]开发板组成,并配备了一根定向天线用于发送信号;接收端由2根分别接收数据的天线组成,这2根天线的距离非常近,来自这2根天线的数据可以近似认为代表一致的结果。

上述LoRa发射端在915 MHz频段以125 kHz的信道带宽发送信号,通过USRP B210[36]和GNU Radio[37]配置LoRa网关作为接收端接收LoRa信号并由GNU Radio直接保存在设备中。在GNU Radio中,采样率设定为900 kHz,Gain type属性设置为Normalized,逐渐调整增益值Gain Value以选出合适的增益,同时接收器通过USB连接到配备AMD R4800H CPU和16 GB内存的华硕天选FA506IU笔记本电脑并用其收集、处理数据。

Figure 8 Devices and experiment scene layout图8 设备及场景布置

3.2 数据集采集详情

3.2.1 收集1个房间内细粒度活动数据

本节以图9所示的空旷房间作为实验场地,调整增益Gain Value值为0.3,并以900 kHz的采样率每5 s数据记为一组活动。

实验一共邀请了8名实验者(以姓名首字母B、C、D、F、L、R、W、X作为代号)分别进行慢跑、步行、捡东西、下蹲、起立与站立的活动,与无人活动(代号为E)的空活动一起共7类活动。由相同2名采集人员始终在接收端检查接收的数据,并标注数据,保证受试者的活动符合预期。如此保证每名受试者每种活动均重复采集数十次。每次采集前也会先额外采集人员C与人员X站立的数据以测试设备,最终采集结果如表2所示,其中,Tol表示该行/列的总采集组数,Perc表示该行/列采集组数占全部组数的比重。

Figure 9 Activity recognition experimental site in one room图9 1个房间内活动识别的实验场地

3.2.2 收集多个房间内活动的数据

本节以图10所示的4间相邻房间作为实验场景,调整增益值Gain Value为0.83,并以900 kHz的采样率邀请5名实验者分别在4个房间内随意走动,不限速度、位置和方向,每走动5 s记为一组运动。实验一共邀请了5名实验者(以姓名首字母C、S、W、X、Y作为代号)在4个房间分别走动,与4个房间均无人活动的空活动共组成5类活动。由相同2名采集人员始终在接收端检查接收的数据,并标注数据。如此保证每名受试者每种活动均重复采集数十次,最终采集结果如表3所示。

3.3 活动识别结果

本节测试使用本文方法在创建的数据集上进行活动识别的结果,包括在1个房间内的活动识别、在1个房间内对各种活动的人员识别、在4个房间内的活动所在房屋识别以及在4个房间内的人员识别。

Table 2 Collection of activity data in one room 表2 1间房屋内活动数据采集情况

Figure 10 Experimental sites for identification of active room in four rooms图10 4个房间内活动发生房间识别的实验场地

Table 3 Collection of activity data in four rooms

3.3.1 1个房间内活动识别

本节对原始数据以及与经过做差之后的数据分别进行训练,效果如图11a所示。可以看到,ConvNext与Swin Transformer的准确率都达到了89%,Vision Transformer则只有86%。这说明LoRa信号频率受人体活动影响产生的变化可以作为对人体活动分类的一种依据。

在与空活动做差的数据上的分类结果如图11b所示。可以看到,3种网络的分类效果都有一定提升,ConvNext用更少的批次Epoch分类准确率就提升了5%(达到94%),Swin Transformer则提升了3%(达到92%),Vision Transformer则提升了3%(达到89%)。这说明通过信号差方法去除部分静态分量可以提高通过分析时频图完成人体活动识别的准确率。原始数据集的LoRa信号频率变化中不受人活动影响的静态分量的确会影响对活动的识别效果。

Figure 11 Recognition results of activities图11 对活动的识别效果

此外,为探究LoRa设备识别人体活动的泛化能力,本节将数据集中由人员C完成活动的数据删除,以其他7人的活动组成新的数据集进行训练,然后由人员C的活动数据作为验证集检测分类的泛化能力,结果如图12和图13所示。

Figure 12 Recognition results after removing data of tester C图12 去除人员C数据后的识别效果

Figure 13 Confusion matrix obtained by inputting data of tester C data into ConvNext network, reflecting the ability to identify types of activities图13 人员C数据输入ConvNext网络 得到的反映识别活动种类能力的混淆矩阵

Figure 14 Identification recognition results of each activity图14 每种活动的人员识别效果

由图12和图13可以发现,3种网络均能识别人员C的活动,而且对跑步、步行、站立和起立的活动识别效果明显,但是在下蹲和捡东西这2种活动中都出现了相当多的项被误判为起立。这可能是由于跑步、步行和站立这3种动作与其他动作的姿态变化相差巨大,分辨这些动作比较容易,但完整的捡东西动作需要依次弯腰→捡东西→起立,其中弯腰与起立的姿态与下蹲、起立的姿态相似。捡东西活动的姿态变化过程近似包含下蹲和起立的姿态变化。由于不同人做这些活动的不同特点会对分类有所影响,所以对于这种细粒度多姿态的复杂活动通过现有方法暂时难以准确分辨,需要在未来对LoRa信号进行更进一步的分析研究。

3.3.2 1个房间内的人员识别

在完成对活动的识别后,本节改变数据的分类方式,将每种活动的数据按照实验人员进一步分组,并使用3种网络测试此时在各种活动数据中对人员的分类效果,结果如图14所示。从图14中发现,3个网络在各种活动中对实验人员的分类效果都较好。尽管此时数据集过小导致曲线波动较大,但大体上升到了较高的识别准确率,这依然表明了LoRa信号的频率变化在人员识别工作方面的潜力。

3.3.3 活动所在房屋识别

与在1间房屋内的活动识别的验证流程一致,本节首先对比在原始数据以及在与空活动做差后的数据上的分类效果。

如图15a所示,3种网络均体现了LoRa信号分辨活动发生房间的能力。在原始数据集上,ConvNext达到了81%的识别准确率,Swin Transformer达到了75%的识别准确率,Vision Transformer则达到了78%的识别准确率。在与空活动数据做差后ConvNext的识别准确率迅速提升了16%(达到了97%),Swin Transformer的识别准确率提升了18%(达到了93%),Vision Transformer的识别准确率则提升了5%(达到83%)。这说明LoRa信号在长40 m、有3堵厚约30 cm的墙相隔的4间房屋构成的实验环境中仍保持了对活动所发生房间的分辨能力,同时3种网络的识别准确率的提升也验证了本文方法的可行性。

Figure 15 Recognition results of rooms with tester activities图15 对有测试人员活动的房间的识别效果

然后去除人员C的数据,采取剩余4人的数据重新训练并用人员C的数据进行验证,其结果与混淆矩阵分别如图16和图17所示。由图16可以发现3种网络仍然保持了较高的准确率。由图17的混淆矩阵可以发现,此时对人员C所处的第1,2和4个房间的识别都表现良好,在第3个房间的识别虽有一定误差但正确识别数也占据了较大的比重,且当人员C处于第3个房间时对相邻第2和第4个房间的误判占据了较大的误差比。这说明活动发生的房间的确在一定程度上影响了信号变化。而由识别准确率(4>1>2>3)的结果可知,LoRa信号在穿墙传感时,对靠近信号收发器尤其是信号接收器的活动分辨效果更明显。

Figure 16 Recognition results after removing data of tester C图16 去除人员C数据后的识别效果

Figure 17 Confusion matrix obtained by inputting data of tester C data into ConvNext network, reflecting the ability to identify the rooms with activities图17 人员C数据输入ConvNext网络 得到反映识别发生活动的房屋能力的混淆矩阵

3.3.4 4个房间内的人员识别

在完成对活动的识别后,本文改变数据的分类格式,在每个房间中依据实验者进一步分组,并重新使用3种网络测试在每个房间内对实验者的分类效果。如图18所示,3种网络对4个房间内活动人员的分类效果依旧比较明显。这表明了LoRa信号的频率变化在多个房间内人员识别工作方面的潜能,同时也反映出了活动越靠近发射器,人员识别效果相对越好,越靠近接收器,人员识别效果相对越差的规律。

Figure 18 Identification recognition results in each room图18 每个房屋内的人员识别效果

3.3.5 与卷积循环神经网络的对比

对于多帧无线信号数据,目前常用的方法是先使用卷积神经网络从各帧数据中提取特征,再把这些特征按时间顺序输入循环神经网络学习[8,9]。为此,本文实现了由RESNET34网络和LSTM网络构成的卷积循环网络RESNET34-LSTM,并用采集的数据进行训练。

如图19所示,该模型对活动识别和所在房屋识别的准确率能达到92%和94%,这表明了数据的正确性。但是,该方法在训练过程中也出现了一些问题。首先,以900 kHz采样率得到的LoRa数据原始帧数与文献[8,9]中的输入帧数相差很大,这对RESNET34-LSTM网络训练与硬件设备而言压力过大。其次,RESNET34-LSTM网络的训练用时也数倍于ConvNext、Swin Transformer和Vision Transformer网络的。与卷积循环网络相比,本文方法相对不受帧数的数量制约,可接受大量数据同时输入。同时,将数据帧按时间排列,既保留了时间规律又不需严格按时间序列训练,节约了大量训练时间。

Figure 19 Recognition results of RESNET34-LSTM network图19 RESNET34-LSTM网络的识别效果

4 结束语

针对长距离无线人体活动识别问题,本文基于LoRa设备提出了一个数据处理方法。首先通过提取数据位频率变化并与空活动信号做差来提取LoRa信号特征,再重新排列每帧形成具有时间、信号变化特征的图像。由该方法处理得到的图像数据可直接作为图像分类神经网络的输入。然后本文设计实验收集LoRa信号制作数据集并通过对比有代表性的图像分类深度学习网络验证该方法的有效性与可行性,并与已有的直接经过卷积-循环网络的方法进行了对比。

实验结果表明,LoRa设备的传感能力在一个房间内能对活动种类与活动人员进行一定的识别,也能对在多个房间内活动所处房间与每个房间内活动人员进行一定的识别。本文提出的方法相比已有方法识别速度更快、识别准确率更高。后续将围绕降低环境敏感度,设计对LoRa信号更有针对性的神经网络模型展开研究。相信LoRa优秀的传感范围及效果最终可以使其在日常生活中更高效地完成长距离传感任务。

猜你喜欢

房间内接收端频率
基于扰动观察法的光通信接收端优化策略
顶管接收端脱壳及混凝土浇筑关键技术
一种设置在密闭结构中的无线电能传输系统
基于多接收线圈的无线电能传输系统优化研究
越南·河内
给小狗的新毛衣
振动与频率
穿过下午
智趣
极限频率