指纹数据库的更新方法、装置、服务器及存储介质与流程

文档序号:20703816发布日期:2020-05-12 16:07阅读:588来源:国知局
指纹数据库的更新方法、装置、服务器及存储介质与流程

本申请属于定位技术领域,特别是涉及一种指纹数据库的更新方法、装置、服务器及存储介质。



背景技术:

随着物联网与智能手机的普及,基于位置信息的位置服务越来越大众化、日常化,位置信息的社会价值和商业价值也越来越受到业界的关注。以位置服务中的室内定位为例。近年来,各种各样的室内定位技术不断出现,包括wi-fi、蓝牙(ble)、射频识别(rfid)、超声波、超宽带(uwb)、可见光、磁场等无线信号衍生的室内定位技术。目前,wi-fi网络以及具有wi-fi接收功能的终端设备的大规模普及,使得基于wi-fi的室内定位技术逐渐被广泛认可与采纳。

基于wi-fi的室内定位技术的主流方法包括基于测距的定位方法和基于指纹的定位方法。基于测距的定位方法依赖无线信号在传播过程中的能量衰减程度与传播距离之间符合一定的传播模型,以此通过接收信号强度来反推传播的距离。但由于室内环境复杂导致多径传播的不确定性,使得测距精度较低,进而导致定位精度也较低。基于指纹的定位方法主要利用无线信号在不同位置上的空间差异性,将无线信号作为地理位置的特征来进行定位。由于该方法不需要测量距离及角度,只需记录当前位置的信号强度作为地理位置的特征,使其可以在室内复杂的非视距环境下完成较高精度的定位,其在室内定位领域有着较高的可行性,因此wi-fi指纹定位技术逐渐成为主流的室内定位技术。

但是,基于wi-fi指纹的定位技术在实际应该中也面临许多挑战。例如,当长期部署的静态指纹数据库无法适应动态的环境变化时,在当前环境中新部署无线接入点(accesspoint,ap)或者ap移动的情况下,原有的指纹数据库就会与当前环境不符,导致定位精度大幅下降。



技术实现要素:

有鉴于此,本申请实施例提供了一种指纹数据库的更新方法、装置、服务器及存储介质,可以实现指纹数据库的动态更新,保证定位精度。

本申请实施例的第一方面提供了一种指纹数据库的更新方法,包括:

接收终端设备采集的接收信号强度指示rssi序列;

根据所述rssi序列和预设的指纹数据库中的指纹序列,对所述终端设备进行定位,确定所述终端设备的第一位置;

对所述第一位置进行修正,获得所述终端设备的第二位置以及与所述第二位置相对应的目标指纹序列;

根据所述目标指纹序列,对所述指纹数据库中所述第二位置对应的指纹序列进行更新。

本申请实施例的第二方面提供了一种指纹数据库的更新装置,包括:

rssi序列接收模块,用于接收终端设备采集的接收信号强度指示rssi序列;

第一位置定位模块,用于根据所述rssi序列和预设的指纹数据库对所述终端设备进行定位,确定所述终端设备的第一位置;

第二位置确定模块,用于对所述第一位置进行修正,获得所述终端设备的第二位置以及与所述第二位置相对应的目标指纹序列;

指纹数据库更新模块,用于根据所述目标指纹序列,对所述指纹数据库中所述第二位置对应的指纹序列进行更新。

本申请实施例的第三方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的指纹数据库的更新方法。

本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的指纹数据库的更新方法。

本申请实施例的第五方面提供了一种计算机程序产品,当所述计算机程序产品在服务器上运行时,使得所述服务器执行上述第一方面所述的指纹数据库的更新方法。

与现有技术相比,本申请实施例包括以下优点:

本申请实施例,通过接收终端设备采集的rssi序列,服务器可以根据rssi序列和预设的指纹数据库中的指纹序列,对终端设备进行初步定位,确定出终端设备的第一位置;由于该第一位置是通过与未更新的指纹数据库中指纹序列进行匹配得到的,其精确度较低,因此可以对第一位置进行修改,得到精确度更高的第二位置,并获得与该第二位置相对应的目标指纹序列,从而可以根据上述目标指纹序列,对指纹数据库中第二位置对应的指纹序列进行更新,实现对指纹数据库的动态更新,解决了现有技术中对指纹数据库进行更新需要人工再次对室内环境进行数据采集,操作复杂,耗时较长的问题,提高了指纹数据库的更新效率。本实施例无需借助其他手段,可以直接在对终端设备进行定位的过程中完成指纹数据库的自动更新,成本低,可行性高。

附图说明

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

图1是本申请一个实施例的一种指纹数据库的更新方法的步骤流程示意图;

图2是本申请一个实施例的另一种指纹数据库的更新方法的步骤流程示意图;

图3是本申请一个实施例的指纹数据库的更新方法所适用于的系统的架构示意图;

图4是本申请一个实施例的一种指纹数据库的更新过程示意图;

图5是本申请一个实施例的另一种指纹数据库的更新过程示意图;

图6是本申请一个实施例的一种路径匹配过程示意图;

图7是本申请一个实施例的一种指纹数据库的更新装置的示意图;

图8是本申请一个实施例的一种服务器的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

通常,在使用wi-fi指纹定位时,为了保证定位精度,需要及时地对指纹数据库进行更新。目前,最常见的更新方式是通过定期重复地对需要更新指纹数据库的区域进行人工现场采集,重新构建指纹数据库。但是,这种更新方式需要耗费大量的人力成本和时间成本,极大地增加了定位系统的运行维护成本,可行性较差。

为此,中国专利申请cn104853317a公开了一种wi-fi室内定位中指纹库的构建及更新方法,通过在定位区域的特定位置(如房间、走廊拐角等)布放锚节点,然后利用锚节点位置的信号强度和地理位置的权重回归方法进行离线指纹库的构建,进而在定位系统的在线阶段运行时能使用一种自适应回归方法实现指纹库的更新。但是,该方法需要额外增加锚节点的部署,相应地也就增加了定位系统的成本,丢失了wi-fi指纹定位基础设施免部署的优势,使得定位系统大规模部署的可行性大大下降。

另外,中国专利申请cn107607122a公开了一种面向室内定位的位置指纹库构建和动态更新方法,通过将众多拥有对应功能的终端设备引入到rss指纹库采集和更新的过程中,其核心原理是通过众包参与者的客户端设备的惯导(mems)模块和wi-fi模块,利用客户端设备的行人航迹推算(pdr)技术,使得终端设备可以同时采集rss指纹数据和行人惯导数据,从而上传至服务器,通过边缘化粒子扩展高斯过程的算法自动生成指纹,再上传至数据库并更新指纹数据库。但是,行人航迹推算(pdr)存在累计误差,在一段时间后其推算的位置信息误差将会越来越大,导致与位置匹配的rss指纹序列也存在较大误差,进而影响整个区域指纹数据库的质量。其次,众包数据来源于的终端设备种类复杂,各个终端设备的硬件差异容易导致wi-fi指纹的差异,不同的设备采集到的指纹信息也会导致指纹数据库的数据存在较大差异性,进一步影响整个区域指纹数据库的质量。

因此,为了解决上述问题,提出了本申请实施例的核心构思在于,基于终端设备采集的rssi序列,通过加权knn算法估计终端设备的位置,然后再通过隐马尔可夫的地图匹配模型动态地对时间序列上的终端设备采集到的rssi指纹信息进行定位修正,并记录rssi序列与预测位置的映射关系,经过高斯回归过程算法,将指纹序列实时地更新到指纹数据库中,从而实现wi-fi指纹数据库的在线动态更新。

下面通过具体实施例来说明本申请的技术方案。

参照图1,示出了本申请一个实施例的一种指纹数据库的更新方法的步骤流程示意图,具体可以包括如下步骤:

s101、接收终端设备采集的接收信号强度指示rssi序列;

需要说明的是,本方法可以应用于服务器,即本实施例的执行主体为服务器。服务器通过接收终端设备采集的rssi序列,可以基于当前的指纹数据库中的指纹序列完成对终端设备的定位。本实施例中的终端设备可以是手机、平板电脑等电子设备,也可以是智能手环、智能手表等可穿戴电子设备,本实施例对终端设备的具体类型不作限定。

接收的信号强度指示(receivedsignalstrengthindication,rssi)属于无线发送层的可选部分,用来判定链接质量,以及是否增大广播发送强度。rssi是一种通过接收到的信号强弱测定信号点与接收点的距离,进而根据相应数据进行定位计算的一种定位技术。

在本实施例中,当终端设备进入某一室内环境后,可以采集该环境中的rssi序列,并将rssi序列发送至服务器,指示服务器根据rssi序列对其进行定位。

s102、根据所述rssi序列和预设的指纹数据库中的指纹序列,对所述终端设备进行定位,确定所述终端设备的第一位置;

在本实施例中,预设的指纹数据库可以是基于预先对上述室内环境中的rssi序列进行采集所得到的。即,在离线阶段,通过采集室内环境中的无线信号强度作为指纹序列,从而构建出与该环境相对应的指纹数据库。

服务器在接收到终端设备发送的实时采集到的rssi序列后,可以根据rssi序列与当前的指纹数据库中的指纹序列,完成对终端设备的定位,确定出终端设备的第一位置。

s103、对所述第一位置进行修正,获得所述终端设备的第二位置以及与所述第二位置相对应的目标指纹序列;

在本实施例中,由于第一位置是基于预先采集得到的指纹数据库中的指纹序列进行定位所得到的,而该指纹数据库可能由于各种原因与室内环境不完全匹配,因此上述第一位置与终端设备的实际位置可能存在差异。例如,当室内环境新部署了ap,或者对原有的ap进行了移动,都可能导致预先采集得到的指纹数据库与当前的室内环境不匹配。

在本实施例中,在基于预先采集的指纹序列确定出终端设备的第一位置后,可以对第一位置进行修正,得到更精准的第二位置以及与该位置相对应的目标指纹序列。上述第二位置更接近于终端设备的实际位置。

s104、根据所述目标指纹序列,对所述指纹数据库中所述第二位置对应的指纹序列进行更新。

在本实施例中,完成对第一位置的修改,获得与终端设备实际位置更接近的第二位置以及与该位置对应的目标指纹序列后,可以采用目标指纹序列,对指纹数据库中第二位置对应的指纹序列进行更新。

例如,可以采用目标指纹序列替换指纹数据库中第二位置对应的指纹序列,实现对指纹数据库的动态更新。

在本申请实施例中,通过接收终端设备采集的rssi序列,服务器可以根据rssi序列和预设的指纹数据库中的指纹序列,对终端设备进行初步定位,确定出终端设备的第一位置;由于该第一位置是通过与未更新的指纹数据库中指纹序列进行匹配得到的,其精确度较低,因此可以对第一位置进行修改,得到精确度更高的第二位置,并获得与该第二位置相对应的目标指纹序列,从而可以根据上述目标指纹序列,对指纹数据库中第二位置对应的指纹序列进行更新,实现对指纹数据库的动态更新,解决了现有技术中对指纹数据库进行更新需要人工再次对室内环境进行数据采集,操作复杂,耗时较长的问题,提高了指纹数据库的更新效率。本实施例无需借助其他手段,可以直接在对终端设备进行定位的过程中完成指纹数据库的自动更新,成本低,可行性高。

参照图2,示出了本申请一个实施例的另一种指纹数据库的更新方法的步骤流程示意图,具体可以包括如下步骤:

s201、接收终端设备采集的接收信号强度指示rssi序列;

需要说明的是,本方法可以适用于室内环境中的定位。例如,机场候机厅、商场、图书馆等环境中。本实施例的执行主体为服务器,该服务器可以是能够为终端设备或其他电子设备提供定位功能的服务器。

在本实施例中,当终端设备进入某一室内环境后,可以采集该环境中的rssi序列,并将rssi序列发送至服务器,指示服务器根据rssi序列对其进行定位。

为了便于理解,本实施例以终端设备为手机为例,进行后续的介绍。即,携带手机的用户在进入某一室内环境后,可以通过该手机与定位服务器之间的数据交互,实现对自身位置的定位,并协助定位服务器完成指纹数据库的更新。

如图3所示,是本实施例的指纹数据库的更新方法所适用于的系统的架构示意图。按照图3所示的架构,终端设备可以通过与定位服务器之间的通信接口实现二者之间的数据交互。例如,手机端可以采集室内环境中的rssi序列,并通过上述接口将rssi序列发送至服务器,服务器在根据rssi序列完成定位解算后,可以将解算得到的定位结果返回给手机。

本实施例中的定位服务器可以基于预设的指纹数据库来实现对手机等终端设备的定位。指纹数据库中包括有室内环境的电子地图以及预先采集的该环境中的指纹序列。另一方面,定位服务器在完成对手机等终端设备的定位后,还可以对指纹数据库进行动态更新。

s202、根据所述rssi序列和预设的指纹数据库中的指纹序列,对所述终端设备进行定位,确定所述终端设备的第一位置;

在本实施例中,定位服务器在接收到手机端发送的rssi序列后,可以首先对该rssi序列进行分类,然后将分类后的rssi序列与预设的指纹数据库中的指纹序列进行分类匹配,从而可以将匹配到的指纹序列对应的位置识别为手机的第一位置。该第一位置也就是粗略计算得到的手机在室内环境中所处的位置。

需要说明的是,定位服务器在对rssi序列进行分类以及匹配时,可以采用加权knn算法来实现,或者也可以采用支持向量机(svm)或人工神经网络(ann)的方式来实现,本实施例对此不作限定。

s203、获取预先存储于所述指纹数据库中的室内电子地图,所述室内电子地图包括多个室内路段;

如图3所示,指纹数据库中存储有室内电子地图,该电子地图可以是在构建指纹数据的过程中,通过对室内环境进行扫描得到的,也可以是结合室内布局图等数据而生成的。

在本实施例中,室内电子地图中可以包括有室内环境中的多个路段。

s204、分别计算所述时间序列上每个时刻对应的第一位置位于每个室内路段上的第一概率;

在本实施例中,由于第一位置是基于未更新的指纹数据库中的指纹序列得到的,该位置精确度相对较低。因此,可以对第一位置进行修正,得到精确度相对更高,与手机所处的实际位置更接近的第二位置。

在具体实现中,可以基于隐马尔可夫模型(hiddenmarkovmodel,hmm)来实现对第一位置的修正。隐马尔可夫模型是一种统计模型,它可以用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数,然后利用这些参数来作进一步的分析。

隐马尔可夫模型可以用五个元素来描述,包括2个状态集合和3个概率矩阵。即观测变量、隐变量、初始状态概率、状态转移概率以及观测概率。

具体地,本实施例的隐马尔可夫模型的基本元素中,观测变量可以是指通过加权knn算法获得的终端设备的位置信息,即第一位置信息,在本实施例中,第一位置包括有多个,多个第一位置分别与时间序列上的多个时刻一一对应;隐变量可以是指终端设备实际所在位置的路段;观测概率可以是指观测到的位置点(第一位置)位于旁边路段的概率,通常,某个位置点离旁边路段越近,那么这个位置点在这个路段上的概率就越大;状态转移概率可以是指终端设备从某一时刻的位置转移到下一时刻的位置的概率,通常,前后两个位置点的距离越近,那么状态转移的概率越大。

隐马尔可夫模型描述了由一个隐藏的马尔可夫链随机生成的不可观测的状态序列,再由各个状态生成一个观测随机序列的过程。隐马尔可夫模型可用如下公式三元符号表示,即:

λ=(q,m,π,a,b),

其中,q为隐变量序列,q:{q1,q2,...,qn};即室内电子地图所包含的路网信息中可行走的路段序列,如q1为道段1,…,qn为道段n;

m为观测变量的序列,m:{o1,o2,...,ot};其在第1时刻输出的值为o1,在t时刻输出ot;

π为初始状态概率,π=(πi):πi=p(q1=i),1<i<n;

a为状态转移概率矩阵a=[aij]n×n,在模型中,aij=p(qt+1=rj|qt=ri),ri是t时刻终端设备所在路段,rj是t+1时刻终端设备所在路段;即终端设备从路段i到路段j的转移概率;

b为观测概率矩阵b=[bj(k)]n×m,观测概率矩阵是指将观测概率建模为高斯分布模型,确定当前时刻观测值与q序列中路段匹配概率;当1...t时刻观测概率,构成观测矩阵a;在模型中,

在本实施例中,上述第一概率可以是指时间序列上每个时刻的观测概率。可以将与时间序列上每个时刻相对应的第一位置作为预设的隐马尔可夫模型的观测变量,将室内电子地图中的多个室内路段作为隐马尔可夫模型的隐变量,然后采用上述隐马尔可夫模型,计算出每个时刻的观测概率。

s205、分别计算所述终端设备从与所述时间序列上每个时刻相对应的第一位置,转移到与所述每个时刻的下一时刻相对应的第一位置的第二概率;

在本实施例中,上述第二概率可以是指每个时刻与每个时刻的下一时刻之间的状态转移概率。因此,可以采用隐马尔可夫模型,计算得到每个时刻与每个时刻的下一时刻之间的状态转移概率。

s206、根据所述第一概率和所述第二概率,确定与所述多个第一位置一一对应的多个第二位置;

在解算得到第一概率和第二概率后,可以根据第一概率和第二概率确定出与多个第一位置一一对应的多个第二位置。

在本实施例中,可以首先识别多个第一位置中的起点位置和终点位置,然后根据第一概率和第二概率,计算从上述起点位置到终点位置的最优路径;从而在最优路径上分别确定与时间序列上每个时刻一一对应的位置点,作为与多个第一位置一一对应的第二位置。

通常,基于隐马尔可夫模型的精确匹配,其中最重要的预测问题可以利用维特比(viterbi)算法进行求解。viterbi算法其实质是一个动态规划算法解决隐马尔可夫模型的预测问题,即在时刻t处于节点的终端设备,从这一路径节点到终点的路径中,对于通过动态规划算法求得终端设备在节点到终点的所有可能的路径来说,必须是最优路径。该最优路径也就是在转移过程中,上述状态转移概率最大值对应的那条路径。

通俗来说,起点位置就是在手机开始定位的那个时间点所定位到的某个位置节点,终点是手机在定位结束的某个时刻所定位到的点。其思想就是在定位过程中将离散的定位结果加上时间序列,在这个时间序列上通过观测序列(即加权knn输出的大致定位结果(第一位置))和在该时间序列上每个节点的状态转移概率,利用viterbi算法推导终端设备在该时间序列上的最优路径。

在具体实现中,求解上述最优路径可以按照如下步骤来进行:

①初始化:δ1=π·b(o1),ψ1(i)=0

已知模型λ=(q,m,π,a,b),初始化时,上述公式表示第1个时刻所在路段的概率的最大值;

②递归:

δt为时刻t到t+1中概率最大的转移路径;ψt+1为时刻t+1概率最大的路段,通过记录前一个概率最大的路段回溯,直到找到最优的路段匹配。

③递归结束:

p*为概率最大的路段序列;

④得到最优动态规划结果:

qt*为获得的最优的匹配路径。

s207、分别采集所述多个第二位置的目标指纹序列;

在确定出第二位置后,可以同时获得与第二位置对应的目标指纹序列。

即,通过隐马尔可夫模型获取到较为准确的实时位置坐标(x,y)后,记录实时rssi序列与该位置信息对应的目标指纹序列:

{[mac1,rssi],[mac2,rssi],...[macn,rssi],(x,y)}

s208、将所述第二位置及其对应的多个目标指纹序列存储至候选数据库,按照预设周期,统计所述候选数据库中的每个第二位置对应的多个目标指纹序列的高斯分布;

s209、根据所述高斯分布,从所述多个目标指纹序列中确定与所述每个第二位置匹配的待更新指纹序列;

s210、将所述每个第二位置以及与所述每个第二位置匹配的待更新指纹序列更新到所述指纹数据库。

在本实施例中,可以将前述步骤获得的第二位置及其对应的目标指纹序列存储至候选指纹数据库,并根据预设的周期,将第二位置及其对应的目标指纹序列更新到指纹数据库中。

在具体实现中,在按照预设周期对指纹数据库进行更新时,可以统计已经存储于候选指纹数据库中的每个第二位置对应的目标指纹序列的高斯分布。

例如,可以采用高斯过程回归模型统计候选指纹数据库中的目标指纹序列的高斯分布。

高斯过程回归模型是一个非参数的、基于核函数的概率模型。通过核函数可以得到该模型的高斯分布p(f*|x*,x,y)~n(μ*,∑*),从而根据高斯分布情况,确定与位置(x,y)匹配的待更新指纹序列,并将位置(x,y)和在该位置的待更新指纹序列更新到指纹数据库。

在本申请实施例中,可以基于终端设备采集的rssi序列,通过加权knn等算法估计出终端设备的大致位置,然后再通过隐马尔可夫模型动态地对时间序列上的终端设备采集到的rssi序列进行定位修正,并记录rssi序列与预测位置的映射关系,经过高斯回归过程算法,将指纹序列实时地更新到指纹数据库中,从而实现wi-fi指纹数据库的在线动态更新,解决了现有技术中对指纹数据库进行更新需要人工再次对室内环境进行数据采集,操作复杂,耗时较长的问题,提高了指纹数据库的更新效率。

需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

为了便于理解,下面结合一个具体的示例,对本实施例的指纹数据库的更新方法作一介绍。

如图4所示,是本实施例的一种指纹数据库的更新过程示意图。按照图4所示的更新过程,服务器在接收到终端设备采集的室内环境的rssi序列后,可以结合指纹数据库中的指纹序列,使用加权knn等算法对终端设备进行在线定位,然后通过隐马尔可夫模型对上述定位结果进行修正,输出最终的定位结果。同时,服务器可以记录修正后的位置信息与rssi序列之间的对应关系,将其存入候选指纹数据库。通过高斯回归过程算法可以将候选指纹数据库中的指纹序列定期更新到指纹数据库中,完成指纹数据库的动态更新。

参照图5,是本实施例的另一种指纹数据库的更新过程示意图,指纹数据库的更新过程具体可以包括如下步骤:

(1)终端设备采集获取定位所需的rssi序列,并通过通信接口将其上报到定位服务器;

(2)定位服务器接收到rssi序列后,调用定位服务,首先通过加权knn算法与指纹数据库中已保存的数据进行匹配,比较,计算得出当前时刻终端设备的估计坐标

(3)通过获取上述步骤(2)中所得到的当前时刻的估计坐标作为地图匹配的观测变量,获取指纹数据库中室内电子地图的路网信息作为隐变量,将时间序列上观测变量建模为高斯分布模型,求得每个时刻t的观测概率,并计算得到t-1时刻与t时刻两个定位点位置所在路段的转移概率。在已知观测概率和转移概率后,通过viterbi算法进行求解,得到最优路径匹配。通过解析最优路径匹配时间序列上每个时刻的rssi序列对应的较为准确的位置坐标(x,y)。整个路径匹配过程可以参见图6所示。

(4)记录实时rssi序列与位置信息的指纹序列,通过高斯回归算法将指纹序列更新到指纹数据库中。

参照图7,示出了本申请一个实施例的一种指纹数据库的更新装置的示意图,具体可以包括如下模块:

rssi序列接收模块701,用于接收终端设备采集的接收信号强度指示rssi序列;

第一位置定位模块702,用于根据所述rssi序列和预设的指纹数据库对所述终端设备进行定位,确定所述终端设备的第一位置;

第二位置确定模块703,用于对所述第一位置进行修正,获得所述终端设备的第二位置以及与所述第二位置相对应的目标指纹序列;

指纹数据库更新模块704,用于根据所述目标指纹序列,对所述指纹数据库中所述第二位置对应的指纹序列进行更新。

在本申请实施例中,所述第一位置定位模块702具体可以包括如下子模块:

rssi序列匹配子模块,用于对所述rssi序列进行分类,将分类后的rssi序列与预设的指纹数据库中的指纹序列进行分类匹配;

第一位置定位子模块,用于将匹配到的指纹序列对应的位置识别为所述终端设备的第一位置。

在本申请实施例中,所述第一位置包括多个,多个第一位置分别与时间序列上的多个时刻一一对应;所述第二位置确定模块703具体可以包括如下子模块:

电子地图获取子模块,用于获取预先存储于所述指纹数据库中的室内电子地图,所述室内电子地图包括多个室内路段;

第一概率计算子模块,用于分别计算所述时间序列上每个时刻对应的第一位置位于每个室内路段上的第一概率;以及,

第二概率计算子模块,用于分别计算所述终端设备从与所述时间序列上每个时刻相对应的第一位置,转移到与所述每个时刻的下一时刻相对应的第一位置的第二概率;

第二位置确定子模块,用于根据所述第一概率和所述第二概率,确定与所述多个第一位置一一对应的多个第二位置;

目标指纹序列采集子模块,用于分别采集所述多个第二位置的目标指纹序列。

在本申请实施例中,所述第一概率为所述每个时刻的观测概率,所述第一概率计算子模块具体可以包括如下单元:

观测概率计算单元,用于将与所述时间序列上每个时刻相对应的第一位置作为预设的隐马尔可夫模型的观测变量,将所述室内电子地图中的多个室内路段作为所述隐马尔可夫模型的隐变量;采用所述隐马尔可夫模型,计算所述每个时刻的观测概率。

在本申请实施例中,所述第二概率为所述每个时刻与所述每个时刻的下一时刻之间的状态转移概率,所述第二概率计算子模块具体可以包括如下单元:

状态转移概率计算单元,用于采用所述隐马尔可夫模型,计算所述每个时刻与所述每个时刻的下一时刻之间的状态转移概率。

在本申请实施例中,所述第二位置确定子模块具体可以包括如下单元:

起始位置识别单元,用于识别所述多个第一位置中的起点位置和终点位置;

最优路径计算单元,用于根据所述第一概率和所述第二概率,计算从所述起点位置到所述终点位置的最优路径;

第二位置确定单元,用于在所述最优路径上分别确定与所述时间序列上每个时刻一一对应的位置点,作为与所述多个第一位置一一对应的第二位置。

在本申请实施例中,所述第二位置对应的目标指纹序列包括多次采集得到的多个指纹序列,所述指纹数据库更新模块704具体可以包括如下子模块:

存储子模块,用于将所述第二位置及其对应的多个目标指纹序列存储至候选数据库;

统计子模块,用于按照预设周期,统计所述候选数据库中的每个第二位置对应的多个目标指纹序列的高斯分布;

确定子模块,用于根据所述高斯分布,从所述多个目标指纹序列中确定与所述每个第二位置匹配的待更新指纹序列;

更新子模块,用于将所述每个第二位置以及与所述每个第二位置匹配的待更新指纹序列更新到所述指纹数据库。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。

参照图8,示出了本申请一个实施例的一种服务器的示意图。如图8所示,本实施例的服务器800包括:处理器810、存储器820以及存储在所述存储器820中并可在所述处理器810上运行的计算机程序821。所述处理器810执行所述计算机程序821时实现上述指纹数据库的更新方法各个实施例中的步骤,例如图1所示的步骤s101至s104。或者,所述处理器810执行所述计算机程序821时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块701至704的功能。

示例性的,所述计算机程序821可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器820中,并由所述处理器810执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序821在所述服务器800中的执行过程。例如,所述计算机程序821可以被分割成rssi序列接收模块、第一位置定位模块、第二位置确定模块、指纹数据库更新模块,各模块具体功能如下:

rssi序列接收模块,用于接收服务器采集的接收信号强度指示rssi序列;

第一位置定位模块,用于根据所述rssi序列和预设的指纹数据库对所述服务器进行定位,确定所述服务器的第一位置;

第二位置确定模块,用于对所述第一位置进行修正,获得所述服务器的第二位置以及与所述第二位置相对应的目标指纹序列;

指纹数据库更新模块,用于根据所述目标指纹序列,对所述指纹数据库中所述第二位置对应的指纹序列进行更新。

所述服务器800可以是云端服务器等计算设备。所述服务器800可包括,但不仅限于,处理器810、存储器820。本领域技术人员可以理解,图8仅仅是服务器800的一种示例,并不构成对服务器800的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器800还可以包括输入输出设备、网络接入设备、总线等。

所述处理器810可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器820可以是所述服务器800的内部存储单元,例如服务器800的硬盘或内存。所述存储器820也可以是所述服务器800的外部存储设备,例如所述服务器800上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等等。进一步地,所述存储器820还可以既包括所述服务器800的内部存储单元也包括外部存储设备。所述存储器820用于存储所述计算机程序821以及所述服务器800所需的其他程序和数据。所述存储器820还可以用于暂时地存储已经输出或者将要输出的数据。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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