一种快速精确的室内定位方法与流程

文档序号:11152086阅读:1390来源:国知局
一种快速精确的室内定位方法与制造工艺

本发明涉及模式识别和基于位置的服务技术领域,具体涉及一种快速精确的室内定位方法。



背景技术:

基于位置的服务(Location-Based Services,LBS)拥有着具有巨大且快速增长的市场,其中室内定位系统的开发在近些年发展迅速。在室外环境中,定位的应用普遍是使用全球定位系统(GPS),然而由于室内环境无法直接依赖GPS卫星传送来的信号,以及室内环境通常比较复杂,严重的多径效应以及反射等,使得室内定位系的定位精度受到了较大的影响,这阻碍了室内定位系统的推广和应用。随着IEEE802.11技术的成熟,WiFi信号在各个场合如医院、大型超市、机场的普遍覆盖,利用WiFi信号实现室内定位越来越受到人们的关注。

当前,绝大多数基于WiFi的定位系统都是利用是利用接收的信号强度(RSS)进行位置标记。基于RSS的方法主要分成两类:三角形定位和位置指纹识别(fingerprinting)算法。三角形定位方法是一种传统的定位方法,它利用信号距离-损耗模型计算待测目标到至少三个已知参考点之间的距离信息估计最终的目标位置,而位置指纹识别则通过比较待定位点的RSS与参考点的信号特征指纹信息推导出目标位置。三角形定位因为室内环境复杂,衰减不规律从而使得定位的结果不稳定。

基于RSS的位置指纹识别方法,一般而言它分为离线和在线两个阶段。离线阶段,首先将空间划分为网格状的参考点分布,利用移动设备在各个参考点采集指纹信息建立指纹库。每条指纹信息包括RSS向量和对应的位置信息。在线阶段则把终端在未知位置收集到的RSS向量与指纹库中的参考点RSS向量匹配,运用匹配算法计算最终的位置估计。典型的模式匹配算法是KNN算法,该算法中度量目标向量与样本向量的匹配程度通常采用的是欧氏距离,假设共有M个参考点和N个AP则欧氏距离定义为:

式中,m=1,2,…M,n=1,2,…N。RSSm,q表示来自第m个参考点接收到来自第n个AP点的RSS,RSSt,n表示待测点接收到来自第n个AP点的RSS。KNN算法就是选取最小的距离对应的k个参考点作为最邻近点,计算出待测点的位置。

然而,这种距离度量方式并不能很好的表征出向量间的相似程度,仅仅只能得出向量间距离累积的结果并没有考虑到单个元素之间的相近度,即分辨能力较低,这样就会导致选出的最近的K个样本点的位置并非实际地理位置上的最近点,从而增大了室内定位的误差。同时,计算相似度时需要计算待测点RSS向量与整个离线指纹库的欧氏距离,这样若指纹数据库很庞大时,则需要花费较长的时间。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种快速精确的室内定位方法,该方法利用K-means聚类,缩小定位范围,节约了定位时间,利用加权欧氏距离改进KNN算法的度量方式并结合异常点剔除方法实现精确定位。

本发明的目的可以通过采取如下技术方案达到:

一种快速精确的室内定位方法,所述方法包括以下步骤:

将待测区域划分为网格状,每个节点作为一个参考点,终端采集RSS指纹发送至服务器端;

将参考点划分成子区域类,构建相应子区域的指纹库;

设备采集待定位点RSS并识别待定位点所属区域类;

在服务器端执行基于加权欧氏距离和异常值剔除的室内定位算法进行精确定位;

从服务器端返回定位结果至终端并显示。

进一步地,所述的将参考点划分成子区域类,构建相应子区域的指纹库包括:

采用K-means算法按照最邻近原则把参考点分成w个区域类;

把每个子区域内的参考点对应的RSS向量,按照一定的顺序构建该区域类的指纹库。

进一步地,所述的设备采集待定位点RSS并识别待定位点所属区域类具体为:

计算待定位点RSS向量与w个区域类的类中心的欧式距离,将待测点定位到相应第i个子区域,获取该子区域的指纹数据库RadioMapi,其中,i=1,2,…,w。

进一步地,所述的基于加权欧氏距离和异常值剔除的室内定位算法包括:

运用优化算法,搜寻WO-KNN算法中的最优参数s、k,根据结果初始化参数;

粗筛选:计算待测点的RSS向量与子区域的指纹数据库RadioMapi中每条向量的欧氏距离,并对它们进行升序排列,取前s个参考点构成新的指纹库RadioMap'i

精确筛选:计算待测点的RSS向量与新指纹库RadioMap'i中每条向量的加权欧氏距离,对它们进行升序排列,取前k个参考点构成最邻近点集,参考点对应的二维坐标构成最邻近坐标点集Z;

异常点剔除:用异常点检测的方法识别集合Z中的异常点,剔除该参考点对应的加权欧式距离和二维坐标;

将剔除后参考点的加权距离作为权重,采用基于权重的方法得出待测点位置坐标P。

进一步地,所述的将剔除后参考点的加权距离作为权重,采用基于权重的方法得出待测点位置坐标P具体为:

利用得到的向量加权欧氏距离,计算出l个近邻点以及其坐标的权值ζi

其中dwi表示待测点与第i个最邻近参考点的相似度,l表示经过异常点剔除处理后的异常点剩余最邻近点的个数,l≤k;

由计算出待定位点的位置,即其中(xi,yi)表示参考点的横坐标和纵坐标。

进一步地,所述区域类的指纹库用Ψ表示:

在指纹图Ψ矩阵中RSSm,n,(m=1,2...M,n=1,2,...N)表示第m个参考点接收到第n个AP的RSS平均值(单位:dBm),Ψ的每一个行向量代表一个参考点接收到N个AP的RSS。

进一步地,所述的计算待测点的RSS向量与子区域的指纹数据库RadioMapi中每条向量的欧氏距离的公式为:

上式表示待测点RSS向量与子区域的指纹数据库RadioMapi中第m条向量的欧氏距离,式中,m=1,2,…M,n=1,2,…N,RSSm,n表示来自第m个参考点接收到来自第n个AP点的RSS,RSSt,n表示待测点接收到来自第n个AP点的RSS。

进一步地,所述的计算待测点的RSS向量与新指纹库RadioMap'i中每条向量的加权欧氏距离的公式为:

式中,m=1,2,…M,n=1,2,…N,W代表归一化因子,σ为调节因子,wn为权值,其计算公式为:

RSSm,n表示来自第m个参考点接收到来自第n个AP点的RSS,RSSt,n表示待测点接收到来自第n个AP点的RSS。

进一步地,所述的异常点检测的方法为Modified Thompson Tau test,其具体判定规则如下:

设为坐标对集合Z的均值,stdx,stdy分别为x坐标、y坐标数据集的标准差,则当:

则认为xi或yi是异常值,同时把该坐标从坐标集中删除,并把其对应的加权欧氏距离删除,处理后剩余l个参考点。

本发明相对于现有技术具有如下的优点及效果:

1、本发明运用K-means聚类算法按照最邻近原则把参考点分成w个区域类,利用子区域的指纹数据库定位,减小了匹配过程的计算量降低了计算花费的时间。

2、本发明分别采用欧氏距离粗筛选结合加权欧氏距离精确筛选的二次筛选过程,得到的最邻近点集较一般的KNN算法筛选出的点在物理空间中更加靠近待测点。所以定位精度更高,定位误差可以保持在1到2m。

3、本发明运用优化算法搜寻出的参数,是运用具体环境下采集的训练集来确定的,使得本定位方法具有一定的鲁棒性。

4、本发明采用异常点识别剔除的方法,简单易操作,能够进一步提高最终的定位精度。

附图说明

图1是实验场地区域网格划分示意图,其中节点就是选取的参考点的位置;

图2是本发明公开的快速精确的室内定位方法的流程步骤图;

图3是本发明公开的WO-KNN定位算法的流程步骤图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本实施例公开了一种基于加权欧氏距离和异常值剔除的快速精确的室内定位方法,流程步骤图参照附图2所示,由附图2可知,该快速精确的室内定位方法具体包括以下步骤:

S1、将待测区域划分为网格状,每个节点作为一个参考点(RP),终端采集RSS指纹发送至服务器端;

S2、将参考点划分成子区域类,构建相应子区域的指纹库;

该步骤S2中所述的将参考点划分成子区域类,构建相应子区域的指纹库包括:

S201、采用K-means算法按照最邻近原则把参考点分成w个区域类;

S202、把每个子区域的参考点对应的RSS向量,按照一定的顺序构建该区域类的指纹库。

具体实施方式中,初始随机给定w个聚类中心,按照最邻近原则把待分类样本点分到各个类中。然后按平均法重新计算各个类的质心,确定新的聚类中心。终止条件为:迭代至样本点到聚类中心移动距离最小。把每个子区域的参考点对应的RSS向量,按照一定的顺序构建该区域类的指纹库下面用Ψ表示:

在指纹图Ψ矩阵中RSSm,n,(m=1,2...M,n=1,2,...N)表示第m个参考点接收到第n个AP的RSS平均值(单位:dBm),Ψ的每一个行向量代表一个参考点接收到N个AP的RSS。

S3、设备采集待定位点RSS并识别待定位点所属区域类;

具体实施方式中,所述的设备采集待定位点RSS并识别待定位点所属区域类具体为:

计算待定位点RSS向量与w个区域类的类中心的欧式距离,将待测点定位到相应第i个子区域,获取该子区域的指纹数据库RadioMapi,其中,i=1,2,…,w。

S4、在服务器端执行基于加权欧氏距离和异常值剔除(WO-KNN)的室内定位算法进行精确定位;

具体实施方式中,所述的基于加权欧氏距离和异常值剔除(WO-KNN)的室内定位算法包括:

S401、运用优化算法,搜寻WO-KNN算法中的最优参数s、k,根据结果初始化参数。

搜寻算法中参数,可以归结为一个优化问题,解决这个问题的方式有很多种,比如遗传算法(GA)、模拟退火算法等。执行的优化算法所依赖的训练库样本是与参考点指纹库以更宽的间隔采集的样本,一般样本量少于参考点指纹库。

S402、粗筛选:计算待测点的RSS向量与子区域的指纹数据库RadioMapi中每条向量的欧氏距离,并对它们进行升序排列,取前s个参考点构成新的指纹库RadioMap'i

运用公式(1),计算待测点的RSS向量与子区域的指纹数据库RadioMapi中每条向量的欧氏距离,并对它们进行升序排列,取前s个参考点构成新的指纹库RadioMap'i。待测点RSS向量与子区域的指纹数据库RadioMapi中第m条向量的欧氏距离为:

式中,m=1,2,…M,n=1,2,…N。RSSm,n表示来自第m个参考点接收到来自第n个AP点的RSS,RSSt,n表示待测点接收到来自第n个AP点的RSS。

S403、精确筛选:计算待测点的RSS向量与新指纹库RadioMap'i中每条向量的加权欧氏距离,同样对它们进行升序排列,取前k个参考点构成最邻近点集,参考点对应的二维坐标构成最邻近坐标点集Z。

运用公式(2),计算待测点的RSS向量与新指纹库RadioMap'i中每条向量的加权欧氏距离,同样对它们进行升序排列,取前k个参考点构成最邻近点集,参考点对应的二维坐标构成最邻近坐标点集Z。计算加权欧氏距离定义为:

式中,m=1,2,…M,n=1,2,…N。W代表归一化因子,σ为调节因子,实验中取σ=0.1;wn为权值,其计算公式为:

RSSm,n表示来自第m个参考点接收到来自第n个AP点的RSS,RSSt,n表示待测点接收到来自第n个AP点的RSS。

S404、异常点剔除:用异常点检测的方法识别集合Z中的异常点,剔除该参考点对应的加权距离和二维坐标。

具体实施方式中,用异常点检测的方法识别集合Z中的异常点,剔除该参考点对应的加权距离和二维坐标。有许多异常点检测的方法可以采用,优选的,在发明中以Modified Thompson Tau test方法作为说明,本发明包括但不限于此方法。

Modified Thompson Tau test。其具体判定规则如下以:

设为坐标对集合Z的均值,stdx,stdy分别为x坐标、y坐标数据集的标准差,则当:

则认为xi或yi是异常值。同时把该坐标从坐标集中删除,并把其对应的加权欧氏距离删除,处理后剩余l个参考点。

S405、将剔除后参考点的加权距离作为权重,采用基于权重的方法得出待测点位置坐标P。

具体实施方式中,所述的将剔除后参考点的加权距离作为权重,采用基于权重的方法得出待测点位置坐标P具体包括:

S4051、利用得到的向量加权欧氏距离,计算出l个近邻点以及其坐标的权值ζi

其中dwi表示待测点与第i个最邻近参考点的相似度,l表示经过步骤S4处理后的异常点剩余最邻近点的个数(l≤k)。

S4052、由计算出待定位点的位置。即其中(xi,yi)表示参考点的横坐标和纵坐标。

S5、从服务器端返回定位结果至终端并显示。

实施例二

本实施例将一种基于加权欧氏距离和异常值剔除的快速精确的室内定位方法应用于具体实验场地区域,实验场地区域的布置方式如图1所示,在8m*12m的区域,共设置了6个AP。用Android设备采集RSS指纹。

如图2给出了定位方法进行定位的流程图,说明整个定位过程的步骤,而图3是本发明提出的WO-KNN算法执行定位的流程图,为了具体介绍整个定位实施通过以下实现进行描述:

步骤S1、将待测区域划分为网格状,每个节点作为一个参考点,终端采集RSS指纹发送至服务器端。

采集WiFi信号获取各参考点RSS指纹并将其上传至服务器。

按照1m*1m的二维正方形网格分布划分出96个参照点(RP)如图1所示,相邻两RP在两个坐标轴方向上的距离为1m。以该区域为一个二维坐标系,原点设定在区域最右下角的交点上。同时以1.5m*1.5m的间隔采集RSS信息与其位置坐标一齐构成训练库。

S2、将参考点划分成子区域类,构建相应子区域的指纹库;

服务器端采用K-means聚类将所有参考点划分成w个子区域类并建立相应的指纹数据库RadioMapi,i=1,2,…,w;本实例中w=3。

通过以上步骤即可完成对w个子区域的指纹库的构建。

需要说明的是,上述步骤S1和步骤S2在离线阶段完成,至此,下述步骤为在线阶段完成。

S3、终端设备采集待定位点的RSS指纹,计算该指纹与w个子区域的类中心的欧氏距离,确定待定位点所属的子区域同时获取到该子区域的指纹数据库RadioMapi。本实例中根据即刻采集到设备的RSS指纹定位到了子区域2,即i=2。

S4、在服务器端执行基于加权欧氏距离和异常值剔除的室内定位算法进行精确定位;

S401基于离线阶段采集的训练库,采用优化算法,本发明选用遗传算法,搜寻使得训练库中参考点定位误差最小的参数s,k。即完成了参数的初始化本实例中s=14,k=6。

S402用公式(1)计算待测点RSS与子区域指纹库子区域的指纹数据库RadioMap2中的欧氏距离,升序排列,筛选出前s个参考点。

计算欧氏距离的公式为:

式中,m=1,2,…30,n=1,2,…6。RSSm,n表示来自第m个参考点接收到来自第n个AP点的RSS,RSSt,n表示待测点接收到来自第n个AP点的RSS。

S403用公式(2)、(3)计算待测点RSS与筛选出s个参考点所构成指纹库RadioMap'2中的加权欧氏距离,升序排列,筛选出前k个参考点。

计算加权欧氏距离的公式为:

式中,m=1,2,…30,n=1,2,…6。W代表归一化因子,σ为调节因子,本实例中取σ=0.1;wn为权值,其计算公式为:

RSSm,n表示来自第m个参考点接收到来自第n个AP点的RSS,RSSt,n表示待测点接收到来自第n个AP点的RSS。

S404运用异常点剔除的方法,本发明选用公式(4)所示的Modified Thompson Tau test方法识别k个参考点坐标集中的异常点并剔除。得到最邻近的l个参考点,本实例经过剔除后l=4。

设为坐标对集合Z的均值,stdx,stdy分别为x坐标、y坐标数据集的标准差,则当:

则认为xi或yi是异常值。

S405根据公式(5)计算权重得出最终精确定位的结果并将定位结果从服务器端返回至终端设备。

l个近邻点以及其坐标的权值ζi计算公式为:

最后由计算出待定位点的位置。其中dwi表示待测点与第i个最邻近参考点的相似度,l表示经过异常点剩余最邻近点的个数(l≤k),(xi,yi)表示参考点的横坐标和纵坐标。

至此实现了定位的整个过程。

本说明书中的实施例是采用定位系统工作流程和WO-KNN算法执行流程结合的方式全面地描述实施例中定位的过程,相关原理已在发明内容中详细的说明。值得注意的是在实施过程中,根据室内环境的不同,确定划分成几个子区域w以及初始化参数s,k是一个很重要的前提过程,这样本发明设计的WO-KNN算法才能有效工作,本发明针对传统KNN算法相似度度量方式提供了一种有效的算法解决方案。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1