一种指纹定位方法、终端、计算机可读存储介质与流程

文档序号:16479235发布日期:2019-01-02 23:55阅读:184来源:国知局
一种指纹定位方法、终端、计算机可读存储介质与流程

本发明涉及指纹定位技术领域,尤其涉及一种指纹定位方法、终端、计算机可读存储介质。



背景技术:

近年来,随着移动互联网的到来,以及智能手机终端的迅速普及,人们的生活方式和行为习惯正在悄悄地发生巨大改变。人们的衣食住行都不可避免地与互联网产生联系,人们在日常生活中习惯性地通过基于位置的服务(locationbasedservice,lbs)寻找餐厅、银行、外卖,甚至交友等等。除此之外,很多关乎生命安全的场景对位置信息的需求也越来越迫切,例如医院对病人的护理,救援人员对被困人员的救援,地下煤矿的安全监控等等。以上的这些实用场景为lbs及其应用提供了广阔的市场前景和发展空间。

随着3g/4g网络的快速普及,利用移动通信网络来实现终端的实时地位也得到越来越多的关注。通过采集移动网络所有终端用户上报的测量报告(measurementreport,mr)数据,测试分析定位区域中所有参考点的接收信息强度(receivedsignalstrength,rss),并提取rss信号的信号特征,将剔除了异常值之后的信号特征与对应的参考点的位置坐标一起存入位置指纹数据库,然后利用同样的方法得到待定位点的信号特征,根据一定的匹配算法和位置指纹数据库进行匹配,从而得到待定位点的估算位置。然而现有的定位算法存在着指纹数据库位置模糊,定位精度不高等缺陷,因此提出一种新型的指纹定位算法显得尤为必要。



技术实现要素:

有鉴于此,本发明的目的在于提供指纹定位方法、终端、计算机可读存储介质,以解决指纹数据库位置模糊,定位精度不高的问题。

本发明解决上述技术问题所采用的技术方案如下:

根据本发明的一个方面,提供一种指纹定位方法,包括:

获取待定位终端的测量报告信息;

提取所述测量报告信息中的有效特征信息值;

将所述有效特征信息值作为输入,传送至神经网络模型进行拟合后输出定位坐标信息;

其中,所述神经网络模型的建立包括:

采集指纹定位区域内的测量报告信息并据此生成指纹数据库;

通过遗传算法对所述指纹数据库中的指纹数据进行优化;

通过神经网络定位模型训练获取所述神经网络模型。

在一个可能的设计中,所述有效特征信息值包括ta值、rsrp值中的至少一个。

在一个可能的设计中,所述采集指纹定位区域内的测量报告信息并据此生成指纹数据库包括:

将所述指纹定位区域进行网络栅格化,获取若干个栅格;

获取每个所述栅格内所有的测量报告信息包含的服务小区;

计算所述服务小区在所述栅格的rsrp值和ta值;

将所述栅格对应的所有所述服务小区在所述栅格的rsrp值和ta值作为一个指纹数据存入所述指纹数据库。

在一个可能的设计中,所述计算所述服务小区在所述栅格的rsrp值和ta值包括:

判断所述服务小区对应的所述测量报告信息的个数是否为一个;

若是,则将所述测量报告信息中的rsrp值和ta值作为所述服务小区在所述栅格的rsrp值和ta值;

若否,则获取所述服务小区对应的所有所述测量报告信息;

根据所述测量报告信息中的agps值计算所述测量报告信息到所述栅格的中心点的manhattan距离;

选取所述manhattan距离最小的前2个或3个所述测量报告信息通过wknn算法计算所述服务小区在所述栅格的rsrp值。

在一个可能的设计中,所述计算所述服务小区在所述栅格的rsrp值和ta值包括:将所述服务小区对应的所有所述测量报告信息的ta值求平均值,作为所述服务小区在所述栅格的ta值。

在一个可能的设计中,所述通过遗传算法对所述指纹数据库中的指纹数据进行优化包括:

确定目标优化函数;

经过初始化、交叉操作、变异操作、选择操作获取最优指纹数据。

在一个可能的设计中,所述获取待定位终端的测量报告信息之后,还包括:

判断所述测量报告信息是否满足预设规则,若是,则将所述测量报告信息更新至所述指纹数据库。

在一个可能的设计中,所述预设规则包括距离上次更新指纹数据库的时间达到了预设阈值。

在一个可能的设计中,通过神经网络定位模型训练获取所述神经网络模型包括:

构建神经网络定位模型,并对网络参数进行初始化;

通过初始化的学习参数和输入数据进行前向计算,得到预测值;

根据所述预测值与预设的期望值进行比较,判断两者的差值是否小于预设阈值;

若否,则调整网络参数来缩小两者的交叉熵,通过多次迭代,直至熵值稳定。

根据本发明的另一个方面,提供的一种终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时本发明实施例提供的指纹定位方法的步骤。

根据本发明的另一个方面,提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指纹定位程序,所述指纹定位程序被处理器执行时实现本发明实施例提供的指纹定位方法的步骤。

本发明实施例的指纹定位方法、终端、计算机可读存储介质,利用遗传算法的自适应寻优及种群迭代特性,从而优化指纹数据库的准确性;通过建立bp神经网络模型,可以实现对指纹信号空间和物理位置空间非线性关系的学习,从而优化定位精度。

附图说明

图1为本发明实施例的指纹定位方法的流程示意图;

图2为本发明实施例的指纹数据库的生成步骤的流程示意图;

图3为本发明实施例的基于wknn算法指纹数据库生成示例图;

图4为本发明实施例的基于遗传算法的指纹数据库优化算法流程图;

图5为本发明实施例的过神经网络定位模型训练过程图;

图6为本发明实施例的神经网络定位模型层次图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明第一实施例提供的指纹定位方法,包括:

s101、获取待定位终端的测量报告信息;

s102、提取所述测量报告信息中的有效特征信息值;

一般地,该有效特征信息是指能将多个测量报告信息进行区分的特征信息,该有效特征信息值包括ta值、rsrp(referencesignalreceivingpower,参考信号接收功率)值中的至少一个;当然还可以包括除ta值、rsrp值以外的有效特征信息值,例如邻区信息等本发明对此不做限制;需要说明的是,若rsrp上报值小于等于rsrp最小接收功率门限(-140dbm)的小区,则rsrp值不再作为有效特征信息值;因为小于接收功率门限的rsrp上报值都用0表示,所以无法作为该mr的准确表征值;

s103、将所述有效特征信息值作为输入,传送至神经网络模型进行拟合后输出定位坐标信息;

在获取有效的输入信息之后,经过定位网络模型的拟合,即可得到输出的坐标位置信息;

其中,所述神经网络模型的建立包括:

s111、采集指纹定位区域内的测量报告信息并据此生成指纹数据库;

s112、通过遗传算法对所述指纹数据库中的指纹数据进行优化;

s113、通过神经网络定位模型训练获取所述神经网络模型。

在图1对应的实施例的基础上,如图2所示,所述采集指纹定位区域内的测量报告信息并据此生成指纹数据库包括:

s201、将所述指纹定位区域进行网络栅格化,获取若干个栅格;

在具体实施时,可以先确定指纹数据库栅格点大小grid_size,栅格点选择过大会导致定位精度过差,选择过小会导致指纹数据库过于庞大,并且对提升定位精度无帮助。根据使用实际外场数据仿真得到的结果来看,本实施例中使用栅格点大小为10m×10m(即grid_size为10m);

s202、获取每个所述栅格内所有的测量报告信息包含的服务小区;

s203、计算所述服务小区在所述栅格的rsrp值和ta值;

更具体地,可以先判断所述服务小区对应的所述测量报告信息的个数是否为一个;

若是,则将所述测量报告信息中的rsrp值和ta值作为所述服务小区在所述栅格的rsrp值和ta值;

若否,则获取所述服务小区对应的所有所述测量报告信息;根据所述测量报告信息中的agps值计算所述测量报告信息到所述栅格的中心点的manhattan距离;选取所述manhattan距离最小的前2个或3个所述测量报告信息通过wknn算法计算所述服务小区在所述栅格的rsrp值;

如图3所示,也就是说,对每个栅格301,获取落在该栅格301内的所有mr包含的服务小区列表,从列表的第一个服务小区开始计算所有测量报告信息对应的点到栅格的中心点303的manhattan距离。取距离最短的前3个测量报告信息对应的点302的manhattan距离和其rsrp上报值,并采用k=3的wknn(权值k近邻算法)来计算得到该小区id在栅格的rsrp值rc,

上式中k=3,di为距离最短的前3个mr点的manhattan距离,ri为距离最短的前3个mr点对应的rsrp值,rc为栅格的中心点303的rsrp值。如果对某一小区id,在栅格中mr的记录数小于3,则这样处理:只有1个记录,则上报的rsrp值就是栅格点的rsrp值,有2个记录,则同样使用上述公式来计算(公式中k=2)。

同时,可以将所述服务小区对应的所有所述测量报告信息的ta值求平均值,作为所述服务小区在所述栅格的ta值;

s204、将所述栅格对应的所有所述服务小区在所述栅格的rsrp值和ta值作为一个指纹数据存入所述指纹数据库。

在指纹数据库建设过程中,如果把所有时间段的mr数据来建库,此过程可能会花费比较长的时间,而在这段时间也就无法进行定位。因此,在上述任一实施例的基础上,所述获取待定位终端的测量报告信息之后,还包括:

判断所述测量报告信息是否满足预设规则,若是,则将所述测量报告信息更新至所述指纹数据库。上述预设规则包括距离上次更新指纹数据库的时间达到了预设阈值;该预设阈值例如是12h或24h。在具体实施时,可以设置一个窗口,根据当前窗口内的数据生成一个相对精度较差的指纹数据库,当下一窗口的mr数据到来时,可以继续更新指纹数据库,从而得到一个更好的指纹数据库。这里我们设置时间窗口为24h。

若指纹数据库数据更新,且某一栅格的某一服务小区新得到的3个测量报告信息的距离有任何一个小于指纹数据库中的3个距离值中之一时,则用新距离值和新rsrp上报值代替指纹数据库中的值,并使用步骤203中的wknn算法重新计算得到新的栅格的rsrp值。栅格的某一小区对应的所有ta值与数据库中ta值的总和相加,求解平均值作为更新后的ta值。

如果某一栅格有新的服务小区上报,则将新的小区id对应的栅格的rsrp值,manhattan距离最短的3个mr的距离值和rsrp上报值存入指纹数据库相应位置,并求解新小区对应的所有ta的平均值,存入数据库相应位置。

事实上,生成的基本指纹数据库存在着指纹模糊性问题,即若干个不同的栅格点拥有相同的指纹数据。本发明实施例采用遗传算法,对指纹空间的模糊性进行优化。更具体地,在图1对应的实施例的基础上,所述通过遗传算法对所述指纹数据库中的指纹数据进行优化包括:确定目标优化函数;经过初始化、交叉操作、变异操作、选择操作获取最优指纹数据。

确定指纹空间的目标优化函数:

f=ωp(d<d0)

其中ω为权重因子,p(d<d0)为指纹模糊区域小于误差距离d0的误差概率;

经过初始化、交叉操作、变异操作、选择操作得到最优最优指纹数据。具体算法流程如图4所示:

s401、确定指纹空间的目标优化函数;

s402、设置参数,初始化种群,x=(x1,x2,……,xn)t

s403、计算适应度:i=1;

s404、判断n是否大于g;若是,则如步骤s405所示,结束进程;若否,则进入步骤s406;

其中,g为迭加次数;

s406、判断i是否大于n;若是,则进入步骤s407,令n=n+1;然后返回步骤s403;若否,则进入步骤408;

其中,n为种群个数;

s408、进行交叉操作和变异操作,产生新子代个体

s409、进行选择操作,判断是否成立;若是,则如步骤s410所示,更新个体,令若否,则如步骤s411所示,保持原个体;

s412、令n=n+1,并返回步骤s406。

在图1对应的实施例的基础上,如图5所示,所述通过神经网络定位模型训练获取所述神经网络模型包括:

s501、构建神经网络定位模型,并对网络参数进行初始化;

从统计学习的角度来看,通过指纹进行定位的方法可以看做是一个回归问题。而由于指纹信号空间和位置空间存在着非线性关系,因此可以把此定位问题看作是非线性回归问题。基于机器学习的指纹定位方法就是将指纹定位问题转化为离线指纹数据库与物理位置之间非线性关系的学习问题,通过建立模型,把输入的信号空间信息转化为对应的位置空间输出,从而实现定位。基于bp神经网络的指纹定位模型主要包括输入层、多层隐藏层、输出层,具体模型层次。请同时参照图6,图6为神经网络定位模型层次图,本实施例中,神经网络定位模型包括四层,即l=0、l=1、l=2、l=3,分别对应输入层n、隐藏层n1、隐藏层n2以及输出层m;需要说明的是,本实施例中,隐藏层为2层,但隐藏层还可以是1层、3层、5层等,具体层数可以视需求自行设定;在具体实施时,当输入测量报告信息mr时,从中提取n个原始特征x1,x2……xn到输入层n;通过网络权值w1ij生成第一特征至隐藏层n1后,再通过网络权值w2ij生成第二特征至隐藏层n2后,最后通过网络权值w3ij生成第三特征至输出层m;一般地,原始特征的个数少于第一特征或第二特征的个数;原始特征的个数不多于第三特征的个数;

s502、通过初始化的学习参数和输入数据进行前向计算,得到预测值;

s503、根据所述预测值与预设的期望值进行比较,判断两者的差值是否小于预设阈值;若否,则进入步骤s504;若是,则进入步骤s505;

s504、调整网络参数来缩小两者的交叉熵,通过多次迭代,直至熵值稳定;

该网络参数主要是指网络权值;在具体实施时,在调整网络权值之后可以返回步骤s503;

s505、结束训练,保存模型。

本发明还提供一种终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明任一实施例提供的指纹定位方法的步骤。

需要说明的是,上述终端实施例与方法实施例属于同一构思,其具体实现过程详见方法实施例,且方法实施例中的技术特征在装置实施例中均对应适用,这里不再赘述。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指纹定位程序,所述指纹定位程序被处理器执行时实现本发明任一实施例提供的步骤。

需要说明的是,上述计算机可读存储介质实施例与方法实施例属于同一构思,其具体实现过程详见方法实施例,且方法实施例中的技术特征在装置实施例中均对应适用,这里不再赘述。

本发明实施例提供的指纹定位方法、终端及计算机可读存储介质引入遗传算法,利用遗传算法的自适应寻优的特性,对不同栅格点拥有同一指纹的栅格点进行优化,决策出最优的指纹,并生成新的指纹数据库。引入bp神经网络,通过对指纹信号空间和物理位置空间的非线性关系进行建模,学习其隐藏的信息特征。然后利用带位置信息特征的mr数据进行训练,得到稳定可靠的学习模型。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

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