首页 > 专利 > 杭州电子科技大学 > 一种基于KD树和改进加权KNN的室内指纹定位方法专利详情

一种基于KD树和改进加权KNN的室内指纹定位方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-07-22
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2020-11-27
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2022-06-10
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-07-22
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202010712334.7 申请日 2020-07-22
公开/公告号 CN111918211B 公开/公告日 2022-06-10
授权日 2022-06-10 预估到期日 2040-07-22
申请年 2020年 公开/公告年 2022年
缴费截止日
分类号 H04W4/021H04W4/33G06V10/74G06K9/62G01S5/02 主分类号 H04W4/021
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 9
权利要求数量 10 非专利引证数量 1
引用专利数量 1 被引证专利数量 0
非专利引证 1、2019.11.21刘冰等.基于余弦相似度的指纹匹配算法的室内定位方法《.科技通报》.2017,(第03期),;
引用专利 US2019355152A 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 王俊伟、耿友林、童潼 第一发明人 王俊伟
地址 浙江省杭州市经济技术开发区白杨街道2号大街1158号 邮编 310018
申请人数量 1 发明人数量 3
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
浙江千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明公开一种基于KD树和改进加权KNN的室内指纹定位方法,包括步骤:1.1构建RSS指纹数据库;1.2采集不同位置的RSS序列,并对采集到的RSS序列进行均值平滑滤波处理,得到滤波后的RSS指纹信息;1.3基于RSS指纹数据库构建KD树存储结构,将得到的滤波后的RSS指纹信息输入KD树存储结构进行处理,得到K个近邻点的RSS指纹特征;1.4计算K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度,得到K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度的系数;1.5将得到的余弦相似度系数输入softmax加权KNN算法中进行处理,输出概率相似度作为加权KNN算法的权重,并计算得到最终定位结果。本发明提升了室内定位精度和定位效率,也降低了终端差异对定位精度的影响。
  • 摘要附图
    一种基于KD树和改进加权KNN的室内指纹定位方法
  • 说明书附图:图1
    一种基于KD树和改进加权KNN的室内指纹定位方法
  • 说明书附图:图2
    一种基于KD树和改进加权KNN的室内指纹定位方法
  • 说明书附图:图3
    一种基于KD树和改进加权KNN的室内指纹定位方法
  • 说明书附图:图4
    一种基于KD树和改进加权KNN的室内指纹定位方法
  • 说明书附图:图5
    一种基于KD树和改进加权KNN的室内指纹定位方法
  • 说明书附图:图6
    一种基于KD树和改进加权KNN的室内指纹定位方法
  • 说明书附图:图7
    一种基于KD树和改进加权KNN的室内指纹定位方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-06-10 授权
2 2020-11-27 实质审查的生效 IPC(主分类): H04W 4/021 专利申请号: 202010712334.7 申请日: 2020.07.22
3 2020-11-10 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,包括步骤:
1.1构建RSS指纹数据库;
1.2采集不同位置的RSS序列,并对所述采集到的RSS序列进行均值平滑滤波处理,得到滤波后的RSS指纹信息;
1.3基于所述RSS指纹数据库构建KD树存储结构,将得到的滤波后的RSS指纹信息输入KD树存储结构进行处理,得到K个近邻点的RSS指纹特征;
1.4计算K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度,得到K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度的系数;
1.5将得到的余弦相似度系数输入softmax加权KNN算法中进行处理,输出概率相似度作为加权KNN算法的权重,并计算得到最终定位结果。

2.根据权利要求1所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.1具体包括:
1.11采集定位目标区域的RSS样本值以及与RSS样本值相对应的坐标,根据采集的RSS样本值与相对应的坐标得到RSS指纹样本信息;
1.12对得到的RSS指纹样本信息进行均值平滑的预处理,得到均值滤波处理过后的RSS指纹数据库。

3.根据权利要求2所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.11具体为在定位目标区域选取n个AP数目,将目标区域网格化,采集网格化后的网格交叉点处各点的RSS样本值与各点的坐标,得到RSS指纹样本信息,表示为:
RSSi=(rssi1,rssi2,…,rssin)
其中,RSSi表示任意一个参考点所采集的RSS指纹样本信息;i表示参考点;rssi×n表示第n个AP接收到的第i个参考点的信号强度值。

4.根据权利要求3所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.12中得到均值滤波处理过后的RSS指纹数据库,表示为:
其中,RSS′库表示RSS指纹数据库;rss′i×n表示滤波处理后的指纹特征值。

5.根据权利要求3所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.2中得到滤波后的RSS指纹信息,表示为:
其中,RSS″表示RSS指纹信息;rss″m×n表示滤波处理后的指纹特征值。

6.根据权利要求5所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.3中得到K个近邻点的RSS指纹特征,表示为:
其中, 表示K个近邻点的RSS指纹特征。

7.根据权利要求6所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.3中将滤波后的RSS指纹信息输入KD树存储结构进行处理具体为:
A
1.对每个输入的RSS指纹信息利用KD树存储结构搜索K个距离最近的近邻点,得到每个RSS指纹信息升序排列的K个距离序列,表示为:
d=[d1,d2,…,dK]
A
2.计算RSS指纹信息与参考点i的信号强度,表示为:
其中,di表示RSS指纹信息与参考点i的信号强度。

8.根据权利要求7所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.3中还包括:
计算K个近邻点所对应的坐标信息,表示为:
其中,表示K个近邻点所对应的坐标信息。

9.根据权利要求8所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.4中得到K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度的系数,表示为:
其中,R表示余弦相似度的系数;RSS″表示RSS指纹信息; 表示K个近邻点的RSS指纹特征。

10.根据权利要求9所述的一种基于KD树和改进加权KNN的室内指纹定位方法,其特征在于,所述步骤1.5中输出概率相似度作为加权KNN算法的权重,表示为:
其中,Si表示第i个指纹特征输出的权重;Ri表示第i个指纹特征与参考点之间的余弦相似度系数;
将得到的权重和坐标信息采用softmax加权KNN算法进行计算得到最终定位结果,表示为:
其中,(xi,yi)表示K个近邻内第i组参考点的坐标信息;(x′,y′)表示softmax加权KNN最终定位结果。
说明书

技术领域

[0001] 本发明涉及室内定位技术领域,尤其涉及一种基于KD树和改进加权KNN的室内指纹定位方法。

背景技术

[0002] 近些年来,随着移动互联网的快速发展和智能手机终端的快速普及,基于位置的服务在社会生活中给人们带来了很大的便利。目前,室外定位技术已经大规模商用,但室内定位服务仍处于研究阶段。在室内环境下,由于GPS信号穿过墙体后迅速衰减,导致无法在室内使用卫星导航。因此已经出现了多种室内定位技术,包括红外线(infrared)定位技术、蓝牙(blue tooth)定位技术、超宽带(UWB)的定位技术、ZigBee定位技术以及射频定位技术。
[0003] 其中WLAN指纹定位技术因能够利用现有的广泛部署的无线局域网络和移动终端进行定位,而具备定位成本低、定位精度高、环境适应能力强等优越性能。
[0004] 目前室内定位的主要方法有到达方向(DOA)、到达时间差(TDOA)、到达时间(TOA)以及RSS进行测距,因为室内空间狭小,无线电波的传播方式十分复杂,反射,透射,散射等方式使得许多定位方法难以实现。在使用接收信号强度(RSS)方法定位时,RSS作为位置定位中的指纹信号,是指根据信号强度随传播距离变化而变化的规律来实现定位,相比于其他定位方法受环境影响小,且开发成本低,成为目前主流的室内定位方法。
[0005] 基于RSS位置的KNN指纹定位一般分为两个阶段:离线构建指纹库阶段和在线定位阶段。在离线阶段按照一定间距在定位区域采集若干参考点,然后把这些参考点的RSS数据和位置信息一并存入离线指纹数据库中。在线阶段,测得RSS指纹信号后,采用KNN算法和数据库中的指纹进行匹配,得到测试点的位置坐标,从而实现定位。然而目前的RSS位置的KNN指纹定位存在一些问题,问题主要集中在:(1)由于室内环境存在多径效应,不同AP的RSS值存在着一些的波动,这会在一定程度上影响定位的稳定性,从而降低定位精度;(2)离线阶段采集指纹没有采取合适的预处理方式,导致采集到的RSS指纹样本存在一定误差,从而影响了定位精度;(3)接收终端型号不同或环境差异造成在在线阶段针对测试点接收到的信号强度不同,通过参考点和测试点之间欧氏距离的大小计算权重会造成一定的误差,从而导致定位精度降低;(4)在线定位算法匹配阶段,传统的KNN算法在k邻近搜索时计算量大且存在一定的定位误差,导致定位效率低下且定位准确度不高。

发明内容

[0006] 本发明的目的是针对现有技术的缺陷,提供了一种基于KD树和改进加权KNN的室内指纹定位方法。
[0007] 为了实现以上目的,本发明采用以下技术方案:
[0008] 一种基于KD树和改进加权KNN的室内指纹定位方法,包括步骤:
[0009] 1.1构建RSS指纹数据库;
[0010] 1.2采集不同位置的RSS序列,并对所述采集到的RSS序列进行均值平滑滤波处理,得到滤波后的RSS指纹信息;
[0011] 1.3基于所述RSS指纹数据库构建KD树存储结构,将得到的滤波后的RSS指纹信息输入KD树存储结构进行处理,得到K个近邻点的RSS指纹特征;
[0012] 1.4计算K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度,得到K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度的系数;
[0013] 1.5将得到的余弦相似度系数输入softmax加权KNN算法中进行处理,输出概率相似度作为加权KNN算法的权重,并计算得到最终定位结果。
[0014] 进一步的,所述步骤1.1具体包括:
[0015] 1.11采集定位目标区域的RSS样本值以及与RSS样本值相对应的坐标,根据采集的RSS样本值与相对应的坐标得到RSS指纹样本信息;
[0016] 1.12对得到的RSS指纹样本信息进行均值平滑的预处理,得到均值滤波处理过后的RSS指纹数据库。
[0017] 进一步的,所述步骤1.11具体为在定位目标区域选取n个AP数目,将目标区域网格化,采集网格化后的网格交叉点处各点的RSS样本值与各点的坐标,得到RSS指纹样本信息,表示为:
[0018] RSSi=(rssi1,rssi2,...,rssin)
[0019] 其中,RSSi表示任意一个参考点所采集的RSS指纹样本信息;i表示参考点;rssi×n表示第n个AP接收到的第i个参考点的信号强度值。
[0020] 进一步的,所述步骤1.12中得到均值滤波处理过后的RSS指纹数据库,表示为:
[0021]
[0022] 其中,RSS′库表示RSS指纹数据库;rss′i×n表示滤波处理后的指纹特征值。
[0023] 进一步的,所述步骤1.2中得到滤波后的RSS指纹信息,表示为:
[0024]
[0025] 其中,RSS″表示RSS指纹信息;rss″m×n表示滤波处理后的指纹特征值。
[0026] 进一步的,所述步骤1.3中得到K个近邻点的RSS指纹特征,表示为:
[0027]
[0028] 其中, 表示K个近邻点的RSS指纹特征。
[0029] 进一步的,所述步骤1.3中将滤波后的RSS指纹信息输入KD树存储结构进行处理具体为:
[0030] A1.对每个输入的RSS指纹信息利用KD树存储结构搜索K个距离最近的近邻点,得到每个RSS指纹信息升序排列的K个距离序列,表示为:
[0031] d=[d1,d2,…,dK]
[0032] A2.计算RSS指纹信息与参考点i的信号强度,表示为:
[0033]
[0034] 其中,di表示RSS指纹信息与参考点i的信号强度。
[0035] 进一步的,所述步骤1.3中还包括:
[0036] 计算K个近邻点所对应的坐标信息,表示为:
[0037]
[0038] 其中,表示K个近邻点所对应的坐标信息。
[0039] 进一步的,所述步骤1.4中得到K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度的系数,表示为:
[0040]
[0041] 其中,R表示余弦相似度的系数;RSS″表示RSS指纹信息; 表示K个近邻点的RSS指纹特征。
[0042] 进一步的,所述步骤1.5中输出概率相似度作为加权KNN算法的权重,表示为:
[0043]
[0044] 其中,Si表示第i个指纹特征输出的权重;Ri表示第i个指纹特征与参考点之间的余弦相似度系数;
[0045] 将得到的权重和坐标信息采用softmax加权KNN算法进行计算得到最终定位结果,表示为:
[0046]
[0047] 其中,(xi,yi)表示K个近邻内第i组参考点的坐标信息;(x′,y′)表示softmax加权KNN最终定位结果。
[0048] 与现有技术相比,本发明对KNN室内指纹定位算法进行改进,提出了一种基于KD树和softmax加权KNN的定位算法。该算法对接收的RSS值进行均值平滑处理,通过KD树搜索K邻近,计算K近邻点的余弦相似度,并用softmax加权KNN算法计算待测点的位置。实验结果表明本文的算法在定位精度和定位稳定性上都优与KNN和WKNN算法,平均定位误差为1.59m,并且提升了定位效率和降低了接收终端不同对定位精度产生的影响。

实施方案

[0056] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0057] 本发明的目的是针对现有技术的缺陷,提供了一种基于KD树和改进加权KNN的室内指纹定位方法。
[0058] 实施例一
[0059] 本实施例提供一种基于KD树和改进加权KNN的室内指纹定位方法,如图1‑2所示,包括步骤:
[0060] 1.1构建RSS指纹数据库;
[0061] 1.2采集不同位置的RSS序列,并对所述采集到的RSS序列进行均值平滑滤波处理,得到滤波后的RSS指纹信息;
[0062] 1.3基于所述RSS指纹数据库构建KD树存储结构,将得到的滤波后的RSS指纹信息输入KD树存储结构进行处理,得到K个近邻点的RSS指纹特征;
[0063] 1.4计算K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度,得到K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度的系数;
[0064] 1.5将得到的余弦相似度系数输入softmax加权KNN算法中进行处理,输出概率相似度作为加权KNN算法的权重,并计算得到指纹的定位结果。
[0065] 室内指纹定位方法包括离线和在线两个阶段,在离线阶段得到样本的RSS指纹数据库;在线阶段对测试点进行定位。
[0066] 第一步:离线阶段:
[0067] 在步骤1.1中,构建RSS指纹数据库。
[0068] 构建RSS指纹数据库是在离线阶段构建的,具体的构建离线阶段指纹数据库的方法为:
[0069] 1.11采集定位目标区域的RSS样本值以及与RSS样本值相对应的坐标,根据采集的RSS样本值与相对应的坐标得到RSS指纹样本信息;
[0070] 首先在给定的目标定位区域布置n个发射源AP,将实验目标区域网格化,采集网格交叉点处各点的RSS样本值与实际的物理坐标,以参考点i为例,得到参考点i的RSS样本序列,即RSS指纹样本信息,表示为:
[0071] RSSi=(rssi1,rssi2,...,rssin)
[0072] 其中,RSSi表示任意一个参考点所采集的RSS指纹样本信息;rssi×n表示第n个AP接收到的第i个参考点的信号强度值。
[0073] 将采集到的若干个样本点的序列表示成一个RSS指纹矩阵,表示为:
[0074]
[0075] 1.12对得到的RSS指纹样本信息进行均值平滑的预处理,得到均值滤波处理过后的RSS指纹数据库。
[0076] 对n个AP所采集到的RSS样本的进行均值平滑滤波处理,滤波具体方法如下:
[0077] 选取s个与参考点Pi(xi,yi)之间的实际距离的参考点d<δ的参考点,表示为:
[0078]
[0079] 其中,xi,yi表示参考点在二维空间上的位置坐标信息,xj,yj表示选取的s个参考点的位置坐标,δ表示距离的常数,用于控制均值平滑滤波的平滑程度,通常设置为略大于参考点之间平均距离。
[0080] 因此取s个距离最近的参考点的RSS值的均值,并把RSS的平均值赋值给Pi(xi,yi)作为该样本点的RSS值,表示为:
[0081]
[0082] 其中,s表示满足要求的参考点数量,遍历样本序列则得到均值平滑滤波后的RSS′序列。
[0083] 对所采集到的RSS指纹样本进行均值平滑的预处理,得到均值滤波处理过后的RSS指纹库矩阵:
[0084]
[0085] 其中,RSS′库表示对任意一个参考点经过平滑均值滤波处理后RSS指纹数据库;rss′i×n表示第n个AP接收到的第i个参考点滤波后的指纹特征值(接收信号强度值)。
[0086] 在本实施例中,经过平滑均值滤波过后RSS样本序列明显接近理想的RSS值,提高了指纹信号采集的精度。
[0087] 第二步:在线阶段:
[0088] 在步骤1.2中,采集不同位置的RSS序列,并对所述采集到的RSS序列进行均值平滑滤波处理,得到滤波后的RSS指纹信息。
[0089] 构建RSS测试样本,在目标区域,使用不同的接收终端采集m组不同位置的测试RSS样本序列,进行均值平滑滤波处理,得到滤波后的测试点指纹信息,即可构建一个最终需要的m×n的在线定位的测试矩阵,即滤波后的RSS指纹信息,表示为:
[0090]
[0091] 其中,RSS″表示对任意一个测试点经过平滑均值滤波处理后RSS指纹信息;rss″m×n表示在第n个AP接收到的第m个测试点滤波处理后的指纹特征值(接收信号强度值)。
[0092] 在步骤1.3中,基于RSS指纹数据库构建KD树存储结构,将得到的滤波后的RSS指纹信息输入KD树存储结构进行处理,得到K个近邻点的RSS指纹特征。
[0093] 构建KD树存储结构:
[0094] 由于KNN算法的重点在于找出K个最邻近的点,一般情况下,在位置指纹定位的在线阶段,需要线性扫描输入样本点与每一个训练样本点的距离,当离线指纹数据库较大时,计算非常耗时。所以对离线阶段所构建的指纹数据库建立KD树存储结构。KD树(K‑dimension Tree)是一种存储K维空间中的样本向量并且利用其空间二叉树特性提升数据点搜索效率的树形数据结构。
[0095] 基于离线RSS指纹数据库构建KD树的构建步骤为:
[0096] (1)从指纹特征向量数据库中的i个样本的n维接收信号强度特征中,分别计算n个维度特征取值的方差,用方差最大的第k维指纹特征rssk作为根节点。对于这个指纹特征,选择取值的中位数 作为样本的划分点,对于小于该值的样本划分到左子树,对于大于或等于该值的样本划分到右子树。
[0097] (2)对左右子树采用同样的方式找到方差最大的指纹特征作为根节点,递归可产生KD树。
[0098] 在本实施例中,将滤波后的RSS指纹信息输入KD树存储结构进行处理具体为:
[0099] A1.对每个输入的RSS指纹信息利用KD树存储结构搜索K个距离最近的近邻点,得到每个RSS指纹信息升序排列的K个距离序列,
[0100] 当构建好KD树以后,开始搜索K个距离最近的参考点;输入m×n测试样本矩阵的RSS特征向量RSS″=(rss″1,rss″2,…,rss″n),其中rssi=(rss″i,1,rss″i,2,rss″i,3,…,rss″i,n),rss″i为第i个参考点的指纹特征向量,为第i个指纹特征向量的第n个AP接收到的接收信号强度。
[0101] KD树算法搜索K个距离最近的近邻点的具体方法为:
[0102] (1)对于一个测试RSS样本点,我们首先在KD树里面找到包含目标点的叶子节点。从根结点出发,若切分坐标的坐标值大于输入结点坐标值,则移动到左子结点,否则移动到右子结点。继续向下搜索直至找到叶子结点,以该叶子结点为当前最近邻点;
[0103] (2)从该叶子结点向上递归进行最近邻搜索,若当前结点与输入结点距离小于最近邻点与输入结点距离,更新最近邻点为当前结点,同时以输入结点为圆心,输入结点与最近邻点间的距离为半径绘制超球体,若球体与切分超平面相交,则移动到另一子结点并继续递归进行最近邻搜索。若不相交,向上回退,直至回退到根结点搜索结束。
[0104] 对每个输入的测试RSS序列利用KD树算法搜索K个距离最近的近邻点的得到每个测试点升序排列的K个距离序列,表示为:
[0105] d=[d1,d2,…,dK]
[0106] A2.计算RSS指纹信息与参考点i的信号强度。
[0107] 距离d的衡量指标采取欧式距离的大小,测试点与参考点i的关于信号强度的欧式距离计算公式如下,表示为:
[0108]
[0109] 其中,di表示RSS指纹信息与参考点i的信号强度。
[0110] 步骤S3中得到K个近邻点的RSS指纹特征,表示为:
[0111]
[0112] 其中, 表示K个近邻点的RSS指纹特征。
[0113] 上述得到K个近邻点的RSS指纹特征的公式可拓展为矩阵形式,表示为:
[0114]
[0115] 在本实施例中,步骤S3中还包括:
[0116] 计算K个近邻点所对应的坐标信息,表示为:
[0117]
[0118] 其中,表示K个近邻点所对应的坐标信息。
[0119] 该算法在在线阶段的定位算法中,面对训练数据较大时,可以加快KNN算法的K邻近搜索过程,极高的提升了定位算法的工作效率。
[0120] 在步骤1.4中,计算K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度,得到K个近邻点的RSS指纹特征与滤波后的RSS指纹信息的余弦相似度的系数。
[0121] 将所得到的第K个近邻点的RSS指纹特征计算余弦相似度,计算得到近邻参考点与测试点的余弦相似度的系数R,表示为:
[0122]
[0123] 其中,R表示余弦相似度的系数;RSS″表示每个测试点的RSS指纹信息; 表示K个近邻点的RSS指纹特征; 表示近邻参考点和测试点的内积,表示RSS特征向量长度的乘积。
[0124] 得到每个测试点的K近邻点的余弦相似度序列为:
[0125] Ri=[r1,r2,…,rK]
[0126] 其中,Ri表示第i个测试点所对应K个近邻的余弦相似度序列,rK表示测试点与K个近邻点的余弦相似度系数。
[0127] 在室内定位系统中,由于接收终端的不同或环境差异造成在在线阶段针对测试点接收到的信号强度不同,依靠传统方法,即通过参考点和测试点之间欧氏距离的大小计算权重会造成一定的误差。而且在有些情况下,定位算法对参考点的选取会使离测试点较远的参考点参与定位计算,这样也会产生较大误差。
[0128] 在步骤1.5中,将得到的余弦相似度系数输入softmax加权KNN算法中进行处理,输出概率相似度作为加权KNN算法的权重,并计算得到指纹的定位结果。
[0129] 将每个测试点余弦相似度序列作为softmax函数的输入,输出的概率相似度作为加权KNN算法的权重,公式为:
[0130]
[0131] 其中,Si表示第i个指纹特征输出的权重;Ri表示第i个测试点与参考点之间的余弦相似度系数。
[0132] 将得到的权重结合坐标信息采用softmax加权KNN算法进行计算得到指纹的定位结果,表示为:
[0133]
[0134] 其中,(xi,yi)表示K个近邻内第i组参考点的坐标信息;(x′,y′)表示softmax加权KNN最终定位结果。
[0135] 本实施例对KNN室内指纹定位算法进行改进,提出了一种基于KD树和softmax加权KNN的定位算法。该算法对接收的RSS值进行均值平滑处理,通过KD树搜索K邻近,计算K近邻点的余弦相似度,并用softmax加权KNN算法计算待测点的位置。实验结果表明本文的算法在定位精度和定位稳定性上都优与KNN和WKNN算法,平均定位误差为1.59m,并且提升了定位效率和降低了接收终端不同对定位精度产生的影响。
[0136] 实施例二
[0137] 本实施例提供的一种基于KD树和改进加权KNN的室内指纹定位方法与实施例一的不同之处在于:
[0138] 本实施例以某一实验室为例具体说明。
[0139] 实验室长为15m,宽为8m的矩形实验场地。选择路由器作为无线接入器,在室内布置4个AP,分别放置在角落,感知AP的设备采用Android系统的智能手机作为接收终端,型号为华为荣耀20,使用信号测量APP作为RSS值的接收工具,采集来自AP的4维RSS指纹特征样本信息。
[0140] 1)离线阶段,根据定位区域选取合适的AP的个数,将实验区域网格化,采集网格交叉点处各点的RSS值与实际的物理坐标,对RSS值进行均值平滑处理,建立离线指纹数据库。
[0141] 2)在线阶段,收集待测点在某一位置的接收信号强度特征参数,利用KD树算法提升搜索k邻近效率,并采用基于距离相似度的softmax函数加权的KNN算法作为定位算法。
[0142] 在指纹库构建和定位的阶段,对KNN算法、加权K近邻算法与本实施例的Softmax加权KNN算法进行比较实验,采用相同手机终端的情况下,为了降低计算的复杂度,参考点的网格间隔取1m进行实验,分别计算这3种定位算法在不同K值情况下的平均误差,实验结果如图3所示。
[0143] 从图3可以看出,刚开始K值的增大,定位精度逐渐增大,平均定位误差开始降低,当K值取3的时候,平均定位误差取得最小值,再随着K的增大,定位误差开始增大,定位精度开始下降。当K值等于3时,3种算法的平均定位误差取得最小,所以后续实验采取K为3作为K邻近个数。相比于KNN算法和WKNN算法,平均定位误差由1.81m减小到1.59m,说明本实施例的Softmax加权KNN算法定位精度远优于其他算法。
[0144] 定位与指纹库构建阶段,采用相同的手机终端情况,对不同位置定位误差的波动性进行实验对比,图4分别使用传统的KNN算法,WKK算法和softmax加权KNN算法定位,得到待测节点的定位误差。从结果上看,相比于KNN和WKNN算法,本算法的定位误差波动较小,且最大定位误差均小于其他两种算法。
[0145] 由图5给出了构建离线阶段指纹库的KD存储结构的原理图。
[0146] 下表1表示KD树算法在K邻近搜索的效率对比:
[0147]
[0148] 表1
[0149] 从上表1可以看出,在KNN算法搜索K邻近的过程中,KD树算法能够减少算法运行时间,使得样本整体搜索范围变小,提升了算法的定位的工作效率。
[0150] 从图6可以看出,P为参考点,S1、S2是测试点,OS1、OS2是由于接收终端不同而导致向量大小变化不同,而余弦相似度是通过两个向量的夹角余弦值来评估它们的相似度。相比于欧氏距离,余弦相似度更多的关注于两个向量之间方向上的关系。尽管OS1、OS2向量长度数值不同,但其参考点的余弦相似度cosθ的值是不变的,针对同一测试点的权重计算相同,可在一定程度上降低了不同接收终端造成的定位误差。
[0151] 从图7可以看出,本实施例所提出的算法降低了由于接收终端型号不同所造成的在线阶段针对测试点接收到信号强度的差异,对不同终端做对比后,定位结果基本上和AP配置关系不大,在不同接收终端采集RSS信号是理想外界条件的情况下,采用本算法进行在线阶段定位计算可以一定程度上降低不同终端的影响。
[0152] 本实施例针对KNN室内指纹定位算法进行改进,提出了一种基于KD树和softmax加权KNN的定位算法。该算法对接收的RSS值进行均值平滑处理,通过KD树搜索K邻近,计算K近邻点的余弦相似度,并用softmax加权KNN算法计算待测点的位置。实验结果表明本文的算法在定位精度和定位稳定性上都优与KNN和WKNN算法,平均定位误差为1.59m,并且提升了定位效率和降低了接收终端不同对定位精度产生的影响。
[0153] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

附图说明

[0049] 图1是实施例一提供的一种基于KD树和改进加权KNN的室内指纹定位方法流程图;
[0050] 图2是实施例一提供的一种基于KD树和改进加权KNN的室内指纹定位示意图;
[0051] 图3是实施例二提供的不同算法误差与最近邻K值的关系对比示意图;
[0052] 图4是实施例二提供的各个测试点的定位误差对比示意图;
[0053] 图5是实施例二提供的构建KD树存储结构的原理图;
[0054] 图6是实施例二提供的基于不同接收终端误差原理图;
[0055] 图7是实施例二提供的不同接收终端在最近邻点的余弦相似度对比示意图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号