定位方法、装置、服务器及存储介质与流程

文档序号:20040867发布日期:2020-02-28 11:53阅读:128来源:国知局
定位方法、装置、服务器及存储介质与流程

本申请涉及定位技术领域,特别涉及一种定位方法、装置、服务器及存储介质。



背景技术:

目前,定位技术在日常生活中的应用越来越广泛。比如,用户在使用手机进行导航时,需要使用定位技术对手机的位置进行定位。并且,为了实现对手机进行三维空间的定位,目前常利用wifi(wirelessfidelity,无线局域网)进行定位。

相关技术中,在利用wifi进行定位时,需要建立位置指纹库,位置指纹库中包括多个位置指纹。当手机需要进行定位时,手机搜索wifi,将搜索到的wifi的标识和信号强度发送给服务器。服务器根据该wifi的标识和信号强度,从位置指纹库中匹配出位置指纹,将匹配出的位置指纹的位置返回给手机。



技术实现要素:

本申请实施例提供了一种定位方法、装置、服务器及存储介质,能够解决定位准确率低的问题。所述技术方案如下:

根据本申请实施例的一方面,提供了一种定位方法,所述方法包括:

接收第一终端的第一定位请求,根据所述第一定位请求从位置指纹库中选择多个第一位置指纹;

分别提取每个第一位置指纹的多个第一网络特征值;

对于每个第一位置指纹,将所述第一位置指纹的多个第一网络特征值输入第一特征权重模型中,得到所述第一位置指纹的每个第一网络特征值的权重,根据所述第一位置指纹的每个第一网络特征值的权重,确定所述第一位置指纹与所述第一终端的位置匹配度;

根据所述每个第一位置指纹与所述第一终端的位置匹配度,向所述第一终端返回匹配度最高的目标位置指纹的第一位置。

在一种可能的实现方式中,所述方法还包括:

获取样本数据,所述样本数据包括第二终端的第二位置、多个样本位置指纹的第三位置分别与所述第二位置之间的距离;

提取每个样本位置指纹的多个第一网络特征值;

根据所述第二位置、所述每个样本位置指纹的多个第一网络特征值和所述多个样本位置指纹的第三位置分别与所述第二位置之间的距离,对第二特征权重模型进行训练,得到所述第一特征权重模型。

在另一种可能的实现方式中,所述根据所述第二位置、所述每个样本位置指纹的多个第一网络特征值和所述多个样本位置指纹的第三位置分别与所述第二位置之间的距离,对第二特征权重模型进行训练,得到所述第一特征权重模型,包括:

对于一组样本位置指纹,将所述一组样本位置指纹中的每个样本位置指纹的多个第一网络特征值输入所述第二特征权重模型中,输出所述每个样本位置指纹的每个第一网络特征值的权重;

根据所述每个样本位置指纹的每个第一网络特征值的权重,确定所述一组样本位置指纹分别与所述第二位置之间的位置匹配度;

根据所述一组样本位置指纹分别与所述第二位置之间的位置匹配度,确定所述一组样本位置指纹与所述第二位置的概率差值;

根据所述一组样本位置指纹与所述第二位置的概率差值,调整所述第二特征权重模型的模型参数,得到所述第一特征权重模型。

在另一种可能的实现方式中,所述方法还包括:

根据多个样本位置指纹的第三位置分别与所述第二位置之间的距离,从所述多个样本位置指纹中选择距离差大于第一预设阈值的两个样本位置指纹;

将选择的两个样本位置指纹组成所述一组样本位置指纹。

在另一种可能的实现方式中,所述根据所述一组组样本位置指纹与所述第二位置的概率差值,调整所述第二特征权重模型的模型参数,得到所述第一特征权重模型,包括:

根据所述一组样本位置指纹中每个样本位置指纹的第三位置分别与所述第二位置之间的距离,确定所述一组样本位置指纹中每个样本位置指纹的权重;

根据所述一组样本位置指纹中每个样本位置指纹的权重,以及所述一组样本位置指纹与所述第二位置的概率差值,确定所述第二特征权重模型的损失函数值;

根据所述第二特征权重模型的损失函数值,调整所述第二特征权重模型的模型参数,得到所述第一特征权重模型。

在另一种可能的实现方式中,所述第一定位请求中包括所述第一终端搜索到的无线网络的第二网络特征值;

所述根据所述第一定位请求从位置指纹库中选择多个第一位置指纹,包括:

从所述位置指纹库中确定所述无线网络的第二网络特征值所在的第二位置指纹;

根据所述无线网络的第二网络特征值和所述第二位置指纹,从所述位置指纹库中选择所述多个第一位置指纹。

在另一种可能的实现方式中,所述根据所述每个第一位置指纹与所述第一终端的位置匹配度,向所述第一终端返回匹配度最高的目标位置指纹的第一位置,包括:

根据所述每个第一位置指纹与所述第一终端的位置匹配度,从所述多个第一位置指纹中选择匹配度最高的目标位置指纹;

确定所述目标位置指纹的第一位置;

向所述第一终端返回所述第一位置。

根据本申请实施例的另一方面,提供了一种定位装置,所述装置包括:

接收模块,用于接收第一终端的第一定位请求;

选择模块,用于根据所述第一定位请求从位置指纹库中选择多个第一位置指纹;

提取模块,用于分别提取每个第一位置指纹的多个第一网络特征值;

确定模块,用于对于每个第一位置指纹,将所述第一位置指纹的多个第一网络特征值输入第一特征权重模型中,得到所述第一位置指纹的每个第一网络特征值的权重,根据所述第一位置指纹的每个第一网络特征值的权重,确定所述第一位置指纹与所述第一终端的位置匹配度;

返回模块,用于根据所述每个第一位置指纹与所述第一终端的位置匹配度,向所述第一终端返回匹配度最高的目标位置指纹的第一位置。

在一种可能的实现方式中,所述装置还包括:

获取模块,用于获取样本数据,所述样本数据包括第二终端的第二位置、多个样本位置指纹的第三位置分别与所述第二位置之间的距离;

所述提取模块,还用于提取每个样本位置指纹的多个第一网络特征值;

训练模块,用于根据所述第二位置、所述每个样本位置指纹的多个第一网络特征值和所述多个样本位置指纹的第三位置分别与所述第二位置之间的距离,对第二特征权重模型进行训练,得到所述第一特征权重模型。

在另一种可能的实现方式中,所述训练模块,还用于对于一组样本位置指纹,将所述一组样本位置指纹中的每个样本位置指纹的多个第一网络特征值输入所述第二特征权重模型中,输出所述每个样本位置指纹的每个第一网络特征值的权重;根据所述每个样本位置指纹的每个第一网络特征值的权重,确定所述一组样本位置指纹分别与所述第二位置之间的位置匹配度;根据所述一组样本位置指纹分别与所述第二位置之间的位置匹配度,确定所述一组样本位置指纹与所述第二位置的概率差值;根据所述一组样本位置指纹与所述第二位置的概率差值,调整所述第二特征权重模型的模型参数,得到所述第一特征权重模型。

在另一种可能的实现方式中,所述训练模块,还用于根据多个样本位置指纹的第三位置分别与所述第二位置之间的距离,从所述多个样本位置指纹中选择距离差大于第一预设阈值的两个样本位置指纹;将选择的两个样本位置指纹组成所述一组样本位置指纹。

在另一种可能的实现方式中,所述训练模块,还用于根据所述一组样本位置指纹中每个样本位置指纹的第三位置分别与所述第二位置之间的距离,确定所述一组样本位置指纹中每个样本位置指纹的权重;根据所述一组样本位置指纹中每个样本位置指纹的权重,以及所述一组样本位置指纹与所述第二位置的概率差值,确定所述第二特征权重模型的损失函数值;根据所述第二特征权重模型的损失函数值,调整所述第二特征权重模型的模型参数,得到所述第一特征权重模型。

在另一种可能的实现方式中,所述第一定位请求中包括所述第一终端搜索到的无线网络的第二网络特征值;

所述选择模块,还用于从所述位置指纹库中确定所述无线网络的第二网络特征值所在的第二位置指纹;根据所述无线网络的第二网络特征值和所述第二位置指纹,从所述位置指纹库中选择所述多个第一位置指纹。

在另一种可能的实现方式中,所述返回模块,还用于根据所述每个第一位置指纹与所述第一终端的位置匹配度,从所述多个第一位置指纹中选择匹配度最高的目标位置指纹;确定所述目标位置指纹的第一位置;向所述第一终端返回所述第一位置。

根据本申请实施例的另一方面,提供了一种服务器,所述服务器包括:处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述任一可能实现方式所述的定位方法中的操作。

根据本申请实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并具有以实现如所述定位方法中所执行的操作。

在本申请实施例中,接收第一终端的第一定位请求,根据第一定位请求从位置指纹库中选择多个第一位置指纹;分别提取每个第一位置指纹的多个第一网络特征值;对于每个第一位置指纹,将第一位置指纹的多个第一网络特征值输入第一特征权重模型中,得到第一位置指纹的每个第一网络特征值的权重,根据第一位置指纹的每个第一网络特征值的权重,确定第一位置指纹与所述第一终端的位置匹配度;根据每个第一位置指纹与第一终端的位置匹配度,向第一终端返回匹配度最高的目标位置指纹的第一位置。由于本申请根据第一定位请求对第一终端进行粗定位,然后确定与第一终端的位置相匹配的多个位置指纹,通过第一特征权重模型确定每个第一网络特征的权重,根据每个位置指纹的每个第一网络特征和每个第一网络特征的权重,确定匹配度最高的位置指纹,从而使得定位更加准确。并且,本申请中通过第一特征权重模型确定每个第一网络特征的权重,确定出的权重更准确,进而进一步提高了定位的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种实施环境的示意图;

图2是本申请实施例提供的一种定位方法的流程图;

图3是本申请实施例提供的一种服务器进行模型训练得到第一特征权重模型的示意图;

图4是本申请实施例提供的一种服务器根据第一特征权重模型定位第一终端的示意图;

图5是本申请实施例提供的一种测试样品个数的定位误差累计分布曲线图;

图6是本申请实施例提供的一种训练第一特征权重模型的流程图;

图7是本申请实施例提供的一种定位装置的结构示意图;

图8是本申请实施例提供的一种服务器的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

随着计算机技术的发展,应用程序应用在人们生活的方方面面,一个应用程序的用户规模常常体现着这个应用程序的价值。因此,对应用程序的用户规模进行预估,根据该应用程序的用户规模确定需要对该应用程序投入的资源有着重要的意义。需要进行规模预估的应用程序可以为定位应用、社交应用、视频应用等。

图1是本申请实施例提供的一种实施环境的示意图。参见图1,该实施环境中包括第一终端101和服务器102。

第一终端101和服务器102之间通过无线或者有线网络连接。并且,第一终端101上可以安装有服务器102提供服务的客户端,第一终端101对应的用户可以通过该客户端与服务器102之间实现例如数据传输、消息交互等功能。客户端可以为第一终端101上安装的包括定位功能的客户端。例如,该客户端可以为电子地图应用、社交应用、浏览器、打车应用或者外卖应用等。

第一终端101可以为电脑、手机、平板电脑或者其他电子设备。服务器102可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。

在定位时,第一终端101向服务器102发送第一定位请求;服务器102接收第一定位请求,根据第一定位请求对第一终端101进行定位,确定出第一终端101的第一位置,向第一终端101返回第一位置。

本申请实施例的定位方法可以广泛地应用在各种实际应用场景中,以下结合四种示例性应用场景对本申请实施例的实际技术效果进行阐述:

(1)可以应用在导航的场景中:在第一终端101使用电子地图应用时,第一终端101向服务器102发送第一定位请求;服务器102根据第一定位请求对第一终端101进行定位,确定出第一终端101的第一位置,向第一终端101返回第一位置;第一终端101将第一位置显示在电子地图应用中,以及更新当前的导航路线。

(2)可以应用在外卖的场景中:第一终端101可以为骑手使用的终端;当定外卖的用户在外卖应用中下单后,服务器102就可以按照本申请实施例提供的定位方法,对第一终端101进行定位,将第一终端101的第一位置发送给第三终端。第三终端可以为定外卖的用户使用的终端;这样用户就可以及时查看第一终端101的位置,从而及时了解骑手与目标地址之间的距离。

(3)可以应用在打车的场景中:第一终端101可以为司机使用的终端;当乘客在打车应用中下单后,服务器102就可以按照本申请实施例提供的定位方法,对第一终端101进行定位,将第一终端101的第一位置发送给第三终端。第三终端可以为乘客使用的终端;这样乘客就可以及时查看车辆的位置,从而及时了解车辆与上车位置之间的距离。

(4)可以应用在乘坐公交的场景中:第一终端101可以为公交车的车载终端。服务器102可以按照本申请实施例提供的定位方法,实时对第一终端101进行定位,将第一终端101的第一位置发送给第三终端。第三终端可以为公交站牌的显示终端;这样乘客就可以通过第三终端及时查看公交车的位置,从而及时了解公交车与公交站牌之间的距离。

图2是本申请实施例提供的一种定位方法的流程图。参见图2,该定位方法包括以下步骤:

201、第一终端向服务器发送第一定位请求。

当用户在使用第一终端进行定位时,第一终端搜索周围的无线网络,获取该无线网络的第二网络特征值,向服务器发送第一定位请求。该第一定位请求中可以包括搜索到的无线网络的第二网络特征值。

其中,无线网络为wifi网络。第二网络特征值可以为wifi信号强度、wifi指纹密度、wifi稳定性、wifi辐射范围、wifi指纹密度、wifi数量中的至少一个。

例如,第一终端搜索到的无线网络为wifi**,且第二网络特征值可以为wifi信号强度为3;则第一定位请求中包括wifi**和wifi信号强度为3。

202、服务器接收第一终端的第一定位请求,根据第一定位请求从位置指纹库中选择多个第一位置指纹。

位置指纹库中包括多个位置指纹,对于每个位置指纹,该位置指纹包括一个位置和该位置的指纹信息,指纹信息可以包括该位置的至少一个无线网络的网络特征值(第一网络特征值和/或第二网络特征值)。其中,相邻两个位置指纹的位置之间的间距可以是2m,也可以是3m,还可以是4m;在本申请实施例中,对位置指纹库中的各个位置指纹的位置之间的间距不作具体限定,可以根据需要进行设置并更改。

相应的,步骤202服务器接收第一终端的第一定位请求,根据第一定位请求从位置指纹库中选择多个第一位置指纹,可以通过以下步骤(a)至(b)实现,包括:

(a)服务器从位置指纹库中确定无线网络的第二网络特征值所在的第二位置指纹。

位置指纹库中包括多个位置指纹,每个位置指纹中包括位置和该位置的指纹信息,指纹信息中包括无线网络的第二网络特征值;相应的,服务器根据第一定位请求携带的无线网络的第二特征值,从位置指纹中确定该无线网络的第二网络特征值所在的第二位置指纹。

(b)服务器根据无线网络的第二网络特征值和该第二位置指纹,从位置指纹库中选择多个第一位置指纹。

对于位置指纹库中的每个位置指纹;服务器确定该位置指纹相较于该第二位置指纹,该位置指纹的第二网络特征值是否为该无线网络的第二网络特征值;如果该位置指纹的第二网络特征值为该无线网络的第二网络特征值,将该位置指纹确定为第一位置指纹;如果该位置指纹的第二网络特征值不为该无线网络的第二网络特征值,确定该位置指纹不为第一位置指纹。服务器遍历完指纹库中的所有位置指纹,即可选择出多个第一位置指纹。

服务器也可以不遍历位置指纹库中的每个位置指纹,而只遍历与第二位置指纹距离比较近的位置指纹。相应的,服务器根据第二位置指纹,从位置指纹库中选择与第二位置指纹的位置之间的距离小于第二预设阈值的多个第三位置指纹,从第三位置指纹中选择多个第一位置指纹。其中,服务器从第三位置指纹中选择多个第一位置指纹的过程和服务器从位置指纹库中选择出多个第一位置指纹的过程相同,在此不再赘述。

在本申请实施例中,服务器先从位置指纹库中选择出距离第二位置指纹的位置比较近的多个第三位置指纹,然后从多个第三位置指纹中选择出多个第一位置指纹,能够减少计算量,提高效率。

在一种可能的实现方式中,第一定位请求中只包括一个无线网络的第二网络特征值。比如,当第一定位请求中只包括wifi信号强度时,则服务器根据位置指纹的wifi信号强度与目标的wifi信号强度的匹配度,从位置指纹库中选择多个第一位置指纹。

比如,当第一定位请求中只包括wifi指纹密度时,则处理器根据位置指纹的wifi指纹密度与目标的wifi指纹密度的匹配度,从位置指纹库中选择多个第一位置指纹。

比如,当第一定位请求中只包括wifi稳定性时,则服务器根据位置指纹的wifi稳定性与目标的wifi稳定性的匹配度,从位置指纹库中选择多个第一位置指纹。

比如,当第一定位请求中只包括wifi辐射范围时,则服务器根据位置指纹的wifi辐射范围与目标的wifi辐射的匹配度,从位置指纹库中选择多个第一位置指纹。

需要说明的一点是,多个第一位置指纹的个数可以是5个,也可以是10个,还可以是15个;在本申请实施例中,对第一位置指纹的个数不作具体限定,可以根据需要进行设置并更改。比如,第一位置指纹的个数是5个,服务器从位置指纹库中选择匹配度高的前5个位置指纹。比如,第一位置指纹的个数是10个,则服务器从位置指纹库中选择匹配度高的前10个位置指纹。

在发明实施例中,第一定位请求中包括一个无线网络的第二网络特征值,服务器接收第一定位请求,根据一个无线网络的第二网络特征值对第一终端进行定位,提高了定位了速度。

在另一种可能的实现方式中,第一定位请求中包括两个或多个无线网络的第二网络特征值。比如,当第一定位请求中包括wifi信号强度和wifi指纹密度时,则服务器根据位置指纹的wifi信号强度和wifi指纹密度与目标的wifi信号强度和wifi指纹密度的匹配度,从位置指纹库中选择多个第一位置指纹。

比如,当第一定位请求中包括wifi信号强度和wifi稳定性时,则处理器根据位置指纹的wifi信号强度和wifi稳定性与目标的wifi信号强度和wifi稳定性的匹配度,从位置指纹库中选择多个第一位置指纹。

比如,当第一定位请求中只包括wifi信号强度和wifi辐射范围时,则服务器根据位置指纹的wifi信号强度和wifi辐射范围与目标的wifi信号强度和wifi辐射范围的匹配度,从位置指纹库中选择多个第一位置指纹。

在发明实施例中,第一定位请求中包括两个或多个无线网络的第二网络特征值,服务器接收第一定位请求,根据两个或多个无线网络的第二网络特征值对第一终端进行定位,提高了定位了准确度。

203、服务器分别提取每个第一位置指纹的多个第一网络特征值。

其中,第一网络特征值包括wifi信号强度、wifi指纹密度、wifi稳定性、wifi辐射范围、wifi指纹密度、wifi数量、wifi信号强度的最大值、wifi信号强度的最小值中的多个。

在本申请实施例中,以第一网络特征值包括wifi信号强度、wifi指纹密度、wifi稳定性、wifi辐射范围、wifi指纹密度、wifi数量、wifi信号强度的最大值、wifi信号强度的最小值为例进行说明。

在本申请实施例中,服务器能够提取多个第一网络特征值,后续根据多个第一网络特征值进行定位。由于提取的网络特征值是多层次和多维度的,从而提高了后续定位的准确性。

204、对于每个第一位置指纹,服务器将第一位置指纹的多个第一网络特征值输入第一特征权重模型中,得到第一位置指纹的每个第一网络特征值的权重,根据第一位置指纹的每个第一网络特征值的权重,确定第一位置指纹与第一终端的位置匹配度。

本步骤可以通过以下步骤(a)和(b)实现,包括:

(a)对于每个第一位置指纹,服务器将第一位置指纹的多个第一网络特征值输入第一特征权重模型中,得到第一位置指纹的每个第一网络特征值的权重。

其中,第一特征权重模型可以输出第一位置指纹的每个第一网络特征值的权重。比如,将第一位置指纹输入到第一特征权重模型中,第一特征权重模型可以输出wifi信号强度的权重、wifi指纹密度的权重、wifi稳定性的权重、wifi辐射范围的权重、wifi指纹密度的权重、wifi数量的权重、wifi信号强度的最大值的权重、wifi信号强度的最小值的权重。

需要说明的一点是,不同的第一位置指纹中的不同的第一网络特征值对应的权重可以相同,也可以不同;例如,两个位置指纹分别为位置指纹1和位置指纹2,其中位置指纹1包括wifi信号强度和wifi指纹密度;而位置指纹2也包括wifi信号强度和wifi指纹密度。而位置指纹1的wifi信号强度和位置指纹2的wifi信号强度可以相同,也可以不同;同样,位置指纹1的wifi指纹密度和位置指纹2的wifi指纹密度可以相同,也可以不同。

需要说明的另一点是,当不同的第一位置指纹中的不同的第一网络特征值对应的权重相同时,也即第一网络特征值的权重是固定的;例如,wifi信号强度的权重、wifi指纹密度的权重、wifi稳定性的权重、wifi辐射范围的权重、wifi指纹密度的权重、wifi数量的权重、wifi信号强度的最大值的权重、wifi信号强度的最小值的权重分别为0.2、0.1、0.2、0.05、0.1、0.1、0.2和0.05。

相应的,服务器在历史通过第一特征权重模型获取到每个第一网络特征值的权重之后,存储每个网络特征值的权重;服务器在每次对第一终端进行定位时,可以直接获取历史存储的每个第一网络特征值对应的权重,从而提高定位效率。

需要说明的另一点是,在本步骤之前,服务器中需要存储第一特征权重模型;第一特征权重模型可以为服务器训练的;也可以为其他设备训练,然后加载到服务器中的。在本申请实施例中,对训练第一特征权重模型的主体不作具体限定。其中,在本申请实施例中,以服务器训练第一特征权重模型为例进行说明。并且,服务器训练第一特征权重模型的过程在下一个实施例中进行详细阐述。

(b)服务器根据第一位置指纹的每个第一网络特征值的权重,确定第一位置指纹与第一终端的位置匹配度。

服务器将第一位置指纹的每个第一网络特征值和每个第一网络特征值的权重进行加权求和,得到第一位置指纹与第一终端的位置匹配度。

205、服务器根据每个第一位置指纹与第一终端的位置匹配度,向第一终端返回匹配度最高的目标位置指纹的第一位置。

本步骤可以通过以下步骤(a)至(c)实现,包括:

(a)服务器根据每个第一位置指纹与第一终端的位置匹配度,从多个第一位置指纹中选择匹配度最高的目标位置指纹。

服务器将每个第一位置指纹按照每个第一位置指纹与第一终端的位置匹配度进行排序,匹配度高的排在前面,匹配度低的排在前面。从多个第一位置指纹中选择匹配度最高的目标位置指纹。

需要说明的一点,目标位置指纹可以为一个位置指纹,也可以为多个位置指纹。

(b)服务器确定目标位置指纹的第一位置。

其中,服务器确定多个第一位置指纹中选择匹配度最高的目标位置指纹为第一位置,即第一终端发送第一定位请求时的位置。

当在步骤(a)中确定出多个目标位置指纹时,在本步骤中,服务器可以将多个目标位置指纹的第四位置进行聚合,得到第一位置。

(c)服务器向第一终端返回第一位置。

206、第一终端接收服务器返回的第一位置。

需要说明的另一点是,第一特征权重模型可以为基于ranking算法训练的特征权重模型。参见图3,第一终端向服务器发送第一定位请求,服务器根据第一定位请求,提取无线网络的第二网络特征值,也即进行位置特征提取;根据无线网络的第二网络特征值,进行粗定位,也即定位出多个第一位置指纹。被定位出的多个第一位置指纹可以为geo1(位置指纹1)、geo2(位置指纹2)、geo3(位置指纹3)、geo4(位置指纹4)。

其中,geo1的第一网络特征值分别为(f11,f12,……f1m),geo2的第一网络特征值分别为(f21,f22,……f2m),geo3的第一网络特征值分别为(f31,f32,……f3m),geo4的第一网络特征值分别为(f41,f42,……f4m)。参见图4,服务器通过第一特征权重模型(model)定位出每个第一位置指纹的每个第一网络特征值的权重为,ranket:(x,w);其中,当x为第一网络特征值,w为第一网络特征值的权重。对于每个第一位置指纹,服务器根据该第一位置指纹的每个第一网络特征值的权重,对每个第一网络特征值进行加权求和,得到加权定位结果,该加权定位结果为每个第一位置指纹与第一终端的匹配度。在本申请实施例中,以分数表示每个第一位置指纹与第一终端的匹配度,相应的,服务器会确定出geo1(位置指纹1)、geo2(位置指纹2)、geo3(位置指纹3)、geo4(位置指纹4)的分数分别为score1(分数1)、score2(分数2)、score3(分数3)和score4(分数4)。其中,服务器根据每个第一位置指纹与第一终端的匹配度的分数,将分数最高的位置指纹作为sort中的输出结果,即第一终端的定位结果。

在本申请实施例中,服务器接收第一终端的第一定位请求,根据第一定位请求从位置指纹库中选择多个第一位置指纹;分别提取每个第一位置指纹的多个第一网络特征值;对于每个第一位置指纹,将第一位置指纹的多个第一网络特征值输入第一特征权重模型中,得到第一位置指纹的每个第一网络特征值的权重,根据第一位置指纹的每个第一网络特征值的权重,确定第一位置指纹与所述第一终端的位置匹配度;根据每个第一位置指纹与第一终端的位置匹配度,向第一终端返回匹配度最高的目标位置指纹的第一位置。由于本申请根据第一定位请求对第一终端进行粗定位,然后确定与第一终端的位置相匹配的多个位置指纹,通过第一特征权重模型确定每个第一网络特征的权重,根据每个位置指纹的每个第一网络特征和每个第一网络特征的权重,确定匹配度最高的位置指纹,从而使得定位更加准确。并且,本申请中通过第一特征权重模型确定每个第一网络特征的权重,确定出的权重更准确,进而进一步提高了定位的准确性。

需要说明的一点是,通过本申请实施例提供的定位方法,不仅能够定位精度,还能够降低大误差率;例如,参见图5,是本申请实施例提供的一种测试样品个数的定位误差累计分布曲线图;其中,横坐标表示定位误差范围;纵坐标表示100个测试样本中在定位误差范围内分布的测试样本的个数;定位曲线图1代表本申请定位方法的定位误差累计分布曲线图;定位曲线2表示传统定位方法的定位误差累计分布曲线图。

继续参见图5,当定位误差范围在10m内时,定位曲线1相比定位曲线2的定位精确度提高了1.3%,即cep10提高1.3%;当定位误差范围在30m内时,定位曲线1相比定位曲线2的定位精确度提高了3.2%,即cep30提高3.2%;当定位误差范围在50m内时,定位曲线1相比定位曲线2的定位精确度提高了1.1%,即cep50提高1.1%。

而且,当定位误差范围大于1km时,本申请定位方法的误差率比传统定位方法的误差率降低了6%。

图6是本申请实施例提供的一种特征权重模型训练方法的流程图,在本申请实施例中,以服务器训练第一特征权重模型为例进行说明。参见图6,该方法包括:

601、服务器获取样本数据,样本数据包括第二终端的第二位置、多个样本位置指纹的第三位置分别与第二位置之间的距离。

其中,第二终端是样本测试时的设备,第二终端可以为电脑、手机、平板电脑或者其他电子设备。

相应的,步骤601服务器获取样本数据,样本数据包括第二终端的第二位置、多个样本位置指纹的第三位置分别与第二位置之间的距离,可以通过以下步骤(a)至(b)实现,包括:

(a)服务器接收第二终端的第二定位请求,根据第二终端的第二定位请求从位置指纹库中选择多个样本位置指纹。

该步骤与步骤202相同,在此不再赘述。

需要说明的一点是,多个样本位置指纹的个数可以是5个,也可以是10个,还可以是15个;在本申请实施例中,对多个样本位置指纹的个数不作具体限定,可以根据需要进行设置并更改。下面以多个样本指纹的个数是5个为例进行说明。

(b)服务器根据第二终端的第二位置以及多个样本位置指纹的第三位置,分别确定每个样本位置指纹的第三位置与第二位置之间的距离。

服务器获取第二终端的第二位置和多个样本位置指纹的第三位置,根据第二终端的第二位置和多个样本位置指纹的第三位置,确定第二终端的第二位置和每个样本位置指纹的第三位置之间的距离,为了便于说明,命名为di。其中,i为任一样本位置指纹。

602、服务器提取每个样本位置指纹的多个第一网络特征值。

其中,第一网络特征值包括wifi信号强度、wifi指纹密度、wifi稳定性、wifi辐射范围、wifi指纹密度、wifi数量、wifi信号强度的最大值、wifi信号强度的最小值中的至少一个。需要说明的一点是,第一网络特征值还包括其他的可以测试和接收的网络特征值。

下面以第一网络特征值包括wifi信号强度、wifi指纹密度、wifi稳定性、wifi辐射范围、wifi指纹密度、wifi数量、wifi信号强度的最大值、wifi信号强度的最小值为例进行说明。

为了便于说明,将5个样本指纹分别命名为g1、g2、g3、g4、g5。将gi中包含的第一网络特征值分别命名,即:wifi信号强度命名为fi1、wifi指纹密度命名为fi2、wifi稳定性命名为fi3、wifi辐射范围命名为fi4、wifi指纹密度命名为fi5、wifi数量命名为fi6、wifi信号强度的最大值命名为fi7、wifi信号强度的最小值命名为fi8。其中,gi代表任一样本指纹。

603、服务器根据第二位置、每个样本位置指纹的多个第一网络特征值和多个样本位置指纹的第三位置分别与第二位置之间的距离,对第二特征权重模型进行训练,得到第一特征权重模型。

步骤603可以通过以下步骤(a)至(d)实现,包括:

(a)对于一组样本位置指纹,服务器将一组样本位置指纹中的每个样本位置指纹的多个第一网络特征值输入第二特征权重模型中,输出每个样本位置指纹的每个第一网络特征值的权重。

其中,一组样本位置指纹可以是选取的多个样本位置指纹中任意两个样本指纹,为了便于说明将两个样本指纹命名为gi和gj。服务器将gi的多个第一网络特征值输入第二特征权重模型中,gi的每个第一网络特征值的权重,为了便于说明,命名为wi;服务器将gi的多个第一网络特征值输入第二特征权重模型中,gi的每个第一网络特征值的权重,为了便于说明,命名为wj。

在另一种可能的实现方式中,服务器根据多个样本位置指纹的第三位置分别与第二位置之间的距离,从多个样本位置指纹中选择距离差大于第一预设阈值的两个样本位置指纹;将选择的两个样本位置指纹组成一组样本位置指纹。

为了便于说明,将两个样本指纹的第三位置与第二位置之间的距离分别命名为di和dj。从多个样本位置指纹中选择距离差大于第一预设阈值的两个样本位置指纹,即di和dj之间的距离差应大于第一预设阈值。其中,第一预设阈值可以是0.5m,也可以是1m,还可以是1.5m,在本申请实施例中,对第一预设阈值不作具体限定,可以根据需要进行设置并更改。

(b)服务器根据每个样本位置指纹的每个第一网络特征值的权重,确定一组样本位置指纹分别与第二位置之间的位置匹配度。

对于每个样本位置指纹,服务器将该样本位置指纹的每个第一网络特征值fi以及每个第一网络特征值的权重wi进行加权求和,得到该样本位置指纹与第二位置之间的位置匹配度si。

对于一组样本位置指纹为(gi,gj),确定每个样本位置指纹与第二位置之间的位置匹配度分别为si和sj。

(c)服务器根据一组样本位置指纹分别与第二位置之间的位置匹配度,确定一组样本位置指纹分别与第二位置的概率差值。

其中,服务器基于ranknet算法确定一组样本位置指纹与第二位置的概率差值。相应的,服务器根据一组样本位置指纹分别与第二位置之间的位置匹配度,通过以下公式一,确定一组样本位置指纹分别与第二位置的概率差值;

公式一:

其中,e为自然常数,gi和gj代表一组样本中的两个样本位置指纹;pij代表一组样本位置指纹分别与第二位置的概率差值,也即gi比gj与第二位置更相关的概率;si代表样本位置指纹gi与第二位置之间的位置匹配度;sj代表样本位置指纹gj与第二位置之间的位置匹配度。

(d)服务器根据一组样本位置指纹与第二位置的概率差值,调整第二特征权重模型的模型参数,得到第一特征权重模型。

可以通过以下步骤(d1)至(d3)实现,包括:

(d1)服务器根据一组样本位置指纹中每个样本位置指纹的第三位置分别与第二位置之间的距离,确定一组样本位置指纹中每个样本位置指纹的权重。

其中,对于每个样本位置指纹,该样本位置指纹的第三位置与第二位置之间的距离与该样本位置指纹的权重负相关;也即,如果该样本位置指纹的第三位置与第二位置之间的距离较小时,该样本位置指纹的权重较大。

在一种可能的实现方式中,服务器设置距离和权重的对应关系;对于每个样本位置指纹;服务器确定该样本位置指纹的权重的步骤可以为:服务器根据该样本位置指纹的第三位置与第二位置之间的距离,从距离和权重的对应关系中获取该样本位置指纹的权重。

在另一种可能的实现方式中,服务器可以将设置第三位置与第二位置之间的距离小于第三阈值的样本位置指纹的权重设置为较大值(例如2),而其他样本位置指纹的权重均为1;则对于每个样本位置指纹;服务器确定该样本位置指纹的权重的步骤可以为:当该样本位置指纹的第三位置与第二位置之间的距离小于第三阈值时,确定该样本位置指纹的权重为第一数值;当该样本位置指纹的第三位置与第二位置之间的距离不小于第三阈值时,确定该样本位置指纹的权重为第二数值。

其中,第一数值大于第二数值。并且,第一数值和第二数值都可以根据需要进行设置并更改;例如,第一数值为2,第二数值为1。

在本申请实施例中,该样本位置指纹的第三位置与第二位置之间的距离与该样本位置指纹的权重负相关;也即,如果该样本位置指纹的第三位置与第二位置之间的距离较小时,该样本位置指纹的权重较大,从而能够将第三位置与第二位置之间的距离较小的样本位置指纹排在前面,提高训练得到的第一特征权重模型的准确性。

(d2)服务器根据一组样本位置指纹中每个样本位置指纹的权重,以及一组样本位置指纹与第二位置的概率差值,确定第二特征权重模型的损失函数值。

相应的,一组样本位置指纹(gi,gj)中每个样本位置指纹的第三位置分别与第二位置之间的距离分别为di和dj。当di>dj时,确定gi比gj与第二位置更相关的概率:

其中,e为自然常数,gi和gj代表一组样本中的两个样本位置指纹;pij代表一组样本位置指纹分别与第二位置的概率差值,也即gi比gj与第二位置更相关的概率;si代表样本位置指纹gi与第二位置之间的位置匹配度;sj代表样本位置指纹gj与第二位置之间的位置匹配度。根据di>dj时,确定gi比gj与第二位置更相关的概率值,确定第二特征权重模型的损失函数值。

需要说明的一点是,在本申请实施例中,服务器可以通过任一损失函数,确定第二特征权重模型的损失值。

(d3)服务器根据第二特征权重模型的损失函数值,调整第二特征权重模型的模型参数,得到第一特征权重模型。

需要说明的一点,继续参见图3,通过ranket算法获取两个样本位置指纹与第二位置的概率差值,经过模型训练,得到第一特征权重模型。

在本申请实施例中,通过ranket算法训练得到第一特征权重模型,能够提高模型的准确性。

图7是本申请实施例提供的一种定位装置的结构示意图。参见图7,该装置包括:

接收模块701,用于接收第一终端的第一定位请求;

选择模块702,用于根据第一定位请求从位置指纹库中选择多个第一位置指纹;

提取模块703,用于分别提取每个第一位置指纹的多个第一网络特征值;

确定模块704,用于对于每个第一位置指纹,将第一位置指纹的多个第一网络特征值输入第一特征权重模型中,得到第一位置指纹的每个第一网络特征值的权重,根据第一位置指纹的每个第一网络特征值的权重,确定第一位置指纹与第一终端的位置匹配度;

返回模块705,用于根据每个第一位置指纹与第一终端的位置匹配度,向第一终端返回匹配度最高的目标位置指纹的第一位置。

在一种可能的实现方式中,装置还包括:

获取模块,用于获取样本数据,样本数据包括第二终端的第二位置、多个样本位置指纹的第三位置分别与第二位置之间的距离;

提取模块703,还用于提取每个样本位置指纹的多个第一网络特征值;

训练模块,用于根据第二位置、每个样本位置指纹的多个第一网络特征值和多个样本位置指纹的第三位置分别与第二位置之间的距离,对第二特征权重模型进行训练,得到第一特征权重模型。

在另一种可能的实现方式中,训练模块,还用于对于一组样本位置指纹,将一组样本位置指纹中的每个样本位置指纹的多个第一网络特征值输入第二特征权重模型中,输出每个样本位置指纹的每个第一网络特征值的权重;根据每个样本位置指纹的每个第一网络特征值的权重,确定一组样本位置指纹分别与第二位置之间的位置匹配度;根据一组样本位置指纹分别与第二位置之间的位置匹配度,确定一组样本位置指纹与第二位置的概率差值;根据一组样本位置指纹与第二位置的概率差值,调整第二特征权重模型的模型参数,得到第一特征权重模型。

在另一种可能的实现方式中,训练模块,还用于根据多个样本位置指纹的第三位置分别与第二位置之间的距离,从多个样本位置指纹中选择距离差大于第一预设阈值的两个样本位置指纹;将选择的两个样本位置指纹组成一组样本位置指纹。

在另一种可能的实现方式中,训练模块,还用于根据一组样本位置指纹中每个样本位置指纹的第三位置分别与第二位置之间的距离,确定一组样本位置指纹中每个样本位置指纹的权重;根据一组样本位置指纹中每个样本位置指纹的权重,以及一组样本位置指纹与第二位置的概率差值,确定第二特征权重模型的损失函数值;根据第二特征权重模型的损失函数值,调整第二特征权重模型的模型参数,得到第一特征权重模型。

在另一种可能的实现方式中,第一定位请求中包括第一终端搜索到的无线网络的第二网络特征值;

选择模块702,还用于从位置指纹库中确定无线网络的第二网络特征值所在的第二位置指纹;根据无线网络的第二网络特征值和第二位置指纹,从位置指纹库中选择多个第一位置指纹。

在另一种可能的实现方式中,返回模块705,还用于根据每个第一位置指纹与第一终端的位置匹配度,从多个第一位置指纹中选择匹配度最高的目标位置指纹;确定目标位置指纹的第一位置;向第一终端返回第一位置。

在本申请实施例中,服务器接收第一终端的第一定位请求,根据第一定位请求从位置指纹库中选择多个第一位置指纹;分别提取每个第一位置指纹的多个第一网络特征值;对于每个第一位置指纹,将第一位置指纹的多个第一网络特征值输入第一特征权重模型中,得到第一位置指纹的每个第一网络特征值的权重,根据第一位置指纹的每个第一网络特征值的权重,确定第一位置指纹与所述第一终端的位置匹配度;根据每个第一位置指纹与第一终端的位置匹配度,向第一终端返回匹配度最高的目标位置指纹的第一位置。由于本申请根据第一定位请求对第一终端进行粗定位,然后确定与第一终端的位置相匹配的多个位置指纹,通过第一特征权重模型确定每个第一网络特征的权重,根据每个位置指纹的每个第一网络特征和每个第一网络特征的权重,确定匹配度最高的位置指纹,从而使得定位更加准确。并且,本申请中通过第一特征权重模型确定每个第一网络特征的权重,确定出的权重更准确,进而进一步提高了定位的准确性。

需要说明的是:上述实施例提供的定位装置在进行定位时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的定位装置与定位方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图8是本申请实施例提供的一种服务器的结构框图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)801和一个或一个以上的存储器802,其中,存储器802中存储有至少一条指令,至少一条指令由处理器801加载并执行以实现上述各个方法实施例提供的定位方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令,该至少一条指令由处理器加载并具有以实现上述实施例的定位方法中所具有的操作。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请实施例的较佳实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1