基于深度特征学习的免校准室内定位方法
2020-12-18杨锦朋于怡然
常 俊,杨锦朋,于怡然,余 江
(云南大学信息学院,昆明,650500)
引 言
随着室内无线通信技术的进步,依托各种成熟使用的无线通信技术的室内定位方案层出不穷,室内定位的理论基础和技术方法受到广泛重视[1‑4]。由于WiFi 网络的高性能和低价格,已在室内环境获得大规模部署,基于WiFi 通信信号位置指纹的室内定位研究备受关注,然而由于设备异构性问题引起的位置指纹的大尺度波动,造成位置指纹漂移,发生误匹配,严重影响了定位的准确性和健壮性[5]。
目前,解决指纹定位设备异构问题的方法主要有两类,校准的方法和免校准的方法。校准的方法在离线阶段学习参考设备和用户的移动终端在相同位置处RSS 的关系模型,在线阶段通过关系模型对用户设备在待定位点的接收信号强度(Received signal strength,RSS)向量进行补偿,该方法直接而有效,在早期得到了广大研究者的关注和研究,但从研究走到应用,仍然有着限制,校准过程需要学习参考设备RSS 值与用户移动终端RSS 值的关系模型,时延高,不能满足设备大规模接入的实时应用。另一种免校准的方法就是对原始指纹进行统一的处理,获得健壮性更好的新指纹。近年来,得到了广泛的关注和研究[6]。Kjaergaard 提出了一种双曲线位置指纹(Hyperbolic location fingerprinting,HLF)方法[7],用成对的接入点信号强度比值作为新指纹,对于异构的设备问题,采用HLF 指纹比起未处理的指纹有更好的定位精度,但这种方法增加了指纹的维数,从而增加了指纹比对的计算复杂度。文献[8]采用信号强度差(Signal strength difference,SSD)的方法,通过取相邻最强接入点(Access point,AP)的接收信号强度指示(Received signal strength indicator,RSSI)的差值来作为指纹,新指纹表示了不同AP 的RSSI 的相对强弱关系,把这种关系作为指纹,新指纹一定程度减弱了设备异构的影响,但指纹特征会减少。Zou 等[9]提出了一种信号趋势指数(Signal tendency index,STI)的方法,把处理后参考点指纹和测试点指纹的欧式距离作为STI,采用加权平均从关键参考指纹构建出新的测试点指纹,该方法不改变指纹维度,但计算量大。
传统的免校准方法大多考虑对原始指纹变形,对指纹变形的方法虽然一定程度可以缓解异构设备的影响,但是由于RSS 的时变特性和空间变化影响,使得RSS 含有大量的噪声,传统免校准对原始指纹变形的方法,获得的只是表层特征,虽然可以减弱异构设备对于RSSI 的大尺度影响,但对于噪声引起小尺度影响,显得无能为力,严重限制了WiFi 指纹定位精度的进一步提高。所以针对传统免校准方法的不足,本文提出一种对原始指纹特征挖掘的免校准方法:CLAS‑SDAE‑WKNN 定位算法。结合最强AP 分类,普氏分析(Procrustes analysis),堆叠降噪自编码(Stacked denoising autoencoder,SDAE)获取深度特征指纹,在线阶段,利用加权最近邻算法(Weightedk‑nearest neighbor,WKNN)的方法与深度特征子指纹库匹配,获得估计的位置。
1 信号特征分析
设备异构性问题是室内WiFi 指纹定位中一个不可忽视的问题。设备异构性主要是由于设备软硬件的差异引起的[6]。如表1 所示采用了4 种不同型号的手机来进行实验,4 种手机的软硬件和材质都存在差异。
表1 手机信息Table 1 Mobile phone information
利用表1 中4 种手机在相同的位置各采集30 次来自8 个AP 的RSS 数据,取30 次数据的均值,作出如图1 所示的4 种手机的RSS 曲线。
从图1 可以清晰地看出不同手机在同一个位置所接收到来自8 个AP 的RSS 值是明显不同的,MI 4LTE 手机采集自 AP1 的 RSS 与 LG‑ls990、ONE E1001 手机相差约 10 dB·m,LG‑ls990 与 ONE E1001 手 机 采 集 自 AP3 的 RSS 相差约 10 dB·m,MI 4LTE 手机与 vivo X5ProD手机相对接近,LG‑ls990 手机与 ONE E1001 手机差距相对大。说明了设备异构性确实存在,从不同手机采集来的大量数据来看,同一位置接收信号强度值最大相差15 dB·m,对于基于指纹的定位方法来说是一个不可忽视的问题。
除了设备异构问题严重影响WiFi 指纹定位的性能,原始的指纹特征随时间和空间变化而波动,表现出不稳定性,造成定位性能的下降。指纹库的稳定性影响着定位系统的性能,所以寻找稳定的指纹特征,建立稳定的指纹库显得尤为必要。
图2 是4 种手机在实验环境中相同位置处,在3 min 内,各采集的同一AP 的RSS 数据30 次绘制的曲线,从图2 中可以看出由异构设备引起的不同的手机RSS 的波动要大于时间变化引起的RSS 的波动。
图3 是ONE E1001 在实验环境中一个参考点处,相隔5 d 时间,各采集30 次7 个AP 的RSS 数据的均值绘制的曲线,对比不同手机造成的RSS 差异,同种手机采集的RSS 受到时间和空间的影响相对较小,但仍存在差异。
图1 4 种手机AP 编号与RSS 值曲线Fig.1 AP numbers and RSS value curves of four mobile
图2 4 种手机同一位置短时间内采集的同一AP 的RSSFig.2 RSS of the same AP collected by four mobile phones in a short time
图3 同一手机不同时间段采集的7 个AP 的RSSFig.3 RSS of 7 APs collected in different time peri‑ods of the same mobile phone
对指纹变形的方法虽然一定程度可以缓解异构设备的影响,但是由于RSS 的时变特性和空间变化影响,使得RSS 含有大量的噪声,传统免校准对原始指纹变形的方法,获得的只是表层特征,虽然可以减弱异构设备对于RSS 的大尺度影响,但对于噪声引起小尺度影响,收效甚微,严重限制了WiFi 指纹定位精度的进一步提高。
2 CLAS⁃SDAE⁃WKNN 模型
图4 是本文提出的CLAS‑SDAE‑WKNN 室内定位方法的流程图,分为离线训练阶段和在线定位阶段。离线训练阶段综合最强AP 分类和普氏分析的方法处理参考设备采集得到的指纹,获得标准化子指纹库,然后将其通过SDAE 进行训练,获得不同类指纹的最优的深度特征学习模型和深度特征子指纹库,最终将不同类的深度特征子指纹库存储,作为比对的特征。
图4 CLAS-SDAE-WKNN 流程Fig.4 Process of CLAS-SDAE-WKNN
在线定位阶段采用最强AP 分类和普氏分析的方法处理测试设备采集的RSS 向量,假设处理后指纹的分类标签是k,将其输入到第k类SDAE 训练得到的深度特征学习模型进行训练,得到第k类的深度特征向量,最终利用WKNN 的方法将其与深度子指纹库k中的特征进行比对,获得估计的位置。
本文提出的CLAS‑SDAE‑WKNN 室内定位方法,采用最强AP 法和普氏分析法预处理指纹,结合SDAE 训练深度特征和WKNN 匹配的方法。综合最强AP 法和普氏分析法的优势,能够显著降低异构设备的影响,提高SDAE 训练的速度和精度。把预处理后的指纹经过SDAE 进行非线性特征提取与变换,有效地降低指纹的噪声,获取深层的指纹特征,进一步提升定位系统的稳定性与鲁棒性。由于训练得到的深度特征的稳定性,经典的WKNN 方法也可以获得较好的定位效果,WKNN 的简单高效也可以保障综合方法定位的有效性。
定义:假设实验环境中设置m个参考点,n个AP,WiFi 指纹库表示为FDB(L,FP),其中L为位置集合,FP为参考设备在参考点采集自所有AP 的RSS 向量集合。第i个位置的指纹表示为Fi=(li,fpi),Fi∈ FDB,i=1,2,…,m,其中第i个位置的坐标li=(xi,yi),li∈L,第i个位置在第j次采集的 RSS 向量fpi,j=表示 在 第i个位置第j次采集来 自 第n个 AP的RSS。
经过分类的指纹库表示 FDB={f1,f2,…,fn};标准化指纹库表示为 STDFDB={s1,s2,…,sn};把经 SDAE 训练得到的深度指纹库表示为 DCFDB={d1,d2,…,dn}。
测试设备在本文实验环境内某一个待定位点采集来自所有参考AP 的RSS 值,表示为ti=第k类向量表示为。标准化处理后的表示为,k∈1,2,…,n。经SDAE 提取和变换后的指纹表示为dt,它的维度与SDAE 网络参数相关。
2.1 分类标准化子指纹库的建立
假设指纹最大RSS 对应第k个AP,就把这条指纹归为第k类,所有的指纹都进行相同的分类处理,把指纹库 FDB 的所有指纹划分为n类,即i=1,2,…,m;j=1,2,…,30。fk中所有的最大 RSS,都来自第k个 AP,这类指纹的位置与第k个AP 比较接近,同一类指纹,物理坐标更为接近。
对分类后的指纹库FDB 中每个子指纹库fk中每个位置的指纹进行如下的标准化处理:
把ti先按照最强AP 的方法对其进行分类,得到
对平移处理
式中
经均匀缩放处理为
式中
采用最强AP 法相较于其他分类方法可以快速对指纹进行分类,保证不同手机的同一类指纹特征的相似性,缩小定位的范围,实现粗定位;普氏分析方法处理分类的指纹,可以把RSS 分布变为一个标准正态分布,使得不同手机采集的RSS 有同一分布,减少不同数据域之间分布的差异,接近一个统一标准指纹,为堆叠降噪自编码器(Stacked denoising autoencoder,SDAE)网络提供稳定的特征输入。
2.2 堆叠降噪自编码器
SDAE 是由多个降噪自编码器堆叠而成的深度神经网络。结构如图5 所示。
堆叠降噪自编码器的结构如图5 所示堆叠了n个降噪自编码器[10‑11],把上一个 DAE 的输出作为下一个 DAE 的输入,经过编码和解码过程以最小重构误差为目标,不断迭代训练得到各层降噪自编码器的编码函数和解码函数中的权值矩阵和偏置向量。通过训练的SDAE 网络是一个具备深度特征挖掘的深度神经网络,可以从原始的含有噪声的数据中挖掘到更具有鲁棒性的特征,提高SDAE 的泛化能力,并为后面的算法模型提供稳定的数据输入。
图5 堆叠降噪自编码结构Fig.5 Stacked denoising autoencoder
2.3 训练
把标准化子指纹库STDFDB 中,每类位置指纹sfk中,所有 的加入掩模噪声,k∈ 1,2,…,n,其中1,2,…,30。 最 终 得 到 加 噪 的 标 准 化 子 指 纹 库 ,表 示 为其 中s=f k表 示 加 噪 后 的 标 准 化 指 纹 。
编码器和解码器每层的学习过程如下
式(6)为堆叠降噪自编码器学习过程,编码阶段加噪的标准化指纹为网络的输入,每层网络的输入是上一层网络的输出经过编码器激活函数的向量,分别为编码器各层网络的权值矩阵和偏置矩阵。解码阶段编码器最后一层的输出作为解码器的输入,每层网络的输入是上一层网络的输出经过解码器激活函数的向量,分别为各层网络的权值矩阵和偏置矩阵。
标准化指纹经过解码和编码后,根据标准化指纹和重构指纹之间的误差,重构误差即表示为第(L-l)层的编码特征与第l层解码特征的欧氏距离。
构建损失函数J(θ),通过优化更新每层编码器和解码器的参数
使用自适应矩估计(Adam)法对参数进行估计,对于某一神经元的参数在第t次迭代,中的元素更新过程为
式中:β1,β2为指数衰减率,β1=0.9,β2=0.999;mt为第t次梯度指数移动均值,m0=0;vt为第t次平方梯度,v0=0;α为学习速率,ε为常数中第nl个元素中元素也按照式(8—10)更新。
3 实验环境和算法步骤
3.1 场景设置
本文实验场景如图6 所示,包括了3 条长度分别为60,63.6,40.5 m 的走廊。在整个区域内布置了22 个接入点在天花板上,距离地面约2.5 m,分布如图7 中所示,在实验环境中划分网格,建立坐标,设置了参考点和待定位点。密集的过道按(1.2 m×1.2 m)的网格划分,空旷的大厅区域按照(2.4 m×2.4 m)的网格划分,网格的中心设置为采集点,共158 个,选取了143 个作为参考点,15 个作为待定位点。建立坐标系,x轴和y轴与两条过道重合,便于坐标的选取,方便设置采集点。15 个待定位点分布在不同的的过道,不与参考点重合,可以更好验证算法的有效性。
图6 实验场景平面图Fig.6 Experimental scene
在离线阶段,实验人员用MI 4LTE 手机在143 个采集点分别采集RSSI 数据,采集时手机保持在相同的高度1.2 m,同一朝向,每个点采集30 次,每隔3 s 采集一次,采集完成后,把一些在参考点处测不到的AP 的RSSI 值赋为-100 dBm,使每个位置的指纹维度一致,即合理反映了测不到的位置特性,又方便算法的验证。把整理后的143 个参考点的位置指纹进行储存,建立起离线阶段的指纹库。在线定位阶段,为了讨论设备异构性问题,使用4 种异构类型的手机分别在15 个待定位点采集数据,每个点同样采集30 次,每3 s 采集一次,各从中选取200 个样本作为测试数据,实验用的手机分别是MI 4LTE,LG‑ls990,ONE E1001,vivo X5ProD,具体信息见表1。
3.2 CLAS⁃SDAE⁃WKNN 定位算法
在本文的实验场景下,采集数据,利用CLAS‑SDAE‑ELM 的方法对测试点进行定位,分析本文方法的性能,具体步骤如下:
算法 1CLAS‑SDAE‑WKNN
训练阶段:
输入:标准化子指纹库STDFDB;每个隐含层的神经元个数为n1,n2,…,nl;学习率ρ;激活函数:s(·)。
输出:第k类模型的编码器各层的参数。
深度特征子指纹库DCFDB。
fork= 1,2,3,…,n
(1)随机产生编码器的参数θe和解码器的参数θd;
(2)对第k类子指纹库sfk中 每条指 纹中数据加入掩模噪声,得到;
(3)训练编码器的参数θe和解码器的参数θd;
(4)保存第k类模型参数θe、θd和网络模型;
(5)训练得到深度特征子指纹库DCFDB。
end for
测试阶段:
输出:第i个测试点的估计坐标
fori=1,2,3,…,d(d是的数量)
(1)对进行分类,得到分类号k;
(2)加载第k类SDAE 模型参数参数θe和θd网络模型,训练得到深度特征dtk;
(3)计算dtk和第k类深度子指纹库dk中每条特征的欧式距离;
end for
4 实验结果分析
4.1 参数设置
实验参数的设置如表2 所示。
表2 SDAE 参数Table 2 Parameters of SDAE
4.2 参数分析实验
SDAE 中参数学习率是控制着基于损失梯度调整神经网络权值的速度的超参数。学习率的大小影响着损失函数的变化速度,所以学习率的大小影响着收敛的快慢,设置大的学习率,模型收敛较快,但是容易错过局部最小值,设置小的学习率,模型收敛速度慢,但不会错过局部最小值。所以选取合适的学习率,能够平衡好训练模型的效率与模型的性能,从图7 可以看出学习率取0.000 1 时为最佳。
相同的学习率下自适应矩估计(Adam)的收敛效果优于梯度下降法(Gradient descent),如图8 所示,Adam 每次迭代更新参数时考虑了上次的迭代梯度信息,调节步长,接近全局最优,而Gradient de‑scent 易陷入局部最优,难以得到最优的参数,所以本文采用Adam。
图7 不同学习率的收敛效果Fig.7 Convergence effect of different learning rates
图8 两种优化方法的收敛效果Fig.8 Convergence effect of two optimization methods
4.3 算法对比实验
图9 是 CLAS‑SDAE‑WKNN、CLAS‑STDRSS‑ELM、CLAS‑STDRSS‑KNN 3 种定位方法在相同实验环境下得到的相同数据集的定位误差性能的比较。可以看出3 种定位方法的性能 CLAS‑SDAE‑WKNN 最好,CLAS‑STDRSS‑ELM次之,CLAS‑STDRSS‑KNN 最差。其中 CLAS‑SDAE‑WKNN 4 种手机的平均定位误差为2.72 m,CLAS‑STDRSS‑ELM 是 2.89 m,CLAS‑STDRSS‑KNN 是 3.11 m,CLAS‑SDAE‑WKNN 比起 CLAS‑STDRSS‑ELM 提升了 5.9% 的性能,对比 CLAS‑STDRSS‑KNN 提升了 12.5%。
图9 3 种定位方法性能比较Fig.9 Performance comparison of three po‑sitioning methods
5 结束语
针对原始指纹特征变形的免校准方法难以抑制时空变化引起的指纹小尺度波动,提出一种对原始指纹特征挖掘的免校准方法CLAS‑SDAE‑WKNN。先采用最强AP 分类和普氏分析的方法处理指纹,构建标准化子指纹库,再把标准化子指纹库通过SDAE深度网络训练得到深度特征子指纹库,最后利用WKNN 比对深度特征来估计待定位点的位置。总的来说,该方法与标准化指纹库的方法比较,不仅定位精度有5.9%和12.5%的提高,而且能够有效缓解设备变化引起的RSS 大尺度差异和减低噪声带来的小尺度差异,保持了模型良好的鲁棒性能。提高检测时指纹提取算法和指纹库匹配算法的计算效率是下一步的研究工作。