CN107389071B - 一种改进的室内定位knn方法 - Google Patents
一种改进的室内定位knn方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title description 7
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-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/0252—Radio frequency fingerprinting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating 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算法。
背景技术
近十多年中,伴随着我们出行的全球定位系统(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的指纹点的数目计算式为:
其中,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的点,再从数据库中查询这些点的指纹信息,计算信息距离,所以计算复杂度如下:
所以综上总计算复杂度如下:
因为KD树仅需建立一次,所以查询K次的总计算复杂度为:
如图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的指纹点的数目计算式为:
其中,P为行人步长,D为各指纹点间隔;H取值为4P;
S6、计算步骤S5提取出来的指纹点与本次定位RSS指纹信息的距离,并选出其中K个最小距离的点,然后将这K个点的均值作为本次定位结果;并将本次定位结果插入队列Queue中。
2.根据权利要求1所述的一种改进的室内定位KNN计算方法,其特征在于,当步骤S6中所述队列Queue已满时,则去除队列头部点,然后将本次定位结果插入队列Queue尾部。
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)
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)
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定位方法 |
-
2017
- 2017-08-02 CN CN201710650426.5A patent/CN107389071B/zh not_active Expired - Fee Related
Patent Citations (6)
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 |