计算机应用   2017, Vol. 37 Issue (7): 1843-1848  DOI: 10.11772/j.issn.1001-9081.2017.07.1843
0

引用本文 

史白, 庄杰, 庞宏. 基于信道状态信息的非合作式室内人体运动检测[J]. 计算机应用, 2017, 37(7): 1843-1848.DOI: 10.11772/j.issn.1001-9081.2017.07.1843.
SHI Bai, ZHUANG Jie, PANG Hong. Non-cooperative indoor human motion detection based on channel state information[J]. Journal of Computer Applications, 2017, 37(7): 1843-1848. DOI: 10.11772/j.issn.1001-9081.2017.07.1843.

基金项目

四川省科技厅应用基础研究面上课题(2017JY0223);中国博士后基金第58批面上项目一等资助项目(2015M580785)

通信作者

史白, E-mail:806223677@qq.com

作者简介

史白(1994-), 男, 江西赣州人, 硕士研究生, 主要研究方向:无线通信中的信号处理、机器学习;
庄杰(1976-), 男, 四川成都人, 副教授, 博士, 主要研究方向:信号处理、人工智能、多入多出通信;
庞宏(1968-), 女, 四川成都人, 讲师, 硕士, 主要研究方向:数据挖掘、计算机通信安全

文章历史

收稿日期:2016-12-07
修回日期:2017-02-16
基于信道状态信息的非合作式室内人体运动检测
史白, 庄杰, 庞宏    
电子科技大学 通信与信息工程学院, 成都 611731
摘要: 针对用摄像头、传感器等运动检测手段的设备部署复杂、昂贵、有盲区等缺点,提出一种利用无线保真(WiFi)信号进行人体运动检测的方法。首先,使用无线网卡接收被检测环境中WiFi的信道状态信息(CSI);其次,使用局部离群因子检测(LOF)算法和Hampel滤波器去除异常的CSI数据;然后,用线性回归算法去除因网卡时钟不同步造成的频移误差,再用主成分分析(PCA)降维和朴素贝叶斯算法分类不同情况下的CSI数据,生成用于判断人体运动状况的模型;最终用生成的模型对人体运动状态进行判断。在实验中该方法能快速判断并达到95.62%的正确率。实验结果表明该方法能很好检测识别人的运动。
关键词: 无线保真    信道状态信息    非合作式    运动检测    异常检测    相位矫正    
Non-cooperative indoor human motion detection based on channel state information
SHI Bai, ZHUANG Jie, PANG Hong     
School of Communication and Information Engineering, University of Electronic Science and Technology of China, Chengdu Sichuan 611731, China
Abstract: Concerning that using camera and sensor to detect human motion has the shortcomings of difficult deployment, expensive device and blind zone, a method of human motion detection using Wireless Fidelity (WiFi) signal was proposed. Firstly, the wireless network card was used to receive the Channel State Information (CSI) of the WiFi in the detected environment. Secondly, the Local Outlier Factor (LOF) algorithm and the Hampel filter were used to remove the abnormal CSI data. After the frequency shift caused by the rough synchronization of the network card clock was removed by the linear regression algorithm, the Principal Component Analysis (PCA) was used to reduce dimension and Naive Bayes algorithm was used to classify the CSI data in different cases, which generated a model for judging human movement states. Finally, the model was used to judge the state of human motion. In the experiment, the proposed method can quickly determine the state of human motion and reach the correct rate of 95.62%. The experimental results show that the proposed method can detect and identify the movement of people well.
Key words: Wireless Fidelity (WiFi)    Channel State Information (CSI)    non-cooperative    motion detection    outlier detection    phase rectification    
0 引言

人体运动检测是指利用特定设备或手段,对人体的运动状态进行判定。现在,人体运动检测技术主要分为3类:基于传感器(Sensor-based)、基于视觉(Vision-based)和基于无线射频(RF-based)。基于传感器的运动检测是研究时间最长的一种方式,被测人体需要佩戴指定的传感器以获取各种体态信息[1-2],例如惯导传感器和陀螺仪,其缺点是被检测者必须能配合检测方(即主动式),并且携带传感器有时候也很不方便。基于视觉的运动检测主要利用摄像头进行信息采集,成熟的产品有微软公司的Kinect和Leap公司Leap Motion[3],它们都可以进行很高精度的运动检测;但是该方法对光学环境敏感,只能工作在视距场景和光学条件较好的场景,并且可能泄漏隐私,大规模部署的成本也很高。基于无线射频的运动检测主要用电磁波的特性进行运动检测[4-8],例如军用雷达;但该方式在日常生活中并没有成熟的产品或系统。

同时,无线保真(Wireless Fidelity,WiFi)遍布生活中的各处,商店、学校、办公室、地铁都能顺畅地使用到WiFi,它已经无可争议地成为民用无线局域网的最主流技术。到目前为止,WiFi技术也仅仅是用于短距离通信。一些学者已经提出,利用WiFi也可以进行探测、识别,并取得了很不错的成果。

另外,运动检测方式主要分合作式和非合作式。所谓的“合作式”检测,就是被检测者需要携带特定设备,如各种传感器。相反,“非合作式”检测,类似被动雷达的概念,就是不需要被测者携带任何设备或要求被测者作出任何配合动作,也不需要在特定的环境下,可以在被测者完全不知情的时候就进行检测。显而易见,非合作式人体运动检测更加方便、隐蔽、廉价,应用场景更广泛。

现有的比较广泛、成熟、易用的WiFi探测系统主要利用WiFi信号的信号强度指示(Received Signal Strength Indication, RSSI)进行探测[8-11],因为RSSI数据在无线网卡、智能设备上非常容易获得。RSSI有着环境敏感的特性,目标物体的运动会导致RSSI值变化,因此可以很容易地在WiFi环境下探测目标。很多学者已经使用RSSI数据和相应算法(指纹算法[12]、等边三角形定位算法[13]、动态权重定位算法[14]等)精确地定位人的位置。近年来,利用信道状态信息(Channel State Information,CSI)来进行探测逐步兴起。相比RSSI,CSI不仅包含幅值信息,还有相位信息,并且精确到每一个子载波的信道信息。很多学者已经在通用软件无线电外设(Universal Software Radio Peripheral,USRP)上利用CSI数据进行成像、运动检测,取得了良好的效果[15-17]

本文将采用非合作式方式,利用WiFi信号的CSI信息进行人体运动检测,但相比昂贵的软件无线电设备USRP,本文采用了更为廉价、易于部署的WiFi商用网卡来进行CSI信息收集;然后通过局部离群因子检测(Local Outlier Factor,LOF)算法和Hampel滤波器进行异常点处理,之后经过相位矫正算法、主成分分析(Principal Component Analysis,PCA)进行特征抽取;最后用朴素贝叶斯算法进行分类预测,得到人体运动状态判定结果。为了达到正确分类的目的,本文主要有以下工作:

1) 由于商用网卡精度不高,时钟同步不够理想,并且CSI数据是一组对环境敏感的数据,因此,本文引入多种异常检测手段,排除因环境和设备偶然性造成的误差。

2) 提出一种新的相位矫正方法。该方法利用机器学习中的线性回归方法,来对CSI样本值进行矫正。该方法可以作为现有CSI相位矫正方法的一种补充。

3) 尝试了多种分类算法并仿真,得到混淆矩阵和仿真时间,然后分析、比较它们在本实验中的性能。

1 相关研究

利用WiFi进行运动检测是一个比较新颖的研究热点,相关的研究大致可以分为以下两类:

1) 利用WiFi进行定位。最常见的是利用WiFi指纹算法进行定位。其中,杜克大学(Duke University)的学者将室内划分成一个一个小方格,利用被检测者WiFi的RSSI与构建好的WiFi指纹库匹配来获得被检测者的具体位置[18],取得了很不错的成果。另外,麻省理工学院(Massachusetts Institute of Technology, MIT)的科研者[6]于2014年提出一种“WiTrack”技术,引入了调频载波(Frequency Modulated Carrier Wave,FMCW)技术使得接收天线上能提取飞行时间(Time-Of-Flight,TOF),利用无线信号在3根接收天线上不同的TOF,就可以进行人体定位。

2) 利用WiFi信号对人体探测。MIT的学者提出Wi-Vi(WiFi Vision)系统[4],利用多入多出(Multi-Input Multi-Output,MIMO)天线体系中的干扰消除技术能够识别墙体后的人体姿态。华盛顿大学的学者利用WiFi和USRP进行物体成像[19]。伦敦大学学院(University College London,UCL)的Woodbridge等[15-17]研究了利用USRP去搭建被动双基站雷达系统。香港理工大学和香港科技大学的学者研究了使用WiFi信号监控人体的睡眠模式和监听人们的发音[20]

2 总体设计 2.1 CSI数据模型

由于人体运动会导致WiFi信号的多普勒频移,改变WiFi信道的CSI值,所以本文将采用CSI信息进行人体运动检测。首先,设定一个时间窗w=5 s,以这个时间窗为一个单元,划分CSI矩阵,判断在这段时间内的运动状态。而WiFi采用正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)调制技术,将信号调制到一系列间隔为312.5 kHz的子载波上进行通信,本文能获取WiFi信号每根天线的Num=30个子载波的CSI信息。假设k∈[1, Num]为子载波序数,发射的信号为X(fk),fk∈{-58, -54, -50, …, 50, 54, 58}为子载波频点,Y(fk)为接收天线的信号,那么在第k个子载波上,信道频率响应H(fk)表示为:

$ H({f_k}) = \left\| {H({f_k})} \right\|{{\mathop{\rm e}\nolimits} ^{i\angle H({f_k})}} $ (1)

其中:‖H(fk)‖是第k个子载波的CSI幅度信息, ∠H(fk)是第k个子载波的CSI相位信息,如图 1

图 1 第一个子载波CSI的幅值和相位信息 Figure 1 Amplitude and phase of CSI in the first subcarrier

接收信号为:

$ Y({f_k}) = H({f_k})X({f_k}) $ (2)

由于本实验采用2天线路由来发射信号,3天线无线网卡接收信号,于是,在一个频点上有6个H(fk)值。另外,无线网卡CSI信息是通过收集每个数据包中的数据来得到的,因此不同时刻有着不同的H(fk)值,所以将收集来的CSI信息H(fk)整理成一个三维矩阵,得到H。定义CSI信息三维矩阵H的每个元素Ht, a, k为:

$ {H_{t, a, k}} = {H_{t, a}}({f_k}) $ (3)

三个坐标轴分别为时间t∈[0, w],天线序号a[1, 6],子载波序号k∈[1, Num]。

2.2 CSI信息异常检测与剔除 2.2.1 局部离群因子检测算法检测异常点

收集的未经处理的CSI信息不仅存在有用的信道信息和测量误差等正常误差,还存在一定量的由于仪器或者不确定因素干扰形成的异常值,这些异常值不仅会增加计算量、降低整体算法运行效率,还会破坏CSI信息整体性和连续性,对使用CSI信息判断运动状态造成干扰,因此从数据挖掘算法中引入一种有效的异常处理算法——局部离群因子检测(LOF)算法[21]

到目前为止,异常检测算法[22]分为基于统计的算法、基于距离的算法、基于密度的算法和基于偏差的算法等。Breunig等[21]提出基于密度的局部异常检测算法,给出了局部异常因子的概念,LOF算法是其中的一种。

邻域查询是基于密度的算法中最基本的概念。对于数据集D,计算某对象pD内所有对象之间的距离并获取其中符合一定条件的对象集合,该过程称为针对对象p的一次邻域查询。

而LOF异常检测算法相比之前的各种异常检测算法最大的不同之处在于,该方法的检测结果并不是直接给出该点是否被判定为异常点,而是给出一个异常因子来衡量该点为异常点的概率有多大。

LOF算法定义了以下概念。

定义1  对象pMinPts距离邻域,即所有与对象p的距离不超过MinPts-distance(p)的对象组成的集合。形式化表示为MinPts-dist(p)={qD\{q}|d(p, q)≤MinPts-dist(p)},简写为NMinPts(p),其中,MinPts-distance(p)表示对象pMinPts距离。

当某对象o满足如下条件:

1) 至少存在MinPts个对象sD\{p},使得d(p, s)≤d(p, o);

2) 至多存在MinPts-1个对象sD\{p},使得d(p, s)≤d(p, o);

则对象po的距离d(p, o)记为MinPts-distance(p),简写为MinPts-d(p)。

定义2  对象p的局部可达密度lrdMinPts(p)表示如下:

$ \begin{array}{l} lr{d_{MinPts}}(p) = 1/\left[{\left( {\sum\limits_{o \in {N_{MinPts}}(p)} {reach-dis{t_{MinPts}}} (p, o)} \right)/} \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left. {\left| {{N_{MinPts}}(p)} \right|} \right] \end{array} $ (4)

其中,reach-distMinPts(p, s)表示对象p相对于s的可达距离,定义为:

$ reach-dis{t_{MinPts}}(p, s) = \max \{ MinPts-d(s), d(p, s)\} $ (5)

定义3  对象p的局部异常因子,其计算公式为:

$ LO{F_{MinPts}}(p) = \left( {\sum\limits_{o \in {N_{MinPts}}(p)} {\frac{{lr{d_{MinPts}}(o)}}{{lr{d_{MinPts}}(p)}}} } \right)/\left| {{N_{MinPts}}(p)} \right| $ (6)

由定义3可知,对象p的异常因子即为该点的MinPts距离邻域内的所有对象的局部可达密度的均值与该点的局部可达密度数值的比例。不难发现,对象p点的局部可达密度越低,其邻域内所有对象的局部可达密度越高,对象p的局部异常因子的值也会越高。

按照定义给出的公式和步骤,即可得到每一个点的LOF值。根据用户指定的LOF阈值,将LOF值高于该阈值的对象判定为异常。遍历所有点,并去除LOF值高于阈值的点,就得到去除异常的CSI信息。

2.2.2 滤波器滤除误差

Hampel滤波器属于基于决策的滤波器中一种,它能找出数据序列中的异常数据点,并以更有代表性的数值取代[23]。Hampel滤波器是基于中值绝对偏差的滤波器,利用一个滑动窗口来计算这个窗口内的均值并用平均绝对偏差(Mean Absolute Deviation,MAD)估计窗口内每一个值标准差,如果窗口内某个值远离均值,就判定为异常点,并用均值替代[24]

这个滤波器是一种异常点检测并矫正的算法。经过LOF后,CSI数据中偏离很大的异常点被去除了,然后再使用Hampel滤波器算法对CSI信息进行小幅度修正,得到一组异常值较少的CSI信息。图 2为滤波前后的对比,可明显看出,图 2(a)中时间序号约为8,22,57,73,80,85,90,95有几个异常点,在图 2(b)中被去除并被均值替代。

图 2 Hampel滤波前后CSI幅值对比 Figure 2 Comparision of CSI amplitude before and after Hampel filtering
2.3 CSI信息相位处理

图 3可以看出,由于噪声和收发机时钟不同步,未经处理的相位显得杂乱无章,不可直接使用,其中一个原因是商用网卡的相位精确度较差。Sen等[18]提出一种很好的相位处理方法,如下所示。

假设第k个子载波频点为fk∈{-58, -54, -50, …, 50, 54, 58},φfk为第k个子载波的真实相位,${\hat \varphi _{{f_k}}}$为测量相位,N=64为WiFi OFDM快速傅里叶变换(Fast Fourier Transform,FFT)点数,τ为接收机时间偏移,β为随机相位,Z为测量误差。有:

$ {\hat \varphi _{{f_k}}} = {\varphi _{{f_k}}} + 2{\rm{\pi }}\frac{{{f_k}}}{N}\tau + \beta + Z $ (7)

对两个不同${\hat \varphi _{{f_k}}}$作差:

$ \Delta {\hat \varphi _{{f_{\Delta k}}}} = \Delta {\varphi _{{f_{\Delta k}}}} + 2{\rm{\pi }}\frac{{\Delta {f_{\Delta k}}}}{N}\tau + \Delta \beta + \Delta Z $ (8)

Sen等[18]认为ΔφfΔk、Δβ、ΔZ是均值为零的随机变量或者相对于因接收机时间偏移产生的相位误差是较小量,可以忽略。于是:

$ \Delta {\hat \varphi _{{f_{\Delta k}}}} = 2{\rm{\pi }}\frac{{\Delta {f_{\Delta k}}}}{N}\tau $ (9)

取:

$ a = \frac{{2{\rm{\pi }}}}{N}\tau = \left( {{{\hat \varphi }_{{f_{{\rm{Num}}}}}}-{{\hat \varphi }_{{f_1}}}} \right)/\left( {{f_{{\rm{Num}}}}-{f_1}} \right) $ (10)
$ b = \beta + Z = \frac{1}{{Num}}\sum\limits_{k = 1}^{Num} {{{\hat \varphi }_{{f_k}}}} $ (11)

那么估计相位${\tilde \varphi _{{f_k}}}$为:

$ {\tilde \varphi _{{f_k}}} = {\hat \varphi _{{f_k}}}-a{f_k}-b $ (12)

至此,得到了矫正后的相位。

本文提出另一种思路来解决这个问题。根据式(8)、(9)、(11),假设:

$ a = \left( {{{\hat \varphi }_{{f_k}}}-{{\hat \varphi }_{{f_1}}}} \right)/\left( {{f_{_k}}-{f_1}} \right) $ (13)
$ c = ({\varphi _{{f_k}}}-{\varphi _{{f_1}}}) + \Delta \beta + \Delta Z $ (14)

那么:

$ \Delta {\hat \varphi _{{f_{\Delta k}}}} = a\Delta {f_{\Delta k}} + c $ (15)

其中Δk=k-1,k∈[1, Num]。

根据式(15),引入线性回归算法,求得ac,即求得时间偏移τ

然后根据式(7)、(12)、(13) 求得处理后的相位${\tilde \varphi _{{f_k}}}$

线性回归算法是用一条直线y=wx+b去拟合当前的一系列样本(x, y)。线性回归有多种算法,本文采用基于最小均方误差规则下最小二乘法来求得wb,即:

$ \min {\sum\limits_i {({y_i}-w{x_i}-b)} ^2} $ (16)

其中:(xi, yi)为第i个样本对;wb为直线的斜率和截距。

然后使用最小二乘法,即可得到wb的闭式解,即可求出ab,得到线性回归的方程,去除不同步、噪声等误差。矫正后结果如图 3

图 3 一根天线上30个子载波相位 Figure 3 30 sub-carrier phase in one antenna
2.4 CSI信息特征抽取

经过以上数据处理,得到去除异常和误差的CSI数据。CSI数据是从WiFi OFDM的30个子载波上收集到的,那就意味着单位时间(每一个数据包)内,一种运动状态标签(静止或运动)label∈{0, 1}对应的CSI数据含有30个特征值xi, 1, xi, 2, …, xi, 30(i为第i个数据包)。虽然不同子载波收集的数据有差异,从多个方面反映了因为运动导致的CSI信息的变化,但是不同子载波的CSI数据并不是完全不相关的,甚至是相关性比较大的,这些CSI信息会增大计算量,影响算法效率,因此,本文需要对CSI信息进行降维处理。PCA算法是一种将高维数据投影到低维空间的一种算法。在该算法中计算矩阵的协方差矩阵,然后计算协方差矩阵的特征值和特征向量,选取一定数量的特征值和对应特征向量来近似表示原矩阵,达到降维的目的。

本文采取PCA方法对CSI信息进行特征抽取。首先CSI矩阵H分成幅值矩阵A和相位矩阵Φ,然后分别计算它们的协方差矩阵cov(A)和cov(Φ),再分别计算其最大特征值α=max(eig(cov(A)))、β=max(eig(cov(Φ)))并组成一个特征对(αβ)。

2.5 CSI信息特征抽取

经过以上算法,在一个时间窗w内获取了一对特征参数(αβ),假设收集的CSI数据分成了m个时间窗,即有m对特征(αβ),i∈[1, m]。为了检测运动状态(静止或运动),需要构建特征-标记对。假设静止状态label=0,运动状态label=1,将静止状态下收集的CSI数据经过以上算法处理后得到的特征(αi, βi)添加标记label,得到特征-标记对(αi, βi, label=0),同理得到运动状态下特征-标记对(αi, βi, label=1),得到两个特征-标记矩阵SM,如图 4所示。

图 4 CSI的幅值最大特征值和相位最大特征值 Figure 4 The maximum eigenvalues of amplitude and phase of CSI

利用构建好的两个矩阵进行运动检测需要利用分类算法,有些学者采用人为设定门限进行CSI信息归类,取得了很好的成果。但是,使用这种方法的劣势是在门限的选取这个问题上,需要大量的经验和调试。另一种方法是采用学习分类的方法,这种方法采用算法和大量样本去决定门限值来进行分类,很好地规避了因为人为因素而产生的误差,因此本文采取这种方法来进行分类。由于本文所涉及的运动检测只有静止和运动两种状态,属于二分类问题,并且有状态的特征数量是2,所以一些复杂的模型(如神经网络、深度学习等)会增加算法复杂度和降低运算效率,因此一些基本的分类算法是很好的选择。已经有学者用支持向量机(Support Vector Machine, SVM)、K最邻近节点(K-Nearest Neighbor,KNN)等算法很好地训练了模型,并得到很高的分类正确率,本文选择用朴素贝叶斯分类器来对运动状态进行分类。

相比SVM算法的参数敏感和核函数选取困难的缺陷,KNN算法高计算量、样本敏感、输出可解释性不强等缺点,朴素贝叶斯算法有着良好的数学基础(根据贝叶斯概率进行数学建模),对分类结果有很好的数学解释,具有算法复杂度低、效率高、样本不敏感等优势。而朴素贝叶斯算法的缺点是有着非常严格的假设(各个特征之间条件独立),但是由于CSI数据的相位和幅值本身有良好的独立性,并且在之前的数据处理中将各个特征处理成了近似独立,所以很好地规避了朴素贝叶斯算法的缺陷,因此,本文选取朴素贝叶斯算法作为分类算法。

3 实验结果与分析 3.1 实验设备、环境布置与实验实施

为了验证以上算法并评估整个系统的性能,本实验采用一台普通联想台式PC,Ubuntu操作系统,安装Intel 5300网卡作为接收机,网卡上装有3根接收天线,天线成“一”字排布,每根天线相距6 cm。发射机采用TP-Link WR742N路由器,有2根发射天线。设置工作模式于2.4 GHz频段,采用802.11n协议、40 Mb带宽模式。整个收发机组成一个2×3 MIMO系统。实验环境和天线具体布置如图 5所示。

图 5 实验场所平面图 Figure 5 Plan of laboratory

整个实验室共有3排卡座,共3条水平方向走道、1条竖直方向走道。路由器和PC所成直线和水平方向的夹角大致为π/4。整个设备部署已经完成。

实验邀请一名志愿者,从门处开始,在4条走道内,以大约0.5~2 m/s的速度自由行走。所谓自由行走,就是指方向随机,速度在0.5~2 m/s这个范围内随机变化的运动。打开计算机进入Ubuntu系统,加载开源Intel 5300网卡驱动,该驱动会共享WiFi的CSI数据[25]。本文一共收集4组数量大致相等数据,2组静止数据和2组运动数据。其中1组静止和1组运动数据作为训练数据,剩下2组作为测试数据。每隔时间w分别对2组训练数据取一次数据,再将数据整理为CSI数据矩阵H,依次使用LOF算法、Hampel滤波器、相位矫正、PCA算法加以处理。处理完所有训练数据后使用分类算法分类并生成模型。最后,使用测试数据对模型进行检测与验证。

3.2 实验结果

经过以上实验步骤和算法处理,得到如下数据。其中:表 1展示了各种算法的总体情况;表 2是各种算法的混淆矩阵。根据混淆矩阵,可以更详细地知道这些算法的假阳性、假阴性等指标。

表 1 4种算法的错误率和时间性能比较 Table 1 Comparison of error rate and network training time for four classification algorithms
表 2 4种算法的混淆矩阵对比 Table 2 Confusion matrix comparison of four algorithms

表 1是4种算法总的错误率和运行时间对比。其中KNN算法获得最小错误率4.22%,但耗时最长;朴素贝叶斯算法获得第二小的错误率4.38%,并且耗时最短;而高斯SVM比其他3种算法的错误率高了约3倍。

表 2详细给出了每个状态被正确和错误分类的概率。可以看出,KNN、朴素贝叶斯、线性SVM算法中行走状态被错误分类为静止状态或者静止状态被错误分类为行走状态的概率都在6.50%以内,而高斯SVM算法静止状态被分类为行走状态的概率高达24.53%,行走状态被分类为静止状态的概率为0.62%。这表明高斯SVM算法生成的模型不能平衡地分类行走和静止状态,而KNN、朴素贝叶斯、线性SVM算法生成的模型能较为平衡地分类。

因此,在本实验条件下,经过LOF算法、Hampel滤波器、相位矫正、PCA算法处理CSI数据后,根据在保证较高准确率的条件下选取算法效率最高的模型的原则,认为朴素贝叶斯算法能在最短时间判断运动状态,达到第二高的正确率95.62%(即第二小的错误率4.38%),为最优算法。

总的来说,本实验成功地实现利用WiFi信号的CSI进行非合作式人体运动检测,准确率高达95.62%。

4 结语

本文提出了一个完整的基于WiFi CSI的非合作式人体运动检测的方法,能判别室内人是否在行走,正确率达到95.62%。针对CSI数据处理,提出了一些异常数据处理方法和矫正无线网卡时钟不同步产生的误差的方法,并对比了各种分类器在本实验中的性能,选择了朴素贝叶斯算法生成用于判断人体运动的模型。当然,在检测多人运动和人体复杂运动情况检测方面本方法略显不足,将致力于充分利用WiFi信号的CSI来解决这个问题。

参考文献(References)
[1] 汪亮. 基于可穿戴传感器网络的人体行为识别技术研究[D]. 南京: 南京大学, 2014: 1-2.
WANG L. Research on wearable sensor network based human activity recognition technologies[D]. Nanjing:Nanjing University, 2014:1-2.
[2] 肖玲. 无线体域网中人体动作监测与识别若干方法研究[D]. 长沙: 湖南大学, 2014: 1-3.
XIAO L. Research on key technologies of human activity monitoring and recognition in wireless body sensor networks[D]. Changsha:Hunan University, 2014:1-3
[3] Leap Motion. Leap motion controller[EB/OL].[2014-12-28]. https://www.leapmotion.com.
[4] ADIB F, KATABI D. Seeing through walls with WiFi![C]//Proceedings of the ACM SIGCOMM 2013 Conference. New York:ACM, 2013:75-86.
[5] ADIB F, KABELAC Z, KATABI D, et al. 3D tracking via body radio reflections[C]//Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation. Berkeley, CA:USENIX Association, 2014:317-329.
[6] ADIB F, KABELAC Z, KATABI D. Multi-person motion tracking via RF body reflections[C]//NSDI 15:Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation. Berkeley, CA:USENIX Association, 2015:279-292.
[7] PU Q, GUPTA S, GOLLAKOTA S, et al. Whole-home gesture recognition using wireless signals[C]//Proceedings of the 19th Annual International Conference on Mobile Computing & Networking. New York:ACM, 2013:27-38.
[8] SIGG S, BLANKE U, TROSTER G. The telepathic phone:frictionless activity recognition from WiFi-RSSI[C]//Proceedings of the 2014 IEEE International Conference on Pervasive Computing and Communications. Piscataway, NJ:IEEE, 2014:148-155.
[9] BEDER C, KLEPAL M. Fingerprinting based localisation revisited:a rigorous approach for comparing RSSI measurements coping with missed access points and differing antenna attenuations[C]//Proceedings of the 2012 International Conference on Indoor Positioning and Indoor Navigation. Piscataway, NJ:IEEE, 2012:1.
[10] JIANG Z P, ZHAO J Z, HAN J S, et al. Wi-Fi fingerprint based indoor localization without indoor space measurement[C]//Proceedings of the 2013 IEEE 10th International Conference on Mobile Ad-Hoc and Sensor Systems. Piscataway, NJ:IEEE, 2013:385.
[11] 王凤. 基于聚类的射频指纹定位技术研究[D]. 北京: 北京邮电大学, 2014: 2-4.
WANG F. Research on radio fingerprints localization techniques based on cluster analysis[D]. Beijing:Beijing University of Posts and Telecommunications, 2014:2-4
[12] 王淑婷. 基于位置指纹的Wi-Fi定位算法研究[D]. 长春: 吉林大学, 2015: 7-8.
WANG S T. Research on WiFi positioning algorithm based on location fingerprint[D]. Changchun:Jilin University, 2015:7-8.
[13] 朱剑, 赵海, 孙佩刚, 等.基于RSSI均值的等边三角形定位算法[J].东北大学学报(自然科学版), 2007, 28(8):1094-1097.
ZHU J, ZHAO H, SUN P G, BI Y G. Equilateral triangle localization algorithm based on average RSSI[J]. Journal of Northeastern University (Natural Science), 2007, 28(8):1094-1097. http://kns.cnki.net/KCMS/detail/detail.aspx?filename=dbdx200708008&dbname=CJFD&dbcode=CJFQ
[14] 詹杰, 刘宏立, 刘述钢, 等. 基于RSSI的动态权重定位算法研究[J]. 电子学报, 2011, 39(1): 82-88. (ZHAN J, LIU H L, LIU S G, et al. The study of dynamic degree weighted centroid localization algorithm based on RSSI[J]. Acta Electronica Sinica, 2011, 39(1): 82-88.)
[15] WOODBRIDGE K, CHETTY K, YOUNG L, et al. Development and demonstration of software-radio-based wireless passive radar[J]. Electronics Letters, 2012, 48(2): 120-121. DOI:10.1049/el.2011.2436
[16] CHETTY K, SMITH G E, WOODBRIDGE K. Through-the-wall sensing of personnel using passive bistatic WiFi radar at standoff distances[J]. IEEE Transactions on Geoscience & Remote Sensing, 2012, 50(4): 1218-1226.
[17] CHETTY K, TAN B, WOODBRIDGE K. Data processing for real-time wireless passive radar[C]//Proceedings of the 2014 IEEE Radar Conference. Piscataway, NJ:IEEE, 2014:455-459.
[18] SEN S, RADUNOVIC B, CHOUDHURY R R, et al. You are facing the Mona Lisa:Spot localization using PHY layer information[C]//Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services. New York:ACM, 2012:183-196.
[19] HUANG D, NANDAKUMAR R, GOLLAKOTA S. Feasibility and limits of Wi-Fi imaging[C]//Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems. New York:ACM, 2014:266-267.
[20] WANG G H, ZOU Y P, ZHOU Z M, et al. We can hear you with Wi-Fi![J]. IEEE Transactions on Mobile Computing, 2016, 15(11): 593-594.
[21] BREUNIG M M, KRIEGEL H P, NG R T, SANDER J. LOF:identifying density-based local outliers[C]//Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data. New York:ACM, 2000:93-104.
[22] JIN W, ANTHONY K H T, HAN J W. Mining top-n local outliers in large databases[C]//Proceedings of the 7th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York:ACM, 2001:293-295.
[23] 张吉先, 钟秋海, 戴亚平. 一种基于小波变换的去噪新算法[J]. 北京理工大学学报, 2003, 23(6): 741-742. (ZHANG J X, ZHANG Q H, DAI Y P. A new de-noising algorithm based on wavelet transform[J]. Transactions of Beijing Institute of Technology, 2003, 23(6): 741-742.)
[24] 蒋贤海, 谢存禧, 邹焱飚. 一种强噪声下的监护信息降噪方法[J]. 华南理工大学学报(自然科学版), 2011, 39(4): 66-67. (JIANG X H, XIE C X, ZOU Y B. A denoising method of monitoring information under strong noise[J]. Journal of South China University of Technology (Natural Science Edition), 2011, 39(4): 66-67.)
[25] HALPERIN D, HU W, SHETH A, et al. Tool release:gathering 802.11n traces with channel state information[J]. ACM SIGCOMM Computer Communication Review, 2011, 41(1): 53. DOI:10.1145/1925861