CN103874200B - 一种楼层识别方法及系统 - Google Patents

一种楼层识别方法及系统 Download PDF

Info

Publication number
CN103874200B
CN103874200B CN201410103042.8A CN201410103042A CN103874200B CN 103874200 B CN103874200 B CN 103874200B CN 201410103042 A CN201410103042 A CN 201410103042A CN 103874200 B CN103874200 B CN 103874200B
Authority
CN
China
Prior art keywords
floor
mrow
probability
information
current
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.)
Active
Application number
CN201410103042.8A
Other languages
English (en)
Other versions
CN103874200A (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.)
Institute of Computing Technology of CAS
Beijing University of Posts and Telecommunications
Original Assignee
Institute of Computing Technology of CAS
Beijing University of Posts and Telecommunications
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 Institute of Computing Technology of CAS, Beijing University of Posts and Telecommunications filed Critical Institute of Computing Technology of CAS
Priority to CN201410103042.8A priority Critical patent/CN103874200B/zh
Publication of CN103874200A publication Critical patent/CN103874200A/zh
Application granted granted Critical
Publication of CN103874200B publication Critical patent/CN103874200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种楼层识别方法及系统,所述方法包括:采集WiFi信号,获得关于一个或多个AP的信息;以及根据先前统计的在每个楼层采集的样本数经验值以及先前采集到的每个AP在每个楼层出现次数的经验值,计算所述一个或多个AP整体出现时处于每个楼层的概率。所述方法还包括根据计算得到的概率确定楼层信息。在进一步的实施例中,所述方法融合了基于特殊AP以及基于气压计算高度的楼层识别方法。本发明在保证低成本的同时提高了楼层识别的精确性和实时性。

Description

一种楼层识别方法及系统
技术领域
本发明涉及无线通信技术领域,尤其涉及一种楼层识别方法及系统。
背景技术
随着假日自驾游的日益兴盛和智能移动终端的快速普及,人们对于移动定位系统的要求也不断提高。为满足这类需求,近些年不断有新的定位技术被研发出来。在室外定位中有GPS和AGPS技术,在室内定位中有基于无线传感器网络的定位方法和基于WiFi(Wireless Fidelity)射频指纹等的定位方法。对于室外定位方法来说,由于得到的定位信息缺乏海拔信息,这对于登山、漂流等运动而言是个缺陷;对于室内定位方法来说,楼层信息的精确识别是必须解决而又颇具难度的问题,尤其是在室内具有中空区域的情况下,由于相邻楼层相距较近且无线信号可以直接通过中空区域进行传输,因此信号衰减量很小,导致相邻楼层难以区分。
目前,已经存在一些技术来进行室内楼层的识别,例如基于WiFi信息来进行判别,以及基于气压计算海拔高度(简称基于高度)来判别楼层等等。然而,这些方法都有其缺陷,对于一般楼层的识别存在精确性不高的问题。此外,很多需要进行楼层识别的场合(比如大型超市或公共卖场等)是存在中空区域的,而中空区域WiFi信号的变化较小、区分度不高,因此中空区域的楼层识别更是一个难题。
对于基于WiFi信号定位楼层的方法来说,需要WiFi信号覆盖环境,根据在某一点采集到的WiFi信号来判断当前所在楼层。由于WiFi传播无方向性,在不同楼层可能会接收到同一AP的信号,且同一楼层也能接收到其他楼层的信号。现有的识别楼层的方法一般是用接收到的信号强度作为其判断依据的,通过计算测试点和所有训练集指纹点在信号空间的距离,将距离最小的指纹点的楼层号作为测试点的楼层。而不同AP由于其质量不同其信号强度的差异很大,同时每个AP信号强度受多径传播影响存在较强的时变性。因此某一楼层可能接收到来自其他楼层的较强的WiFi信号,中空区域更是如此,故而容易产生判断错误。对于基于高度的楼层判别方法来说,首先需要获取终端的高度值,然后根据高度的连续变化来判断上下楼状态。然而准确的高度获取本身存在挑战,例如基于气压值计算海拔高度,其气压随着温度的变化而较为明显地变化,同时由于存在设备差异性(即不同设备测量出来的气压值也有一定误差),因此计算出来的海拔高度会有比较大的差别。在获得高度之后还需获得楼层与高度的参考标准,其依旧存在困难。因此,当前的基于高度的楼层判别方法无法准确地进行楼层识别。
发明内容
为解决上述问题,本发明提供一种楼层识别方法,包括:
步骤1)、采集WiFi信号,获得关于一个或多个AP的信息;
步骤2)、根据先前统计的在每个楼层采集的样本数经验值以及先前采集到的每个AP在每个楼层出现次数的经验值,计算所述一个或多个AP整体出现时处于每个楼层的概率;
步骤3)、根据计算得到的概率确定楼层信息。
在一个实施例中,步骤3)包括:
如果计算所得的最大概率大于等于预定概率阈值,则得到楼层信息且该楼层信息为所述最大概率对应的楼层的信息;否则没有得到楼层信息。在进一步的实施例中,所述预定概率阈值为0.8。
在一个实施例中,根据下式计算一个或多个AP整体出现时处于每个楼层的概率:
其中,o={z1,z2,…zm}且m≥1,z1,z2,…zm表示所述一个或多个AP;n为楼的层数;P(li|o)表示出现o时处于楼层li的概率;P(li)表示用户处于楼层li的先验概率,其值为先前统计的在楼层li采集的样本数除以先前采集的样本总数;其中P(zi|li)表示在楼层li出现zi这个AP的概率,其值为先前统计的在楼层li中zi出现的次数除以先前统计的所有AP在楼层li中出现的总次数。
在一个实施例中,在每个楼层采集的样本数经验值以及每个AP在每个楼层出现次数的经验值是通过下列步骤获得的:
步骤i)、在每个楼层的多个位置多次采集WiFi信号;
步骤ii)、统计在每个楼层采集的样本数,以及采集到的每个AP在每个楼层的出现次数。
在一个实施例中,该步骤还包括:
步骤iii)、根据在每个楼层的多个位置多次采集的WiFi信号,统计在每个楼层的出现次数等于其出现总次数且不为0的AP,加入该楼层的特殊AP集合。
在进一步的实施例中,步骤2)还包括:
在所述一个或多个AP中查找属于所述特殊AP集合的AP。
在进一步的实施例中,步骤3)包括:
如果查找到的AP属于同一楼层的特殊AP集合,并且该楼层与计算所得的最大概率对应的楼层相同或者所述最大概率小于所述预定概率阈值,则将该楼层的信息作为得到的楼层信息;
如果没有查找到或者查找到的AP不属于同一楼层的特殊AP集合,并且计算所得的最大概率大于等于所述预定概率阈值,则将所述最大概率对应的楼层的信息作为得到的楼层信息;
否则没有得到楼层信息。
在一个实施例中,步骤1)还包括:
从所采集的WiFi信号中过滤掉信号强度小于预定强度阈值的WiFi信号。
在一个实施例中,由智能移动终端采集WiFi信号。
根据本发明的一个实施例,还提供一种楼层识别方法,包括:
步骤a)、使用上述楼层识别方法得到楼层信息,将该楼层信息作为当前楼层信息,并且将标准高度初始化为当前海拔高度;
步骤b)、实时计算当前海拔高度,如果当前海拔高度与所述标准高度之差超过预定阈值,则更新当前楼层信息以及所述标准高度。
在一个实施例中,步骤b)包括:
步骤b1)、根据实时测量的当前气压值计算当前海拔高度;
步骤b2)、如果当前海拔高度大于所述标准高度并且两者差值不小于第一预定阈值,则增高当前楼层并且将所述标准高度更新为原标准高度加上原楼层的高度;
如果当前海拔高度小于所述标准高度并且两者差值不小于第二预定阈值,则降低当前楼层并且将所述标准高度更新为原标准高度减去当前楼层的高度;
否则返回步骤b1)。
在一个实施例中,由智能移动终端实时测量当前气压值。
在一个实施例中,步骤b)还包括:
使用上述楼层识别方法识别楼层;
如果得到楼层信息,则将当前楼层信息更新为该楼层信息并且将所述标准高度更新为当前海拔高度。
根据本发明的一个实施例,还提供一种楼层识别系统,包括:
智能移动终端,用于采集WiFi信号,获得关于一个或多个AP的信息;
楼层判别设备,用于根据先前统计的在每个楼层采集的样本数经验值以及先前采集到的每个AP在每个楼层出现次数的经验值,计算所述一个或多个AP整体出现时处于每个楼层的概率;以及,根据计算得到的概率确定楼层信息。
与现有技术相比,本发明可以达到如下的有益效果:
本发明在不添加任何额外硬件的条件下,使用智能移动终端采集到的WiFi信号,通过基于贝叶斯的楼层判别方法和基于特殊AP的楼层判别方法得到两种判别结果,这两种判别结果相互补充,实现了低成本,并且提高了楼层识别的准确性。此外,本发明还结合了基于气压计算高度的楼层判别方法,能够实时地进行楼层识别,提高了楼层识别的实时性和实用性。
附图说明
图1是根据本发明一个实施例的楼层识别方法的流程图;
图2是根据本发明一个实施例的WiFi信号采集路线的示意图;
图3是根据本发明一个实施例的用于融合基于贝叶斯的楼层判别以及基于特殊AP的楼层判别的方法的流程图;
图4是根据本发明一个实施例的融合了基于贝叶斯的楼层判别、基于特殊AP的楼层判别以及基于气压计算高度的楼层判别的方法的流程图;以及
图5是使用本发明提供的楼层识别方法得到的测试结果的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明加以说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
根据本发明的一个实施例,提供一种楼层识别方法。参考图1且概括而言,该方法包括:第1步、WiFi射频信号采集;第2步、数据预处理;第3步、数据训练;以及第4步、在线楼层判别。下文将详细描述这些步骤。
第1步:WiFi射频信号采集
在一个实施例中,采集WiFi信号可通过智能移动终端来完成。例如,首先由移动智能终端扫描WiFi,获得WiFi信号列表;接着,从列表中的每个信号项选择所需要的mac地址和信号强度写入到文件,并且记录列表中信号项的个数以及所在楼层(即采集到该信号项中的信号所处的楼层);然后,将移动智能终端移动若干位移重复进行上述过程,得到所需的WiFi数据。
下文以小米2s智能手机(Android4.0平台)为例,描述在中科院计算所1~8层进行WiFi信号采集的具体步骤:
1.1、确定采集位置点
图2示出了每个楼层的数据采集路线。由于2~4层中空,故2~4层的信号采集在图中的虚线线路上进行,而其他楼层按照实线线路进行信号采集。其中,在数据采集路线上每隔1~2米(即采集位置点)采集一次数据,每个采集位置点可采集三遍。
1.2、信号采集
在每个采集位置点(或称采样点)进行WiFi信号采集,采集到的信号可能不是单个AP的信号,而是由在该位置点搜索到的所有AP信号所组成的一组WiFi信息。对于每个WiFi信息,保存其mac地址和信号强度。
在本示例中,将在每个采集位置点的一次采集所得到的结果作为一组数据(即一个样本)。针对每一组数据,除了mac地址和信号强度,还要记录该次采集到的WiFi个数以及采集楼层。下面给出采集到的一组数据的示例,该示例表示在7层某个采集位置点的一次采样中获得了15个WiFi信号,包括每个信号的mac地址和信号强度:
7 15
8c:21:0a:67:e5:8e -53
14:e6:e4:7c:6d:b2 -54
94:0c:6d:71:f1:26 -58
14:e6:e4:44:d7:0c -60
d8:5d:4c:24:b5:dc -61
00:21:27:1d:b3:66 -61
00:25:86:37:4f:4e -61
50:a7:33:30:58:18 -63
50:a7:33:30:6a:c8 -66
50:a7:33:70:6a:c8 -67
50:a7:33:30:6a:a8 -75
1c:7e:e5:55:42:54 -79
6c:e8:73:22:1f:e8 -84
00:21:27:4b:5e:c8 -86
c4:ca:d9:75:24:b0 -87
第2步:数据预处理
本步骤对在上一步中采集到的数据进行处理,将采集到的每一组数据处理成后面的贝叶斯数据训练和特殊AP数据训练所能接收的训练向量(例如,采用整型数组的形式)。
在一个实施例中,为了减少数据训练以及在线楼层判别(将在下文中进行详细描述)的时间复杂度,可将每个WiFi信号的mac地址根据一张mac地址—mac序号表转换为整型键值(即唯一的序号)作为索引,以便在查找一个mac地址对应的相关信息(例如,在训练阶段查找AP出现的次数等)时,可采用类哈希算法来进行快速数据查找。
在一个实施例中,预处理还包括过滤掉信号强度较弱的信号。也就是说,使用上一步采集的信号强度来判断对应的信号是否参与数据训练。过滤掉信号强度小于预定强度阈值的信号,得到训练的输入向量。
在进一步的实施例中,在预处理后,将WiFi的整型键值(从mac地址转换得到)作为输入向量的每一维的元素。由于贝叶斯数据训练方法和特殊AP数据训练方法对输入向量的维数没有固定要求,所以每组数据的向量维数也不需要固定。因此,输入向量的格式可以是一个整型数组,其保存若干个WiFi键值,并附加一个向量维数。
假设预定的强度阈值为-85dB,则对上文给出的一组数据样本进行数据预处理后,会生成如下的输入向量:
Number=13
Sample[]={3,2,5,0,9,20,4,61,13,34,15,42,163}
其中,数组中的每个元素是从mac地址转换而来的整型键值。
第3步:数据训练
针对下文描述的在线楼层判别方法,数据训练可以包括贝叶斯数据训练或者特殊AP数据训练,其中贝叶斯数据训练可统计出用于进行基于贝叶斯的楼层判别所需的数据,而特殊AP数据训练可统计出用于进行基于特殊AP的楼层判别所需的数据。该数据训练过程可以在pc机上离线进行,下面分别介绍这两种数据训练方法。
1、贝叶斯数据训练
在描述贝叶斯数据训练之前,先对用贝叶斯方法实现楼层判别进行概括描述。
贝叶斯方法是一种统计方法,如果定义楼层li表示第i层楼、定义AP集合o表示从一个样本(即在某个采集位置点一次采集到的一组数据)得到的观察向量(如预处理后得到的输入向量),则由贝叶斯规则可知:目标楼层的后验概率分布P(li|o)可由先验概率P(li)和似然函数P(o|li)的乘积得到,如下式所示:
其中,P(li|o)即观察到AP集合o时处于第i层楼的概率;P(li)即任意时刻处于第i层楼的概率;P(o|li)即处于第i层楼时能观察到AP集合o的概率。因此,要计算后验概率P(li|o),则要训练得到P(li)和P(o|li)。如后文所述,可以将在楼层li中采集的样本数除以所有样本的总数来得到P(li)。其中根据输入向量(如上文所述,以键值为索引查找mac地址对应的信息)可统计出每个楼层的样本数。而对于P(o|li)来说,观察向量o={z1,z2,…zm}是由若干个AP的键值组成,因此P(o|li)与P(zi|li),i∈[1,m]有关,可根据以下公式得到P(o|li):
其中,P(zi|li)即在第i层楼出现第zi个AP的概率。如后文所述,可以将在第i层楼处出现第zi个AP的次数除以在第i层楼出现AP的总次数作为P(zi|li),即要统计每个AP在每个楼层的出现次数。
综上所述,贝叶斯数据训练的输出可包括:每个楼层的样本数、所有楼层的样本总数、在每个楼层中每个AP的出现次数、在每个楼层中所有AP出现的总次数。
2、特殊AP数据训练
特殊AP数据训练的输入和贝叶斯数据训练相同,由于贝叶斯数据训练和特殊AP数据训练可以是在PC机上进行的离线训练,故这两种训练可以并行进行。
在一个实施例中,首先根据输入将每个AP在每个楼层出现的次数统计出来(如上文所述,利用输入向量中的键值查找该AP相应的信息);然后判断某个AP在某个楼层中出现的次数是否等于该AP在所有楼层中出现的总次数;如果对于某个楼层,有一个AP的出现次数等于其出现的总次数并且该出现次数不为0,即找到一个“特殊AP”,记录该特殊AP;得到并记录所有特殊AP即完成特殊AP数据训练。
在经过特殊AP数据训练后,训练的输出可包括:每个楼层的特殊AP个数,以及每个楼层的特殊AP序号集(其指示该楼层的特殊AP集合)。下文给出了经过特殊AP数据训练的结果示例,其中输出数据共有8组,每组第一行的两个数分别表示楼层和该楼层的特殊AP个数,后面接着是该楼层所有特殊AP的序号(或称索引号)。
1 8
121
144
145
148
151
157
164
165
2 2
146
275
3 2
149
169
4 1
256
5 6
136
194
209
211
233
285
6 9
25
49
88
94
95
97
195
289
290
7 19
20
23
28
30
38
40
47
58
70
80
244
298
299
301
302
304
305
307
308
8 28
26
31
60
64
65
67
72
85
90
99
101
102
103
113
114
115
116
120
250
252
253
295
297
300
303
311
313
315
第4步:在线楼层判别
本发明融合多个方法来进行楼层判别以提高判别结果的精确度。这些方法可包括基于贝叶斯的楼层判别方法、基于特殊AP的楼层判别方法,以及基于气压计算高度的楼层判别方法中的一个或多个。其中,基于贝叶斯的楼层判别方法和基于特殊AP的楼层判别方法(统称为基于WiFi信号的楼层判别方法)是主动式的,在用户触发后即可进行判别。基于气压计算高度的楼层判别方法是被动式的,当气压值改变时进行更新。下面先分别对这几种楼层判别方法进行描述。
1、基于贝叶斯的楼层判别方法
首先,用户触发后进行WiFi信号的采集。
接着,在采集到一组数据之后,对这组数据进行预处理。该预处理过程和上文第2步中的数据预处理过程类似,包括:对这组数据进行阈值过滤处理,过滤掉信号强度太弱的信号;并且对这组数据进行键值查找,即将mac地址根据mac地址—mac序号表转换为整形键值,从而得到基于贝叶斯的楼层判别方法可接收的数据向量(例如一个整形数组)。
接着,在得到输入向量之后,根据在贝叶斯数据训练阶段(上文中第3步)得到的训练结果,计算出本次信号采集得到的每个AP在每个楼层出现的概率P(zi|li)。即根据训练输出,将zi在第i层楼出现的次数除以在该楼层中所有AP出现的总次数。从而,可根据下式计算出这组数据整体能在第i层楼被观察到的概率P(o|li):
然后,可以计算目标楼层的后验概率分布,即观察到向量o时处于第i层楼的概率P(li|o):
其中,n为楼层的总数;o={z1,z2,…zm}表示观察到的m个AP;P(li)表示用户处于楼层li的先验概率,该概率在某一环境中是固定值,并可以基于上述贝叶斯训练数据获得。例如,由第i层的样本数除以所有样本的总数得到。
最后,在计算得到每个楼层对应的概率P(li|o)后,选择其中最大的P(li|o),将对应的楼层作为结果楼层。
为了控制精确度,在进一步的实施例中,如果上述最大概率小于某一阈值,则认为得到的结果楼层是不可靠的,因此舍弃这个结果。经过多次试验发现,当该阈值为0.8时,能够得到足够准确的结果。如果判别后没有得到结果楼层,则基于贝叶斯的楼层判别失败;如果得到了结果楼层,则基于贝叶斯的楼层判别成功。
2、基于特殊AP的楼层判别方法
首先,与基于贝叶斯的楼层判别方法类似,在采集到一组数据之后,对这组数据进行预处理。
接着,参照特殊AP数据训练的结果,对采集到的这组数据中的每个AP进行判断,包括以下三种情况:
①、如果这组数据中存在一个或多个AP属于某个楼层F的特殊AP集合,且没有其他AP属于另一个楼层的特殊AP集合,那么可以判定该次采集是在F层采集的,基于特殊AP的楼层判别成功。
下文示出了某次采集到的一组数据(已经过预处理)的示例,其中第一行的15表示有15个AP信号,第二行为15个AP信号的索引号:
15
416,151,157,142,131,128,127,133,130,124,123,122,141,132,140
根据在第3步中示例的特殊AP数据训练的输出结果,可以看到索引号为151和157的两个AP信号在1层的特殊AP集合中,并且没有其他AP出现在其他楼层的特殊AP集合中,故可以判定此次采集的一组数据是在1层采集到的。
②、如果在采集到的一组数据中没有一个数据是特殊AP,则基于特殊AP的楼层判别失败。
③、如果在采集到的一组数据中存在一个(或多个)AP属于某个楼层的特殊AP集合,而另一个(或多个)AP属于其他楼层的特殊AP集合,则基于特殊AP的楼层判别失败。
3、基于气压计算高度的楼层判别方法
基于高度的楼层判别方法所依据的基本原理是大气压强会随着海拔的升高而降低,计算海拔高度的公式如下所示:
其中,n=1.235为大气过程多方过程的多方指数;μ=28.96*10^-3kg/mol为空气的摩尔质量;T0=288.1K为一个标准大气压时空气温度;P0=10.1325*10^4pa为标准大气压强;R=8.314J/mol;g=9.800m/s^2;H为海拔高度,P为海拔为H时的大气压强。代入以上参数可得到:
P=1013.25*(1-2.252*10^-5*H)^5.264
其中P和H分别代表气压值和海拔高度值,从而可以得到:
H=(1-(P/1013.25)^(1/5.264))*225200
因此,根据上式即可以计算出智能移动终端的当前海拔高度。
在一个实施例中,基于气压计算高度的楼层判别方法可包括:
3.1、首先,初始化标准高度。
在一个实施例中,可采用基于贝叶斯的楼层判别方法或者基于特殊AP的楼层判别方法或者这两种的方法的融合,来得到初始的楼层信息。在得到初始楼层信息时,将当前的海拔高度(根据由智能移动终端的气压传感器实时测量的气压值计算得到)作为初始的标准高度,将初始的标准高度与初始楼层相对应。
例如,可以设置一个初始化标识,如果触发基于WiFi信号的方法得到了楼层结果,则可以将这个标识设置为OK。气压传感器实时地测量海拔高度,当初始化标识被设置为OK时,可将当前海拔高度看作当前楼层所在的高度,将该海拔高度设置为标准高度。
3.2、实时更新楼层信息
在获得了初始的标准高度后,可继续使用气压传感器来实时地测量气压数据并且计算当前海拔高度。在一个实施例中,可以在同一楼层多次采集气压数据后求得海拔高度的平均值来作为当前海拔高度。得到当前的海拔高度后,将当前海拔高度与标准高度的差值和楼层判别阈值进行比较。如果差值大于等于该阈值则判定楼层发生变化,并且更新楼层信息和标准海拔高度,否则保持原楼层信息。
在进一步的实施例中,该楼层判别阈值可表示从一个楼层到另一个楼层的最小高度变化。由于智能移动终端(如手机)通常是拿在手里或者装在包里的,而手机距离地面的高度为1米左右。如果从当前楼层移动到高一层的楼层,其高度变化为本楼层的高度减去1米,因此可将此高度变化作为当前海拔高度变高时的楼层判别阈值;如果移动到低一层的楼层,则高度变化为低一层楼层的高度减去1米,可将此高度变化作为当前海拔高度变低时的楼层判别阈值。
在进一步的实施例中,当用户触发WiFi信号采集得到了新的结果楼层时,需相应地将标准高度更新为当前的海拔高度。
本领域技术人员应理解,可使用上述楼层判别方法中的任何一种来进行楼层的判别。为了得到更精确的结果,可以融合其中的两个或更多方法。如图3所示,描述了融合基于贝叶斯的楼层判别方法和基于特殊AP的楼层判别方法的实施例,包括以下步骤:
步骤1、采集WiFi信号。
步骤2、对采集到的数据进行预处理。
步骤3、将预处理后的数据同时作为基于贝叶斯的楼层判别方法的输入和基于特殊AP的楼层判别方法的输入,分别进行判别并得到判别结果。
步骤4、根据两种判别结果得到楼层识别结果。其中,判别结果有以下五种可能:
1)、两种判别都成功,并且两者的判别结果相同(即判别的结果楼层相同),则判别成功。
2)、基于贝叶斯方法的判别成功而基于特殊AP的判别失败,则判定基于贝叶斯的判别结果为楼层判别结果。
例如,如果采集信号的位置与特殊AP的位置距离较大,则基于特殊AP的判别可能会失败,但基于贝叶斯的判别可能成功。例如,下面列出的一组数据在使用基于特殊AP的判别方法时失败,但使用基于贝叶斯的判别方法就可以得到结果,结果是其处于4层,且该结果与实际情况符合。
25
147,138,127,131,44,48,152,139,162,140,130,128,196,124,188,141,132,122,123,178,142,190,192,282,150
3)、基于贝叶斯的判别失败,而基于特殊AP的判别成功,则判定基于特殊AP的判别结果为楼层判别结果。
4)、基于贝叶斯和基于特殊AP的判别都失败,则楼层判别失败。
5)、基于贝叶斯和基于特殊AP的判别方法都成功,但判别结果不同,则楼层判别失败。
融合基于贝叶斯的楼层判别方法和基于特殊AP的楼层判别方法可让这两种方法相互补充、相互监督,从而提高楼层识别的精确度。
在进一步的实施例中,还可以融合基于气压计算高度的楼层判别方法,以实时地识别楼层。图4示出了融合这三种判别方法的一个实施例,包括以下步骤:
步骤1、设置运行环境,打开必要文件(例如mac地址数据、训练好的数据等)并初始化气压传感器,使之工作以实时获得气压值并计算海拔高度。
步骤2、采集WiFi信号,并且使用基于贝叶斯的楼层判别方法或者基于特殊AP的楼层判别方法,得到判别结果。第一次得到结果楼层信息后将初始化标识设置为OK;否则重复步骤2。
步骤3、一旦初始化标识为OK,将当前海拔高度设置为初始标准高度。
步骤4、在下一次使用基于贝叶斯的判别方法或者基于特殊AP的判别方法获得楼层信息(楼层变化或者不变化)之前,继续使用气压传感器计算当前海拔高度。如果当前海拔高度与标准高度之差超过阈值,则需要更新楼层信息,并且更新标准高度,即将标准高度设置为之前的标准高度加上或减去一个楼层的高度。
步骤5、再一次使用基于贝叶斯的判别方法或基于特殊AP的判别方法获得了结果楼层(楼层变化或者不变化),更新楼层信息,并且将标准高度设置为实时得到的当前海拔高度值(这一步即根据WiFi判别的结果来重新校准高度值)。返回步骤4。
根据本发明的一个实施例,还提供一种楼层识别系统,包括:
智能移动终端,用于采集WiFi信号,获得关于一个或多个AP的信息;
楼层判别设备,用于根据先前统计的在每个楼层采集的样本数经验值以及先前采集到的每个AP在每个楼层出现次数的经验值,计算一个或多个AP整体出现时处于每个楼层的概率;以及,根据计算得到的概率确定楼层信息。
为验证本发明提供的楼层识别方法和系统的有效性,发明人采用该方法用小米2S在中科院计算所1~8层楼进行了两个测试。其中,第一个测试从7楼出发,途经7层若干个地方,从楼梯到8层,然后从东边楼梯到1层,在各楼层测试一下,其测试结果如表1所示。
表1
第二个测试从1楼开始,高度初始化之后从楼梯到2楼,然后乘坐电梯到7楼,其测试结果如图5所示。在图5中,用虚线表示的条形图部分为初始化未完成时的楼层,是随机的,其不会显示给使用者;而实心条形图是初始化成功之后随着时间变化预测楼层的变化,其与实际楼层变化情况一致。图中的双折线为气压传感器得到的高度变化情况。
从测试结果可以看出,使用本发明提供的基于WiFi信号结合气压的楼层识别方法能在若干区域使楼层判别成功,其中楼层预测的正确率达到100%,且具有较好的实时性。集成了多种不同的方法进行楼层判定,在很大程度上降低了一种方法判别错误对最终判定的影响,增强了楼层识别方法的稳定性和结果的可信度。
综上所述,本发明提供的楼层识别方法可以获得较好的楼层识别性能。本发明不需增添任何额外硬件,可仅使用智能移动终端采集Wi-Fi信号,使用其自带的气压传感器采集气压信息,并且采用贝叶斯方法、特殊AP方法和基于气压计算高度的方法进行楼层判别,具有低成本、高精度的优势。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。

Claims (12)

1.一种楼层识别方法,包括:
步骤1)、采集WiFi信号,获得关于一个或多个AP的信息;
步骤2)、根据先前统计的在每个楼层采集的样本数经验值以及先前采集到的每个AP在每个楼层出现次数的经验值,计算所述一个或多个AP整体出现时处于每个楼层的概率;
步骤3)、根据计算得到的概率确定楼层信息,包括:
如果计算所得的最大概率大于等于预定概率阈值,则得到楼层信息且该楼层信息为所述最大概率对应的楼层的信息,否则没有得到楼层信息;
其中,根据下式计算所述一个或多个AP整体出现时处于每个楼层的概率:
<mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>l</mi> <mi>i</mi> <mo>|</mo> <mi>o</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>o</mi> <mo>|</mo> <mi>l</mi> <mi>i</mi> <mo>)</mo> </mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>l</mi> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <mi>P</mi> <mo>(</mo> <mrow> <mi>o</mi> <mo>|</mo> <mi>l</mi> <mi>i</mi> </mrow> <mo>)</mo> <mi>P</mi> <mo>(</mo> <mrow> <mi>l</mi> <mi>i</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>
其中,o={z1,z2,…zm}且m≥1,z1,z2,…zm表示所述一个或多个AP;n为楼的层数;P(li|o)表示出现o时处于楼层li的概率;P(li)表示用户处于楼层li的先验概率,其值为先前统计的在楼层li采集的样本数除以先前采集的样本总数;其中P(zi|li)表示在楼层li出现zi这个AP的概率,其值为先前统计的在楼层li中zi出现的次数除以先前统计的所有AP在楼层li中出现的总次数。
2.根据权利要求1所述的方法,其中,所述预定概率阈值为0.8。
3.根据权利要求1或2所述的方法,其中,在每个楼层采集的样本数经验值以及每个AP在每个楼层出现次数的经验值是通过下列步骤获得的:
步骤i)、在每个楼层的多个位置多次采集WiFi信号;
步骤ii)、统计在每个楼层采集的样本数,以及采集到的每个AP在每个楼层的出现次数。
4.根据权利要求3所述的方法,还包括:
步骤iii)、根据在每个楼层的多个位置多次采集的WiFi信号,统计在每个楼层的出现次数等于其出现总次数且不为0的AP,加入该楼层的特殊AP集合。
5.根据权利要求4所述的方法,其中,步骤2)还包括:
在所述一个或多个AP中查找属于所述特殊AP集合的AP。
6.根据权利要求5所述的方法,其中,步骤3)包括:
如果查找到的AP属于同一楼层的特殊AP集合,并且该楼层与计算所得的最大概率对应的楼层相同或者所述最大概率小于所述预定概率阈值,则将该楼层的信息作为得到的楼层信息;
如果没有查找到或者查找到的AP不属于同一楼层的特殊AP集合,并且计算所得的最大概率大于等于所述预定概率阈值,则将所述最大概率对应的楼层的信息作为得到的楼层信息;
否则没有得到楼层信息。
7.根据权利要求1或2所述的方法,其中,步骤1)还包括:
从所采集的WiFi信号中过滤掉信号强度小于预定强度阈值的WiFi信号。
8.根据权利要求1或2所述的方法,其中,由智能移动终端采集WiFi信号。
9.一种楼层识别方法,包括:
步骤a)、使用如权利要求1-8中任何一个所述的方法得到楼层信息,将该楼层信息作为当前楼层信息,并且将标准高度初始化为当前海拔高度;
步骤b)、实时计算当前海拔高度,如果当前海拔高度与所述标准高度之差超过预定阈值,则更新当前楼层信息以及所述标准高度,包括:
步骤b1)、根据实时测量的当前气压值计算当前海拔高度;
步骤b2)、如果当前海拔高度大于所述标准高度并且两者差值不小于第一预定阈值,则增高当前楼层并且将所述标准高度更新为原标准高度加上原楼层的高度;
如果当前海拔高度小于所述标准高度并且两者差值不小于第二预定阈值,则降低当前楼层并且将所述标准高度更新为原标准高度减去当前楼层的高度;
否则返回步骤b1)。
10.根据权利要求9所述的方法,其中,由智能移动终端实时测量当前气压值。
11.根据权利要求9所述的方法,其中,步骤b)还包括:
使用如权利要求1-8中任何一个所述的方法识别楼层;
如果得到楼层信息,则将当前楼层信息更新为该楼层信息并且将所述标准高度更新为当前海拔高度。
12.一种楼层识别系统,包括:
智能移动终端,用于采集WiFi信号,获得关于一个或多个AP的信息;
楼层判别设备,用于根据先前统计的在每个楼层采集的样本数经验值以及先前采集到的每个AP在每个楼层出现次数的经验值,计算所述一个或多个AP整体出现时处于每个楼层的概率;以及,根据计算得到的概率确定楼层信息,如果计算所得的最大概率大于等于预定概率阈值,则得到楼层信息且该楼层信息为所述最大概率对应的楼层的信息,否则没有得到楼层信息;
其中,根据下式计算所述一个或多个AP整体出现时处于每个楼层的概率:
<mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>l</mi> <mi>i</mi> <mo>|</mo> <mi>o</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>o</mi> <mo>|</mo> <mi>l</mi> <mi>i</mi> <mo>)</mo> </mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>l</mi> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <mi>P</mi> <mo>(</mo> <mrow> <mi>o</mi> <mo>|</mo> <mi>l</mi> <mi>i</mi> </mrow> <mo>)</mo> <mi>P</mi> <mo>(</mo> <mrow> <mi>l</mi> <mi>i</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>
其中,o={z1,z2,…zm}且m≥1,z1,z2,…zm表示所述一个或多个AP;n为楼的层数;P(li|o)表示出现o时处于楼层li的概率;P(li)表示用户处于楼层li的先验概率,其值为先前统计的在楼层li采集的样本数除以先前采集的样本总数;其中P(zi|li)表示在楼层li出现zi这个AP的概率,其值为先前统计的在楼层li中zi出现的次数除以先前统计的所有AP在楼层li中出现的总次数。
CN201410103042.8A 2014-03-19 2014-03-19 一种楼层识别方法及系统 Active CN103874200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410103042.8A CN103874200B (zh) 2014-03-19 2014-03-19 一种楼层识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410103042.8A CN103874200B (zh) 2014-03-19 2014-03-19 一种楼层识别方法及系统

Publications (2)

Publication Number Publication Date
CN103874200A CN103874200A (zh) 2014-06-18
CN103874200B true CN103874200B (zh) 2018-01-09

Family

ID=50912236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410103042.8A Active CN103874200B (zh) 2014-03-19 2014-03-19 一种楼层识别方法及系统

Country Status (1)

Country Link
CN (1) CN103874200B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063524B (zh) * 2014-06-24 2018-06-12 百度在线网络技术(北京)有限公司 一种关键点信息的获取方法及装置
CN105472726B (zh) * 2014-08-29 2020-06-02 北京小米移动软件有限公司 一种位置确定方法及装置
CN104202818B (zh) * 2014-09-03 2015-10-07 创业软件股份有限公司 一种基于建筑物开放边缘距离加权的楼层识别方法
CN104640201A (zh) * 2014-12-31 2015-05-20 智慧城市信息技术有限公司 基于wifi指纹技术的定位方法和装置
CN104936140A (zh) * 2015-04-20 2015-09-23 北京识途科技有限公司 一种定位方法和装置及指纹数据获取方法和装置
CN108317996B (zh) * 2015-08-27 2021-06-29 华为终端有限公司 一种确定楼层方法、相关设备和系统
CN105530609B (zh) * 2015-12-16 2018-09-21 上海交通大学 基于Wi-Fi指纹的高效隐私保护的室内定位方法
CN105704677B (zh) * 2016-03-25 2019-05-31 北京智慧图科技有限责任公司 一种基于气压计的室内定位方法及装置
CN105898863B (zh) * 2016-05-12 2019-01-04 西北工业大学 一种基于toa的室内楼层定位方法
CN107976171B (zh) * 2016-10-21 2021-09-14 北京搜狗科技发展有限公司 一种信息处理方法、装置及设备
CN106595648B (zh) * 2016-11-04 2020-04-21 华为机器有限公司 一种导航方法及终端
CN108882361B (zh) * 2017-05-12 2023-01-03 中兴通讯股份有限公司 一种室内层高的定位方法和装置
CN106950584A (zh) * 2017-05-17 2017-07-14 深圳市炜光科技有限公司 室内定位辅助方法及系统
CN107416623A (zh) * 2017-06-29 2017-12-01 深圳市泰衡诺科技有限公司上海分公司 一种楼层检测提示系统及方法
CN107403195B (zh) * 2017-07-28 2018-03-27 中南大学 一种运载机器人识别楼层的气象参数智能融合处理方法
CN107314757A (zh) * 2017-08-04 2017-11-03 谢文静 一种多层建筑物的楼层定位系统及定位方法
CN108513259B (zh) * 2018-02-07 2021-04-23 平安科技(深圳)有限公司 电子装置、楼层定位方法和计算机可读存储介质
CN108810799B (zh) * 2018-05-28 2020-07-24 湖南大学 一种基于线性判别分析的多楼层室内定位方法及系统
CN108966122B (zh) * 2018-06-29 2020-12-08 上海连尚网络科技有限公司 一种用于确定无线接入点的高度信息的方法与设备
CN109579846B (zh) * 2018-12-13 2021-03-09 中国科学院计算技术研究所 基于楼层切换行为识别的混合楼层定位方法
CN110926473B (zh) * 2019-11-18 2022-08-16 北京三快在线科技有限公司 识别楼层的方法、装置、电子设备及存储介质
CN111294746B (zh) * 2020-02-05 2021-07-27 北京爱笔科技有限公司 一种定位方法、装置及系统
CN111735429B (zh) * 2020-05-11 2021-11-26 腾讯科技(深圳)有限公司 楼层识别方法、装置、计算机设备和存储介质
CN112738714B (zh) * 2020-12-29 2021-11-30 北京邮电大学 楼宇的楼层识别方法、电子设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267374A (zh) * 2008-04-18 2008-09-17 清华大学 基于神经网络和无线局域网基础架构的2.5d定位方法
CN102791025A (zh) * 2011-05-20 2012-11-21 盛乐信息技术(上海)有限公司 基于WiFi的分层定位系统及实现方法
CN103476109A (zh) * 2013-08-16 2013-12-25 武汉飞沃网络有限公司 一种室内ap定位方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102845001B (zh) * 2010-03-31 2016-07-06 康宁光缆系统有限责任公司 基于光纤的分布式通信组件及系统中的定位服务以及相关方法
US8700054B2 (en) * 2011-06-10 2014-04-15 Google Inc. Prediction of indoor level and location using a three stage process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267374A (zh) * 2008-04-18 2008-09-17 清华大学 基于神经网络和无线局域网基础架构的2.5d定位方法
CN102791025A (zh) * 2011-05-20 2012-11-21 盛乐信息技术(上海)有限公司 基于WiFi的分层定位系统及实现方法
CN103476109A (zh) * 2013-08-16 2013-12-25 武汉飞沃网络有限公司 一种室内ap定位方法

Also Published As

Publication number Publication date
CN103874200A (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
CN103874200B (zh) 一种楼层识别方法及系统
CN105101408B (zh) 基于分布式ap选择策略的室内定位方法
Li et al. AF-DCGAN: Amplitude feature deep convolutional GAN for fingerprint construction in indoor localization systems
CN107071743B (zh) 一种基于随机森林的快速KNN室内WiFi定位方法
CN106851571B (zh) 一种基于决策树的快速KNN室内WiFi定位方法
CN103945533B (zh) 基于大数据的无线实时位置定位方法
CN108536851B (zh) 一种基于移动轨迹相似度比较的用户身份识别方法
KR102116824B1 (ko) 딥러닝 기반 측위 시스템 및 이의 구축 방법
CN111521969B (zh) 基于Wi-Fi的被动式室内定位方法
CN103119470B (zh) 进行室内导航的基于位置服务的系统和方法
CN106952289B (zh) 结合深度视频分析的WiFi目标定位方法
CN106646338A (zh) 一种快速精确的室内定位方法
CN105813194B (zh) 基于指纹数据库二次校正的室内定位方法
CN105934684B (zh) 用于跨设备自动校准的方法和装置
CN104185275A (zh) 一种基于wlan的室内定位方法
CN106507475B (zh) 基于EKNN的室内区域WiFi定位方法及系统
CN110320495A (zh) 一种基于Wi-Fi、蓝牙和PDR融合定位的室内定位方法
CN102707276A (zh) 基于目标拓扑信息的ais与雷达航迹抗差关联算法
CN108717175A (zh) 基于区域划分和稀疏支持向量回归的室内指纹定位方法
CN111901749A (zh) 一种基于多源融合的高精度三维室内定位方法
CN104581945B (zh) 基于距离约束的半监督apc聚类算法的wlan室内定位方法
Wilk et al. Indoor radio map maintenance by automatic annotation of crowdsourced Wi-Fi fingerprints
CN104581644A (zh) 基于径向基插值的室内wlan指纹数据库多点自适应更新方法
CN110222776A (zh) 一种基于csi指纹信息的室内被动定位方法
CN109819406A (zh) 一种基于众包的室内定位方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant