李荣芳
(陕西邮电职业技术学院,陕西 咸阳 712000)
目前,互联网技术进入高带宽、低时延、大连接时代,与之结合的应用研究已经涉及当前社会的各行各业,如智能交通、智慧医疗、室内定位和信息推送等。这些应用极大得解决了人们在遭遇灾难,日常工作和生活中遇到的棘手问题,例如在地震、火灾、矿难等重大险情发生后的精准救援工作;根据实时路况及车流量信息提前预警及分流;医院的智能定位帮助病患快速就医取药等。因此,基于室内定位技术的研究及应用引起国内外学者的高度重视,室内定位技术的算法研究和系统框架搭建备受互联网企业和学者的关注。
为提高室内定位的精确度,文献[1]给出基于 AP(Access Point)加权的 K 近邻(K-Nearest Neighbor, KNN)优化算法,该方法使用方差加权 AP 结合欧氏距离进行匹配,最终得到了定位精度更高和稳定性更好的室内定位算法;文献[2]为了准确估计室内位置,提出了一种改进的随机森林算法,该算法利用区域网格划分来减少最大误差,并采用调整后的余弦相似度来匹配适当的网格和指纹;文献[3]提出一种奇异谱分析与高斯过程回归算法相结合的室内WiFi定位方案;文献[4]提出了一种基于多目标优化的AP选择算法,利用学习算法可获得自适应AP选择算法的最优解,从而实现高精度定位;文献[5]提出了一种基于WiFi的定位技术,该技术可以从TOA(Time of Arrival)和 AOA(Angle of Arrival)的瓶颈中改善定位性能;文献[6]采用K均值聚类在KNN中进行有效而准确的分类,为了减轻不稳定的WiFi信号的影响,使用每个单独的 RSS(Received Signal Strength)值而不是代表平均值进行聚类,从而消除了分类中的极端RSS值,与传统KNN相比,其性能有了显着提高。
近年,将神经网络应用于室内定位领域成为了主要发展潮流,文献[7]利用随机森林模型结合深度学习模型进行性能优化,其定位误差比单独使用随机森林和深度学习模型更低;文献[8]旨在对基于WiFi位置指纹室内定位算法作进一步优化,提出了卷积神经网络的概念,将指纹数据库输入神经网络模型,得到了更高定位精度的优化算法;文献[9]将神经网络和质心定位方法结合得到一种稳定的非线性定位模型,获得了较高的定位精度。
该文提出神经网络概念,将其引入到WiFi位置指纹室内定位算法中,旨在得到优化后的算法模型以提高定位性能。
基于机器学习的WiFi位置指纹定位算法都是使用的浅层结构来实现的定位,但这些算法的模型对定位性能的表达和改进都有一定缺点,其使用的浅层结构会对室内采集的RSSI(Received Signal Strength Indicator)数据产生影响,所以需要对当前算法进行进一步的优化。如今人工智能在各个邻域的应用越来越广泛,将人工智能应用到室内定位技术当中也是当前研究的热门方向,针对当前室内定位技术所存在的不足,提出神经网络概念,将其引入到WiFi位置指纹室内定位算法中,旨在得到优化后的算法模型。
RSSI方法又称接收信号强度法,无线信号的接收信号强度RSSI是由接收设备的位置所决定的,随着通信距离的增加,信号传播的过程中其强度受环境影响会发生变化,信号强度衰减的大小受距离影响[11]。一般普遍满足信号传输的渐变模型,由经验模型转化为通信距离算法。
(1)
式中:RSSI表示接收机接收到的信号强度;Pt表示发射节点的功率值;n为路径损耗系数,通常由实际测量得到,不同的环境下有不同的n值,室内环境一般取值2到3左右;X0是一个均值为0标准差范围为4~10的的高斯随机数,以dB为单位,该方法对硬件设备要求不高、成本也较低,所以在无线定位中应用最为广泛。
在许多大型的室内综合体内,存在大量的人员走动和复杂的空间结构,同时也会收到室内器具摆放等环境影响,在RSSI信号传播过程中对RSSI值产生影响[12]。所以这就使得在同一个空间中,每个位置的每个RSSI值是有差别的,而位置指纹定位方法就是利用的这一特性,将每个位置的每个不同RSSI值用来表示不同位置的RSSI数据库。其工作原理可以划分为两个阶段:离线阶段和在线阶段。
(1)离线阶段
将室内环境分成规格大小一样的小区域,收集各个小区域内样本接收的AP节点发射的RSSI数据信息和样本位于小区域中的位置坐标,然后收集室内所有的位置样本点来组建样本数据的位置指纹数据库。
(2)在线阶段
在现阶段则是通过获取未知样本的实时收集到室内所有AP节点发射的RSSI数据信息和位于小区域中位置坐标来与离线阶段产生的位置指纹数据可来进行指纹匹配定位,通过数据比较即可得出定位区域和坐标。
(1)K近邻方法
KNN是在NN算法的基础上引入了K值,当K=1时即为NN算法[8]。其算法的基本定位原理为:给定一个初始的K值,然后统计当前待测样本最接近的K个参考点来估测待测样本的类别,然后以取选的K个样本点的平均位置作为待测点估计的位置。
(2)
式中:(x,y)表示测试样本待定坐标;(xi,yi)表示第i个离测试样本点最近的指纹采集参考点的坐标。
(2)随机森林方法
随机森林(Random Forest,RF)[10]是一种集成方法。该算法的原理如图1所示,先对输入的原始数据集进行随机的有放回抽样,抽样原则必须确保抽样的样本数量与输入数据的训练集大小一样,然后对每个抽样的自举样本数据进行随机特征训练学习,得到对应的决策树,然后决策树做出决策,得到输出。
图1 随机森林算法原理
(1)神经网络模型
神经网络分类使用由数学结构组成的层,每层都有众多单元,这些单元都是模拟的生物神经元,每个神经元都连接在一起,如图2所示。
图2 神经网络模型
在神经网络中,RSSI特征信息作为向量输入到神经网络的输入层,在标准体系结构中,输入层神经元连接到一系列层,称为隐藏层,最后一层是输出层,隐藏层和输出层中都含有大量的神经单元。神经网络的输入和输出关系可用下式表达:
Y=f(X,W)=fn-1(fn-2(…))
(3)
式中:X为输入信号;f(…)为激活函数ReLU函数;W为神经元系数的权重;n为神经网络的层数;Y为输出信号。
(2)系统的体系结构
对于神经网络模型的设计,可使用以下方法更系统地进行数据分析和模型构建。其步骤为:
①导入数据;
②可视化,探索数据;
③处理数据和特征工程;
④保存已处理的数据集;
⑤训练和调整模型;
⑥报告模型的测试集性能,给出最佳的交叉验证评分/验证集性能;
⑦保存最佳模型。
其中步骤训练和调整模型的具体步骤如图3所示。
图3 基于神经网络定位算法的核心思想
为了进一步优化定位算法模型,该文欲将神经网络概念引入到传统的WiFi位置指纹定位算法当中,将采集采样点的RSSI值进行神经网络特征训练,得到最优神经网络模型后将生成的测试集惊醒位置估计。基于神经网络和WiFi位置指纹的整体室内定位算法流程如图4所示。
图4 基于神经网络和WiFi位置指纹的室内定位算法流程
该文使用数据集UJIIndoorLoc进行实验[14],数据集的详细信息如下:
UJIIndoor Loc数据集是在Jaume I大学收集的一组室内定位数据点,使用了超过25个Android设备,但各个设备的操作系统版本中有所不同,每个示例由WiFi指纹组成一组由给定设备从设备位置的520个不同WAP接收的信号强度,信号强度采用RSSI格式,单位为分贝毫瓦(dBm),取整数值从-104(弱)到0(强),值为100表示没有检测到信号。数据集大约覆盖120万平方英尺跨越三栋建筑,编号为0、1和2。建筑物0和1各包含3层,编号为0、1和2,建筑物2包含5层,编号为0至4。每个示例中的位置由几个变量表示:经度、纬度、楼层、建筑ID、空间ID(办公室、实验室等)和相对位置(空间入口门内外),此外数据集包含每个示例的用户ID、电话ID。
在PYTHON平台仿真中对神经网络模型以及训练的参数设置如下:神经网络模型中的总层数为3层,每层神经元的个数分别为800、1600、1995。隐藏层中是使用ReLU函数作为激活函数,但在最后一层中,采用的是用softmax函数,仿真中Epoch为200。表1总结了神经网络模型的参数使用,仿真模型如图5所示。
表1 神经网络算法参数设计
图5 神经网络仿真模型
(1)仿真结果
在WiFi位置指纹算法当中,选最常用的KNN算法、随机森林算法,为UJIIndoorLoc室内定位数据集创建了三种解决方案:神经网络模型、RF模型和KNN模型,定位性能如图6所示。神经网络模型的整体位置误差略低于随机森林模型,KNN模型给出了较高的位置误差。
图6 不同算法模型的CDF分布
因为该文采用的神经网络模型对比随机森林模型的性能并没有好很多,但是可以从时间复杂度角度来分析性能优越性,该文采用的神经网络模型输入层神经元800个,隐藏层神经元1600个,输出层神经元1995个,对一个样本进行前馈计算,就会需要进行两次矩阵运算和两次矩阵乘法,所以可得到神经网络模型一个样本前馈时间复杂度O(800×1600+1600×1995)=O(4 472 000),相较于随机森林的时间复杂度计算公式O(n×log2n×d×k),其中n为训练样本数,d为数据维度,k为决策树数量,参考该文的数据选择可知n=19 937,d=1,k=60,所以就可得到随机森林模型的时间复杂度O(1 793 300),由此可知,即使随机森林模型的性能十分接近神经网络模型的性能,但是时间复杂度却比神经网络模型的时间复杂度大得多。图7为神经网络模型随着时间迭代的loss函数值变化曲线。
图7 神经网络模型loss函数迭代曲线
(2)总结分析
对本次仿真结果和问题进行总结,可以得出以下结论:
该文使用的神经网络模型的训练时间过长,占用内存较大;
仿真所用模型的隐藏层数较少,在定位误差较小的情况定位精度不是很高;
虽然该文的神经网络模型相比随机森林模型的性能提升很小,但是在时间复杂度方面,神经网络模型的复杂度比随机森林模型的复杂度低。
综上所述,通过仿真结果可以得出:该文将提出的神经网络WiFi室内定位算法与机器学习WiFi室内定位算法进行比较,可知基于神经网络的WiFi室内定位算法获得了更高的定位精度,由此体现出神经网络在室内定位问题中具有优秀的表现。
该文将WiFi位置指纹定位技术结合神经网络,以提高定位算法精度为目标,构建一个基于神经网络的WiFi室内定位算法模型,对已采集的室内数据样本输入模型进行训练,对其输出估计位置信息与实际位置信息进行对比分析,最终实现了精度较高的定位,具有一定的普适性。在过去十年中,为满足各行业各业的需求,室内定位的研究发展迅猛增长,用户的位置需求也越来越高,因此在提高定位精度的研究上有仍有很大发展空间,但是要实现位置定位提高定位精度仍面临着很多问题,尤其是在复杂的室内环境下,所以在室内定位领域,仍有很大的成长空间,该文所采用的神经网络也对室内定位精度提升具有十分大的研究价值。