论文下载:Understanding and Modeling of WiFi Signal Based Human Activity Recognition
Abstract
提出CARM,基于CSI地人体行为识别监控系统。
理论基础:CSI速度模型(CSI-speed model),量化CSI值动态与人体运动速度的联系;CSI活动模型(CSI-activity model),量化肢体运动速度与特定动作之间的联系。
1 Introduction
1.1 Motivation
依靠图像的方法的弊端:需要充足的光线,会侵犯个人隐私;
依靠雷达的方法:作用范围小;
依靠穿戴的传感器:不方便。
基于WiFi信号的方法:WiSee利用USRP捕获OFDM信号,并测量人体反射信号的多普勒频移来识别九个手势;E-eyes使用通道状态信息(CSI)直方图作为识别日常人类活动(如刷牙)的指纹。WiHear使用专门的方向天线来获取由嘴唇运动引起的CSI变化来识别口语单词。与基于相机和传感器的方法相比,它们的主要优点是不需要照明,提供更好的覆盖,可以通过墙壁操作,保护用户隐私。
1.2 之前工作的限制
缺乏一个能够定量关联CSI动态和人类活动的模型。
1.3 提出的方法
提出CARM。包括两个商业WiFi设备,一个用于连续发送信号(可以是路由器),一个用于连续接收信号(可以是笔记本电脑)。有人在两个设备之间活动时,接收器的CSI值变化,由此识别动作。通过CSI速度模型和CSI活动模型,建立起CSI值变化与人的特定活动之间的联系。
1.4 技术难点和解决方法
难点:从CSI值上评估人体移动速度。困难在于CSI混合多通道的WiFi信号;同一个动作,不同肢体的速度也不一样。
我们发现这些信号是线性混合的,所以频率是保留的,因此我们使用离散小波变换(DWT)来分离表示不同速度的频率分量。难点:对不同的人建立鲁棒的CSI活动模型。不同人做相同动作,同一个人不同时候做相同的动作,都会表现得不同。
使用隐马尔可夫模型(HMM)。我们使用不同活动的移动速度模式来构建相应的基于HMM的模型。我们用来推断速度模式的特征只受身体运动速度的影响,不太受环境变化得影响。HMM能够识别不同速度下得相同动作。难点:CSI有太多噪声而不能直接使用。即使是静态环境,也会收到电磁噪声、WiFi设备本身的影响。通用的降噪方法效果不好。
我们提出主成分分析法(PCA)。该模型基于一项观察,即CSI值的所有子载波中由身体运动引起的信号波动都是相关的。第四个挑战是在载波频率偏移(CFO)存在的情况下捕捉身体的运动。CFO是一对WiFi设备之间载波频率的动态变化差异,这是由于硬件上的微小物理差异以及温度变化等因素造成的。CFO导致接收到的信号的相位值发生变化,使得很难区分相位值的变化是由于CFO造成的还是由于人体运动造成的。
为了解决这个问题,我们使用CSI信号功率来推断身体的运动。我们证明CSI信号功率不受CFO的影响,而是保留了身体运动速度的信息。第五个挑战是自动检测人类活动的开始和结束。
我们使用PCA获得的特征向量,通过计算特征向量的高频能量,获得特征向量的平滑度,并将其与动态自适应阈值进行比较,得到特征向量的启动和结束。
3 理解WIFI多通道
3.1 CSI概述
令为发送信号的频域表示,为接收信号的频域表示,f为载波频率。这两个信号与等式有关,其中,是在时间t所测得的载波f的复值信道频率响应(CFR),CSI的测量基本上包括这些CFR值。令和分别表示发送和接收的天线数量。由于CSI是在30个已选的OFDM子载波中测量的,每个CSI的测量都包括30个维度的矩阵。每个矩阵的输入是天线对之间在特定时间以某个OFDM副载波频率的CFR值。然后,我们将给定天线对和OFDM子载波的CFR值的时间序列称为CSI流。因此,一个时间序列的CSI值中有的CSI流。
3.2路径的相变
由于周围的物体会反射无线信号,一个发送信号会通过多条路径到达接收器。如果一个信号通过条不同的路径到达接收器,那么就可以由等式表示。其中是第k条路径的衰减和初始相位偏移的复数值表示,是第k条路径上的相移,其传播延迟为,是发送器和接收器之间的载波频率差引起的相移。
路径长度的变化会导致相应路径上WiFi信号的相位发生变化。考虑图2(a)中的情形,其中WiFi信号被人体通过第k条路径反射。当人体在时间0和时间t之间移动一小段距离时,第k条路径的长度从变为。由于无线信号以光速传播,表示为c,因此第k条路径的延迟,表示为,可以写成。 设和代表载波频率和波长,其中。 因此,该路径上的相移可写为,这意味着当路径长度改变一个波长时,接收器在接收的副载波中经历的相移。
3.4 CSI速度模型
虽然很难去测量一条路径的相位,但是可以通过CFR power推测,比如。我们的方法的原理在于,当多通道的长度变化,CFR power也会相应变化。
为了理解CFR power和路径长度变化的关系,我们首先奖CFR表述为静态CFR和动态CFR之和,并求其平方。动态CFR写做,是路径长度改变了的CFR的和,其中, 其中是动态路径集。静态CFR,,是静态路径的CFR的和,因此总CFR可以由以下等式表示。静态的部分是常向量,而动态的部分是相位和振幅随时间变化的向量的叠加。当动态分量的相位改变时,组合CFR的幅度也随之改变。
考虑到CFR power会因为物体在周围的移动而改变,因此设物体在一小段时间内以匀速移动,因此,CFR power在时间的变化可由以下式子得出
其中的关键在于:总CFR power是恒定偏移量和一组正弦曲线之和,其中正弦曲线的频率是路径长度变化速度的函数。 通过测量正弦波的频率并将其与载波波长相乘,我们可以获得路径长度变化的速度。 这样,我们可以建立一个CSI速度模型,该模型将CSI功率的变化与移动速度相关联。
4人体动作建模
4.1 人体动作特征
人体有复杂得形状,并且每一部分的运动速度不同。人体反射的信号也可能通过不同的路径。
从式(3)可以看出,CFR功率是所有反射路径的线性组合,并且在组合过程中保留了路径长度变化的速度。 因此,我们可以使用诸如短时傅立叶变换(STFT)或离散小波变换(DWT)等时频分析工具在频域中分离这些分量。 可以通过分析从时频分析工具得出的每个频率分量的能量来对人类活动进行建模。可以通过分析从时频分析工具得出的每个频率分量的能量来对人类活动进行建模。例如,图5展示了三种人类活动的波形和相应的频谱图:行走,跌倒和坐下。频谱图显示了每个频率分量的能量如何随时间演化,其中高能量分量用红色显示。在步行活动的频谱图中,在35〜40Hz频率附近有一个高能带,如图5(d)所示。考虑到往返路径长度的变化,波长为5.15cm时,这些频率分量表示移动速度为0.9〜1.0 m / s。这与人体躯干在行走时的正常运动速度相吻合[25]。图5(e)显示了下降的频谱图,该频谱图在1至1.5秒之间的40至80 Hz频率范围内具有能量增加。这表示在0.5秒的短时间内从低于0.5 m / s的速度快速提升至2 m / s,这是明显的下降迹象。图5(f)所示的坐下活动与摔倒不同,因为坐下的速度要慢得多。使用不同频率的能量曲线,我们可以建立CSI活动模型,该模型可以量化人体不同部位的运动速度与特定人体活动之间的相关性。
4.3 CSI活动模型
我们提出使用隐马尔可夫模型(HMM)建立由多个运动状态组成的CSI活动模型。例如,从图5(e)中我们观察到该动作包含多个状态。该人员动作缓慢,在低频(缓慢移动)分量上具有最大的CSI能量。然后有一个向高速运动的转变,有充足的能量在高频的部分。之后又是一个向平静的快速转变,运动能量接近于零。通过这些不同状态的转变,我们可以推测出有人可能摔倒了。同样,其他动作也可以这样分析。
隐马尔可夫模型(HMM)是使用时变特征建立状态转换模型的合适工具。将HMM用于活动识别是基于以下假设:Markov模型生成了与活动相对应的观察到的特征向量的序列,这是一个有限状态机,可以在每个时间单位改变状态一次 。每次进入一个状态时,都会根据称为输出概率密度的概率密度生成特征向量。 此外,从一种状态到另一种状态或从其返回到自身的过渡也是概率性的,并且受称为过渡概率的离散概率支配。隐藏的马尔可夫模型之所以称为“隐藏”,是因为在实践中,特征向量的序列是已知的,但是生成这些特征向量的基础状态序列却是隐藏的。
HMM可以从所有训练样本中获取信息,因此即使在组内差异很大的情况下,HMM也可以很好地工作。只要有足够数量的活动的代表性训练样本,就可以构造一个隐式建模活动隐含的隐身模型。与长期使用统计特征的现有作品相比,基于HMM的模型利用活动中的转换来提供有关活动的更多详细信息。
4.4讨论
- 可以检测高速和低速运动的物体。
- 时间频率分析工具可以将身体不同部分不同运动速度分开。
- 多人时,当只有一个人活动时可以识别动作,多人活动则需要多个发射器接收器。
5 基于PCA的CSI降噪方案
CARM可以按照以下三个步骤构建HMM模型:首先,CARM收集CSI值并消除测量中的噪声。其次,CARM使用DWT从去噪后的CSI值中提取人的运动特征。第三,CARM为每个活动训练HMM模型,并使用CSI活动模型实时识别活动。
5.1噪声的来源
CSI流中主要的噪声源是发送方和接收方WiFi NIC中的内部状态转换,例如传输功率更改,传输速率适配和内部CSI参考级别更改。这些内部状态转换会导致CSI流中出现高幅度脉冲和突发噪声。脉冲和突发噪声的一个有趣特征是,其影响在所有CSI流中高度相关,即它们同时影响所有流中的样本。例如,如果发送方WiFi NIC将传输功率增加了0.5dB,则所有流的功率增加了0.5dB。
5.2 传统滤波器
效果不佳
5.3 CSI流的联系
我们的降噪方法利用了这样的事实,即通过身体运动在所有CSI流中引入的变化是相关的。不同子载波的CSI流是线性组合的,它们是一组随时间变化的信号,因此它们是高度相关的。
5.4 主成分分析
为了解决组合CSI流中的挑战,我们应用PCA来发现CSI流之间的相关性。使用PCA,我们可以跟踪CSI流之间的时变相关性,并进行最佳组合以提取CSI流的主要成分。 CARM使用以下四个步骤将PCA应用于CSI流。
- 预处理:在此步骤中,CARM首先通过从CSI流中减去相应的常量偏移量来除去每个CSI流中的静态路径分量。它通过对该流进行长期平均计算得出每个流的常数偏移量,即4秒钟的平均CSI幅度。之后,它将CSI流切割为包含以1秒为间隔获取的样本的块,并在列中排列不同CSI流的块以形成H矩阵。我们选择间隔大小为1秒,以便对象移动的距离短并且同时样本数足够大以确保准确的相关估计,这是下一步。
- 相关估计:CARM计算相关矩阵为。 相关矩阵的维数为,其中是CSI流的数量。
- 特征分解:CARM对相关矩阵进行特征分解以计算特征向量。
- 运动信号重建:在这一步中,CARM使用等式构造主成分,其中qi和hi分别是第i个特征向量和第i个主要成分。
CARM舍弃了第一个主成分而保留了接下来的五个主成分来用于特征提取。
6 特征提取
6.1 从CSI提取特征
人体活动与CSI在两个层面上有关:持续时间和频率。因此,要分析人类活动,我们需要在多个时间尺度上以多种分辨率从中提取频率。
使我们能够在多个时标上以多种分辨率提取频率的最相关的信号处理工具是离散小波变换(DWT)。DWT为CFR信号中的高频活动提供了高时间分辨率,为速度较慢的活动提供了高频率分辨率。DWT在任何给定时间在CFR信号中计算不同级别的能量,其中每个级别对应一个频率范围。相邻DWT级别的频率范围呈指数下降。例如,如果级别1 DWT表示150至300Hz的频率范围,对应于5 GHz频段中的3.85至7.7m / s移动速度,则级别2 DWT表示的频率范围是级别1的频率范围的一半,即75至150Hz,对应于1.925〜3.85 m / s。DWT级别中的能量越高,路径的速度就越可能处于与该级别的频率范围关联的范围内。与STFT相比,DWT的优点如下:首先,DWT在时间和频率分辨率上有很好的折衷。DWT自然地将在偏移水平上相差几个数量级的频率分组,以便可以捕获高速运动和低速运动。其次,DWT减少了数据的大小,因此分类算法可以实时运行。
为了从活动样本中提取特征进行分类,CARM应用DWT将PCA组件分解为12个级别,这些级别涵盖了0.15Hz至300Hz的频率范围。 对五个PCA组件的DWT结果进行平均,以捕获不同PCA组件中存在的运动信息。 每200ms间隔从DWT的输出中,CARM提取一个27维特征向量,其中包括三种类型的特征:
- 每个级别的能量,代表每个速度范围内的运动强度。
- 连续200ms间隔之间每个级别的能量差异,表示活动的多路径速度变化率。
- 使用多普勒雷达中引入的百分位数方法估算躯干和腿部速度。
6.2 适应环境变化
环境变化(例如在房间中添加额外的椅子)会改变到达接收器的多路径数量。但是,即使由于环境变化而导致多路径数量发生变化,多路径长度变化的速度也不会改变,因为它取决于人体的运动,而不取决于环境中的多路径数量。因此,只要人执行相同的活动,CFR功率中的频率分量就保持不变,并且无论有多少多径出现或消失,DWT都会以相同的水平提供更高的能量。
7 分类和识别
7.1 建立活动模型
CARM使用该活动的训练样本为每个活动构建HMM。 它还为房间中没有活动时的情况构建活动模型。 为了估计对应于每个状态的均值向量和协方差矩阵以及HMM的转移概率,CARM使用了著名的Baum-Welch算法。它首先需要对这些概率进行粗略的猜测。求出初始值,CARM首先将每个训练样本的特征向量序列在状态之间平均分配,然后使用分配给该状态的特征向量计算每个状态的均值向量和协方差矩阵的初始值。
它还通过从所有训练样本的特征向量序列中首先对每对状态之间的转移数进行计数,然后在所有训练样本中将计数除以转移总数来计算初始转移概率。为了确定状态数,CARM会迭代各种状态数并选择提供最高交叉验证准确性的数字。为了避免Baum-Welch算法过拟合特定的人或运动方向,在生成活动模型时,我们包括来自不同人和不同运动方向的该活动的样本。此外,我们使用10倍交叉验证和在不同环境中收集的分离测试样本来评估模型,以确保模型不会过度拟合特定场景中的样本。
7.2 实时活动识别
活动检测:为了检测活动的开始和结束,CARM监视第二个特征向量q2和相应的主分量h2。我们的活动检测方法基于两个关键的观察。首先,在没有活动的情况下,特征向量q2在相邻子载波上随机变化,因为CSI流包含不相关的值。相反,在存在活动的情况下,CSI流变得相互关联,并且q2在相邻子载波之间平稳变化。第二,在没有活动的情况下,主成分h2的方差较小; 而在有活动的情况下,它具有更高的方差。
为了自动检测活动的开始或结束,CARM将活动指示器与阈值进行比较,该阈值会根据背景噪音水平进行动态调整。为了动态调整阈值,我们使用指数移动平均(EMA)算法来更新检测阈值。如果噪音水平突然升高,CARM可能会错误地检测到活动的开始。为了解决这个问题,当CARM建立活动模型时,它还会针对没有活动的情况收集一些样本,并使用这些样本为“没有活动”建立模型。CARM使用所有活动模型对检测到的活动进行分类,并确定检测到的活动中是否确实包含活动。如果发现没有活动,则会相应地调整检测阈值。
活动识别:CARM通过以下四个步骤来识别活动。首先,它采用开始时间和结束时间之间的所有CSI值,并使用第5.4节中所述的基于PCA的降噪方法对其进行降噪。其次,从开始时间和结束时间之间的每200ms间隔中,它提取出27维特征向量,如6.1节所述。 第三,它使用动态编程来计算每个HMM生成特征向量序列的可能性。最后,可能性最高的模型可以识别活动。