一种基于WiFi的室内重点区域监测方法
2020-05-09党小超郝占军
党小超,张 彤,郝占军,段 渝
1(西北师范大学 计算机科学与工程学院,兰州 730070)2(甘肃省物联网工程研究中心,兰州 730070)
1 引 言
现如今位置信息的获取与分析在社会生活中有着重要价值.不同于传统户外定位,室内定位由于其环境复杂,影响因素较多,因此,选择合适的技术来实现室内区域监测与人员位置感知已成为当下研究的热点[1,2].现今主流室内定位技术包括RFID[3]、UWB[4]和WiFi等.通过提取WiFi信号对室内人员的位置信息和行为活动的感知研究已经取得了初步成果,并在室内定位,人员动作识别,入侵检测等领域广泛应用.使用WiFi设备获取室内位置信息,实现室内区域监测在多个方面都有良好的发展前景,可应用于银行金库、博物馆、美术画廊、机房等室内重点区域的监测.
传统无设备定位使用信号接收强度(Received Signal Strength Indication,RSSI)实现,文献[5]中Uises等人利用蓝牙信标来设计基于RSSI的室内定位系统,提高了识别精度,但是需要搭建专用传感器网络,增加了额外设备.文献[6]中田等人从WiFi设备中提取RSSI并建立离线指纹库,提出指纹数据分级方法提高匹配效率,但未能良好控制在误差,且定位精准度有待提高.文献[7]中桑等人将支持向量机(Support Vector Machines,SVM)应用于基于RSSI的室内定位方法,有效地控制了误差范围并提高了定位精准度,但基于RSSI技术的室内定位与识别在传输过程中受多径效应影响大,信号易被干扰,导致识别精度下降.
文献[8]考虑室内复杂环境对WiFi信号的影响,通过基于CSI的指纹特征定位提高了定位精度,但系统整体稳定性不高,对实验环境依赖较大.文献[9,10]中在对室内人员行为识别和室内精准定位的研究中,使用主成分分析(principal component analysis,PCA)法提取数据特征,分别提出FreeSense和R-TTWD方法,极大提高了特征提取的精准度,确保了特征划分的准确性.文献[11]提出一种LiFS算法,过将多个无线链路的CSI测量建模为一组基于功率衰落的方程来估计位置,并利用受多径影响的子载波进行定位.以上文献在对室内人员进行定位和进行室内区域划分的过程中很好地利用了技术特性,但是系统中还是存在环境适应性差,定位精度不足,区域监测识别率不高等问题.
针对传统CSI的室内定位存在的问题,本文提出一种Wi-KAM(Key Area Monitoring based on WiFi)算法,通过实时获取室内人员定位信息,判断室内重点区域内部人员存在和边界入侵情况,实现对室内重点区域的监测.本文贡献在于,采用高斯低通滤波和PCA技术对信号进行处理,极大提高信号特征精准度,用LSSVM对特征信息进行训练分类,优化本地性能,提高了定位精度和识别准确率.在实验部分,本文还测试了不同场景和参数条件下算法性能的区别,并与其他方法进行比较,实现综合性能评估.
2 Wi-KAM室内重点区域监测方法
本文提出的室内重点区域监测方法基于WiFi定位技术实现[12],需要获取人员实时精准的位置信息,以此判断各区域内人员状态变化,做出进一步反馈.CSI是对信号传输中所经历的衰减因子的描述,可以更精准地反映位置信息与区域状态的变化[13,14](1)http://kns.cnki.net/kcms/detail/11.1826.TP.20181012.1412.002.html.
图1 不同位置的原始CSI数据Fig.1 Raw CSI data at different locations
图1为人员位于同一实验场景中不同位置的CSI数据图像,每幅图包含3条链路的CSI幅值信息,不同位置采样获得的CSI有明显区别,可确定通过CSI数据进行位置判别是切实可行的.
本文对重点区域的定义为室内人为规定界限并赋予特殊存在价值的小面积区域,其划分标准根据实际场景的变化人为指定,重点区域监测旨在判断区域内人员存在情况与人员实际位置.
图2 Wi-KAM算法流程图Fig.2 Algorithm flowchart of Wi-KAM
Wi-KAM方法通过获取室内人员实时位置信息,判断重点区域内是否有人员存在或者区域边界是否有人员入侵.通过判断区域内部及周边的人员位置与活动信息,由外部系统提出进一步响应,进而来完成对室内重点区域的监测工作,Wi-KAM方法流程如图2所示.
在离线阶段使用高斯低通滤波对采集到的CSI位置数据进行预处理,随后在处理信号上使用PCA算法[15]提取特征值,并利用特征数据建立位置指纹数据库,在线阶段采集测试点的CSI数据并使用LSSVM[16]算法与指纹库信息进行位置匹配,以此来获取室内人员实时位置信息,从而判断各测试区域人员状态,实现对重点区域状态监测.
2.1 数据预处理与特征提取
2.1.1 高斯低通滤波处理
原始CSI数据受环境和采样设备影响,需要进行预处理用以降低干扰.人体位置信息反馈回的频域信号通常需要进行高斯低通滤波处理,针对于高斯噪声符合正态分布的特性,在此使用高斯滤波可以对实现对噪声的良好处理.首先,在室内进行区域划分,选择出重点监测区域和普通监测区域,在划分好的各区域内选定N个位置参考点,各个参考点的位置信息可记为pi=(xi,yi),则其形成的区域位置信息空间为p=(p1,p2,…,pN).在同一位置点上的取样次数记为T,则CSI的样本位置信息为Ki=(CSIi1,CSIi2,…,CSIiT),其中T维向量Ki为在采样点i位置获取的CSI数据包,每一个数据包为3×2×56的矩阵,则整体可以构成T·N维空间K,其中行向量K=(K1,K2,…,KN)T为位置参考Pi的特征信息.在获得采集的CSI数据后,高斯滤波通过对小概率的突变干扰项进行剔除操作来实现信号的平滑处理,其波形函数模型为:
(1)
φ[CSI(t)]表示t时刻接收端采集到的CSI的概率,其中:
(2)
(3)
T为采样总次数,μ为t时刻接收端采集的CSI数据的均值,σ为标准差.通过对CSI信号进行低通滤波,可有效去除环境噪声影响,降低数据误差.
对原有位置参考点的指纹信息进行低通滤波处理后,可得到降噪后的数据矩阵向量如式(4)所示:
(4)
图3 高斯低通滤波处理前后对比Fig.3 Comparison before and after Gaussian low-pass filtering
图3为第20号位置第2天线30个数据包的单条天线CSI原始数据和经过高斯低通滤波处理的图像.
由图3可以看到,原始CSI信号波形存在高频毛刺,数据在某些区域会呈现过度紧密地堆积,此类异常会影响后续实验的精度,经过滤波处理后,高频异常被剔除,整体信号曲线走势平缓光滑.
2.1.2 CSI位置特征的提取
考虑到CSI数据集本身为高维度信息,其高维度会导致算法时间复杂性提升,且各个维度对区域人员存在检测和定位的贡献度不同,则使用PCA算法提取最高贡献度的特征成分,以此为依据建立离线指纹库,主要处理步骤如下:
Step 1.获得式(4)所示的低通滤波预处理后数据矩阵向量.
(5)
Step 3.使用矩阵K′列向量减去μ,实现中心化处理,得到矩阵δ,计算的δ协方差矩阵如下式:
(6)
(7)
Step 4.计算F的特征值,解‖F-λI‖=0,若λi为V的一个特征值,则存在特征向量xi满足Vxi=λixi,解得xi为F对于λi的特征向量,N个特征值与特征向量组成矩阵φ=[x1,x2,…,xN].
Step 6.将前h个主成分依照大小输出,定义第i个主成分的特征贡献率wi,由此计算累计贡献率Ci,如下式:
(8)
Step 7.取特征值的累计贡献率超过门限值Cc的对应特征向量,使其组成主成分矩阵D=(D1,D2,…,DN)T,进而对其中向量Di进行加权平均,获得向量d=(d1,d2,…,dn)做为位置指纹的特征数据,建立离线指纹数据库.
根据上述步骤,PCA处理效果如图4所示.
图4 PCA算法处理前后图像Fig.4 PCA algorithm processing before and after images
图4(a)为图3(b)为使用PCA处理后的得分矩阵特征波形,图4(b)为PCA得分矩阵进行加权平均后得到的特征波形.图像结果表明低通滤波数据经过PCA处理后,波形收束相比之前更加紧密,提取得到的新波形在保留原有数据特征的情况下,自身幅值细节信息更加明显,在对多条特征数据进行加权平均后,可将单个位置点的一次采样信息凝练为一组有效特征波形,以提高后续样本训练与分类的效率和精度.
2.2 离线训练与在线分类
2.2.1 LSSVM离线训练
对同一位置多次采样后,获得足够特征指纹,建立离线位置指纹库,其描述了指定环境中CSI信息与采样位置的关系.使用LSSVM算法训练样本,建立特征位置关系的映射.
对指纹库中人员位置样本进行训练,设q为训练样本数,构建训练样本(di,gi),其中di=(di1,di2,…,diq)为经过PCA处理后的各个采样位置点的特征样本数据集,gi∈(+1,-1)为样本分类标签,+1表示位置点人员存在,-1表示位置无人.训练模型使用数据集{(di,gi)|i=1,2,…,q}为样本,目的是确定gi的值,从而判断各个位置是否有人员存在,通过比对分类,从而获得人员实时位置,判断重点区域内部及周边人员存在情况.LSSVM处理过程为:
已知样本集(di,gi),基于最小化原则,建立优化函数如下:
s.t.gi=wT·φ(di)+b+ηi,i=1,2,…,q
(9)
(10)
公式(14)中,w为分离超平面的方向向量,b为超平面位置常数,C为惩罚参数,ηi为误差,这里引入拉格朗日函数将原问题转化为对偶问题进行优化,函数式为:
(11)
公式(11)中αi为拉格朗日乘子,利用拉格朗日优化条件,将公式(11)转化为如下线性方程组:
(12)
其中K(di,dj)是将CSI指纹映射到更高维度的核函数,选择径向基函数作为核函数,则K(di,dj)=exp(-‖di-dj‖2/2δ2),其中δ为核参数.
将指纹库中的位置数据作为训练样本输入,对公式(12)进行线性求解,获得αi=(α1,α2,…αq)T与b,为在线匹配所使用决策函数提供参数支持.
2.2.2 在线匹配
在本方法的在线阶段旨在判断区域内人员存在并估计人员具体位置.通过设备将对室内每个测试点的实时人员活动情况的CSI数据进行采集,获得测试点的CSI信息,发送给接收设备,进行数据预处理操作,提取出有效数据特征,使用LSSVM算法线数据信息实时匹配与分类决策.根据分类结果判断人员所处真实位置,并将与重点区域所在相对位置进行对比,判断人员存在情况并实现定位.
实现在线分类的关键在于利用公式(12)求解获得的参数,构建决策函数如公式(13)所示:
(13)
其中,di和d分别为训练样本数据与测试样本数据,且当f(d)>0时,人员在对应位置存在,当f(d)<0时,对应位置无人存在.以此为依据,则在线阶段步骤如下:
Step 1.实时获取人员在测试位置的CSI数据,并进行数据预处理提取特征信息;
Step 2.构建测试样本集(dh,gh),h为测试位置编号,dh为已提取特征信息的测试集;
Step 3.使用LSSVM进行分类处理,按位置点序号顺序使用式(17)决策函数根据指纹数据库对当前位置点人员存在情况判断;
Step 4.根据决策信息,若位置匹配成功,则输出当前人员真实位置,否则返回Step 3继续进行分类.
根据获得的位置坐标与重点区域位置信息进行比对判断重点区域内部人员存在情况及人员准确位置,判断存在情况,获得人员真实位置,实现对重点区域人员位置的监测.
3 实验验证与性能分析
3.1 实验环境
为验证本文中算法可行性及性能,选择在实际场景中进行实验,实验场地分别为两部分,通过不同实验环境对比,测试算法的精确性与鲁棒性.
在本实验中,主要依靠人为划分手段事先在室内规划出特定区域作为重点区域,以此进行后续实验验证.第一个实验场景是的规格为8m×12m的实验室,场地中事先布置好5×5规格的网格,每个网格长宽尺寸为0.8m×0.8m,共计设计25个采样点,实验室内置多个实验设备和办公用具,布局紧凑,测试多径效应对实验影响.实验室平面图和实景图如图5所示.
图5 实验室平面布置图和环境Fig.5 Laboratory floor plan and environment
第二个实验场地是规模为11m*16m的大厅,其布局较为空旷,没有明显的障碍物干扰,其布局图和实景图如图6所示.
图6 大厅平面布置图和环境Fig.6 Hall floor plan and environment
实验通过两套安装了Atheros AR9380 型号网卡的设备采集CSI数据,机器使用Intel Core i3-4150型号CPU和Ubuntu11.04操作系统,将其中一台设为发射机MP,另一台设为接收机AP,天线触点使用6DB高增益天线接出,高度设为1.2m,其中三根发射天线,两根接收天线.
3.2 性能分析
3.2.1 不同实验场景的定位精度分析
在本节实验中,通过设计两个不同实验场景进行对比实验,分析算法执行情况.在拥有障碍物的拥挤实验环境中,多径效应会直接影响CSI信号的传播路径,提升CSI数据空间分布的复杂度,影响数据的进一步处理工作.每个场景分别选择25个位置采样点,采用第x条天线的链路的CSI幅值信息作为特征成分,通过对Wi-KAM算法分别对两个实验场景中的采样数据进行在线分类处理,将识别分类结果进行可视化汇总分析,使用获得的分类位置匹配情况得混淆矩阵来进一步验证实验效果.
图7为在实验室场景中和在大厅场景中的位置分类匹配情况.
图7 两种场景下定位效果混淆矩阵图Fig.7 Positioning effect confusion matrix diagram in two scenarios
由图7可知,在障碍物较多,场地相对拥挤的实验环境中,位置点的识别效果相对于大厅空旷环境较为不佳,在此环境下某些位置点如9,11,12等易与相邻位置点混淆,使得在易混淆点附近设置重点区域时,算法对重点区域内是否有人员活动的情况产生不准确判断.而在大厅实验场景中,由于环境条件较为理想,干扰因素小,因而算法的在线分类匹配效果较为精确.综合对比,环境的复杂程度会对定位精度产生一定影响,环境复杂度越低,定位效果越好.
3.2.2 重点区域划分对定位精度的影响
在实现了室内人员定位的基础上,可以进一步考虑重点区域与整体室内区域相对位置因素对区域监测和识别分类的影响.本文使用以下性能指标来评估识别精度:
1)假阴率(false negative,FN).表示在实际监测时,重点区域内有人员存在,而系统误判为区域内无人的情况.
2)真阳率(True Positive,TP).表示正确判别出重点监测区域内有人员存在的情况.
3)检测率(Detection Rat,DR).表示系统正确判断了所监测的重点区域内外的人员位置情况,其数值上等于真阳率比上假阴率与真阳率之和.
在实验场景一中,通过控制变量法,保证实验人员和设备参数等环境因素不变,分别设置等面积但位置不同的重点区域进行对比实验.
本实验中重点区域的划分标准为边长为0.8m×1.6m的矩形,设置5组对照试验,进行多次位置采样,使用上述Wi-KAM算法进行在线数据处理,分别对识别结果进行分类讨论.在25等划分方格内标记出1号和2号方格记为1号重点监测区域,同理顺次标记5号和10号,12号和13号,16号和21号,24号和25号,设置共计5组重点区域,图8为人员位于3号重点区域内进行实验测试的实景图.针对不同位置的定位情况进行统计,分析重点区域划分位置对实验效能的影响.
图8 不同位置重点区域检测率Fig.8 Detection rate of key areas in different locations
图8反映出不同监测区域匹配结果假阴率和检测率的关系,其中靠近整体区域中心的3号重点区域平均识别率较高,可以达到92%左右,分析可得当区域面积一定时,重点区域位置越靠近总监测区域中心位置时,由接收机和发射机所形成的传输路径所受多径效应影响越小,则使整体系统的识别精度的更高.
3.2.3 采样数与链路数对定位精度的影响
CSI数据的采样数量和链路数量会直接影响特征指纹库的构建质量和算法运行效率,为了判别和分析采样数量对实时定位准确性和区域监测性能的影响,在两个实验环境中,在不同场景下设置对照试验,通过改变参数判断实验效能,并根据实验结果评估方法的计算复杂度.
分别进行10、20、40、50、70个数据包的采样和1到6条链路数量的实验,对重点区域人员活动识别率和算法执行时间情况进行统计分析,采样数实验和链路数实验结果如图9和图10所示.
图9 采样数对算法的影响Fig.9 Effect of the number of samples on the algorithm
分析图9可知,在两种环境中采样数量增加会提升定位精准度,同时增加算法执行时间,影响算法执行效率.在空旷大厅环境中算法执行速度和识别率均略高于实验室环境,且随着采样数量提升,两种环境下数值差距降低.当采样数量处于10到50包之间时,区域人员位置识别率与算法时间持续上升;当采样数量处于50到70包之间时,识别率基本保持在同一水准,趋于稳定,但执行时间依旧保持上升,综合上述结果,可以推断选取50包采样数量可以在维持较高定位精度的情况下保持算法效率.
如图10所示,两种环境下实验效能相近,选取提取特征样本的链路数量增加会提升算法执行时间和匹配复杂度.根据区域人员识别效果分析,仅选择一条链路作为特征标准时,识别率低于20%,链路数量为6条时,识别率可达到90%以上,由此可得链路数量对识别率的影响显著且两者数值呈正相关趋势.本方法为了在尽可能短的时间内提高定位精度和识别准确率,需要合适数量的采样包数和尽可能多的链路数量作为分类匹配的样本支撑.
图10 链路数量对算法的影响Fig.10 Number of links affects the algorithm
通过分析上述实验,可以明确采样数量和链路数量直接影响计算复杂度,且Wi-KAM方法以LSSVM作为分类匹配工具,所以其训练过程复杂度为O(dn2),其中d为维度数,n为样本数量.
3.3 定位误差分析
由上述三组对比实验可以获得Wi-KAM算法的综合实验效能,为对本算法进行综合评估,在搭建的实验环境中,分别对Wi-KAM算法,R-TTWD算法和本实验采用的Wi-KAM算法在实验室环境中进行实验验证,构建CDF图来进行对比分析,讨论各个算法的误差累计分布函数.
图11 定位误差累积分布Fig.11 Cumulative distribution of positioning error
由图11可以发现定位误差在1米范围内,R-TTWD方法优于其他两种方法;定位误差在1~1.5米的范围内三种方法的累计误差分布接近,同时Wi-KAM方法开始超越R-TTWD方法并优于LiFS方法;在超过1.5米的定位误差后,Wi-KAM方法相较于其他两种方法有明显优势,表现出更好的定位优势.
对比过三种方法在同一环境下的定位误差累积分布函数后,将三种方法在两个实验环境中的平局误差、标准误差及定位精度进行对比,结果如表1所示.
分析表1中数据,三种算法在大厅这种空旷环境中的定位精度略微高于拥挤环境,且Wi-KAM方法的定位标准误差控制在1.13m左右,定位精度为76.1%至77.3%.相较于R-TTWD直接使用PCA处理数据,本文选择低通滤波与PCA相结合的方式对数据进行预处理操作,有效过滤了噪声,降低环境干扰,使得系统整体的稳定性与后期处理的精准性得到了提升;其次R-TTWD方法侧重于区域内移动目标的监测,而本所提出的重点区域监测方法在考虑移动目标监测的同时兼顾了对静态目标进行精准定位,整体环境适应性更好,方法的可应用功能和场景更丰富.对比LiFS方法的离线处理阶段,本方法在降低算法复杂度的同时提高了定位与识别效.综上所述,本方法综合性能优于其他两种方法.
表1 三种定位方法在两种环境下的性能比较
Table 1 Performance comparison of three positioning methods in two environments
定位方法测试场景平均误差标准误差定位精度Wi-KAM实验室1.30m1.13m76.1%大厅1.22m1.01m77.3%R-TTWD实验室1.39m1.23m74.8%大厅1.25m1.10m76.6%LiFS室1.44m1.27m72.0%厅1.31m1.16m69.7%
4 结束语
本文提出一种基于CSI的室内重点区域监测方法,使用位置信息获取手段,对重点区域内部和周边人员活动情况进行判别.首先,本算法在数据预处理阶段使用高斯滤波进行降噪处理,其次使用PCA提取过滤后波形主要特征信息,并建立离线特征信息指纹库.在线阶段,对实时获取的CSI位置数据使用LSSVM进行分类匹配处理,判定重点区域内人员活动情况.在实验验证中,本文方法在实验的定位精度可达到76.1%至77.3%之间,对于面积约为1.28平方米的重点区域内部及附近的人员活动情况的识别准确率可以到92%以上,下一步计划研究重点区域内人员动作信息的获取与匹配.