CN107389071B - 一种改进的室内定位knn方法 - Google Patents

一种改进的室内定位knn方法 Download PDF

Info

Publication number
CN107389071B
CN107389071B CN201710650426.5A CN201710650426A CN107389071B CN 107389071 B CN107389071 B CN 107389071B CN 201710650426 A CN201710650426 A CN 201710650426A CN 107389071 B CN107389071 B CN 107389071B
Authority
CN
China
Prior art keywords
positioning
points
fingerprint
point
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201710650426.5A
Other languages
English (en)
Other versions
CN107389071A (zh
Inventor
刘强
冯文森
费宣
蒋雪妍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201710650426.5A priority Critical patent/CN107389071B/zh
Publication of CN107389071A publication Critical patent/CN107389071A/zh
Application granted granted Critical
Publication of CN107389071B publication Critical patent/CN107389071B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开一种改进的室内定位KNN计算方法,应用于室内定位技术领域,本申请根据用户定位中前几个历史点,预判出当前定位点在前几个定位点的附近,在使用KNN算法计算当前点时,根据指纹算法的误差,确定出定位点附近的指纹点;根据确定出的指纹点计算本次定位结果;实现只需计算前几个定位点附近的指纹点,即可得到本次定位结果,从而大幅度减少传统KNN算法的计算复杂度。

Description

一种改进的室内定位KNN方法
技术领域
本发明属于室内定位技术领域,特别涉及一种改进的KNN算法。
背景技术
近十多年中,伴随着我们出行的全球定位系统(GPS)是一直是室外导航定位的黄金标准,然而在室内由于信号的衰减、信号的折射反射等一系列问题,导致GPS在室内定位的应用中存在局限性。近十多年来,随着无线技术的发展,无线技术在室内定位的应用越来越广泛,如WLAN技术、Zigbee、蓝牙等。目前定位算法也有很多种,如基于距离的定位和基于指纹的定位算法,它们的主要研究点在于提高定位精度以及降低算法复杂度上。
kNN邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。算法流程如下:
1.准备数据,对数据进行预处理
2.选用合适的数据结构存储训练数据和测试元组
3.设定参数,如k
4.维护一个大小为k的的按距离由大到小的优先级队列,用于存储最近邻训练元组。随机从训练元组中选取k个元组作为初始的最近邻元组,分别计算测试元组到这k个元组的距离,将训练元组标号和距离存入优先级队列
5.遍历训练元组集,计算当前训练元组与测试元组的距离,将所得距离L与优先级队列中的最大距离Lmax
6.进行比较。若L>=Lmax,则舍弃该元组,遍历下一个元组。若L<Lmax,删除优先级队列中最大距离的元组,将当前训练元组存入优先级队列。
7.遍历完毕,计算优先级队列中k个元组的多数类,并将其作为测试元组的类别。
8.测试元组集测试完毕后计算误差率,继续设定不同的k值重新进行训练,最后取误差率最小的k值。
但是目前的KNN定位算法存在计算复杂度高的问题。
发明内容
本发明为解决上述技术问题,提出了一种改进的室内定位KNN计算方法,根据用户定位中前几个历史点,预判出当前定位点在前几个定位点的附近,在使用KNN算法计算当前点时,只需计算前几个定位点附近的指纹点,从而大幅度减少传统KNN算法的计算复杂度。
本发明采用的技术方案是:一种改进的室内定位KNN计算方法,包括:
S1、初始化一个大小为T的定长队列Queue;
S2、根据数据库中的所有指纹点,建立KD树Tkd
S3、收到用户的定位请求,判断该请求是否为初次定位;若是执行步骤S4;否则执行步骤S5;所述定位请求中包含RSS指纹信息;
S4、遍历数据库中所有指纹点,使用KNN算法计算得到初始定位点,将该初始定位点插入队列Queue中;则该初始定位点即为本次定位的定位结果;
S5、计算队列Queue中点的均值,然后从KD树中取出距均值点距离小于等于H的指纹点;
S6、计算步骤S5提取出来的指纹点与本次定位RSS指纹信息的距离,并选出其中K个最小距离的点,然后将这K个点的均值作为本次定位结果;并将本次定位结果插入队列Queue中。
进一步地,当步骤S6中所述队列Queue已满时,则去除队列头部点,然后将本次定位结果插入队列Queue尾部。
进一步地,步骤S5从KD树中取出距均值点距离小于等于H的指纹点的数目计算式为:
Figure BDA0001367910070000021
其中,P为行人步长,D为个指纹点间隔。
更进一步地,所述H取值为4P。
本发明的有益效果:本发明的一种改进的室内定位KNN方法,根据用户定位中前几个历史点,预判出当前定位点在前几个定位点的附近,在使用KNN算法计算当前点时,根据指纹算法的误差,确定出定位点附近的指纹点;根据确定出的指纹点计算本次定位结果;实现只需计算前几个定位点附近的指纹点,即可得到本次定位结果,从而大幅度减少传统KNN算法的计算复杂度。
附图说明
图1为本发明实施例提供的方案流程图;
图2为本发明实施例提供的点集(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)的坐标分布图;
图3为本发明实施例提供的由点集(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)构成的KD树;
图4为本发明实施例提供的本申请方法与传统算法的复杂度对比图。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
本文约定的符号标记及假设条件如下:
1)指纹点数目为N,每个指纹点有M条指纹数据;
2)两个点距离(即两点之间的直线距离,不是RSS信息之间的距离)的计算复杂度为α,两个点的RSS信息之间距离的计算复杂度为β(包括指纹数据的处理时间);
3)指纹点间隔为每D米一个指纹点,距离阈值为H米;
4)行人步长为P米;
5)存储历史点的队列长度为T;
6)数据库中查找指纹点的时间忽略不计。
参数的取值说明
1)因为计算RSS信息之间的距离以及指纹数据处理时间大于两点之间的距离计算,所以这里假设β=10*α;
2)因为T很小(若取得太大,会对定位结果有太大影响),所以计算队列中点的均值可忽略不计;
3)H平均为4P,因为H取得过大,会导致过多指纹数据的计算;
4)数据库中查找指纹点及指纹信息的时间忽略不计,因为传统KNN算法与优化KNN算法都要查找指纹点以及指纹信息,假设数据库为内存数据库,则可相互抵消。
如图1所示为本发明的方案流程图,具体包括以下步骤:
S1、初始化一个大小为T的定长队列Queue,该队列主要用于记录历史定位结果点,T取值不能太大,否则会偏离实际点较大;
S2、根据指纹库中所有指纹点建立二维KD树,KD树有较好的近邻查询特性;如图2所示,加入指纹库中有点集(2,3),(5,4),(9,6),(4,7),(8,1),(7,2),则指纹库中所有的指纹点构成的KD树如图3所示。
S3、收到用户的定位请求,定位请求中包含了RSS指纹信息,用于本次的定位计算;
S4、若本次为初次定位,则会使用传统KNN算法计算一个定位点,将该定位点插入队列Queue中,同时返回该定位点作为本次的定位结果;
S5、若本次不是初次定位,则会首先计算队列Queue中点的均值,该均值接近实际点,然后从KD树中查找距离该均值点小于等于H的所有点,这些点在实际点附近,使用这些点用于指纹匹配计算;
S6、从指纹数据库中取出这些点的指纹信息,计算这些指纹信息与本次定位指纹的欧式距离或相似度(这里是本文算法的关键,因为本算法中只需计算少数有限点指纹的欧式距离或相似度,而不再是传统KNN算法中需要计算所有点指纹的欧式距离或相似度),取出其中K个最小欧式距离或最大相似度的点,然后得到K个点的高斯加权值作为最终的定位结果;将计算得到的定位结果插入队列Queue中,队列Queue为定长队列,所以当队列已满时,会去除队列头部点,最终返回步骤S6中的定位结果作为本次定位的最终定位结果。
计算复杂度比较
1、根据假设条件,传统KNN算法因为每个指纹点中每条指纹信息都需要计算,所以查询一次需要计算N*M条指纹数据,所以总的计算复杂度为:
N*M*β
查询K次的总计算复杂度为:
K*N*M*β
2、优化后的KNN算法的计算复杂度如下:
1)首先需要根据指纹数据库中N个指纹点建立KD树,建立KD树的计算复杂度如下:
O(N*log2*N)
2)在计算得到队列中所有点的均值后,形成一个以该均值点为圆心,半径大小为H的圆,从KD树中取出距均值点距离小于等于H的点,再从数据库中查询这些点的指纹信息,计算信息距离,所以计算复杂度如下:
因为这些点形成了一个半径为H的圆,所以该圆内点数目约为
Figure BDA0001367910070000051
个点,从KD树中取出距离均值点最近的
Figure BDA0001367910070000052
个点计算复杂度约为:
Figure BDA0001367910070000053
3)从数据库中查询
Figure BDA0001367910070000054
个点指纹点的暂时忽略不计,
Figure BDA0001367910070000055
个点计算欧式距离的复杂度如下:
Figure BDA0001367910070000056
所以综上总计算复杂度如下:
Figure BDA0001367910070000057
因为KD树仅需建立一次,所以查询K次的总计算复杂度为:
Figure BDA0001367910070000058
如图4所示为本申请算法与传统算法的复杂度对比图,横坐标times表示定位次数,纵坐标complexity表示总的复杂度;其中纯曲线为传统KNN算法多次定位后的总时间复杂度,带三角的曲线为本申请改进后的KNN算法多次定位后的总时间复杂度。为方便绘图,这里N取10000,M取40,步长P取为1米,D取为2米,α取0.001,β取0.01。
从图中可看出,优化后的KNN算法仅在初始化时时间复杂度高于传统KNN算法,但在多次定位后,优化后的KNN算法复杂度远远低于传统KNN算法。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (2)

1.一种改进的室内定位KNN计算方法,其特征在于,包括:
S1、初始化一个大小为T的定长队列Queue;
S2、根据数据库中的所有指纹点,建立KD树Tkd
S3、收到用户的定位请求,判断该请求是否为初次定位;若是执行步骤S4;否则执行步骤S5;所述定位请求中包含RSS指纹信息;
S4、遍历数据库中所有指纹点,使用KNN算法计算得到初始定位点,将该初始定位点插入队列Queue中;则该初始定位点即为本次定位的定位结果;
S5、计算队列Queue中点的均值,然后从KD树中取出距均值点距离小于等于H的指纹点;步骤S5从KD树中取出距均值点距离小于等于H的指纹点的数目计算式为:
Figure FDA0002904617230000011
其中,P为行人步长,D为各指纹点间隔;H取值为4P;
S6、计算步骤S5提取出来的指纹点与本次定位RSS指纹信息的距离,并选出其中K个最小距离的点,然后将这K个点的均值作为本次定位结果;并将本次定位结果插入队列Queue中。
2.根据权利要求1所述的一种改进的室内定位KNN计算方法,其特征在于,当步骤S6中所述队列Queue已满时,则去除队列头部点,然后将本次定位结果插入队列Queue尾部。
CN201710650426.5A 2017-08-02 2017-08-02 一种改进的室内定位knn方法 Expired - Fee Related CN107389071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710650426.5A CN107389071B (zh) 2017-08-02 2017-08-02 一种改进的室内定位knn方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710650426.5A CN107389071B (zh) 2017-08-02 2017-08-02 一种改进的室内定位knn方法

Publications (2)

Publication Number Publication Date
CN107389071A CN107389071A (zh) 2017-11-24
CN107389071B true CN107389071B (zh) 2021-03-23

Family

ID=60343753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710650426.5A Expired - Fee Related CN107389071B (zh) 2017-08-02 2017-08-02 一种改进的室内定位knn方法

Country Status (1)

Country Link
CN (1) CN107389071B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111918211B (zh) * 2020-07-22 2022-06-10 杭州电子科技大学 一种基于kd树和改进加权knn的室内指纹定位方法
CN113093170B (zh) * 2021-06-07 2021-08-13 长沙莫之比智能科技有限公司 一种基于knn算法的毫米波雷达室内人员检测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120048375A (ko) * 2010-11-05 2012-05-15 목포대학교산학협력단 Knn과 gg방법을 이용한 pcm 군집화 기반의 혼합된 무선 실내 측위 방법
CN105578414A (zh) * 2016-01-08 2016-05-11 南京网河智能科技有限公司 一种终端及其定位方法和装置
CN106028450A (zh) * 2016-08-05 2016-10-12 襄阳翠鸟视图科技有限公司 室内定位方法及设备
CN106093852A (zh) * 2016-05-27 2016-11-09 东华大学 一种提高WiFi指纹定位精度与效率的方法
CN106643736A (zh) * 2017-01-06 2017-05-10 中国人民解放军信息工程大学 一种室内定位方法及系统
CN106851571A (zh) * 2017-01-20 2017-06-13 华南理工大学 一种基于决策树的快速KNN室内WiFi定位方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120048375A (ko) * 2010-11-05 2012-05-15 목포대학교산학협력단 Knn과 gg방법을 이용한 pcm 군집화 기반의 혼합된 무선 실내 측위 방법
CN105578414A (zh) * 2016-01-08 2016-05-11 南京网河智能科技有限公司 一种终端及其定位方法和装置
CN106093852A (zh) * 2016-05-27 2016-11-09 东华大学 一种提高WiFi指纹定位精度与效率的方法
CN106028450A (zh) * 2016-08-05 2016-10-12 襄阳翠鸟视图科技有限公司 室内定位方法及设备
CN106643736A (zh) * 2017-01-06 2017-05-10 中国人民解放军信息工程大学 一种室内定位方法及系统
CN106851571A (zh) * 2017-01-20 2017-06-13 华南理工大学 一种基于决策树的快速KNN室内WiFi定位方法

Also Published As

Publication number Publication date
CN107389071A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN107577990B (zh) 一种基于gpu加速检索的大规模人脸识别方法
Himstedt et al. Large scale place recognition in 2D LIDAR scans using geometrical landmark relations
Athitsos et al. Efficient nearest neighbor classification using a cascade of approximate similarity measures
CN106778680B (zh) 一种基于关键波段提取的高光谱图像波段选择方法及装置
CN110059206A (zh) 一种基于深度表征学习的大规模哈希图像检索方法
CN105069093A (zh) 一种基于嵌入式索引的水文时间序列相似性搜索方法
CN110751027B (zh) 一种基于深度多示例学习的行人重识别方法
CN104573681A (zh) 一种人脸识别方法
CN103020321B (zh) 近邻搜索方法与系统
CN103403704A (zh) 用于查找最近邻的方法和设备
CN112633389B (zh) 一种基于mdl和速度方向的飓风运动轨迹趋势计算方法
Mohan et al. Environment selection and hierarchical place recognition
CN107832778A (zh) 一种基于空间综合相似度的相同目标识别方法
WO2021036028A1 (zh) 图像特征提取及网络的训练方法、装置和设备
CN107389071B (zh) 一种改进的室内定位knn方法
Garcia-Fidalgo et al. Vision-based topological mapping and localization by means of local invariant features and map refinement
WO2023272994A1 (zh) 基于深度学习网络的行人重识别方法、装置、设备及介质
CN116946610B (zh) 一种智能仓储系统货物拾取方法及装置
CN107133348B (zh) 大规模图片集中基于语义一致性的近似搜索方法
CN114020948B (zh) 基于排序聚类序列辨别选择的草图图像检索方法及系统
Hanif et al. Re-ranking person re-identification using distance aggregation of k-nearest neighbors hierarchical tree
CN113569982B (zh) 基于二维激光雷达特征点模板匹配的位置识别方法及装置
CN115408545A (zh) 一种结合硬盘与内存的近邻图向量检索方法及装置
CN114116669A (zh) 一种基于霍夫丁树的多标签流数据分类方法
Wu et al. Visual loop closure detection by matching binary visual features using locality sensitive hashing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210323