基于WiFi信号的室内定位方法和装置、存储介质转让专利

申请号 : CN202010188921.0

文献号 : CN111044974B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马志豪陈璐张玮杰

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种基于WiFi信号的室内定位方法和装置、存储介质。该方法包括:获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值;根据多组WiFi信号的信号信息在预先训练目标神经网络模型时确定出的一组特征向量中确定对应的目标特征矩阵;将目标特征矩阵输入到目标神经网络模型,输出M个第一匹配结果,M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率;根据M个第一匹配结果确定目标位置的目标位置标识;在目标终端中显示目标定位结果,目标定位结果用于表示目标位置标识或表示与目标位置标识具有对应关系的目标信息。

权利要求 :

1.一种基于WiFi信号的室内定位方法,其特征在于,包括:

获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值;

根据所述多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,其中,所述一组特征向量是在训练得到目标神经网络模型时确定出的特征向量;

将所述目标特征矩阵输入到所述目标神经网络模型,得到所述目标神经网络模型输出的M个第一匹配结果,其中,所述M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数;

根据所述M个第一匹配结果确定所述目标位置的所述目标位置标识,其中,所述当前位置被确定为与所述目标位置相邻或者所述当前位置被确定为所述目标位置;

在所述目标终端中显示目标定位结果,其中,所述目标定位结果用于表示所述目标位置标识或表示与所述目标位置标识具有对应关系的目标信息。

2.根据权利要求1所述的方法,其特征在于,根据所述多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的所述目标特征矩阵,包括:获取所述多组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*S个第一数据对,其中,每个所述第一数据对包括具有对应关系的WiFi标识和信号值,所述多组WiFi信号为S组WiFi信号,S为大于1的自然数;

根据所述N*S个第一数据对,确定出N*S个第二数据对,其中,每个所述第二数据对包括具有对应关系的WiFi标识和与信号值所在的取值范围对应的状态标识;

对于所述N*S个第二数据对中的每个第二数据对,在预先确定的一组[1,Q]维的特征向量中确定出对应的一个[1,Q]维的特征向量,得到[N*S,Q]维的所述目标特征矩阵,其中,所述预先确定的一组[1,Q]维的特征向量中的每个[1,Q]维的特征向量对应一个由WiFi标识和状态标识组成的数据对,Q为大于1的自然数。

3.根据权利要求2所述的方法,其特征在于,在根据所述多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的所述目标特征矩阵之前,所述方法还包括:获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和所述M个位置标识,其中,所述M个采集点与所述M个位置标识一一对应,S为大于1的自然数,每组样本WiFi信号的信号信息包括多个样本WiFi信号的WiFi标识和信号值,每组样本WiFi信号包括N个不同WiFi标识提供的WiFi信号;

为初始神经网络模型中使用到的R个[1,Q]维的特征向量设置初始值,其中,R=T*O,T为所述M*S组样本WiFi信号中不同WiFi标识的数量,O为预设的信号值所在的取值范围的个数,每个取值范围对应一个状态标识,所述R个[1,Q]维的特征向量中的每个[1,Q]维的特征向量对应由一个WiFi标识和与信号值所在的取值范围对应的一个状态标识组成的数据对;

将所述M*S组样本WiFi信号转换为M个样本特征矩阵,其中,每个所述样本特征矩阵包括对应的S*N个数据对在所述R个[1,Q]维的特征向量中对应的S*N个[1,Q]维的特征向量,所述S*N个数据对中的每个数据对包括具有对应关系的WiFi标识和信号值与信号值所在的取值范围对应的一个状态标识;

使用所述M个样本特征矩阵对所述初始神经网络模型进行训练,得到所述目标神经网络模型,其中,所述一组[1,Q]维的特征向量包括所述目标神经网络模型中使用到的取值训练好的所述R个[1,Q]维的特征向量,所述目标神经网络模型的全连接层用于输出所述M个位置标识对应的M个概率。

4.根据权利要求3所述的方法,其特征在于,所述将所述M*S组样本WiFi信号转换为M个样本特征矩阵,包括:将所述M*S组样本WiFi信号中的每组样本WiFi信号的N个不同WiFi标识的排列顺序随机打乱,将被随机打乱WiFi标识的排列顺序的所述M*S组样本WiFi信号转换为M个样本特征矩阵。

5.根据权利要求3所述的方法,其特征在于,所述将所述M*S组样本WiFi信号转换为M个样本特征矩阵之后、且在使用所述M个样本特征矩阵对所述初始神经网络模型进行训练之前,所述方法还包括:对于所述M个样本特征矩阵中的每个样本特征矩阵,执行以下步骤:

随机抽取所述每个样本特征矩阵中的K个数据对,将所述K个数据对的状态标识替换为目标状态标识,得到更新后的所述M个样本特征矩阵,其中,所述目标状态标识与所述K个数据对的状态标识对应的取值范围相邻,所述K小于或等于所述M,所述K为自然数。

6. 根据权利要求1所述的方法,其特征在于,所述根据所述M个第一匹配结果确定所述目标位置的所述目标位置标识,包括:将所述目标位置标识确定为所述M个第一匹配结果中概率最大的位置标识;或者根据所述M个第一匹配结果和M个第二匹配结果,确定出所述目标位置标识,其中,所述M个第二匹配结果是将第一WiFi指纹向量与预先建立的WiFi指纹库中的M个WiFi指纹向量进行匹配,得到匹配结果,所述第一WiFi指纹向量是根据所述多组WiFi信号的信号信息确定的WiFi指纹向量,所述M个第二匹配结果中的每个第二匹配结果用于表示所述M个位置标识中的一个位置标识是所述目标位置标识的概率。

7.根据权利要求6所述的方法,其特征在于,在根据所述M个第一匹配结果和M个第二匹配结果,确定出所述目标位置标识之前,所述方法还包括:根据所述多组WiFi信号的信号信息确定所述第一WiFi指纹向量,其中,所述第一WiFi指纹向量包括N个WiFi信号的信号值,所述N为所述多组WiFI信号中不同WiFI标识的数量或为预设值,N为大于1的自然数;

将所述第一WiFi指纹向量与所述预先建立的WiFi指纹库中的所述M个WiFi指纹向量进行匹配,得到所述M个第二匹配结果,其中,所述M个WiFi指纹向量中的每个WiFi指纹向量包括在一个采集点上获取到的N个不同WiFi信号的信号值,所述WiFi指纹库记录了所述M个WiFi指纹向量与M个位置标识的一一对应关系。

8.根据权利要求7所述的方法,其特征在于,所述根据所述多组WiFi信号的信号信息确定所述第一WiFi指纹向量,包括:获取所述多组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*S个信号值,其中,所述多组WiFi信号为S组WiFi信号,S为大于1的自然数,在一组WiFi信号中不存在与一个WiFi标识对应的信号值的情况下,所述一个WiFi标识在所述一组WiFi信号中的信号值被设置为默认值;

对所述N*S个信号值中每个不同WiFi标识对应的S个信号值进行统计处理,得到所述N个WiFi信号的信号值,其中,所述第一WiFi指纹向量包括所述N个WiFi信号的信号值。

9.根据权利要求7所述的方法,其特征在于,所述将所述第一WiFi指纹向量与所述预先建立的WiFi指纹库中的M个WiFi指纹向量进行匹配,得到所述M个第二匹配结果,包括:确定所述第一WiFi指纹向量与所述M个WiFi指纹向量中的每个WiFi指纹向量之间的距离,得到M个距离;

根据所述M个距离确定所述M个第二匹配结果。

10. 根据权利要求6所述的方法,其特征在于,所述根据所述M个第一匹配结果和M个第二匹配结果,确定出所述目标位置标识,包括以下之一:将所述M个位置标识中的每个位置标识在所述M个第一匹配结果和所述M个第二匹配结果中对应的概率进行求和,得到与所述M个位置标识一一对应的M个第一概率;将所述目标位置标识确定为所述M个位置标识中所述第一概率最大的位置标识;或者将所述M个位置标识中的每个位置标识在所述M个第一匹配结果和所述M个第二匹配结果中对应的概率进行加权求和,得到与所述M个位置标识一一对应的M个第二概率,其中,所述M个第一匹配结果中的概率对应的第一权重值用于表示预先确定的使用所述目标神经网络模型进行位置定位的定位准确度,所述M个第二匹配结果中的概率对应的第二权重值用于表示预先确定的使用所述WiFi指纹库进行位置定位的定位准确度;将所述目标位置标识确定为所述M个位置标识中所述第二概率最大的位置标识。

11.根据权利要求3所述的方法,其特征在于,所述获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和所述M个位置标识,包括以下之一:获取在M个位于同一楼层的采集点上获取到的M*S组样本WiFi信号的信号信息和所述M个位置标识;

获取在M个位于不同楼层的采集点上获取到的M*S组样本WiFi信号的信号信息和所述M个位置标识;

获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和所述M个位置标识,其中,所述M个采集点位于同一楼层、且相互间隔;

获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和所述M个位置标识,其中,所述M个采集点位于同一楼层的不同区域。

12. 根据权利要求1至11中任一项所述的方法,其特征在于,所述在所述目标终端中显示目标定位结果,包括:在所述目标位置标识为店铺标识或建筑标识的情况下,在目标应用中显示所述店铺标识或所述建筑标识;或者在所述目标信息为所述目标位置标识对应的经纬度坐标的情况下,在所述目标应用中显示所述经纬度坐标。

13.一种基于WiFi信号的室内定位装置,其特征在于,包括:

第一获取单元,用于获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值;

第一确定单元,用于根据所述多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,其中,所述一组特征向量是在训练得到目标神经网络模型时确定出的特征向量;

第二确定单元,用于将所述目标特征矩阵输入到所述目标神经网络模型,得到所述目标神经网络模型输出的M个第一匹配结果,其中,所述M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于

1的自然数;

第三确定单元,用于根据所述M个第一匹配结果确定所述目标位置的所述目标位置标识,其中,所述当前位置被确定为与所述目标位置相邻或者所述当前位置被确定为所述目标位置;

显示单元,用于在所述目标终端中显示目标定位结果,其中,所述目标定位结果用于表示所述目标位置标识或表示与所述目标位置标识具有对应关系的目标信息。

14.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至12任一项中所述的方法。

15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。

说明书 :

基于WiFi信号的室内定位方法和装置、存储介质

技术领域

[0001] 本发明涉及计算机领域,具体而言,涉及一种基于WiFi信号的室内定位方法和装置、存储介质。

背景技术

[0002] 目前,在室内环境中,需要通过专门的室内定位技术实现室内位置的定位。室内定位是指在室内环境中实现位置定位,主要采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内位置定位体系,从而实现人员、物体等在室内空间中的位置监控。
[0003] 相关技术中,主要通过以下两种技术方案实现室内定位:方案一:WiFi指纹室内定位,是一种利用室内WiFi信号实现的定位技术,一般情况下,定位精度能达到5-10米。方案二:蓝牙BLE室内定位,是一种在室内环境中部署基于蓝牙低功率协议的信标装置,一般情况下的定位精度能到3-5米。
[0004] 但是,相关技术中,按照常规方案构建WiFi指纹库实施室内定位,能有效的区分WiFi信号变化较大的区域,对于室内环境中因受建筑物分布、人流、楼层等因素影响,在不同位置检测到的WiFi信号的波动规律是不一致的,仅仅基于WiFi信号的一般变化规律进行室内定位,存在定位准确率低的问题。
[0005] 因此,相关技术中,在室内定位时,存在定位准确率低的问题,尚未提出有效的解决方案。

发明内容

[0006] 本发明实施例提供了一种基于WiFi信号的室内定位方法和装置、存储介质,以至少解决相关技术中,在室内定位时,存在定位准确率低的技术问题。
[0007] 根据本发明实施例的一个方面,提供了一种基于WiFi信号的室内定位方法,包括:获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值;根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,其中,一组特征向量是在训练得到目标神经网络模型时确定出的特征向量;将目标特征矩阵输入到目标神经网络模型,得到目标神经网络模型输出的M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数;根据M个第一匹配结果确定目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置被确定为目标位置;在目标终端中显示目标定位结果,其中,目标定位结果用于表示目标位置标识或表示与目标位置标识具有对应关系的目标信息。
[0008] 根据本发明实施例的另一方面,还提供了一种基于WiFi信号的室内定位装置,包括:第一获取单元,用于获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值;第一确定单元,用于根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,其中,一组特征向量是在训练得到目标神经网络模型时确定出的特征向量;第二确定单元,用于将目标特征矩阵输入到目标神经网络模型,得到目标神经网络模型输出的M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数;第三确定单元,用于根据M个第一匹配结果确定目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置被确定为目标位置;显示单元,用于在目标终端中显示目标定位结果,其中,目标定位结果用于表示目标位置标识或表示与目标位置标识具有对应关系的目标信息。
[0009] 根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述基于WiFi信号的室内定位方法。
[0010] 根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的基于WiFi信号的室内定位方法。
[0011] 在本发明实施例中,获取覆盖了目标终端所处的当前位置的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值,然后,根据该多组WiFi信号的信号信息在预先确定的一组特征向量中确定出对应的目标特征矩阵,其中,该一组特征向量是在训练目标神经网络模型时确定出的特征向量,将该目标特征矩阵输入到目标神经网络模型中,能够输出M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果是用来表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数,最后,根据该M个第一匹配结果确定出目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置即为目标位置。通过上述技术方案,可以通过多组WiFi信号的信号信息得到目标特征矩阵,以及将目标特征矩阵输入到训练好的目标神经网络中,输出第一M个匹配结果,进而根据M个第一匹配结果来确定目标位置的目标位置标识,通过这种方式来进行室内定位,能够使室内定位的结果更加准确,提高了室内定位的准确率。

附图说明

[0012] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0013] 图1是根据本发明实施例的一种基于WiFi信号的室内定位方法的应用环境的示意图;
[0014] 图2是根据本发明实施例的一种可选的基于WiFi信号的室内定位方法的流程示意图;
[0015] 图3是根据本发明实施例的一种可选的目标神经网络模型的示意图;
[0016] 图4是根据本发明实施例的一种可选的基分类器和元分类器的示意图;
[0017] 图5是根据本发明实施例的一种可选的目标定位结果的示意图(一);
[0018] 图6是根据本发明实施例的一种可选的目标定位结果的示意图(二);
[0019] 图7是根据本发明实施例的一种可选的目标定位结果的示意图(三);
[0020] 图8是根据本发明实施例的另一种可选的基于WiFi信号的室内定位方法的流程示意图;
[0021] 图9是根据本发明实施例的一种可选的基于WiFi信号的室内定位装置的结构示意图;
[0022] 图10是根据本发明实施例的一种可选的电子装置的结构示意图。

具体实施方式

[0023] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0024] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0025] 根据本发明实施例的一个方面,提供了一种基于WiFi信号的室内定位方法,可选地,作为一种可选的实施方式,上述基于WiFi信号的室内定位方法可以但不限于应用于如图1所示的环境中。上述基于WiFi信号的室内定位方法可以但不限于应用于如图1所示的环境中的基于WiFi信号的室内定位系统中,其中,该基于WiFi信号的室内定位系统可以包括但不限于终端设备102、网络104、服务器106。上述终端设备102中包括人机交互屏幕1022,处理器1024及存储器1026。人机交互屏幕1022用于提供人机交互接口以接收对人机交互界面执行的人机交互操作,还用于显示基于WiFi信号的室内定位画面;处理器1024用于接收覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值。存储器108用于存储上述多组WiFi信号的信号信息。
[0026] 此外,服务器106中包括数据库1062及处理引擎1064,数据库1062中用于存储在训练得到目标神经网络模型时确定出的特征向量象(图中未示出)。处理引擎1064用于根据所述多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的所述目标特征矩阵,将所述目标特征矩阵输入到所述目标神经网络模型,得到所述目标神经网络模型输出的M个第一匹配结果,其中,所述M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数;根据所述M个第一匹配结果确定所述目标位置的所述目标位置标识,其中,所述当前位置被确定为与所述目标位置相邻或者所述当前位置被确定为所述目标位置,通知终端设备102在所述目标终端中显示目标定位结果,其中,所述目标定位结果用于表示所述目标位置标识或表示与所述目标位置标识具有对应关系的目标信息。
[0027] 具体过程如以下步骤:如步骤S102-S110:S102,终端设备102中的处理器1024获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,进而通过网络104发送至服务器106;S104,服务器106根据所述多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的所述目标特征矩阵;S106,将所述目标特征矩阵输入到所述目标神经网络模型,得到所述目标神经网络模型输出的M个第一匹配结果;S108,根据所述M个第一匹配结果确定所述目标位置的所述目标位置标识,然后通过网络104向终端设备102发送目标位置标识;
S110在终端设备102的人机交互屏幕1022中显示目标定位结果。
[0028] 可选地,在本实施例中,上述终端设备可以是配置有客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。上述只是一种示例,本实施例对此不做任何限定。
[0029] 可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由终端设备(例如,上述终端设备102)执行为例进行说明。
[0030] 下面结合图2对本实施例中上述基于WiFi信号的室内定位方法进行说明。
[0031] 在步骤S202中,获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值。
[0032] 可选地,上述基于WiFi信号的室内定位方法可以但不限于使用客户端在室内环境中进行室内定位的场景中。
[0033] 可选地,当目标终端(如手机)在上述当前位置停留10-20秒时,可以通过目标终端上运行的目标应用获取到目标终端在当前位置进行多次检测而得到多组WiFi信号的信号信息,对于该多组WiFi信号中的每组WiFi信号来说,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值。
[0034] 其中,WiFi标识可以理解为WiFi信号BSSID,BSSID为一种特殊的Ad-hoc LAN的应用,也称为Basic Service Set (BSS),一群计算机设定相同的BSS名称,即可自成一个组。每个BSS都会被赋予一个BSSID,它是一个长度为48位的二进制标识符,用来识别不同的BSS。其的主要优点是它可以作为过滤之用,能作为每个WiFi信号的唯一标识。
[0035] 在步骤S204中,根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,其中,一组特征向量是在训练得到目标神经网络模型时确定出的特征向量。
[0036] 可选地,可以预先训练好目标神经网络模型,并通过该目标神经网路模型训练得到一组特征向量,然后将该多组WiFi信号的信号信息与目标神经网络模型中训练好的一组特征向量进行匹配,来得到对应的目标特征矩阵。
[0037] 在步骤S206中,将目标特征矩阵输入到目标神经网络模型,得到目标神经网络模型输出的M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数。
[0038] 可选地,将上述得到的目标特征矩阵输入到目标神经网络模型中,能够输出M个第一匹配结果,每一个第一匹配结果可以表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,其中,M为大于1的自然数。
[0039] 在步骤S208中,根据M个第一匹配结果确定目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置被确定为目标位置。
[0040] 可选地,通过M个第一匹配结果能够确定出目标位置的目标位置标识,且确定出的该目标位置即为目标终端当前所处的当前位置,或者,目标位置为目标终端当前所处的当前位置的邻近位置。
[0041] 在步骤S210中,在目标终端中显示目标定位结果,其中,目标定位结果用于表示目标位置标识或表示与目标位置标识具有对应关系的目标信息。
[0042] 可选地,在目标终端中显示目标定位结果,该目标定位结果可以表示上述目标位置标识,或者与目标位置标识具有对应关系的目标信息。
[0043] 例如,上述目标位置标识可以为店铺标识、地理标识等等,如商场中的店铺的店铺名称(对应于上述店铺标识),整个商场的商场名称(对应于上述地理标识)等。在目标位置标识为店铺标识的情况下,上述目标信息可以为该店铺标识对应的店铺的相关活动信息,如店铺的优惠活动信息等。可理解,以上仅为一种示例,本实施例在此不作任何限定。
[0044] 通过本实施例,获取覆盖了目标终端所处的当前位置的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值,然后,根据该多组WiFi信号的信号信息在预先确定的一组特征向量中确定出对应的目标特征矩阵,其中,该一组特征向量是在训练目标神经网络模型时确定出的特征向量,将该目标特征矩阵输入到目标神经网络模型中,能够输出M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果是用来表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数,最后,根据该M个第一匹配结果确定出目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置即为目标位置。通过上述技术方案,可以通过多组WiFi信号的信号信息得到目标特征矩阵,以及将目标特征矩阵输入到训练好的目标神经网络中,输出第一M个匹配结果,进而根据M个第一匹配结果来确定目标位置的目标位置标识,通过这种方式来进行室内定位,能够使室内定位的结果更加准确,提高了室内定位的准确率。
[0045] 可选地,在本实施例中,根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,包括:获取多组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*S个第一数据对,其中,每个第一数据对包括具有对应关系的WiFi标识和信号值,多组WiFi信号为S组WiFi信号,S为大于1的自然数,在一组WiFi信号中不存在与一个WiFi标识对应的信号值的情况下,一个WiFi标识在一组WiFi信号中的信号值被设置为默认值;根据N*S个第一数据对,确定出N*S个第二数据对,其中,每个第二数据对包括具有对应关系的WiFi标识和与信号值所在的取值范围对应的状态标识;对于N*S个第二数据对中的每个第二数据对,在预先确定的一组[1,Q]维的特征向量中确定出对应的一个[1,Q]维的特征向量,得到[N*S,Q]维的目标特征矩阵,其中,预先确定的一组[1,Q]维的特征向量中的每个[1,Q]维的特征向量对应一个由WiFi标识和状态标识组成的数据对,Q为大于1的自然数。
[0046] 可选地,获取多组WiFi信号中的N个不同的WiFi标识在每组WiFi信号中的信号值,可以得到N*S个第一数据对,并且,每个第一数据对中都包括一个WiFi标识,以及该一个WiFi标识对应的信号值,然后根据该N*S个第一数据对,可以得到N*S个第二数据对,该第二数据对包括一个WiFi标识,以及该WiFi标识对应的信号值的状态标识。其中,该状态标识是根据信号值的取值范围来确定的。
[0047] 然后,根据N*S个第二数据对中每个数据对,在预先确定的一组[1,Q]维的特征向量中确定出对应的一个[1,Q]维向量,最终可以得到[N*S,Q]维的目标特征矩阵。
[0048] 假设采集到5个周边WiFi片段(包括5组Wifi信号的BSSID),可以设置每个周边WiFi片段最多包含100个BSSID,对于每个BSSID&信号状态可以用一个128维来表示,那么最终可以得到一个[100*5,128]维的向量(对应于上述目标特征矩阵)。
[0049] 通过本实施例,通过上述方式可以将多组WiFi信号的信号信息转化为目标特征矩阵,进而将目标特征矩阵输入至目标神经网络模型,为后续确定目标位置标识提高了准确率。
[0050] 可选地,在本实施例中,在根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵之前,方法还包括:获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识,其中,M个采集点与M个位置标识一一对应,S为大于1的自然数,每组样本WiFi信号的信号信息包括多个样本WiFi信号的WiFi标识和信号值,每组样本WiFi信号包括N个不同WiFi标识提供的WiFi信号;为初始神经网络模型中使用到的R个[1,Q]维的特征向量设置初始值,其中,R=T*O,T为M*S组样本WiFi信号中不同WiFi标识的数量,O为预设的信号值所在的取值范围的个数,每个取值范围对应一个状态标识,R个[1,Q]维的特征向量中的每个[1,Q]维的特征向量对应由一个WiFi标识和与信号值所在的取值范围对应的一个状态标识组成的数据对;将M*S组样本WiFi信号转换为M个样本特征矩阵,其中,每个样本特征矩阵包括对应的S*N个数据对在R个[1,Q]维的特征向量中对应的S*N个[1,Q]维的特征向量,S*N个数据对中的每个数据对包括具有对应关系的WiFi标识和信号值与信号值所在的取值范围对应的一个状态标识;使用M个样本特征矩阵对初始神经网络模型进行训练,得到目标神经网络模型,其中,目标神经网络模型中使用到的R个[1,Q]维的特征向量的取值已被训练好,一组[1,Q]维的特征向量包括取值训练好的的R个[1,Q]维的特征向量,目标神经网络模型的全连接层用于输出M个位置标识对应的M个概率。
[0051] 可选地,可以在M个采集点上获取M*S组样本WiFi信号的信号信息,以及M个位置标识,并且该M个采集点和M个位置标识之间是一一对应的关系,每组样本WiFi信号的信号信息包括了多个样本WiFi信号的WiFi标识和信号值,每组样本的WiFi信号是由M个位置标识对应的位置提供的。
[0052] 可以通过初始神经网络模型训练得到目标神经网络模型,在初始神经网络模型中,会用到R个[1,Q]维的特征向量的初始值,其中,R=T*O,T可以理解为M*S组样本WiFi信号中所包含的不同WiFi标识的数量,O为预设的信号值所在的取值范围的个数,每个取值范围对应一个状态标识,该R个[1,Q]维的特征向量中的每个[1,Q]维的特征向量对应由一个WiFi标识和与信号值所在的取值范围对应的一个状态标识组成的数据对。例如,
[0053] 然后,将M*S组样本WiFi信号转换为M个样本特征矩阵,对于每个样本特征矩阵来说,可以包括对应的S*N个数据对在R个[1,Q]维的特征向量中对应的S*N个[1,Q]维的特征向量,S*N个数据对中的每个数据对包括具有对应关系的WiFi标识和信号值与信号值所在的取值范围对应的一个状态标识。其中,上述Q可以为128。
[0054] 将M个样本特征矩阵输入到初始神经网络模型进行训练,能够得到训练好的目标神经网络模型,通过该目标神经网络模型的全连接层可以输出M个位置标识对应的M个概率。
[0055] 可选地,在训练目标神经网络模型时,在采集到每个周边WiFi片段中,包括多个BSSID&信号状态,在不同的收集位置,可能只有部分一个或几个BSSID&信号状态是对定位有贡献的,为了极可能的捕捉到BSSID&信号状态的各种可能的局部组合规律,可以采用图3所示的多尺度卷积的网络结构。将M*S组样本WiFi信号转换为M个样本特征矩阵,每个样本特征矩阵包括对应的S*N个数据对在R个[1,Q]维的特征向量中对应的S*N个[1,Q]维的特征向量,将上述S*N个[1,Q]维的特征向量输入到初始神经网络模型中,经过2*2,3*3,4*4以及膨胀卷积的提取,再经过池化和注意力机制,最后拼接,输入到softmax多分类器。
[0056] 通过本实施例,能对存在多个BSSID的环境中,考虑不同BSSID的信号强度随距离变化的组合规律,提取出BSSID之间的时间序列规律,进而通过该BSSID之间的时间序列规律训练目标神经网络模型,使目标神经网络模型的输出结果更加准确。
[0057] 可选地,将M*S组样本WiFi信号转换为M个样本特征矩阵,包括:将M*S组样本WiFi信号中的每组样本WiFi信号的N个不同WiFi标识的排列顺序随机打乱,将被随机打乱WiFi标识的排列顺序的M*S组样本WiFi信号转换为M个样本特征矩阵。
[0058] 可以将M*S组样本WiFi信号中的每组样本WiFi信号的N个不同WiFi标识的排列顺序随机打乱,然后,将被随机打乱后的WiFi标识的排列顺序的M*S组样本WiFi信号转换为M个样本特征矩阵,通过这种方式,可以在M*S组样本WiFi信号的基础上,得到更加丰富的样本WiFi信号,对样本的数量进行了增强。
[0059] 通过本实施例,通过样本数据增强,能够保证样本的丰富性,全面性,保证了目标神经网络模型的准确性,进而提高了定位的准确率。
[0060] 可选地,在本实施例中,将M*S组样本WiFi信号转换为M个样本特征矩阵,包括:将M*S组样本WiFi信号中的每组样本WiFi信号的N个不同WiFi标识的排列顺序随机打乱,将被随机打乱WiFi标识的排列顺序的M*S组样本WiFi信号转换为M个样本特征矩阵。
[0061] 可以将M*S组样本WiFi信号中的每组样本WiFi信号的N个不同WiFi标识的排列顺序随机打乱,然后,将被随机打乱后的WiFi标识的排列顺序的M*S组样本WiFi信号转换为M个样本特征矩阵,通过这种方式,可以在M*S组样本WiFi信号的基础上,得到更加丰富的样本WiFi信号,对样本的数量进行了增强。
[0062] 通过本实施例,通过样本数据增强,能够保证样本的丰富性,全面性,保证了目标神经网络模型的准确性,进而提高了定位的准确率。
[0063] 可选地,在本实施例中,将M*S组样本WiFi信号转换为M个样本特征矩阵之后、且在使用M个样本特征矩阵对初始神经网络模型进行训练之前,方法还包括:对于M个样本特征矩阵中的每个样本特征矩阵,执行以下步骤:随机抽取每个样本特征矩阵中的K个数据对,将K个数据对的状态标识替换为目标状态标识,得到更新后的M个样本特征矩阵,其中,目标状态标识与K个数据的状态标识对应的取值范围相邻,K小于或等于M,K为自然数。
[0064] 可选地,在将M*S组样本WiFi信号转换为M个样本特征矩阵之后、且在使用M个样本特征矩阵对初始神经网络模型进行训练之前,可以对M个样本特征矩阵进行数据增强,来增加样本特征矩阵的数量。
[0065] 可选地,对于M个样本特征矩阵中的每个样本特征矩阵来说,可以执行以下步骤:随机抽取每个样本特征矩阵中的K个数据对,并将该K个数据对的状态标识替换为与该K个状态标识对应的取值范围相邻的目标状态标识,例如,将取值范围为[-15,-10]对应的状态标识替换为取值范围为[-10,-5]的状态标识,可以得到更新后的M个样本特征矩阵,然后通过M个样本特征矩阵和更新后的M个样本特征矩阵来训练目标神经网络模型。其中,K小于或等于M。
[0066] 可理解,以上仅为一种示例,本实施例在此不作任何限定。
[0067] 通过本实施例,通过上述替换状态标识的方式,由于相同的BSSID的不同信号值之间状态标识的相似性高于不同的BSSID状态标识之间的相似性,通过上述替换状态标识的方式,能够更加反应这种相似性,提高了训练目标神经网络模型的准确性,进而提高了室内定位的准确率。
[0068] 可选地,在本实施例中,根据M个第一匹配结果确定目标位置的目标位置标识,包括:将目标位置标识确定为M个第一匹配结果中概率最大的位置标识;或者根据M个第一匹配结果和M个第二匹配结果,确定出目标位置标识,其中,M个第二匹配结果是将第一WiFi指纹向量与预先建立的WiFi指纹库中的M个WiFi指纹向量进行匹配,得到匹配结果,第一WiFi指纹向量是根据多组WiFi信号的信号信息确定的WiFi指纹向量,M个第二匹配结果中的每个第二匹配结果用于表示M个位置标识中的一个位置标识是目标位置标识的概率。
[0069] 可选地,可以将目标位置标识确定为M个第一匹配结果中概率最大的位置标识。
[0070] 或者,还可以根据M个第一匹配结果和M个第二匹配结果来确定目标位置标识。首先,根据多组WiFi信号的信号信息确定对应的第一WiFi指纹向量,然后将该第一WiFi指纹向量和预先建立的WiFi指纹库中的WiFi指纹向量进行匹配,能够得到该M个第二匹配结果,其中,该M个第二匹配结果中的每个第二匹配结果用于表示M个位置标识中的一个位置标识是目标位置标识的概率。可理解,上述仅为一种示例,本实施例在此不作任何限定。
[0071] 通过本实施例,通过M个第一匹配结果和M个第二匹配结果共同确定目标位置标识,或者,将M个第一匹配结果中的概率最大的位置标识确定为目标位置标识的方式,不仅使得室内定位的方式更加灵活,而且提高了确定目标位置标识的准确率。
[0072] 可选地,在本实施例中,在根据M个第一匹配结果和M个第二匹配结果,确定出目标位置标识之前,方法还包括:根据多组WiFi信号的信号信息确定第一WiFi指纹向量,其中,第一WiFi指纹向量包括N个WiFi信号的信号值,N为多组WiFI信号中不同WiFI标识的数量或为预设值,N为大于1的自然数;将第一WiFi指纹向量与预先建立的WiFi指纹库中的M个WiFi指纹向量进行匹配,得到M个第二匹配结果,其中,M个WiFi指纹向量中的每个WiFi指纹向量包括在一个采集点上获取到的N个不同WiFi信号的信号值,WiFi指纹库记录了M个WiFi指纹向量与M个位置标识的一一对应关系。
[0073] 可选地,假设获取到5组WiFi信号,该5组WiFi信号总共包括N个(如100个)WiFi信号,则上述第一WiFi指纹向量可以包括N个(如100个)WiFi信号的信号值,N可以理解为多组WiFi信号中不同WiFi标识的数量或预设值,N为大于1的自然数。
[0074] 可以预先建立包括M个WiFi指纹向量的WiFi指纹库,该WiFi指纹库记录了M个WiFi指纹向量与M个位置标识的一一对应关系,对于M个WiFi指纹向量中的每个WiFi指纹向量来说,可以包括在一个采集点上获取到的N个不同WiFi信号的信号值。
[0075] 然后,将该第一WiFi指纹向量与预先建立的WiFi指纹库中的M个指纹向量进行匹配,能够得到M个第二匹配结果,该M个第二匹配结果中的每个第一匹配结果表示了M个位置标识中的一个位置标识是目标位置的目标位置标识的概率。
[0076] 例如,假设获取到了5组WiFi信号的信号值,确定该5组WiFi信号的第一WiFi指纹向量,并和指纹库中的10个WiFi指纹向量依次进行匹配,能够得到M个第二匹配结果。
[0077] 通过本实施例,通过第一WiFi指纹向量与预先建立的WiFi指纹库中的M个指纹向量进行匹配的方式,能够得到M个第二匹配结果,进而能够得到目标定位结果,提高了准确率。
[0078] 可选地,在本实施例中,根据多组WiFi信号的信号信息确定第一WiFi指纹向量,包括:获取多组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*S个信号值,其中,多组WiFi信号为S组WiFi信号,S为大于1的自然数,在一组WiFi信号中不存在与一个WiFi标识对应的信号值的情况下,一个WiFi标识在一组WiFi信号中的信号值被设置为默认值;对N*S个信号值中每个不同WiFi标识对应的S个信号值进行统计处理,得到N个WiFi信号的信号值,其中,第一WiFi指纹向量包括N个WiFi信号的信号值。
[0079] 可选地,获取多组WiFi信号的N个不同WiFi标识在每组WiFi信号中的信号值,假设获取到5组WiFi信号,N为10,则可以获取到5*10=50个信号值,其中,对于没有信号值的一个WiFi标识来说,可以将该一个WiFi标识的信号值设置为默认值。
[0080] 然后,对获取到的N*S个信号值中每个不同WiFi标识对应的S个信号值进行统计处理,能够得到N个WiFi信号的信号值,其中,第一WiFi指纹向量包括N个WiFi信号的信号值。
[0081] 可选地,在本实施例中,对N*S个信号值中每个不同WiFi标识对应的S个信号值进行统计处理,包括以下之一:对N*S个信号值中每个不同WiFi标识对应的S个信号值取最大值,得到N个WiFi信号的信号值;对N*S个信号值中每个不同WiFi标识对应的S个信号值取平均值,得到N个WiFi信号的信号值;对N*S个信号值中每个不同WiFi标识对应的S个信号值取中位数,得到N个WiFi信号的信号值。
[0082] 可选地,假设获取到5组WiFi信号,每组WiFi信号包括3个标识对应的WiFi信号,如BSSID1,BSSID2,BSSID3,第一组WiFi信号中,BSSID1的信号值为-20,BSSID2的信号值为-10,BSSID1的信号值为-15;第二组WiFi信号中,BSSID1的信号值为-10,BSSID2的信号值为-
30,BSSID1的信号值为-15……对于该BSSID1在5组WiFi信号中的5个信号值来说,可以取该BSSID1的5个信号值的最大值、或者平均值、或者中位数作为该BSSID1的信号值,对于其他BSSID2,BSSID3的信号值,可以参考BSSID1,在此不再赘述。可理解,上述仅为一种示例,本实施例在此不作任何限定。
[0083] 可选地,在本实施例中,将第一WiFi指纹向量与预先建立的WiFi指纹库中的M个WiFi指纹向量进行匹配,得到M个第二匹配结果,包括:确定第一WiFi指纹向量与M个WiFi指纹向量中的每个WiFi指纹向量之间的距离,得到M个距离;根据M个距离确定M个第二匹配结果。
[0084] 可选地,可以计算第一WiFi指纹向量和M个WiFi指纹向量中的每个WiFi指纹向量的距离,得到M个距离(如M个欧式距离),然后根据该M个距离来确定M个第二匹配结果,并且,M个距离中的距离越小,则表示M个第二匹配结果中是目标位置的目标位置标识的概率越大。
[0085] 上述距离可以为一种欧式距离,但本实施对此不作任何限定,还可以通过其他计算距离的方式来计算第一WiFi指纹向量和M个WiFi指纹向量中的每个WiFi指纹向量的距离。
[0086] 通过本实施例,通过计算欧式距离的方式,由于欧式距离可以表示第一WiFi向量和M个WiFi指纹向量的绝对距离,进而提高了确定M个第二匹配结果的准确率。
[0087] 可选地,在本实施例中,根据M个距离确定M个第二匹配结果,包括:确定M个距离中的每个距离与M个距离的和之间的比值,得到M个第一比值,其中,M个第二匹配结果包括M个第一比值,M个第一比值中的每个第一比值与1之间的差值用于表示一个第二匹配结果中表示的概率;或者对M个距离中的每个距离进行加权,得到M个更新后的距离,其中,每个距离对应的权重值为预设值;确定M个更新后的距离中的每个更新后的距离与M个更新后的距离的和之间的比值,得到M个第二比值,其中,M个第二匹配结果包括M个第二比值,M个第二比值中的每个第二比值与1之间的差值用于表示一个第二匹配结果中表示的概率。
[0088] 可选地,上述M个第一比值为M个距离中的每个距离与M个距离的和之间的比值,上述M个第二匹配结果包括该M个第一比值,该M个第一比值中的每个第一比值与1的差值可以用于表示一个位置标识是目标位置的目标位置标识的概率。
[0089] 然后对M个距离中的每个距离按照预设的权重值进行加权,得到M个更新后的距离,上述M个第二比值为M个更新后的距离中的每个更新后的距离与M个更新后的距离的和之间的比值,上述M个第二匹配结果包括该M个第一比值,该M个第二比值中的每个第二比值与1的差值可以用于表示一个位置标识是目标位置的目标位置标识的概率。
[0090] 可选地,在本实施例中,根据多组WiFi信号的信号信息确定第一WiFi指纹向量,包括:获取多组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*S个信号值,其中,多组WiFi信号为S组WiFi信号,S为大于1的自然数,在一组WiFi信号中不存在与一个WiFi标识对应的信号值的情况下,一个WiFi标识在一组WiFi信号中的信号值被设置为默认值;在N*S个信号值中分别将每个不同组中N个不同WiFi标识对应的信号值确定为一个第一WiFi指纹向量,得到S个第一WiFi指纹向量。
[0091] 可选地,获取多组WiFi信号的N个不同WiFi标识在每组WiFi信号中的信号值,假设获取到5组WiFi信号,N为3,则可以获取到5*3=30个信号值,其中,对于没有信号值的一个WiFi标识来说,可以将该一个WiFi标识的信号值设置为默认值。
[0092] 然后,假设获取到5组WiFi信号,每组WiFi信号包括3个标识对应的WiFi信号,如BSSID1,BSSID2,BSSID3,第一组WiFi信号中,BSSID1的信号值为-20,BSSID2的信号值为-10,BSSID1的信号值为-15;第二组WiFi信号中,BSSID1的信号值为-10,BSSID2的信号值为-
30,BSSID1的信号值为-15……对于其中一个WiFi向量来说,该一个WiFi向量中包括其中一组WiFi信号的BSSID1,BSSID2,BSSID3的信号值,可以得到5个第一WiFi向量。可理解,上述仅为一种示例,本实施例在此不作任何限定。
[0093] 可选地,在本实施例中,确定S个第一WiFi指纹向量分别与M个WiFi指纹向量中的每个WiFi指纹向量之间的距离,得到S*M个距离;根据S*M个距离确定M个第二匹配结果,其中,M个距离中的距离越小,M个第二匹配结果中表示的概率越大。
[0094] 可选地,可以计算S个第一WiFi指纹向量和M个WiFi指纹向量中的每个WiFi指纹向量的距离,得到S*M个距离,然后根据该S*M个距离来确定M个第二匹配结果,并且,M个欧氏距离中的距离越小,则表示M个第二匹配结果中是目标位置的目标位置标识的概率越大。可理解,以上仅为一种示例,本实施例在此不作任何限定。
[0095] 可选地,在本实施例中,根据S*M个距离确定M个第二匹配结果,包括:在S*M个距离中获取M个WiFi指纹向量中的每个WiFi指纹向量对应的S个距离;对每个WiFi指纹向量对应的S个距离进行统计处理,得到M个第一距离;确定M个第一距离中的每个第一距离与M个第一距离的和之间的比值,得到M个第三比值,其中,M个第二匹配结果包括M个第三比值,M个第三比值中的每个第三比值与1之间的差值用于表示一个第二匹配结果中表示的概率;或者,对M个第一距离中的每个第一距离进行加权,得到M个第二距离,其中,每个第一距离对应的权重值相对于S组WiFi信号中对应的一组WiFi信号的检测时间呈负相关;确定M个第二距离中的每个第二距离与M个第二距离的和之间的比值,得到M个第四比值,其中,M个第二匹配结果包括M个第四比值,M个第四比值中的每个第四比值与1之间的差值用于表示一个第二匹配结果中表示的概率。
[0096] 可选地,假设有5*10个距离,可以获取10个WiFi指纹向量中每个WiFi指纹向量对应的5个距离,然后对每个WiFi指纹向量对应的5个距离进行统计处理,得到10个第一距离。
[0097] 10个第一距离中的每个第一距离与10个第一距离的和的比值,可以得到10个第三比值,这10个第三比值与1的差值可以用于表示一个位置标识是目标位置的目标位置标识的概率。
[0098] 或者,对10个距离中的每个第一距离进行加权,得到10个第二距离,每个第一距离对应的权重值相对于S组WiFi信号中对应的一组WiFi信号的检测时间呈负相关,也就是说,检测时间越靠后对应的权重值约越大。然后,确定10个第二距离中的每个第二距离与10个第二距离的和的比值,可以得到10个第四比值,这10个第四比值与1的差值可以用于表示一个位置标识是目标位置的目标位置标识的概率。
[0099] 通过本实施例,通过计算每个WiFi指纹向量对应的S个欧氏距离,以及上述第三比值和上述第四比值,能够更加精确地确定出其中一个位置标识是目标位置的目标位置标识的概率,提高了准确率。
[0100] 可选地,在本实施中,在获取覆盖目标终端当前位置处的多组WiFi信号的信号信息之前,方法还包括:获取在M个采集点上获取到的M*P组样本WiFi信号的信号信息和M个位置标识,其中,M个采集点与M个位置标识一一对应,P为大于1的自然数,每组样本WiFi信号的信号信息包括多个样本WiFi信号的WiFi标识和信号值;根据M*P组样本WiFi信号的信号信息确定M个WiFi指纹向量;将WiFi指纹库设置为包括具有一一对应关系的M个位置标识和M个WiFi指纹向量。
[0101] 可选地,可以在M(如10)个采集点(位置)采集M*P组样本WiFi信号的信号信息和M个位置标识,对于每个采集点来说,可以采集到该采集点对应的位置标识和P组样本WiFi信号的信号信息,其中,该M个采集点和M个位置标识一一对应,每组样本WiFi信号的信号信息包括:多个样本WiFi信号的WiFi标识和信号值。上述P为自然数,如10、20等,在此不作任何限定。
[0102] 然后,根据M*P组样本WiFi信号的信号信息来确定WiFi指纹库的M个WiFi指纹向量。该WiFi指纹库包括了具有一一对应关系的M个位置标识和M个WiFi指纹向量。
[0103] 通过本实施例,通过在每个位置采集多组样本WiFi信号的信号信息,能够使得在每个位置获取到足够多的样本,为后续训练WiFi指纹库构建提供了较多的样本数据,提高了WiFi指纹库的多样性。
[0104] 可选地,在本实施例中,根据M*P组样本WiFi信号的信号信息确定M个WiFi指纹向量:对于M*P组样本WiFi信号的信号信息中每个采集点上获取到的P组样本WiFi信号的信号信息执行以下操作,得到M个WiFi指纹向量中的一个WiFi指纹向量:获取P组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*P个信号值,其中,在一组WiFi信号中不存在与一个WiFi标识对应的信号值的情况下,一个WiFi标识在一组WiFi信号中的信号值被设置为默认值;对N*P个信号值中每个不同WiFi标识对应的P个信号值进行统计处理,得到M个WiFi指纹向量中的一个WiFi指纹向量中包括的N个WiFi信号的信号值。
[0105] 可选地,在每个采集点获取到P组WiFi信号的N个不同WiFi标识在每组样本WiFi信号中的信号值,假设获取到5组样本WiFi信号的信号信息,N为10,则可以获取到5*10=50个信号值,其中,对于没有信号值的一个WiFi标识来说,可以将该一个WiFi标识的信号值设置为默认值。
[0106] 然后,对获取到的N*P个信号值中每个不同WiFi标识对应的P个信号值进行统计处理,能够得到M个WiFi指纹向量中的一个WiFi指纹向量包括的N个WiFi信号的信号值。例如,获取到5组样本WiFi信号,每组样本WiFi信号包括3个不同的WiFi标识,对于这3个不同的WiFi标识中的一个WiFi标识,可以将该一个WiFi标识在5组样本WiFi信号中的信号值进行统计处理,得到的统计值即为该一个WiFi标识的信号值,M个WiFi指纹向量中的一个WiFi指纹向量包括该统计值。
[0107] 可选地,在本实施例中,根据M个第一匹配结果和M个第二匹配结果,确定出目标位置标识,包括以下之一:将M个位置标识中的每个位置标识在M个第一匹配结果和M个第二匹配结果中对应的概率进行求和,得到与M个位置标识一一对应的M个第一概率;将目标位置标识确定为M个位置标识中第一概率最大的位置标识;或者将M个位置标识中的每个位置标识在M个第一匹配结果和M个第二匹配结果中对应的概率进行加权求和,得到与M个位置标识一一对应的M个第二概率,其中,M个第一匹配结果中的概率对应的第一权重值用于表示预先确定的使用目标神经网络模型进行位置定位的定位准确度,M个第二匹配结果中的概率对应的第二权重值用于表示预先确定的使用WiFi指纹库进行位置定位的定位准确度;将目标位置标识确定为M个位置标识中第二概率最大的位置标识。
[0108] 可选地,为了根据M个第二匹配结果和目标神经网络模型输出的M个第二匹配结果,确定出目标位置标识,可以采用以下方式。
[0109] 可选地,对于M个位置标识中的每个位置标识来说,可以将每个位置标识在M个第二匹配结果和在M个第二匹配结果中对应的概率进行求和,最终可以得到M个位置标识对应的M个第一概率,将该M个第一概率中最大的概率值对应的位置标识确定为目标位置标识。或者
[0110] 对于M个位置标识中的每个位置标识来说,可以将每个位置标识在M个第二匹配结果和在M个第二匹配结果中对应的概率进行加权求和,来得到最终的M个位置标识一一对应的M个第二概率,其中,M个第二匹配结果中的概率的第一权重值可以用来表示预先确定的通过WiFi指纹库进行定位的定位的准确率,M个第二匹配结果中的概率的第二权重值可以用来表示预先确定的使用目标神经网络模型进行位置定位的定位准确率。最终,可以将M个第二概率中最大的概率值对应的位置标识确定为目标位置的目标位置标识。
[0111] 通过本实施例,可以通过多种方式确定目标位置的目标位置标识,提高了确定目标位置的目标位置标识的多样性。
[0112] 可选地,在本实施例中,获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识,包括以下之一:获取在M个位于同一楼层的采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识;获取在M个位于不同楼层的采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识;获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识,其中,M个采集点位于同一楼层、且相互间隔;获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识,其中,M个采集点位于同一楼层的不同区域。
[0113] 可选地,上述M个采集点可以为位于同一楼层的采集点,然后在该该同一楼层的M个采集点获取M*S组样本WiFi信号的信号信息和M个位置标识。
[0114] 可选地,上述M个采集点可以为位于不同楼层的采集点,然后在该该不同楼层的M个采集点获取M*S组样本WiFi信号的信号信息和M个位置标识。
[0115] 可选地,上述M个采集点可以为位于同一楼层、且相互间隔一定的距离的采集点,然后在该该同一楼层、且相互间隔一定的距离的M个采集点获取M*S组样本WiFi信号的信号信息和M个位置标识。
[0116] 可选地,上述M个采集点可以为位于同一楼层的不同区域的采集点,然后在该同一楼层的不同区域的M个采集点获取M*S组样本WiFi信号的信号信息和M个位置标识。
[0117] 可选地,可以将上述不同采集点得到每一份样本训练一个基分类器(如上述目标神经网络模型),合成中间样本向量,并通过所有的中间样本向量来训练元分类器。
[0118] 例如,在位置标识为店铺标识的情况下,在室内环境中因受建筑物分布、人流、楼层等因素影响,在不同位置实测的WiFi信号波动规律是不一致的。有部分区域是基于WiFi信号的一般轨迹是难以区分所在店铺的,比如处于同一垂直空间相邻楼层的店铺、同楼层某个小范围的店铺以及无阻隔的中庭区域。这些位置的信号变化规律与一般的区域不一致。为了全面捕捉不同区域信号分布规律,可以先用基分类器捕捉不同空间场景的WiFi分布规律,再用集成的办法提升模型的定位效果。
[0119] 具体做法如下:按收集点的区域分布划分训练数据,比如按楼层划分、按不同的平面区域划分等,可以从一堆采集到的数据中,选择对应的数据来解决对应的问题,例如,同一楼层的数据,或,相隔店铺的数据,然后将划分出来的每一份数据训练一个基分类器(如目标神经网络模型),然后,如图4所示,通过stacking集成将图4中的5个基分类器(如图中的CLF1、CLF2、CLF3、CLF4、CLF5)的输出组合成中间样本向量(如图4中将P1、P2、P3、P4、P5),来训练得到一个元分类器(一般为逻辑回归、梯度增强树等浅层分类模型),得到元分类模型的结果。为了进一步提升效果,可以将元分类器的输出(如图4中的Meta-Classifier)和WiFi指纹定位的输出结果(如图4中的WiFi-Fingerprint-Base)做投票集成,得到最终的分类店铺定位结果(如图4中的Final Prediction)。
[0120] 通过本实施例,通过将样本数据进行分类,分别训练基分类器的方式,能够使训练出来的基分类器更加具有针对性,进而使得最终的定位结果更加准确,提高了准确率。
[0121] 可选地,在本实施例中,在目标终端中显示目标定位结果,包括:在目标位置标识为店铺标识或建筑标识的情况下,在目标应用中显示店铺标识或建筑标识;或者在目标信息为目标位置标识对应的经纬度坐标的情况下,在目标应用中显示经纬度坐标。
[0122] 可选地,如图5所示,如果目标终端处在室内的商场环境中,可以在该目标终端的目标应用上显示目标位置标识,如显示目标终端当前位置或当前位置附近的店铺标识,还可以显示当前位置对应店铺的整个商场的建筑标识。还可显示与该店铺标识对应店铺的相关的目标信息,如显示该店铺标识对应的经纬度坐标、该店铺处于整个商场的几层,等等。可理解,以上仅为一种示例,本实施例在此不作任何限定。
[0123] 可选地,如图6所示,还可以显示上述店铺的WiFi信息,包括WiFi名称,WiFi信号强度,等等。
[0124] 通过本实施例,可以通过显示目标位置标识,使用户能够清晰的知道当前位置,以及当前位置的相关信息,能够更加方便的使用户了解室内环境信息,提高了用户体验。
[0125] 可选地,在本实施例中,在目标位置标识为店铺标识的情况下,方法还包括:在目标应用中显示店铺标识对应的店铺的店铺推荐信息,其中,店铺推荐信息用于展示店铺当前推荐产品的多媒体信息,目标信息包括店铺推荐信息。
[0126] 可选地,如图7所示,在目标位置标识为店铺标识的情况下,还可以显示店铺标识对应店铺的店铺推荐信息,例如,该店铺正在促销的商品信息,该店铺当前主打的商品信息,该店铺的优惠活动,等等。可理解,以上仅为一种示例,本实施例对此不作任何限定。
[0127] 通过本实施例,能够更加便利的使店铺推广店铺活动,提高了店铺的推广力度,且便利了用户对店铺信息的获取,提高了用户体验。
[0128] 可选地,在本实施例中,在所述目标终端中显示所述目标定位结果之后,所述方法还包括:获取目标交互操作;响应于所述目标交互操作,在所述目标应用中将所述目标位置的目标位置标识修改为第一位置标识。
[0129] 可选地,在目标终端显示目标定位结果之后,如显示目标位置的目标位置名称(如店铺名称),在实际场景中,可能会存在位置名称(如店铺名称)已经更换,但是数据未及时上传到后服务器进行更新的情况,如果用户发现目标位置的位置名称(如店铺名称)存在与实际的位置名称(如店铺名称)不相符的情况,可以获取到用户的目标交互操作,并响应该目标交互操作,在目标应用中将目标位置的目标位置标识修改为正确的第一位置标识。
[0130] 通过本实施例,通过目标交互操作,可以对目标位置标识进行修改,提高了显示目标位置标识的准确率。
[0131] 可选地,在本实施例中,在所述目标终端中将所述目标位置的目标位置标识修改为第一位置标识,所述方法还包括:将所述第一位置标识发送给所述目标终端中目标应用的服务器,其中,所述目标位置标识用于在被验证通过后对所述服务器上的所述目标位置的目标位置标识进行更新。
[0132] 可选地,当在目标应用中将目标位置的目标位置标识修改为第一位置标识之后,还可以在目标应用中将第一位置标识发送给目标应用的服务器,可以使服务器在对第一位置标识进行验证,且验证通过后,再将目标位置的目标位置标识更新为第一位置标识。
[0133] 可理解,以上仅为一种示例,在此不作任何限定。
[0134] 通过本实施例,通过服务器验证并更新位置标识的方式,提高了显示目标位置的目标位置标识的准确率。
[0135] 以下结合可选示例对基于WiFi信号的室内定位方法的流程进行说明,如图8所示,该方法包括:
[0136] 需要说明的是,本实施例以在室内环境中的店铺、店铺标识为例进行说明,但不限于店铺、店铺标识。还可以为其他室内环境中,可以表示位置标识的其他标识,对此本实施例不作任何限定。
[0137] 可选地,以下为训练目标神经网路模型,以及构建WiFi指纹库的过程,具体步骤如下所述:
[0138] 步骤S801,在室内环境中,在多个店铺中的每个店铺的不同位置采集多组WiFi信号数据。
[0139] 可选地,在特定的室内环境中,采集人员可以使用特定的WiFi信号采集工具,走到每一个待采集的区域,一般是某个店铺区域,在工具中输入店铺名,若能从工具软件的WiFi列表中找到本店WiFi的ssid(WiFi名称),要求同时点选,以及输入WiFi信号的BSSID。在采集过程中,采集人员可以在每个采集区停留10-20s,确保在每个采集区域采集到足够多的连续信号数据,以完成线下位置-WiFi信号数据的采集。
[0140] 步骤S802,对采集到的多组WiFi信号数据进行预处理。
[0141] 可选地,对采集到的多组WiFi信号数据进行预处理。数据预处理分三步,第一步是筛选缓存信号。目标应用是通过Android系统提供的api读取周边WiFi信号的,而Android系统扫描周边WiFi的频率不可控,在系统连续扫描的间隔时间,上次扫描到的WiFi信号会存在缓存里。会出现目标应用连续两次读取到相同的WiFi信号值,这类缓存数据对训练定位模型是一种干扰数据。需要对在各个采集区域采集到的WiFi数据做筛选,针对连续两次上报的周边WiFi信号记录,如果存在大于一定比例的BSSID信号强度不变,则剔除后一次上报的信号记录;第二步是补齐未出现的WiFi信号值。信号采集工具会以较高的频率采集周边WiFi信号,为了降低电量消耗,工具默认只上报信号强度大于一定阈值的WiFi,因而每天采集记录实际上是当时周边WiFi环境的一个采样,再上报WiFi信号数据前,需要对每条记录做BSSID信号值的补齐,将没有出现的BSSID默认设为信号值为-100;第三步是对WiFi信号值做归一化(如取中位值/最大值/平均值)。
[0142] 步骤S803,基于经过预处理的多组WiFi信号数据构建WiFi指纹库。
[0143] 可选地,构建经过预处理的WiFi信号数据对应的WiFi指纹库。可以按不同的收集地点对WiFi数据分组,按每个收集点(如每个店铺名、对应5组BSSID的信号值,1组包括3个BSSID)、每个BSSID计算在多组中信号值的统计值(如最大值/平均值/中位数),得到每个收集点的WiFi指纹向量(如包括1店铺名,3个BSSID,得到1*3的向量)。后续测试时,要求在待测点收集多条WiFi信号记录,按指纹库同样的统计方式计算WiFi测试向量,计算与各个指纹向量的欧氏距离。例如,在一个采集点采集到5组包含不同BSSID的信号值,指纹库有10个WiFi指纹向量,依次将每组BSSID的信号值与10个WiFi指纹向量算出10个欧式距离,按加权k近邻WKNN策略完成对多组WiFi信号数据的位置确定输出结果。
[0144] 其中,加权k近邻WKNN可以理解为k加权算法(knearest neighbors,简称kNN)的改进算法。kNN,也称为k近邻算法,是数据挖掘技术中一种常用的分类算法。所谓的k最近邻,就是k个距离最近的样本点的意思,即每个样本都可以用用它最接近的k个邻居来表示。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。WKNN指带权重的kNN算法,与knn的区别在于,k个近邻点做投票的时候,按每个点离测试点的距离设置权重,按加权平均的方式投票表示测试点。
[0145] 步骤S804,将采集到的多组WiFi信号数据转化为对应的一组特征向量。
[0146] 可选地,构建店铺分类数据集:目标神经网络模型的输入是基于采集点以及采集点周边的WiFi及WiFi信号提取的特征。针对每个周边WiFi片段(每组WiFi信号的信号信息),可以采用构造参数嵌入式编码(embedding)的方式来提取特征。为了区分不同的信号状态,可以让信号值相近的WiFi状态(BSSID状态)有相似的编码向量,可以按照信号区间来义BSSID状态(WiFi状态)。正常的WiFi信号值区间在-10至-90,没有出现的信号值可以设为默认值-100,信号值大于-10的统一设置为-10,按照间隔为5dbm对信号分段,即能把信号分为18个状态。假设收集到的BSSID个数为N,则总的编码状态为18*n,称每个这样的状态为BSSID&信号状态。每个状态经过参数矩阵的映射,都能转化为特定维度的特征向量。
[0147] 例如,每个训练样本(对应一个采集点)包含5个周边WiFi片段(5组Wifi的BSSID),可以每个周边WiFi片段最多包含100个BSSID(100可以设置),每个BSSID&信号状态用一个128维的向量表示。样本的标签为所在店铺的索引。最终输入到目标神经网络模型的特征向量为(5*100,128)的矩阵。
[0148] 步骤S805,将上述一组特征向量输入到多尺度卷积神经网络模型中,训练该多尺度卷积神经网络模型。
[0149] 可选地,训练多尺度卷积神经网络模型(对应于上述目标神经网络模型):每个周边WiFi片段包含多个BSSID&信号状态,在不同的收集位置,可能只有部分一个或几个是对定位有贡献的,为了极可能的捕捉到BSSID&信号状态的各种可能的局部组合规律,可以采用如图3所示的多尺度卷积的网络结构,来获取到BSSID&信号状态的某些局部组合和实时位置的关联规律。具体地,将上述步骤S804得到的特征向量,输入到多尺度卷积神经网络模型中,经过2*2,3*3,4*4以及膨胀卷积的提取,再经过池化和注意力机制,最后拼接,输入到softmax多分类器。
[0150] 可选地,为了提升模型的鲁棒性,可以对数据进行增强。第一种是打乱每个周边WiFi片段中BSSID的顺序。第二种是BSSID&信号状态的替换,相同BSSID的不同信号值之间状态的相似性必然要高于不同BSSID状态之间的相似性。可以在embedding中,在每个周边WiFi片段中随机选取几个BSSID&信号状态,并随机替换成BSSID相同,信号值相近(+-10dbm)的其他BSSID&信号值状态。
[0151] 步骤S806,将WiFi指纹库的输出结果和多尺度卷积神经网络模型的输出结果进行集成。
[0152] 可选地,通过stacking模型将WiFi指纹库的输出结果和多尺度卷积神经网络模型的输出结果进行集成集成:在室内环境中因受建筑物分布、人流、楼层等因素影响,在不同位置实测的WiFi信号波动规律是不一致的。有部分区域是基于WiFi信号的一般轨迹是难以区分所在店铺的,比如处于同一垂直空间相邻楼层的店铺、同楼层某个小范围的店铺以及无阻隔的中庭区域。这些位置的信号变化规律与一般的区域不一致。为了全面捕捉不同区域信号分布规律,多尺度卷积神经网络模型在训练时可以结合stacking的集成学习策略。先用基分类器捕捉不同空间场景的WiFi分布规律,再用集成的办法提升模型的定位效果。
[0153] 在通过上述方式训练好目标神经网路模型,以及构建好WiFi指纹库后,用户在室内环境中,可以按照以下步骤实现室内定位:
[0154] 步骤S807,在室内环境中,通过目标终端获取当前位置处的多组WiFi信号的信号信息。
[0155] 步骤S808,根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵;根据多组WiFi信号的信号信息确定第一WiFi指纹向量。
[0156] 步骤S809,将目标特征矩阵输入到目标神经网络模型,得到目标神经网络模型输出的M个第一匹配结果;将第一WiFi指纹向量与预先建立的WiFi指纹库中的M个WiFi指纹向量进行匹配,得到M个第二匹配结果。
[0157] 步骤S810,根据M个第一匹配结果和M个第二匹配结果,确定出目标位置标识。
[0158] 步骤S811,在目标终端中显示目标定位结果。
[0159] 可选地,目标定位结果用于表示目标位置标识或表示与目标位置标识具有对应关系的目标信息。
[0160] 通过本实施例,由于在室内环境中因受建筑物分布、人流、楼层等因素影响,在不同位置实测的WiFi信号波动规律是不一致的。有部分区域是基于WiFi信号的一般轨迹是难以区分所在店铺的,比如同个垂面相邻楼层的店铺、同楼层某个小范围的店铺以及无阻隔的中庭区域。这些位置的信号变化规律与一般的区域不一致,通过上述方式,可以结合WiFi指纹向量的定位结果和目标神经网络模型的输出结果,来得到最终的店铺分类结果,提高了室内定位的准确率。
[0161] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0162] 根据本发明实施例的又一方面,还提供了一种基于WiFi信号的室内定位装置,如图9所示,该装置包括:
[0163] 第一获取单元902,用于获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值;
[0164] 第一确定单元904,用于根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,其中,一组特征向量是在训练得到目标神经网络模型时确定出的特征向量;
[0165] 第二确定单元906,用于将目标特征矩阵输入到目标神经网络模型,得到目标神经网络模型输出的M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数;
[0166] 第三确定单元908,用于根据M个第一匹配结果确定目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置被确定为目标位置;
[0167] 第一显示单元910,用于在目标终端中显示目标定位结果,其中,目标定位结果用于表示目标位置标识或表示与目标位置标识具有对应关系的目标信息。
[0168] 通过本实施例,获取覆盖了目标终端所处的当前位置的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值,然后,根据该多组WiFi信号的信号信息在预先确定的一组特征向量中确定出对应的目标特征矩阵,其中,该一组特征向量是在训练目标神经网络模型时确定出的特征向量,将该目标特征矩阵输入到目标神经网络模型中,能够输出M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果是用来表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数,最后,根据该M个第一匹配结果确定出目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置即为目标位置。通过上述技术方案,可以通过多组WiFi信号的信号信息得到目标特征矩阵,以及将目标特征矩阵输入到训练好的目标神经网络中,输出第一M个匹配结果,进而根据M个第一匹配结果来确定目标位置的目标位置标识,通过这种方式来进行室内定位,能够使室内定位的结果更加准确,提高了室内定位的准确率。
[0169] 作为一种可选的技术方案,上述第一确定单元,包括:第一获取模块,用于获取多组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*S个第一数据对,其中,每个第一数据对包括具有对应关系的WiFi标识和信号值,多组WiFi信号为S组WiFi信号,S为大于1的自然数,在一组WiFi信号中不存在与一个WiFi标识对应的信号值的情况下,一个WiFi标识在一组WiFi信号中的信号值被设置为默认值;第一确定模块,用于根据N*S个第一数据对,确定出N*S个第二数据对,其中,每个第二数据对包括具有对应关系的WiFi标识和与信号值所在的取值范围对应的状态标识;第二确定模块,用于对于N*S个第二数据对中的每个第二数据对,在预先确定的一组[1,Q]维的特征向量中确定出对应的一个[1,Q]维的特征向量,得到[N*S,Q]维的目标特征矩阵,其中,预先确定的一组[1,Q]维的特征向量中的每个[1,Q]维的特征向量对应一个由WiFi标识和状态标识组成的数据对,Q为大于1的自然数。
[0170] 作为一种可选的技术方案,上述装置还包括:第二获取单元,用于在根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵之前,获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识,其中,M个采集点与M个位置标识一一对应,S为大于1的自然数,每组样本WiFi信号的信号信息包括多个样本WiFi信号的WiFi标识和信号值,每组样本WiFi信号包括N个不同WiFi标识提供的WiFi信号;设置单元,用于为初始神经网络模型中使用到的R个[1,Q]维的特征向量设置初始值,其中,R=T*O,T为M*S组样本WiFi信号中不同WiFi标识的数量,O为预设的信号值所在的取值范围的个数,每个取值范围对应一个状态标识,R个[1,Q]维的特征向量中的每个[1,Q]维的特征向量对应由一个WiFi标识和与信号值所在的取值范围对应的一个状态标识组成的数据对;转换单元,用于将M*S组样本WiFi信号转换为M个样本特征矩阵,其中,每个样本特征矩阵包括对应的S*N个数据对在R个[1,Q]维的特征向量中对应的S*N个[1,Q]维的特征向量,S*N个数据对中的每个数据对包括具有对应关系的WiFi标识和信号值与信号值所在的取值范围对应的一个状态标识;训练单元,用于使用M个样本特征矩阵对初始神经网络模型进行训练,得到目标神经网络模型,其中,目标神经网络模型中使用到的R个[1,Q]维的特征向量的取值已被训练好,一组[1,Q]维的特征向量包括取值训练好的的R个[1,Q]维的特征向量,目标神经网络模型的全连接层用于输出M个位置标识对应的M个概率。
[0171] 作为一种可选的技术方案,上述转换单元,还用于将M*S组样本WiFi信号中的每组样本WiFi信号的N个不同WiFi标识的排列顺序随机打乱,将被随机打乱WiFi标识的排列顺序的M*S组样本WiFi信号转换为M个样本特征矩阵。
[0172] 作为一种可选的技术方案,上述装置还包括:替换单元,用于将M*S组样本WiFi信号转换为M个样本特征矩阵之后、且在使用M个样本特征矩阵对初始神经网络模型进行训练之前,对于M个样本特征矩阵中的每个样本特征矩阵,执行以下步骤:随机抽取每个样本特征矩阵中的K个数据对,将K个数据对的状态标识替换为目标状态标识,得到更新后的M个样本特征矩阵,其中,目标状态标识与K个数据的状态标识对应的取值范围相邻,K小于或等于M,K为自然数。
[0173] 作为一种可选的技术方案,上述第三确定单元,包括;第三确定模块,用于将目标位置标识确定为M个第一匹配结果中概率最大的位置标识;或者第四确定模块,用于根据M个第一匹配结果和M个第二匹配结果,确定出目标位置标识,其中,M个第二匹配结果是将第一WiFi指纹向量与预先建立的WiFi指纹库中的M个WiFi指纹向量进行匹配,得到匹配结果,第一WiFi指纹向量是根据多组WiFi信号的信号信息确定的WiFi指纹向量,M个第二匹配结果中的每个第二匹配结果用于表示M个位置标识中的一个位置标识是目标位置标识的概率。
[0174] 作为一种可选的技术方案,上述装置还包括:第四确定单元,用于在根据M个第一匹配结果和M个第二匹配结果,确定出目标位置标识之前,根据多组WiFi信号的信号信息确定第一WiFi指纹向量,其中,第一WiFi指纹向量包括N个WiFi信号的信号值,N为多组WiFI信号中不同WiFI标识的数量或为预设值,N为大于1的自然数;匹配单元,用于将第一WiFi指纹向量与预先建立的WiFi指纹库中的M个WiFi指纹向量进行匹配,得到M个第二匹配结果,其中,M个WiFi指纹向量中的每个WiFi指纹向量包括在一个采集点上获取到的N个不同WiFi信号的信号值,WiFi指纹库记录了M个WiFi指纹向量与M个位置标识的一一对应关系。
[0175] 作为一种可选地的技术方案,上述第四确定单元,包括:第二获取模块,用于获取多组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*S个信号值,其中,多组WiFi信号为S组WiFi信号,S为大于1的自然数,在一组WiFi信号中不存在与一个WiFi标识对应的信号值的情况下,一个WiFi标识在一组WiFi信号中的信号值被设置为默认值;第一处理模块,用于对N*S个信号值中每个不同WiFi标识对应的S个信号值进行统计处理,得到N个WiFi信号的信号值,其中,第一WiFi指纹向量包括N个WiFi信号的信号值。
[0176] 作为一种可选的技术方案,上述第一处理模块,还用于对N*S个信号值中每个不同WiFi标识对应的S个信号值取最大值,得到N个WiFi信号的信号值;对N*S个信号值中每个不同WiFi标识对应的S个信号值取平均值,得到N个WiFi信号的信号值;对N*S个信号值中每个不同WiFi标识对应的S个信号值取中位数,得到N个WiFi信号的信号值。
[0177] 作为一种可选的技术方案,上述匹配单元,包括:第五确定模块,用于确定第一WiFi指纹向量与M个WiFi指纹向量中的每个WiFi指纹向量之间的距离,得到M个距离;第六确定模块,用于根据M个距离确定M个第二匹配结果。
[0178] 作为一种可选的技术方案,上述第六确定模块,还用于确定M个距离中的每个距离与M个距离的和之间的比值,得到M个第一比值,其中,M个第二匹配结果包括M个第一比值,M个第一比值中的每个第一比值与1之间的差值用于表示一个第二匹配结果中表示的概率;或者,对M个距离中的每个距离进行加权,得到M个更新后的距离,其中,每个距离对应的权重值为预设值;确定M个更新后的距离中的每个更新后的距离与M个更新后的距离的和之间的比值,得到M个第二比值,其中,M个第二匹配结果包括M个第二比值,M个第二比值中的每个第二比值与1之间的差值用于表示一个第二匹配结果中表示的概率。
[0179] 作为一种可选的技术方案,上述装置还包括:第三获取单元,用于获取在M个采集点上获取到的M*P组样本WiFi信号的信号信息和M个位置标识,其中,M个采集点与M个位置标识一一对应,P为大于1的自然数,每组样本WiFi信号的信号信息包括多个样本WiFi信号的WiFi标识和信号值;第五确定单元,用于根据M*P组样本WiFi信号的信号信息确定M个WiFi指纹向量;第二设置单元,用于将WiFi指纹库设置为包括具有一一对应关系的M个位置标识和M个WiFi指纹向量。
[0180] 作为一种可选的技术方案,上述第五确定单元,包括:第三获取模块,用于对于M*P组样本WiFi信号的信号信息中每个采集点上获取到的P组样本WiFi信号的信号信息执行以下操作,得到M个WiFi指纹向量中的一个WiFi指纹向量:第四获取模块,用于获取P组WiFI信号中的N个不同WiFi标识在每组WiFI信号中的信号值,得到N*P个信号值,其中,在一组WiFi信号中不存在与一个WiFi标识对应的信号值的情况下,一个WiFi标识在一组WiFi信号中的信号值被设置为默认值;第二处理模块,用于对N*P个信号值中每个不同WiFi标识对应的P个信号值进行统计处理,得到M个WiFi指纹向量中的一个WiFi指纹向量中包括的N个WiFi信号的信号值。
[0181] 作为一种可选的技术方案,上述第四确定模块,还用于将M个位置标识中的每个位置标识在M个第一匹配结果和M个第二匹配结果中对应的概率进行求和,得到与M个位置标识一一对应的M个第一概率;将目标位置标识确定为M个位置标识中第一概率最大的位置标识;或者,将M个位置标识中的每个位置标识在M个第一匹配结果和M个第二匹配结果中对应的概率进行加权求和,得到与M个位置标识一一对应的M个第二概率,其中,M个第一匹配结果中的概率对应的第一权重值用于表示预先确定的使用目标神经网络模型进行位置定位的定位准确度,M个第二匹配结果中的概率对应的第二权重值用于表示预先确定的使用WiFi指纹库进行位置定位的定位准确度;将目标位置标识确定为M个位置标识中第二概率最大的位置标识。
[0182] 作为一种可选的技术方案,上述第二获取单元,包括:第五获取模块,用于获取在M个位于同一楼层的采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识;第六获取模块,用于获取在M个位于不同楼层的采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识;第七获取模块,用于获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识,其中,M个采集点位于同一楼层、且相互间隔;第八获取模块,用于获取在M个采集点上获取到的M*S组样本WiFi信号的信号信息和M个位置标识,其中,M个采集点位于同一楼层的不同区域。
[0183] 作为一种可选的技术方案,上述第一显示单元,包括:第一显示模块,用于在目标位置标识为店铺标识或建筑标识的情况下,在目标应用中显示店铺标识或建筑标识;或者第二显示模块,用于在目标信息为目标位置标识对应的经纬度坐标的情况下,在目标应用中显示经纬度坐标。
[0184] 作为一种可选的技术方案,上述装置还包括:第二显示单元,用于在目标应用中显示店铺标识对应的店铺的店铺推荐信息,其中,店铺推荐信息用于展示店铺当前推荐产品的多媒体信息,目标信息包括店铺推荐信息。
[0185] 根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0186] 可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0187] S1,获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值;
[0188] S2,根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,其中,一组特征向量是在训练得到目标神经网络模型时确定出的特征向量;
[0189] S3,将目标特征矩阵输入到目标神经网络模型,得到目标神经网络模型输出的M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数;
[0190] S4,根据M个第一匹配结果确定目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置被确定为目标位置;
[0191] S5,在目标终端中显示目标定位结果,其中,目标定位结果用于表示目标位置标识或表示与目标位置标识具有对应关系的目标信息。
[0192] 可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0193] 可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取器)、磁盘或光盘等。
[0194] 根据本发明实施例的又一个方面,还提供了一种用于实施上述基于WiFi信号的室内定位方法的电子装置,如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
[0195] 可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
[0196] 可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0197] S1,获取覆盖目标终端当前位置处的多组WiFi信号的信号信息,其中,每组WiFi信号的信号信息包括多个WiFi信号的WiFi标识和信号值;
[0198] S2,根据多组WiFi信号的信号信息,在预先确定的一组特征向量中确定对应的目标特征矩阵,其中,一组特征向量是在训练得到目标神经网络模型时确定出的特征向量;
[0199] S3,将目标特征矩阵输入到目标神经网络模型,得到目标神经网络模型输出的M个第一匹配结果,其中,M个第一匹配结果中的每个第一匹配结果用于表示M个位置标识中的一个位置标识是目标位置的目标位置标识的概率,M为大于1的自然数;
[0200] S4,根据M个第一匹配结果确定目标位置的目标位置标识,其中,当前位置被确定为与目标位置相邻或者当前位置被确定为目标位置;
[0201] S5,在目标终端中显示目标定位结果,其中,目标定位结果用于表示目标位置标识或表示与目标位置标识具有对应关系的目标信息。
[0202] 可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
[0203] 其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的基于WiFi信号的室内定位方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于WiFi信号的室内定位方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述基于WiFi信号的室内定位装置中的第一获取单元902、第一确定单元904、第二确定单元906、第三确定单元908、第一显示单元910。此外,还可以包括但不限于上述基于WiFi信号的室内定位装置中的其他模块单元,本示例中不再赘述。
[0204] 可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
[0205] 此外,上述电子装置还包括:显示器1008,用于在目标终端中显示目标定位结果;和连接总线1010,用于连接上述电子装置中的各个模块部件。
[0206] 在其他实施例中,上述终端或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
[0207] 可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
[0208] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0209] 上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
[0210] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0211] 在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0212] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0213] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0214] 以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。