APP下载

一种基于卷积神经元网络的室内定位算法

2019-03-13赵大哲

小型微型计算机系统 2019年3期
关键词:参考点场强定位精度

李 志,赵大哲

1(东北大学 计算机科学与工程学院, 沈阳 110819) 2(东软集团股份有限公司 辽宁省工业控制安全工程技术研究中心,沈阳 110179) 3(东北大学 复杂网络系统安全保障技术教育部工程研究中心,沈阳 110819)

1 引 言

随着移动互联网技术和智能移动终端的快速发展,以位置服务为基础的社交网络、共享出行、交通导航、紧急救援等应用展示了巨大的市场前景,同时在室内展厅、大型超市、医院、会馆、监狱、影院、剧场及图书馆等室内环境中也涌现了大量的位置服务需求. 在开阔的室外环境中,基于GPS或北斗等卫星定位技术能够实现精准的位置服务,但在室内环境中,由于室内建筑特点无法接收到有效的卫星定位信号,难以实现精准的定位服务,因此如何在室内环境中提供精准的位置服务成为了一个新的挑战.

由于无线局域网(Wireless Local Area Networks,WLAN)接入点(Access Point,AP)具有部署广泛、简单灵活、硬件成本低、智能移动终端普遍支持等优点,基于WLAN的室内定位技术研究得到了国内外研究人员的高度关注. 从定位技术原理层面,基于WLAN的室内定位主要可分为传播模型法和指纹定位法两类:

1)基于传播模型的定位算法是根据发射节点的发送信号强度和接收节点收到的信号强度计算出信号在传播过程中的损耗,再利用空间信号传播模型将损耗转化为距离,最后计算出定位点的位置. 直接采用理想环境下的无线信号传播模型进行定位往往会存在较大的误差[1],因此,需要对传播模型和误差做进一步的修正来提高定位精度,如Kosuke等[2]提出采用正态分布来模拟信号传播误差,并在静止定位中取得了较好的效果.

2)指纹定位法包括离线采样和在线定位两个阶段. 离线采样阶段需预先在室内环境中选取若干参考点,在参考点上采集AP的RSS特征并构建指纹数据库. 在定位阶段根据待

测点实时收到的信号强度信息,利用定位算法将其与指纹数据库中的信息匹配、比较,最终计算出该待测点的位置. 如微软公司的Bahl等[3,4]分别采用指纹最近邻法和K近邻法来对待测点进行定位. Zhao等[5]采用相关向量回归方法来实现定位,取得了优于加权K近邻法的定位精度. Esrafil Jedari等[6]采用随机森林分类方法完成室内定位,对比KNN取得了更好的室内的定位效果. Rezgui等[7]采用支持向量机来完成指纹数据的匹配. 同仅仅使用基于传播模型的定位法相比,采用指纹定位法往往能够获取更好的定位精度,但指纹定位法需要预先在定位环境中采集指纹数据,这会耗费大量的人力物力,同时由于定位环境布局发生变化或AP更换等情况造成指纹数据变化时还需要重新采集指纹,这都成为指纹定位方法难以直接在商用环境下部署的重要原因.

本文提出基于信号传播模型和卷积神经元网络的指纹匹配定位算法,该算法设计了一种将RSS场强指纹映射为图像信息的方法,将指纹匹配问题转化为图像分类问题,并利用深度卷积神经元网络构建定位模型,通过在实际环境中定位实验,验证了算法的有效性,同时本文也给出了本算法在不同场强采集周期和信号传输受干扰情况下的定位精度变化情况.

2 空间信号传播模型

无线信号在自由空间传播时遵循自由传播模型,但在室内空间中由于存在多径传播和天线增益的影响,往往使用对数渐变模型[8],其RSS形式如式(1):

RSSd=RSSdo-10qlg(d/d0)+Xδ

(1)

式(1)中,RSSd表示距离发射机为d米时接收端接收到的信号强度,即RSS值;RSSdo表示距离发射机为d0米时接收端接收到的信号功率;d0为参考距离;q是路径损耗指数,由实际测量得到,通常障碍物越多,q值越大.X是一个以0为均值,以δ为方差的正态分布. 反映了当距离一定时,接收到的能量的变化. 从式(1)可以看出终端接收到的信号强度的下降速度会随着距离的增加而变得越来越快.

在实际应用中一般采用简化的渐变模型,如式(2)所示:

RSSd=RSSdo-10qlg(d/d0)

(2)

另外,为了简化计算,通常将d0取1米,则式(2)进一步可简化为式(3):

RSSd=A-10qlgd

(3)

其中,A为与无线发射节点相距1米时接收节点接收到的无线信号强度RSS值.A和q都是经验值,与具体使用的硬件节点和无线信号传播的环境相关,因此在不同的环境下A和q的取值不同. 除了空间环境对接收终端RSS存在影响外,定位环境内的人员走动、开关门、AP和定位终端的硬件稳定性等都会影响接收到的RSS场强. 图1为使用华为荣耀8手机接收两个H3C WA2210 AG和两个思科WAP200无线接入点的RSS场强随时间的变化情况,从图1可以看出定点采集的AP场强总体稳定,但有时会出现一定幅度的变化. 图2分别显示6分钟内使用荣耀8手机采集到的H3C AP和思科AP的信号强度分布情况,可以看出测试周期内定点接收到的两个不同厂商的AP产品的信号强度都具有正态分布特征.

3 基于卷积神经元网络的室内定位算法

3.1 算法思想

在离线阶段,首先基于参考点和AP的位置,根据信号传播模型,计算得到参考点处各AP的理论值,然后根据参考点处AP场强的变化特征,以理论值为均值,计算获得每个AP.

图1 定点6分钟4个AP场强变化图Fig.1 Graph of Wi-Fi signal strengths at a fixed location from four different APs over a 6-min time period

在参考点处的多次RSS所得的RSS可以表示为一个以计算次数为行,以AP分组为列,以RSS为值的二维矩阵;其次,为不同的AP分配不同的灰度值,将RSS矩阵的行作为X轴像素值,将RSS矩阵的场强值缩放处理后作为Y轴像素值,像素点的值为对应AP的灰度值. 一个RSS二维矩阵可变换成一个图像指纹,在每个参考点都可以获得多组图像指纹;最后,设计卷积神经元网络结构,并用参考点的图像指纹来训练出定位分类模型. 在定位阶段,按离线阶段的指纹处理方法,将定位终端采集的RSS场强信息转化为图像信息,将图像信息输入到定位模型来完成定位.

图2 定点单AP场强分布图Fig.2 Graph of RSS distributions at a fixed location

本算法的主要创新在于一方面利用室内信号传播模型和定点AP场强变化特征构建指纹样本库,有效的保障了模型训练样本的数量并极大降低了指纹采集阶段的工作量;另一方面是设计了一种将RSS指纹转化为图像指纹的方法,将传统的场强匹配问题转化为图像分类问题,利用深度卷积神经元网络在图像分类中的高准确性优势[9],构建定位分类模型,提高了室内定位的精度.

3.2 算法流程

本算法包括离线建模阶段和在线定位阶段. 如图3所示,图中虚线分割以上为离线建模阶段,虚线分割以下为在线定位阶段. 离线建模阶段主要包括采集场景信息、计算参考点场强、构建场强样本集、构建图像指纹样本集以及基于卷积神经元网络构建分类模型等;在在线定位阶段主要包括采集场强、场强预处理、模型定位和返回定位结果等.

3.2.1 离线建模阶段

步骤1.采集场景基础信息:采集定位环境中AP的位置信息,记作:Lap={x,y,H},其中x,y为AP在定位平面中的坐标,H为AP部署的高度. 在定位平面中规划有效定位区域并在其中选择定位参考点,定位参考点记作:Lrf={x,y,h},其中x,y为参考点在定位平面中的位置,h为定位终端的平均定位高度.

图3 算法流程Fig.3 Algorithm flow

步骤2.计算参考点场强:首先计算出AP与参考点间的距离,如式(4)所示,将式(4)带入式(3)可以得到参考点处的理论场强值RSSfix,如式(5)所示. 基于定点场强变化特征,假设AP在参考点处场强服从均值为RSSfix,方差为δ的正态分布,如式(6)所示,其中δ值与具体定位环境相关.

(4)

RSSfix=A-10qlg(D(LapLrf))

(5)

RSS~N(RSSfix,δ2)

(6)

步骤3.构建场强样本集:基于式(6)可以计算出参考点处不同AP的多组场强数据,将场强数据以AP为单位,以length为周期进行重新分组,参考点j处的一个分组可以表示为一个二维矩阵,矩阵的列为AP编号,行为分组长度length,如式(7)所示.length的取值为定位环境的最大场强值与最小场强值之差再除以场强缩放比例,length计算规则如式(8)所示. 在室内定位环境中通常RSSmax取-30,RSSmin取-90,引入缩放比例的目的是一方面能够减少后期图像指纹的大小,提高模型训练效率;另一方面是在在线定位过程中能够降低由于定位环境变化而引起的误差.

(7)

length=(RSSmax-RSSmin)/zoomSize

(8)

BRFj={blockRFj(1),blockRFj(2),…,blockRFj(n)}

(9)

Fingerrss={LRFj,BRFj|j∈[1,m]}

(10)

式(9)中使用BRFj表示参考点j处的多组场强记录,式(10)中Fingerrss表示定位场景的全部场强记录样本,样本是一个由位置和场强二维矩阵组成的集合.

步骤4. 构建图像指纹样本集:将式(10)中的指纹样本集变换为图像指纹样本集.将场强样本中的每个二维矩阵变换为一个图像指纹,每个图像指纹都是一个正方形图像,图像的X轴长度为length,Y轴长度为场强最大值与场强最小值的差再除以缩放比例,图像中的像素取值如式(11)所示:

(11)

APi.gray=round(i*255/n),i∈[1,n]

(12)

IRFj={IRFjGray(1),IRFjGray(2),…,IRFjGray(n) }

(13)

Sample={LRFj,IRFj|j∈[1,m] }

(14)

当图像中像素点有多个值重叠时候,则在该像素点处取均值.不同AP的灰度分配算法如式(12)所示.式(13)中IRFj表示参考点j处的图像指纹集合,式(14)中Sample为图像测试样本集合,包括每个参考点的位置和对应的图像样本. 基于相同的样本生成规则可以得到模型验证集SampleVal.

步骤5.基于卷积神经元网络构建分类模型:由于LeNet-5[9]在手写体数据集分类中拥有极高的准确率,而本文生成的指纹图像样本与手写体数据集具有相似的特征,因此根据本文的指纹图像特征,在LeNet-5基础上设计了多层卷积神经元网络,结构如下:

输入层:输入的图像为20×20×1.

第1层,卷积层C1,本层的卷积核的尺寸为3×3,深度为6,步长为1,使用全零填充,激活函数为ReLU,输出为20×20×6的节点矩阵.

第2层,池化层S2,本层过滤器大小为2×2,步长为2,激活函数为ReLU.

第3层,卷积层C3,本层的卷积核的尺寸为3×3,深度为16,步长为1,使用全零填充,激活函数为ReLU,输出为10×10×16的节点矩阵.

第4层,池化层S4,本层过滤器大小为2×2,步长为2,激活函数为ReLU. 输出为5×5×16的矩阵.

第5层,全连接层,包括120个神经元.

第6层,全连接层,包括50个神经元,第6层输出再通过softmax之后得到最终的分类结果.

同LeNet-5相比,本文所设计的网络结构首先减小了卷积核和池化的尺寸,这主要是因为指纹图像已经经过了zoomSize的压缩,过大的的卷积核和池化会降低指纹图像特征的提取能力;其次,使用ReLU作为激活函数,ReLU函数的导数计算非常简单,具有更快的收敛速度;最后,减少了一个全连接层,降低了网络的复杂度.

3.2.2 在线定位阶段

步骤1.采集RSS场强:当定位用户定点发起定位请求时,定位终端周期性(1秒)的采集定位环境中已部署的有效AP场强,并将采集到的场强数据存入定位场强矩阵中.

步骤2.场强数据预处理:当达到定位请求周期时,在定位场强矩阵的各列间进行线性插值,使得矩阵的列数等于训练模型输入层的长度,并用离线阶段的图像指纹构造办法,构造一个图像数据.

步骤3.返回结果:将图像数据输入定位分类模型,定位模型返回定位结果到终端程序,完成在线定位.

4 实验与结果分析

4.1 实验环境与定位模型参数设置

为验证算法的有效性,本文选择东北大学老校部4层作为定位算法实验场地,实验场地的平面图如图4所示,本实验环境是典型的回廊式建筑结构,回廊式建筑是日常生活中较为常见的一种建筑结构,这类建筑的特点是房间位于走廊的两侧,例如学校教学楼、医院和购物商场等都具有回廊式的建筑特点. 测试场地由两条走廊及走廊两侧的多个房间组成,测试场地棚顶高3.5米,实际占地1340平方米. 在图4中A、B、C、D四处的棚顶分别部署4个AP接入点,其中A、C位置部署H3C WA2210 AG接入点,B、D位置部署思科WAP200无线接入点. H3C WA2210 AG的信号传输功率为20dBm,距离该接入点1米处的实测20组平均场强值为-25dBm,思科WAP200接入点的信号发射功率为19dBm,距离接入点一米处的实测20组平均场强值为-26dBm. 在定位环境中间隔两米选择一个参考点,共50个参考点. 参考点位置如图4中数字标记所示.

图4 定位环境图
Fig.4 Diagram of positioning map

构建定位模型相关参数如表1所示,每个参考点的样本训练集数量为6000个,训练模型的初始学习率为0.05,使用指数衰减法,设置学习率衰减系数为0.97,这样可以先用较大的学习率得到一个比较优的解,然后随着迭代次数的增加而不断减小学习率,使模型在训练后期更加稳定. 滑动平均模型衰减率为0.999,该参数用于控制模型的更新速度. 使用交叉熵(cross entropy)作为模型训练的损失函数,并使用L2正则化和dropout处理以防止过拟合. 本文主要是根据以往工作的实践经验来配置定位模型训练参数,并在实验中不断调整优化. 本文使用基于Android 6.0操作系统的华为荣耀8手机作为定位终端,使用一台Dell PowerEdge R730服务器来训练定位模型并部署定位系统.

4.2 指纹采集周期和训练样本数量对定位模型的影响

定位周期可以理解为实际定位环境下定位终端扫描AP并获得AP场强的次数. 定位终端扫描一次无线网络所捕获的不同AP的场强为一个分组,如果定位终端每一秒扫描一次网络,定位周期为3秒,则表明定位终端要在定位点连续采集3组指纹再完成定位. 分别选择不同的定位周期,使用荣耀8手机在每个参考点处进行5次定位实验并计算平均误差. 图5为定位平均误差与定位指纹采集周期的关系图. 从图5中可以看出定位精度随着指纹采集周期的增大而不断降低,在采集周期从0到3时,定位误差快速下降,其后定位误差缓慢降低. 然而尽管采集周期的增加会有效的提高定位的精度,但过长的定位时间也会影响用户的定位应用体验.

表1 实验参数表Table 1 Experimental parameter

图5 定位误差与指纹采集周期关系图Fig.5 Relationship between location error and fingerprint collection cycle

由于本文所提出的定位算法的训练数据样本是根据室内空间信号传播模型计算并变换得出的,因此本算法支持选择

表2 样本数量与定位精度关系表Table 2 Relationship table between sample size and positioning accuracy

不同的训练样本数量来构建定位模型. 当定位周期为3时选取多组训练样本构建定位模型,使用荣耀8手机在参考点处定位并计算50个参考点处的平均误差. 样本数量与定位精度关系如表2所示.

从表2中可以看出,当样本数量达到6000后,定位模型的实际定位精度变化不明显.

4.3 室内信号传输环境变化对定位模型的影响

在室内环境中,电磁波容易受到干扰而出现反射、绕射等现象,进而影响室内定位精度. 为了减少室内环境变化对AP信号的干扰,通常会将AP部署在室内棚顶处,这样可以增强AP信号的视距传播,但开关门以及定位者身体遮挡仍会对AP信号传播产生影响.

图6 AP2场强覆盖范围图Fig.6 AP2 RSS coverage map

图6为根据空间信号传播模型并使用荣耀8手机实际测量和修正后的AP2在定位环境中的场强覆盖范围及分布特征图,图7中方形框显示当人背对AP时,由于人体遮挡而对AP场强覆盖产生的影响. 与图6对比可以看出,当人背对AP时,其前方场强出现了较明显的减弱;图7中椭圆区域为打开2个办公室房门对AP场强覆盖的影响效果,可以看出开门后,门背对AP一侧的场强发生了变化,但没有身体遮挡带来的变化明显. 开关门和身体遮挡都会对AP的通信覆盖和场强分布产生影响. 分别在多人频繁进出定位区域房间和身体朝4个不同方向的情况下,对定位模型的定位精度进行实验,结果如图8所示.

图7 身体遮挡及门对AP场强的影响Fig.7 Effect of body and door on AP RSS

图8 不同信号干扰情况下的模型定位精度Fig.8 Model positioning accuracy under different signal interference conditions

通过图8可以看出,开关门及身体不同朝向对定位精度的影响较小. 分析其主要原因,尽管开关门和身体遮挡影响了定位终端在定位点采集的AP场强值,但却没有改变AP在定位点的场强分布特征,AP在定点的场强仍具有正态分布特点,因此连续多组采集的AP信号变化特征仍然存在;另外,终端采集的场强值发生了变化,相当于定位图像中对应的AP曲线的上下位置发生了变化,而卷积神经元网络的池化层在特征提取时具有一定程度的"平移不变性",这也弱化了AP场强值变化对本定位模型产生的影响.

4.4 与其它定位方法的比较

使用华为荣耀8手机在定位场景中对本文提出的定位方法进行测试,每个场景50个定位点,每个定位点测试5组,并计算平均误差. 同时在定位场景中分别采用最近邻方法和信号空间传播模型测距方法进行测试,同样每个场景选取相同的定位点,每个定位点测试5组并计算平均误差.三种算法的定位误差、定位时间及指纹库构建时间比对如表3所示.

表3 三种定位算法比较Table 3 Comparison of three location algorithms

由表3能够看出,本文所提出的定位算法同最近邻和传播模型定位方法相比拥有更好的定位精度,模型构建时间小于5分钟,每次定位请求的周期为3秒;最近邻定位算法能够达到3.5米的定位精度,定位请求周期为1秒,最近邻定位方法需要进行指纹采集,在本实验环境中采集50个参考点,每个参考点采集5个指纹取平均值,采集指纹时间大约需要耗费1个小时;使用传播模型定位方法无需采集指纹,定位请求周期为1秒,但该方法的定位精度较差. 从定位精度、定位请求时间和定位场景构建时间三方面综合比对以上三种算法,本文所提出的算法具有较为明显的应用优势.

5 结束语

本文提出一种基于信号空间传播模型和卷积神经元网络的室内定位算法,该算法利用信号传播模型来生成场强指纹样本,极大的降低了指纹采集的工作量,算法将场强指纹转化为图像指纹,设计了深度卷积神经元网络来实现图像指纹的匹配,进而实现分类定位. 通过在回廊式室内环境的真实场景测试,在定位请求周期大于3秒时,本文的算法平均定位误差小于2米,优于最近邻指纹匹配和信号强度测距定位算法.

猜你喜欢

参考点场强定位精度
北斗定位精度可达两三米
求解匀强电场场强的两种方法
FANUC数控系统机床一键回参考点的方法
场强与电势辨析及应用
基于K-means聚类的车-地无线通信场强研究
GPS定位精度研究
参考点对WiFi位置指纹算法的影响
组合导航的AGV定位精度的改善
LTE-R场强测试系统的实现
数控机床返回参考点故障维修