CN112437485B - 一种基于神经网络的指纹空间插值法的定位方法及装置 - Google Patents

一种基于神经网络的指纹空间插值法的定位方法及装置 Download PDF

Info

Publication number
CN112437485B
CN112437485B CN202011186302.4A CN202011186302A CN112437485B CN 112437485 B CN112437485 B CN 112437485B CN 202011186302 A CN202011186302 A CN 202011186302A CN 112437485 B CN112437485 B CN 112437485B
Authority
CN
China
Prior art keywords
rss
fingerprint
original
extended
initial
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
CN202011186302.4A
Other languages
English (en)
Other versions
CN112437485A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202011186302.4A priority Critical patent/CN112437485B/zh
Publication of CN112437485A publication Critical patent/CN112437485A/zh
Application granted granted Critical
Publication of CN112437485B publication Critical patent/CN112437485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明实施例提供了一种基于神经网络的指纹空间插值法的定位方法及装置,通过已知指纹的原AP,确定未知指纹的扩展AP。利用了AP指纹信息的特性,得到的扩展AP指纹更加准确。另外,使用了已扩指纹库,得到待定位点的位置。由于在原指纹库中已知指纹的原AP的基础上,插入更多的扩展AP的指纹,自动来扩充原指纹库,能够有效的降低已扩指纹库的采集工作量,能够使用有限的指纹数据得到更多扩充,得到较高定位精度的定位结果。

Description

一种基于神经网络的指纹空间插值法的定位方法及装置
技术领域
本发明涉及定位技术领域,特别是涉及一种基于神经网络的指纹空间插值法的定位方法及装置。
背景技术
在使用位置指纹技术进行定位时,会使用无线局域网(Wireless Local AreaNetworks,简称WLAN)指纹库。而指纹库的建立过程是在定位之前,提前在定位场所里进行信号值采样,建立指纹库。在指纹库的建立过程中,利用接收信号强度(Received SignalStrength,简称RSS)值与空间之间的映射关系进行位置指纹库的建立。
为了建立较为准确的指纹库,往往需要重复多次在不同的时间段里进行采样,指纹库中的空间点越多,就意味着建立指纹库的工作量就越大。通过指纹库中足够多的位置指纹数据提高定位精度,但是传统的指纹库建立工作往往十分繁复,建库工作往往繁琐且耗时。
发明内容
本发明实施例的目的在于提供一种基于神经网络的指纹空间插值法的定位方法及装置,用以自动扩充指纹库,能够有效的降低指纹库的采集工作量,能够使用有限的指纹数据得到更多扩充,提高定位精度。具体技术方案如下:
第一方面,本发明实施例提供了基于神经网络的指纹空间插值法的定位方法,包括:
获取待定位点的多个接收信号强度rss;
使用K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中接入点AP指纹中的RSS集合,得到所述待定位点的位置;其中,K为类的总数;所述已扩指纹库中AP包括:原AP以及扩展AP;所述扩展AP的指纹是通过已训练对偶传播CPN神经网络对未知指纹的扩展AP,确定的扩展AP位置及扩展AP位置对应的RSS集合;所述扩展AP位置对应的RSS集合是按照相似度,对所述原AP的指纹进行聚类,得到多个类;确定每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;确定与所述扩展AP之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均得到的。
进一步的,所述使用K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中接入点AP指纹中的RSS集合,得到所述待定位点的位置,包括:
采用公式:
Figure GDA0003208332070000021
Figure GDA0003208332070000022
得到所述待定位点的位置;
其中,
Figure GDA0003208332070000023
为前K个距离最短的对应位置的平均值,作为待定位点的位置,
Figure GDA0003208332070000024
为待定位点的横坐标,
Figure GDA0003208332070000025
为待定位点的纵坐标,MIN_K为前K个最小值,K为类的数量,i为序号,(xi,yi)为AP的位置,xi为第i个AP的横坐标,yi为第i个AP的纵坐标,Di为待定位点的rss值集合与指纹库中的第i个位置点对应的RSS值集合的欧式距离,D1为待定位点的rss值集合与已扩指纹库中的第1个原AP位置对应的RSS值集合的欧式距离,DL为待定位点的rss值集合与已扩指纹库中的第L个原AP位置对应的RSS值集合的欧式距离,j为AP点标号,j=1,2,...,M,M为AP的总数,rssj=(rss1,rss2,...,rssm)为待估计点中的m个rss值集合,RSSi,j=(RSS1,RSS2,...,RSSm)为所述已扩指纹库第i个AP的RSS值,(.)1/q为求解rssj与RSSi,j之间的欧式距离,q的取值为1或者2,rss与RSS之间的距离分别为曼哈顿距离和欧几里德距离,L为AP的总数。
进一步的,通过如下步骤,确定所述已扩指纹库:
从原指纹库的每个原AP处采集多个RSS值,确定所述已扩充指纹库中的初始指纹集合;所述初始指纹集合中包括:各原AP位置及与所述各原AP位置对应的RSS集合;
使用就远原则K-近邻算法,从所述初始指纹集合,选择初始聚类中心;并且,以所述初始聚类中心为中心,对所述初始指纹集合进行聚类,得到多个类;每个类包括:初始聚类中心及除初始聚类中心以外的其他聚类成员;
选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;
通过训练好的对偶传播CPN神经网络,确定与扩展AP位置之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均,得到扩展AP位置对应的RSS值集合;以及,将所述扩展AP位置及所述扩展AP位置对应的RSS值集合,作为扩展AP的指纹;
将所述扩展AP的指纹插入初始指纹集合中,得到所述已扩指纹库。
进一步的,所述使用就远原则K-近邻算法,从初始指纹集合,选择初始聚类中心,包括:
从初始指纹集合中随机选择一个原AP,确定为第一个聚类中心,作为已选类中心;
计算所述初始指纹集合中每个原AP,与已选类中心之间的距离;
按照距离,选择与已选类中心之间的距离大于预设值的原AP,确定为第二聚类中心,作为已选类中心;
判断所有已选类中心的总数是否达到K;
如果没有达到K,返回执行计算所述计算所述初始指纹集合中每个原AP,与已选类中心之间的距离,直至所有已选类中心的总数是否达到K,确定K个类以及K个已选类中心,作为K个初始聚类中心。
进一步的,通过如下步骤,通过已训练对偶传播CPN神经网络对未知指纹的扩展AP,确定的扩展AP位置及扩展AP位置对应的RSS集合:
从每个类中,选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;
通过已训练对偶传播CPN神经网络,对所述未知指纹的扩展AP进行预测,得到每个所述未知指纹的扩展AP对应RSS集合。
进一步的,通过如下步骤,得到所述已训练CPN神经网络:
将原指纹库中的各原AP位置及原AP位置对应的RSS集合,作为待训练CPN神经网络的训练样本集;
将所述训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入,训练所述待训练CPN神经网络结构中的各层函数映射关系,输出所述已扩指纹库中各原AP位置对应的RSS集合,得到已训练CPN神经网络,其中,所述映射关系为在训练过程中确定的最佳权值矩阵;
其中,所述将训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入,训练所述待训练CPN神经网络结构中的各层函数映射关系,输出所述已扩指纹库中各原AP位置对应的RSS集合,得到已训练CPN神经网络,包括:
将所述训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入;
使用所述训练样本集训练所述待训练CPN神经网络,以修正训练时隐藏层的初始权值以及修正训练时输出层的初始权值;其中,所述训练时隐藏层的初始权值为K个聚类中心的向量,所述K个聚类中心用于表示各原AP的RSS集合,所述K个聚类中心是通过就远原则K-近邻算法,按照各原AP位置对应的RSS集合进行计算得到的,所述训练时隐藏层初始权值为通过RSS集合对应的各原AP位置进行再次计算得到的;
在满足训练结束条件时,得到已训练CPN神经网络。
进一步的,所述修正训练时隐藏层的初始权值,包括:
采用公式:
Figure GDA0003208332070000041
计算连接权重与输入的各原AP位置p(xk,yk)最近的连接向量;其中,Wg为与输入的各原AP位置p(xk,yk)最近的连接向量,p(xk,yk)为各原AP位置,xk为各原AP位置的横坐标,yk为各原AP位置的纵坐标,k为各原AP的序号,Wj为与输入的p(xk,yk)的每个连接向量,j为位置点区域分类的第j个区域,j=1,…,g,…,m为分类的区域数,g为与各个区域中与位置p(xk,yk)最近的周围区域,p为输入值(xk,yk),max为最大值的缩写;
将指定神经元对应的隐藏层输出设置为1,并将除所述指定神经元以外的其余神经元输设置为0,得到所述隐藏层的输出,其中,所述隐藏层的输出为:
Figure GDA0003208332070000051
其中,bj为所述隐藏层的输出,g为指定神经元;
采用如下公式Wg(t+1)=Wg(t)+lr1·[p-Wg(t)],修正最近的连接向量Wg,并进行归一化;其中,Wg(t+1)为第t+1次的权值向量,Wg(t)为第t次的权值向量,lr1为学习率,p为输入值(xk,yk);
所述修正训练时输出层的初始权值,包括:
采用如下公式:yk=Vk·b,k=1,...,n,计算输出层的输出;其中,yk为第k个AP对应的rss信号值,Vk为输出层权值,b为隐藏层的输出,n为输出层节点数目,k为第k个AP;
采用如下公式:Vk(t+1)=Vk(t)+η·b·(yk-ok),修正连接权重Vk,其中,Vk(t+1)为第t+1次的权值向量,k=1,...,n,η为学习率,ok为输出层的输出。
第二方面,本发明实施例提供了基于神经网络的指纹空间插值法的定位装置,包括:
获取模块,用于获取待定位点的多个接收信号强度rss;
处理模块,用于使用K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中接入点AP指纹中的RSS集合,得到所述待定位点的位置;其中,K为类的总数;所述已扩指纹库中AP包括:原AP以及扩展AP;所述扩展AP的指纹是通过已训练对偶传播CPN神经网络对未知指纹的扩展AP,确定的扩展AP位置及扩展AP位置对应的RSS集合;所述扩展AP位置对应的RSS集合是按照相似度,对所述原AP的指纹进行聚类,得到多个类;确定每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;确定与所述扩展AP之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均得到的。
进一步的,所述装置还包括:建立模块,用于通过如下步骤,确定所述已扩指纹库:
从原指纹库的每个原AP处采集多个RSS值,确定所述已扩充指纹库中的初始指纹集合;所述初始指纹集合中包括:各原AP位置及与所述各原AP位置对应的RSS集合;
使用就远原则K-近邻算法,从所述初始指纹集合,选择初始聚类中心;并且,以所述初始聚类中心为中心,对所述初始指纹集合进行聚类,得到多个类;每个类包括:初始聚类中心及除初始聚类中心以外的其他聚类成员;
选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;
通过训练好的对偶传播CPN神经网络,确定与扩展AP位置之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均,得到扩展AP位置对应的RSS值集合;以及,将所述扩展AP位置及所述扩展AP位置对应的RSS值集合,作为扩展AP的指纹;
将所述扩展AP的指纹插入初始指纹集合中,得到所述已扩指纹库。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一的方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。
本发明实施例有益效果:
本发明实施例提供的一种基于神经网络的指纹空间插值法的定位方法及装置,通过已知指纹的原AP,确定未知指纹的扩展AP。利用了AP指纹信息的特性,得到的扩展AP指纹更加准确。另外,使用了已扩指纹库,得到待定位点的位置。由于在原指纹库中已知指纹的原AP的基础上,插入更多的扩展AP的指纹,自动来扩充原指纹库,能够有效的降低已扩指纹库的采集工作量,能够使用有限的指纹数据得到更多扩充,得到较高定位精度的定位结果。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于神经网络的指纹空间插值法的定位方法的第一流程示意图;
图2为本发明实施例提供的基于神经网络的指纹空间插值法的定位方法的第二流程示意图;
图3为本发明实施例提供的基于神经网络的指纹空间插值法的定位方法的第三流程示意图;
图4为本发明实施例的已训练CPN神经网络的示意图;
图5为本发明实施例的确定聚类中心的示意图;
图6为本发明实施例的基于神经网络的指纹空间插值法的定位方法举例的示意图;
图7为本发明实施例的基于神经网络的指纹空间插值法的定位装置的结构示意图;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面继续对本发明实施例提供的基于神经网络的指纹空间插值法的定位方法及装置进行介绍。
指纹库的建立过程是在定位之前,提前在定位场所里进行信号值采样,建立指纹库。在指纹库的建立过程中,利用接收信号强度(Received Signal Strength,简称RSS)值与空间之间的映射关系进行位置指纹库的建立。
为了建立较为准确的指纹库,往往需要重复多次在不同的时间段里进行采样,指纹库中的空间点越多,使得建立指纹库的工作量增大。发明人研究由于空间分布的AP指纹信息是非线性变化的,而通过聚类得到的类中,由于各AP的相似度较大,因此,近似认为各类中AP指纹信息趋于线性变化。
故,采用本发明实施例提供的一种基于神经网络的指纹空间插值法的定位方法及装置,将已知指纹的原AP的指纹进行聚类,得到多个类;在每类中选择与原AP位置不同的点,作为未知指纹的扩展AP;由于扩展AP的位置已知,可以确定与扩展AP之间距离小于阈值的多个区域,作为周围区域;将周围区域内的RSS值之和求平均,得到未知指纹的扩展AP的指纹。
基于上述过程,利用了AP指纹信息的特性,得到的扩展AP指纹更加准确。另外,使用了已扩指纹库,得到待定位点的位置。由于在原指纹库中已知指纹的原AP的基础上,插入更多的扩展AP的指纹,自动来扩充原指纹库,能够有效的降低已扩指纹库的采集工作量,能够使用有限的指纹数据得到更多扩充,得到较高定位精度的定位结果。从而解决了现有技术中的传统的指纹库建立工作往往十分繁复,建库工作往往繁琐且耗时的问题。
基于上述整体的介绍,下面继续对本发明实施例提供的基于神经网络的指纹空间插值法的定位方法进行详细介绍。
本发明实施例所提供的一种基于神经网络的指纹空间插值法的定位方法,应用于室内定位场景或室外定位场景。具体的,可以应用于电子设备,该电子设备可以为:智能移动终端及车载终端等。在此不作限定,任何可以实现本发明实施例的电子设备,均属于本发明的保护范围。
如图1所示,本发明实施例所提供的一种基于神经网络的指纹空间插值法的定位方法,该方法可以包括如下步骤:
步骤11,获取待定位点的多个rss(received signal strength,接收信号强度)。
其中,在用户使用移动终端处于当前位置时,用户还未知晓当前位置(一般用户通过此移动终端所处的当前位置,可以默认为用户所处的当前位置)时,此当前位置可以称为待定位点。此待定位点为需要进行定位的位置,本发明实施例最终需要定位出来这个待定位点的位置坐标,该位置坐标包括经度、纬度和高度。这个待定位点处于定位区域内,定位区域可以是室外区域,比如,山体隧道;这个定位区域也可以是室外区域,比如,建筑区域。示例性的,建筑区域是商场、写字楼、公寓,教学楼、居民楼等。任何能够使用本发明实施例的待定位点,均属于本发明实施例的保护范围。
当然,此待定位点可以是一个点,此待定位点也可以多个点。当此待定位点为多个点时,可以每个待定位点位置的确定方式与一个待定位点位置的确定方式相同,均可以采用本发明实施例定位方法完成位置的定位。并且,待定位点可以但不限于为移动终端。
步骤12,使用就远原则K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中AP(Access Point,接入点)指纹中的RSS集合,得到所述待定位点的位置;其中,K为类的总数;所述已扩指纹库中AP包括:原AP以及扩展AP;所述扩展AP的指纹是通过已训练CPN(Counter Propagation Network,对偶传播)神经网络对未知指纹的扩展AP,确定的扩展AP位置及扩展AP位置对应的RSS集合;所述扩展AP位置对应的RSS集合是按照相似度,对所述原AP的指纹进行聚类,得到多个类;确定每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;确定与所述扩展AP之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均得到的。
其中,已扩指纹库“已扩”与下文中的原指纹库的“原”是为了区分两个指纹库,当然两者均可以称为位置指纹库。为方便说明,位置指纹库也可以称为指纹库。另外,使用“rss”和“RSS”这两种接收信号强度的表示方式,是为了区别指纹库中的“接收信号强度”和待定位点的“接收信号强度”。同理,原AP“原”以及扩展AP中“扩展”也是为了区分两个AP,当然两者均可以称为AP。
其中,所述类包括:聚类成员,所述聚类成员包括:初始聚类中心及除所述初始聚类中心以外的其他聚类成员。这次聚类成员分别是指原AP。
上述步骤12中的,已扩指纹库中的AP指纹包括:已知位置和已知RSS集合。未知指纹的扩展AP也是包括:未知位置和未知RSS集合。后续可以确定出扩展AP位置及扩展AP位置对应的RSS集合。此未知指纹的扩展AP与已知指纹的原AP同一片区域内,但两者原AP位置不重合,这样扩展AP与原AP的相关性,可以通过原AP,确定出扩展AP,提高确定扩展AP的有效性。为了达到更好的插值效果,选取扩展原AP位置应该均匀分布于原指纹库原AP位置网格中。
为了可以确定出扩展AP位置及扩展AP位置对应的RSS集合,上述步骤120中,确定每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP的确定方式可以是随机选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;也可以是通过原AP,计算得到的每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP。
本发明实施例中,通过已知指纹的原AP,确定未知指纹的扩展AP。利用了AP指纹信息的特性,得到的扩展AP指纹更加准确。另外,使用了已扩指纹库,得到待定位点的位置。由于在原指纹库中已知指纹的原AP的基础上,插入更多的扩展AP的指纹,自动来扩充原指纹库,能够有效的降低已扩指纹库的采集工作量,能够使用有限的指纹数据得到更多扩充,得到较高定位精度的定位结果。
在上述指纹定位过程之前,指纹库已经建立完成。以下详细说明上述基于神经网络的指纹空间插值法的定位方法中如何建立上述指纹库。
为了能够按照相似度,对所述原AP的指纹进行聚类,得到多个类,本发明实施例可以采用聚类方法,按照相似度,对所述原AP的指纹进行聚类,得到多个类。其中,聚类方法可以但不限于包括:基于划分的聚类方法、使用可再生能源代表的集群(clustering usingRE presentatives,简称CURE)算法及基于神经网络的聚类方法中的任一种。其中,基于划分的聚类方法比如但不限于为K-means聚类算法或K-medoids聚类算法,基于神经网络的聚类方法比如但不限于为自组织映射(Self-organizing Maps,简称SOM)算法。
但是,由于初始的聚类中心之间的相互距离要尽可能的远,这样在后续聚类中,不断的聚类得到符合需求的聚类中心,因此,参见图2所示,在一种可能的实现方式中,按照相似度,对所述原AP的指纹进行聚类,得到多个类,以完成通过如下步骤,确定所述已扩指纹库:
步骤21,从原指纹库的每个原AP处采集多个RSS值,确定所述已扩充指纹库中的初始指纹集合;所述初始指纹集合中包括:各原AP位置及与所述各原AP位置对应的RSS集合;这样通过每个原AP处采集多个RSS值以及各原AP位置,确定出已扩充指纹库中的初始指纹集合。
步骤22,使用就远原则K-近邻算法,从初始指纹集合,选择初始聚类中心;并且,以所述初始聚类中心为中心,对所述初始指纹集合进行聚类,得到多个类;每个类包括:初始聚类中心及除初始聚类中心以外的其他聚类成员;这样使用就远原则K-近邻算法,将相似度小于阈值的各原AP的指纹进行聚类,确定类。
其中,就远原则KMeans算法,即KMeans++算法有效解决了KMeans算法初始值的选择难题,从而提高算法稳定性。KMeans聚类在各个领域该算法都得到了使用,在室内定位方面也同样得到了应用。例如,将KMeans++与传统WKNN(基于KNN改进的加权K邻近法)算法进行融合,改进了WKNN算法的K值难以确定导致的算法效果不佳的问题。或者使用了KMeans++算法确定RBF神经网络中的样本中心(即RBF神经网咯中的隐含神经元),提高了径向基神经网络结构(Radial Basis Function neural network structure,简称RBF)神经网络在具体定位过程中的可靠性。其中,K最近邻(K-Nearest Neighbor,简称KNN)分类算法。
上述第一步进一步包括:使用就远原则K-近邻算法,从初始指纹集合,随机选择一个或多个初始聚类中心。后续再对选择的初始聚类中心进行优化。参见图3所示,以下以一个初始聚类中心进行具体说明如下:
步骤221,从初始指纹集合中随机选择一个原AP,确定为第一个聚类中心,作为已选类中心。
步骤222,计算所述初始指纹集合中每个原AP,与已选类中心之间的距离。
步骤223,按照距离,选择与已选类中心之间的距离大于预设值的原AP,确定为第二聚类中心,作为已选类中心。
步骤224,判断所有已选类中心的总数是否达到K,如果否,也就是没有达到K,返回步骤222继续执行;如果是,也就是达到K,执行步骤225。
步骤225,确定K个类以及K个已选类中心,作为K个初始聚类中心。
步骤23,选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP。
此步骤中,通过选择每类中与聚类成员的位置不同的点,确定了未知指纹的扩展AP,默认可以确定出未知指纹的扩展AP位置。
步骤24,通过训练好的对偶传播CPN神经网络,确定与扩展AP位置之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均,得到扩展AP位置对应的RSS值集合;以及,将所述扩展AP位置及所述扩展AP位置对应的RSS值集合,作为扩展AP的指纹。
其中,上述步骤24进一步包括:从每个类中,选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP,其中,选取未知指纹的扩展AP的原则上需要尽可能地在原指纹库对应的区域中,选择规则且分布均匀的点,作为未知指纹的扩展AP;通过已训练CPN神经网络,对所述未知指纹的扩展AP进行预测,得到每个所述未知指纹的扩展AP对应RSS集合。
对于上述通过已训练CPN神经网络,对所述未知指纹的扩展AP进行预测,得到每个所述未知指纹的扩展AP对应RSS集合进一步包括:搭建神经网络结构,更改原始结构中的输出函数;将未知指纹的扩展AP输入至神经网络结构中,得到每个所述未知指纹的扩展AP对应RSS集合,后续每个所述未知指纹的扩展AP对应RSS集合加入初始位置指纹库,得到已扩指纹库;基于已扩指纹库使用KNN进行待定位点的位置计算。
这里需要说明的是:说明:未知指纹的扩展AP对应rss集合即为原AP位置的对应rss集合B=(rss1,...,rssk);k为AP个数,D为集合B的距离集合;S为B的聚类中心集合,S=(B1,...,Bm),m为聚类中心个数;C为集合S中每个特征信息对应的位置坐标,C=((x1,y1),...,(xm,ym));P集合为原始位置坐标集,P=((x1,y1),...,(xi,yi)),i为所有输入待定位点个数。
再将算法得出的聚类中心集合进行归一化,得到的结果即为Kohonen层初始权值。
再将算法得出的聚类中心集合进行归一化,得到的结果即为Kohonen层初始权值。
其中,通过如下步骤,得到所述已训练CPN神经网络:将原指纹库中的各原AP位置及原AP位置对应的RSS集合,作为待训练CPN神经网络的训练样本集;将所述训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入,训练所述待训练CPN神经网络结构中的各层函数映射关系,输出所述已扩指纹库中各原AP位置对应的RSS集合,得到已训练CPN神经网络,其中,所述映射关系为在训练过程中确定的最佳权值矩阵。
上述训练过程输入的原指纹库的原AP位置,预期输出为原指纹库原AP位置对应的信号值,原指纹库的原AP位置以及对应信号值可以是人力采集的已知数据,在这个过程中,输入和输出都是已知的,这部分数据是离线采集得到的,未知的是网络结构中的各层函数映射关系,即权值矩阵,在训练过程中得到最佳的权值矩阵,即映射关系。
其中,上述将训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入,训练所述待训练CPN神经网络结构中的各层函数映射关系,输出所述已扩指纹库中各原AP位置对应的RSS集合,得到已训练CPN神经网络包括:
将所述训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入;使用所述训练样本集训练所述待训练CPN神经网络,以修正训练时隐藏层的初始权值以及修正训练时输出层的初始权值;其中,所述训练时隐藏层的初始权值为K个聚类中心的向量,所述K个聚类中心用于表示各原AP的RSS集合,所述K个聚类中心是通过就远原则K-近邻算法,按照各原AP位置对应的RSS集合进行计算得到的,所述训练时隐藏层初始权值为通过RSS集合对应的各原AP位置进行再次计算得到的;在满足训练结束条件时,得到已训练CPN神经网络。
进一步的,所述修正训练时隐藏层的初始权值,包括:
采用公式:
Figure GDA0003208332070000131
计算连接权重与输入的各原AP位置p(xk,yk)最近的连接向量;其中,Wg为与输入的各原AP位置p(xk,yk)最近的连接向量,p(xk,yk)为各原AP位置,xk为各原AP位置的横坐标,yk为各原AP位置的纵坐标,k为各原AP的序号,Wj为与输入的p(xk,yk)的每个连接向量,j为下标,用于表示位置点区域分类的第j个区域,j=1,…,g,…,m为连接向量的总数,用于表示分类的区域数,g为与各个区域中与位置(xk,yk)最近的周围区域,p为输入值(xk,yk),max为最大值的缩写;
将指定神经元对应的隐藏层输出设置为1,并将除所述指定神经元以外的其余神经元输设置为0,得到所述隐藏层的输出,其中,所述隐藏层的输出为:
Figure GDA0003208332070000141
其中,bj为所述隐藏层的输出,g为指定神经元;
采用如下公式Wg(t+1)=Wg(t)+lr1·[p-Wg(t)],修正最近的连接向量Wg,并进行归一化;其中,Wg(t+1)为第t+1次的权值向量,Wg(t)为第t次的权值向量,lr1为学习率,p为输入值(xk,yk);
所述修正训练时输出层的初始权值,包括:
采用如下公式:yk=Vk·b,k=1,...,n,计算输出层的输出;其中,yk为输出层的输出,用于表示第k个AP对应的rss信号值,Vk为输出层权值,b为隐藏层的输出,n为输出层节点数目,k为第k个AP;
采用如下公式:Vk(t+1)=Vk(t)+η·b·(yk-ok),修正连接权重Vk,其中,Vk(t+1)为第t+1次的权值向量,k=1,...,n,η为学习率,ok为输出层的输出。
步骤25,将所述扩展AP的指纹插入初始指纹集合中,得到所述已扩指纹库。
在本发明实施例中,通过上述步骤进行位置的原指纹库的扩充,能够有效的降低位置原指纹库的采集工作量,能够使用有限的位置指纹数据得到较高定位精度的位置定位结果。
基于上述内容,为了确定待定位点的位置,本发明实施例中上述步骤120包括:
采用公式:
Figure GDA0003208332070000142
Figure GDA0003208332070000143
得到所述待定位点的位置;
其中,
Figure GDA0003208332070000144
为前K个距离最短的对应位置的平均值,作为待定位点的位置,
Figure GDA0003208332070000151
为待定位点的横坐标,
Figure GDA0003208332070000152
为待定位点的纵坐标,MIN_K为前K个最小值,K为类的数量,也是K-近邻算法中的K值,i为序号,(xi,yi)为AP的位置,xi为第i个AP的横坐标,yi为第i个AP的纵坐标,Di为待定位点的rss值集合与指纹库中的第i个位置点对应的RSS值集合的欧式距离,D1为待定位点的rss值集合与已扩指纹库中的第1个原AP位置对应的RSS值集合的欧式距离,DL为待定位点的rss值集合与已扩指纹库中的第L个原AP位置对应的RSS值集合的欧式距离,j为AP点标号,j=1,2,...,M,M为AP的总数,rssj=(rss1,rss2,...,rssm)为待估计点中的m个rss值集合,RSSi,j=(RSS1,RSS2,...,RSSm)为所述已扩指纹库第i个AP的RSS值,(.)1/q为求解rssj与RSSi,j之间的欧式距离,q的取值为1或者2,rss与RSS之间的距离分别为曼哈顿距离和欧几里德距离,L为AP的总数。
在本发明实施例中,使用就远原则KMeans算法进行神经网络中的初始权值确定,用于改进由于随机初始权值导致的神经网络模型收敛结果不理想的情况;并且,本发明实施例通过重新待训练CPN神经网络结构中的各层函数映射关系,改进CPN神经网络结构中的输出函数,得到已训练CPN神经网络结构中的输出函数,以此适应位置指纹定位的实际情况得出更加理想的结果。
以下说明本发明实施例中已训练CPN神经网络结构的训练和生成过程。
网络过程内容补充:
CPN是一个异构二级神经网络,分为输入层、Kohonen层和Grosberg层,有效CPN是由自组织网和Grossberg外星网组合而成。Kohonen层称为隐藏层,隐藏层为竞争层,采用无监督的竞争学习规则,而输出层为Grossberg层,利用已知的理想输出进行该层权值修正,其具体结构如下图4所示。
(1)、输入层:该层只将输入向量传播到Konhonen层中,将输入向量的每个分量按照一定的权值进行传递至下一层的神经元中。在插值过程中,将接收点的位置坐标(x,y)作为输入,对应的信号值组合为(rss1,rss2,...,rssk)作为输出,k为AP数目。
(2)、Kohonen层:该层神经元的节点数目表示对输入样本的类划分数目,类节点越多那么就意味着类划分越精确,输出的结果精确度越高,最极端的一种情况则是将每个点都划分为一个类,这样的话会导致算法训练时间过长,根据实际情况进行精度和训练时间的平衡,根据算法在本发明实施例中的实际情况可以知道Kohonen层的节点数与定位的室内平面面积相关,较为通俗的解释即是,将平面按照面积分为几个相等的部分则意味着Kohonen有多少个节点,由于空间相关性,在同一块面积的rss信号值向量具有一定的相似性,每一块作为一个类。输入层与Kohonen层是全相联,每条边的权值为Wi,j,其中i表示输入层的节点编号,j表示输出层的节点编号。假设Kohonen层有m个节点,将输入层与Kohonen层之间的所有权值使用向量表示为:
W1=(W1,1,W1,2)T,W2=(W2,1,W2,2),...,Wm=(Wm,1,Wm,2)为了让W1,W2,...,Wm能够较好的代表网络所给出的样本集中的划分,对一个给定的输入向量Pi=(xi,yi),必须从W1,W2,...,Wm中找出最接近的权向量Wo,并用该权向量代表Pi所在的类,根据Pi=(xi,yi)与向量Wo之间的差值进行权值修正,但是在修正过程中需要控制修正幅度的大小,这是因为修正幅度越大,出现抖动的情况越大,那么需要尽可能的选择一个较好的初始权值对于整个神经网络的性能能够提升很多。隐藏层的连接权值Wg,其修正过程上文已经详细介绍,在此不再赘述。
(3)、Grossberg层:该层具有n个节点,代表在接受点(x,y)上n个AP的rss值,每个节点都与Kohonen直接全相联,每条边的权值为Vmn,其中m是Kohonen层的节点编号,而n是Grossberg层的节点编号,因此这两层间的权向量表示为:
V1=(V1,1,...,V1,n)T,V2=(V2,1,...,V2,n)T,...,Vn=(Vm,1,...,Vm,n)T
该层的训练方法跟Kohenon层相似,不同的是Kohenon层是按照输入的向量P进行权值修正,而Grossberg是按照预期输出进行权值修正,其修正过程上文已经详细介绍,在此不再赘述。
(4)、将样本带入到CPN网络中进行训练,不断修正Kohenon层以及Grossberg层的权值,设置合适的训练次数控制整个训练过程。
以下详细举例说明训练过程:
原指纹库数据集合如表1所示,其中(xL,yL)表示第L个参考点坐标。
Figure GDA0003208332070000171
其中,(xi,yi)为原指纹库中的原AP位置,其中(i=1,2,...,L)该原指纹库中的原AP位置作为输入样本。
参见图5,(1)、通过KMeans++算法按照位置特征点RSS集合进行计算得到k个聚类中心。具体实现过程:
第1步,输入位置点特征信息集合B;第2步,计算集合B中每两个位置点之间距离集合D,即D={Bi-Bj},(Bi,Bj∈B);第3步,取D中最大值Dmax对应的集合B中的特征信息B1,B2存入集合S中,即
Figure GDA0003208332070000172
第4步,计算集合B中剩余向量与集合S中向量的距离,选取距离结果中的最大值d1所对应的特征信息,加入集合S;第5步,判断最大值d1是否大于设置阈值,如果否,即小于,则返回第4步继续执行,直至第6步,如果是,即大于,则得到聚类中心向量集合S,按照位置点向量与位置特征信息向量映射关系得到聚类中心C;第7步,计算位置点集合P中所有向量与集合C的距离,将集合P中向量分配到最近的聚类中心,得到已选类中心集合;第8步,分别计算已选类中心集合中的均值,标记为已选类中心;第9步,判断是否达到迭代结束条件,所述迭代结束条件包括:已选类中心是否发生变化,或者,新旧聚类中心距离是否小于预设阈值,即d2<预设阈值λ2;如果否,即如果已选类中心发生变化及本次已选类中心与之前已选类中心之间的距离大于预设阈值,则返回第7步继续执行,直至如果已选类中心不再变化及本次已选类中心与之前已选类中心之间的距离小于预设阈值,则执行第10步,输出K个初始聚类中心集合。
上述得到的K个聚类中心向量为RSS集合即为初始的输出层权值V。通过RSS集合对应的原AP位置进行再次计算得到矩阵P为网络训练时的初始隐藏层权值W。
以上述步骤为例,其中,S为特征值信号聚类中心即为RSS集合,最终输出的聚类中心集合为原AP位置聚类中心集合P。
(2)、原AP位置集合P(x,y)以及原AP位置对应的RSS集合(RSS1,...,RSSm),在本发明实施例中m=6,因此在下文中使用m=6,其中原AP位置集合P,作为网络结构中隐藏层权值W,W结构如下:
Figure GDA0003208332070000181
特征值集合RSS作为输出层权值V,V结构如下:
Figure GDA0003208332070000182
其中,(RSSK,1,...,RSSK,6)为(xk,yk)对应的RSS集合。
(3)、隐藏层即Kohenon层的权值修正计算过程在上文中已经详述,在此不再赘述。同理,(4)、输出层即Grossberg层的权值修正计算过程在上文中已经详述,在此不再赘。
(5)、将样本带入到CPN网络中进行训练,不断修正Kohenon层以及Grossberg层的权值,设置合适的训练次数控制整个训练过程,训练完成后得到较为理想的W以及V值。
上述已训练对偶传播CPN神经网络的生成过程:
(1)、将扩展AP位置pj(xj,yj)作为神经网络的输入,其中扩展AP位置与原指纹库中原AP位置属于同一片区域,且与原AP位置不重合。
(2)、计算连接权重W与输入向量pj(xj,yj)距离向量集合D,D=W-pj,选取集合D中bj符合bj2,其中,本发明实施例经过多次调试,选择λ=0.5的所有bj为1,计算公式为:
Figure GDA0003208332070000191
(3)、最终输出结果为yj
yj=(vm T·z)/N,vm T=(RSS1,m,...,RSSk,m),m=1,...,6。
N=(z中非0的值的个数)
本发明实施例的具体应用场景的举例:
选定实验场地测试环境面积大小为20*15*4(m),WLAN(Wireless Local AreaNetwork,简称无线局域网)信号发射频率为2.4GHZ,总共设置有6个发射AP,266个接收点,40个测试点。
测试环境如下图6所示:
整个阶段分为离线即上述训练过程和在线即上述生成两个阶段,其中:
离线阶段在电脑端完成:1.建库工作:按照网络方式根据建筑物结构选择合适的接收点,在每个接收点中采集多组数据RSSi=(rss1i,rss2i,rss3i,rss4i,rss5i,rss6i),i=采集组数,再将接收到的数据集进行滑动平均处理,建立初始RSS指纹库。
2.处理原指纹库:将采集到的数据使用上述已训练对偶传播CPN神经网络进行处理,得出已扩指纹库。
在线阶段,使用手机将待测原AP位置上接收到的信号值集合rssm=(rss1,rss2,rss3,...,rssm),(m在实验中取6,即6个AP)发送至电脑端,通过电脑端计算位置结果。
下面继续对本发明实施例提供的基于神经网络的指纹空间插值法的定位装置进行介绍。
参见图7,图7为本发明实施例提供的基于神经网络的指纹空间插值法的定位装置的结构示意图。本发明实施例所提供的基于神经网络的指纹空间插值法的定位装置,可以包括如下模块:
获取模块31,用于获取待定位点的多个接收信号强度rss;
处理模块32,用于使用K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中接入点AP指纹中的RSS集合,得到所述待定位点的位置;其中,K为类的总数;所述已扩指纹库中AP包括:原AP以及扩展AP;所述扩展AP的指纹是通过已训练对偶传播CPN神经网络对未知指纹的扩展AP,确定的扩展AP位置及扩展AP位置对应的RSS集合;所述扩展AP位置对应的RSS集合是按照相似度,对所述原AP的指纹进行聚类,得到多个类;确定每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;确定与所述扩展AP之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均得到的。
在一种可能的实现方式中,所述装置还包括:建立模块,用于通过如下步骤,确定所述已扩指纹库:
从原指纹库的每个原AP处采集多个RSS值,确定所述已扩充指纹库中的初始指纹集合;所述初始指纹集合中包括:各原AP位置及与所述各原AP位置对应的RSS集合;
使用就远原则K-近邻算法,从所述初始指纹集合,选择初始聚类中心;并且,以所述初始聚类中心为中心,对所述初始指纹集合进行聚类,得到多个类;每个类包括:初始聚类中心及除初始聚类中心以外的其他聚类成员;
选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;
通过训练好的对偶传播CPN神经网络,确定与扩展AP位置之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均,得到扩展AP位置对应的RSS值集合;以及,将所述扩展AP位置及所述扩展AP位置对应的RSS值集合,作为扩展AP的指纹;
将所述扩展AP的指纹插入初始指纹集合中,得到所述已扩指纹库。
在一种可能的实现方式中,所述建立模块,具体用于:
从初始指纹集合中随机选择一个原AP,确定为第一个聚类中心,作为已选类中心;
计算所述初始指纹集合中每个原AP,与已选类中心之间的距离;
按照距离,选择与已选类中心之间的距离大于预设值的原AP,确定为第二聚类中心,作为已选类中心;
判断所有已选类中心的总数是否达到K;
如果没有达到K,返回执行计算所述计算所述初始指纹集合中每个原AP,与已选类中心之间的距离,直至所有已选类中心的总数是否达到K,确定K个类以及K个已选类中心,作为K个初始聚类中心。
在一种可能的实现方式中,所述装置还包括:训练模块,用于通过如下步骤,通过已训练对偶传播CPN神经网络对未知指纹的扩展AP,确定的扩展AP位置及扩展AP位置对应的RSS集合:
从每个类中,选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;
通过已训练对偶传播CPN神经网络,对所述未知指纹的扩展AP进行预测,得到每个所述未知指纹的扩展AP对应RSS集合。
在一种可能的实现方式中,所述训练模块,具体用于通过如下步骤,得到所述已训练CPN神经网络:
将原指纹库中的各原AP位置及原AP位置对应的RSS集合,作为待训练CPN神经网络的训练样本集;
将所述训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入,训练所述待训练CPN神经网络结构中的各层函数映射关系,输出所述已扩指纹库中各原AP位置对应的RSS集合,得到已训练CPN神经网络,其中,所述映射关系为在训练过程中确定的最佳权值矩阵;
其中,所述将训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入,训练所述待训练CPN神经网络结构中的各层函数映射关系,输出所述已扩指纹库中各原AP位置对应的RSS集合,得到已训练CPN神经网络,包括:
将所述训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入;
使用所述训练样本集训练所述待训练CPN神经网络,以修正训练时隐藏层的初始权值以及修正训练时输出层的初始权值;其中,所述训练时隐藏层的初始权值为K个聚类中心的向量,所述K个聚类中心用于表示各原AP的RSS集合,所述K个聚类中心是通过就远原则K-近邻算法,按照各原AP位置对应的RSS集合进行计算得到的,所述训练时隐藏层初始权值为通过RSS集合对应的各原AP位置进行再次计算得到的;
在满足训练结束条件时,得到已训练CPN神经网络。
在一种可能的实现方式中,所述训练模块,用于修正训练时隐藏层的初始权值,包括:
采用公式:
Figure GDA0003208332070000221
计算连接权重与输入的各原AP位置p(xk,yk)最近的连接向量;其中,Wg为与输入的各原AP位置p(xk,yk)最近的连接向量,p(xk,yk)为各原AP位置,xk为各原AP位置的横坐标,yk为各原AP位置的纵坐标,k为各原AP的序号,Wj为与输入的p(xk,yk)的每个连接向量,j为位置点区域分类的第j个区域,j=1,…,g,…,m为分类的区域数,g为与各个区域中与位置p(xk,yk)最近的周围区域,p为输入值(xk,yk),max为最大值的缩写;
将指定神经元对应的隐藏层输出设置为1,并将除所述指定神经元以外的其余神经元输设置为0,得到所述隐藏层的输出,其中,所述隐藏层的输出为:
Figure GDA0003208332070000231
其中,bj为所述隐藏层的输出,g为指定神经元;采用如下公式Wg(t+1)=Wg(t)+lr1·[p-Wg(t)],修正最近的连接向量Wg,并进行归一化;其中,Wg(t+1)为第t+1次的权值向量,Wg(t)为第t次的权值向量,lr1为学习率,p为输入值(xk,yk);
所述修正训练时输出层的初始权值,包括:
采用如下公式:yk=Vk·b,k=1,...,n,计算输出层的输出;其中,yk为第k个AP对应的rss信号值,Vk为输出层权值,b为隐藏层的输出,n为输出层节点数目,k为第k个AP;
采用如下公式:Vk(t+1)=Vk(t)+η·b·(yk-ok),修正连接权重Vk,其中,Vk(t+1)为第t+1次的权值向量,k=1,...,n,η为学习率,ok为输出层的输出。
下面继续对本发明实施例提供的电子设备进行介绍。
参见图8,图8为本发明实施例提供的电子设备的结构示意图。本发明实施例还提供了一种电子设备,包括处理器41、通信接口42、存储器43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信,
存储器43,用于存放计算机程序;
处理器41,用于执行存储器43上所存放的程序时,实现上述基于神经网络的指纹空间插值法的定位方法的步骤,在本发明一个可能的实现方式中,可以实现如下步骤:
获取待定位点的多个接收信号强度rss;
使用K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中接入点AP指纹中的RSS集合,得到所述待定位点的位置;其中,K为类的总数;所述已扩指纹库中AP包括:原AP以及扩展AP;所述扩展AP的指纹是通过已训练对偶传播CPN神经网络对未知指纹的扩展AP,确定的扩展AP位置及扩展AP位置对应的RSS集合;所述扩展AP位置对应的RSS集合是按照相似度,对所述原AP的指纹进行聚类,得到多个类;确定每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;确定与所述扩展AP之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均得到的。
上述电子设备提到的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于神经网络的指纹空间插值法的定位方法的步骤。
本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的基于神经网络的指纹空间插值法的定位方法的步骤。
本发明实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述的基于神经网络的指纹空间插值法的定位方法的步骤。
需要说明的是,在本发明实施例中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质/包含指令的计算机程序产品/计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种基于神经网络的指纹空间插值法的定位方法,其特征在于,包括:
获取待定位点的多个接收信号强度rss;
使用K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中接入点AP指纹中的RSS集合,得到所述待定位点的位置;其中,K为类的总数;所述已扩指纹库中AP包括:原AP以及扩展AP;从每个类中,选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;通过已训练对偶传播CPN神经网络,对所述未知指纹的扩展AP进行预测,得到每个所述未知指纹的扩展AP对应RSS集合;所述扩展AP位置对应的RSS集合是按照相似度,对所述原AP的指纹进行聚类,得到多个类;确定每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;确定与所述扩展AP之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均得到的。
2.如权利要求1所述的方法,其特征在于,所述使用K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中接入点AP指纹中的RSS集合,得到所述待定位点的位置,包括:
采用公式:
Figure FDA0003208332060000011
Figure FDA0003208332060000012
得到所述待定位点的位置;
其中,
Figure FDA0003208332060000013
为前K个距离最短的对应位置的平均值,作为待定位点的位置,
Figure FDA0003208332060000014
为待定位点的横坐标,
Figure FDA0003208332060000015
为待定位点的纵坐标,MIN_K为前K个最小值,K为类的数量,i为序号,(xi,yi)为AP的位置,xi为第i个AP的横坐标,yi为第i个AP的纵坐标,Di为待定位点的rss值集合与指纹库中的第i个位置点对应的RSS值集合的欧式距离,D1为待定位点的rss值集合与已扩指纹库中的第1个原AP位置对应的RSS值集合的欧式距离,DL为待定位点的rss值集合与已扩指纹库中的第L个原AP位置对应的RSS值集合的欧式距离,j为AP点标号,j=1,2,...,M,M为AP的总数,rssj=(rss1,rss2,...,rssm)为待估计点中的m个rss值集合,RSSi,j=(RSS1,RSS2,...,RSSm)为所述已扩指纹库第i个AP的RSS值,(.)1/q为求解rssj与RSSi,j之间的欧式距离,q的取值为1或者2,rss与RSS之间的距离分别为曼哈顿距离和欧几里德距离,L为AP的总数。
3.如权利要求1所述的方法,其特征在于,通过如下步骤,确定所述已扩指纹库:
从原指纹库的每个原AP处采集多个RSS值,确定所述已扩充指纹库中的初始指纹集合;所述初始指纹集合中包括:各原AP位置及与所述各原AP位置对应的RSS集合;
使用就远原则K-近邻算法,从所述初始指纹集合,选择初始聚类中心;并且,以所述初始聚类中心为中心,对所述初始指纹集合进行聚类,得到多个类;每个类包括:初始聚类中心及除初始聚类中心以外的其他聚类成员;
选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;
通过训练好的对偶传播CPN神经网络,确定与扩展AP位置之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均,得到扩展AP位置对应的RSS值集合;以及,将所述扩展AP位置及所述扩展AP位置对应的RSS值集合,作为扩展AP的指纹;
将所述扩展AP的指纹插入初始指纹集合中,得到所述已扩指纹库。
4.如权利要求3所述的方法,其特征在于,所述使用就远原则K-近邻算法,从所述初始指纹集合,选择初始聚类中心,包括:
从初始指纹集合中随机选择一个原AP,确定为第一个聚类中心,作为已选类中心;
计算所述初始指纹集合中每个原AP,与已选类中心之间的距离;
按照距离,选择与已选类中心之间的距离大于预设值的原AP,确定为第二聚类中心,作为已选类中心;
判断所有已选类中心的总数是否达到K;
如果没有达到K,返回执行计算所述计算所述初始指纹集合中每个原AP,与已选类中心之间的距离,直至所有已选类中心的总数是否达到K,确定K个类以及K个已选类中心,作为K个初始聚类中心。
5.如权利要求1至4任一项所述的方法,其特征在于,通过如下步骤,得到所述已训练CPN神经网络:
将原指纹库中的各原AP位置及原AP位置对应的RSS集合,作为待训练CPN神经网络的训练样本集;
将所述训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入,训练所述待训练CPN神经网络结构中的各层函数映射关系,输出所述已扩指纹库中各原AP位置对应的RSS集合,得到已训练CPN神经网络,其中,所述映射关系为在训练过程中确定的最佳权值矩阵;
其中,所述将训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入,训练所述待训练CPN神经网络结构中的各层函数映射关系,输出所述已扩指纹库中各原AP位置对应的RSS集合,得到已训练CPN神经网络,包括:
将所述训练样本集中的各原AP位置,作为所述待训练CPN神经网络的输入;
使用所述训练样本集训练所述待训练CPN神经网络,以修正训练时隐藏层的初始权值以及修正训练时输出层的初始权值;其中,所述训练时隐藏层的初始权值为K个聚类中心的向量,所述K个聚类中心用于表示各原AP的RSS集合,所述K个聚类中心是通过就远原则K-近邻算法,按照各原AP位置对应的RSS集合进行计算得到的,所述训练时隐藏层初始权值为通过RSS集合对应的各原AP位置进行再次计算得到的;
在满足训练结束条件时,得到已训练CPN神经网络。
6.如权利要求5所述的方法,其特征在于,所述修正训练时隐藏层的初始权值,包括:
采用公式:
Figure FDA0003208332060000031
计算连接权重与输入的各原AP位置p(xk,yk)最近的连接向量;其中,Wg为与输入的各原AP位置p(xk,yk)最近的连接向量,p(xk,yk)为各原AP位置,xk为各原AP位置的横坐标,yk为各原AP位置的纵坐标,k为各原AP的序号,Wj为与输入的p(xk,yk)的每个连接向量,j为位置点区域分类的第j个区域,j=1,…,g,…,m为分类的区域数,g为与各个区域中与位置p(xk,yk)最近的周围区域,p为输入值(xk,yk),max为最大值的缩写;
将指定神经元对应的隐藏层输出设置为1,并将除所述指定神经元以外的其余神经元输设置为0,得到所述隐藏层的输出,其中,所述隐藏层的输出为:
Figure FDA0003208332060000041
其中,bj为所述隐藏层的输出,g为指定神经元;
采用如下公式Wg(t+1)=Wg(t)+lr1·[p-Wg(t)],修正最近的连接向量Wg,并进行归一化;其中,Wg(t+1)为第t+1次的权值向量,Wg(t)为第t次的权值向量,lr1为学习率,p为输入值(xk,yk);
所述修正训练时输出层的初始权值,包括:
采用如下公式:yk=Vk·b,k=1,...,n,计算输出层的输出;其中,yk为第k个AP对应的rss信号值,Vk为输出层权值,b为隐藏层的输出,n为输出层节点数目,k为第k个AP;
采用如下公式:Vk(t+1)=Vk(t)+η·b·(yk-ok),修正连接权重Vk,其中,Vk(t+1)为第t+1次的权值向量,k=1,...,n,η为学习率,ok为输出层的输出。
7.一种基于神经网络的指纹空间插值法的定位装置,其特征在于,包括:
获取模块,用于获取待定位点的多个接收信号强度rss;
处理模块,用于使用K-近邻算法,计算所述待定位点的多个rss与已扩指纹库中接入点AP指纹中的RSS集合,得到所述待定位点的位置;其中,K为类的总数;所述已扩指纹库中AP包括:原AP以及扩展AP;选择每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;通过训练好的对偶传播CPN神经网络,确定与扩展AP位置之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均,得到扩展AP位置对应的RSS值集合;所述扩展AP位置对应的RSS集合是按照相似度,对所述原AP的指纹进行聚类,得到多个类;确定每类中与聚类成员的位置不同的点,作为未知指纹的扩展AP;确定与所述扩展AP之间距离小于阈值的多个区域,作为周围区域;将所述周围区域内的rss值之和求平均得到的。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
建立模块,用于通过如下步骤,确定所述已扩指纹库:
从原指纹库的每个原AP处采集多个RSS值,确定所述已扩充指纹库中的初始指纹集合;所述初始指纹集合中包括:各原AP位置及与所述各原AP位置对应的RSS集合;
使用就远原则K-近邻算法,从所述初始指纹集合,选择初始聚类中心;并且,以所述初始聚类中心为中心,对所述初始指纹集合进行聚类,得到多个类;每个类包括:初始聚类中心及除初始聚类中心以外的其他聚类成员;
将所述扩展AP位置及所述扩展AP位置对应的RSS值集合,作为扩展AP的指纹;
将所述扩展AP的指纹插入初始指纹集合中,得到所述已扩指纹库。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
CN202011186302.4A 2020-10-29 2020-10-29 一种基于神经网络的指纹空间插值法的定位方法及装置 Active CN112437485B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011186302.4A CN112437485B (zh) 2020-10-29 2020-10-29 一种基于神经网络的指纹空间插值法的定位方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011186302.4A CN112437485B (zh) 2020-10-29 2020-10-29 一种基于神经网络的指纹空间插值法的定位方法及装置

Publications (2)

Publication Number Publication Date
CN112437485A CN112437485A (zh) 2021-03-02
CN112437485B true CN112437485B (zh) 2021-11-12

Family

ID=74694726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011186302.4A Active CN112437485B (zh) 2020-10-29 2020-10-29 一种基于神经网络的指纹空间插值法的定位方法及装置

Country Status (1)

Country Link
CN (1) CN112437485B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116761249B (zh) * 2022-09-23 2024-04-12 荣耀终端有限公司 室内定位方法、指纹库的构建方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162868A (zh) * 2016-06-08 2016-11-23 南京理工大学 基于位置指纹的高效室内定位方法
CN107948930A (zh) * 2017-12-31 2018-04-20 电子科技大学 基于位置指纹算法的室内定位优化方法
CN109246608A (zh) * 2018-11-16 2019-01-18 重庆小富农康农业科技服务有限公司 一种基于wifi位置指纹大数据分析的室内点对点定位方法
WO2020023650A1 (en) * 2018-07-25 2020-01-30 Wuxi Nextcode Genomics Usa, Inc. Retrosynthesis prediction using deep highway networks and multiscale reaction classification

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200520B (zh) * 2013-03-06 2015-08-26 中国电子科技集团公司第二十八研究所 一种利用Wi-Fi的移动终端快速精确定位方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162868A (zh) * 2016-06-08 2016-11-23 南京理工大学 基于位置指纹的高效室内定位方法
CN107948930A (zh) * 2017-12-31 2018-04-20 电子科技大学 基于位置指纹算法的室内定位优化方法
WO2020023650A1 (en) * 2018-07-25 2020-01-30 Wuxi Nextcode Genomics Usa, Inc. Retrosynthesis prediction using deep highway networks and multiscale reaction classification
CN109246608A (zh) * 2018-11-16 2019-01-18 重庆小富农康农业科技服务有限公司 一种基于wifi位置指纹大数据分析的室内点对点定位方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LC-DNN: Local Connection Based Deep Neural Network for Indoor Localization With CSI;WEN LIU;《IEEE ACCESS》;20200611;108720-108730 *
RF 室内定位指纹库空间相关生成算法;唐文胜;《计算机工程与应用》;20081231;226-232 *

Also Published As

Publication number Publication date
CN112437485A (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
CN106851573B (zh) 基于对数路径损耗模型的联合加权k近邻室内定位方法
CN108540929B (zh) 基于rssi信号强度排序的室内指纹定位方法
CN107071743B (zh) 一种基于随机森林的快速KNN室内WiFi定位方法
CN107333238B (zh) 一种基于支持向量回归的室内指纹快速定位方法
US20180089566A1 (en) Method and apparatus for positioning of artificial neural network
CN114449452B (zh) 一种基于CNN-RNN的Wi-Fi室内定位方法
CN109348416B (zh) 基于二分k均值的指纹室内定位方法
Ding et al. Fingerprinting localization based on affinity propagation clustering and artificial neural networks
CN112135248A (zh) 一种基于K-means最优估计的WIFI指纹定位方法
Hsu et al. An adaptive Wi-Fi indoor localisation scheme using deep learning
CN112437485B (zh) 一种基于神经网络的指纹空间插值法的定位方法及装置
Huang et al. MAPS: Indoor localization algorithm based on multiple AP selection
CN110426671B (zh) Wsn中基于模型概率实时修正的imm目标跟踪方法及装置
Chen et al. A wifi indoor localization method based on dilated cnn and support vector regression
CN112801268B (zh) 基于图卷积和多层感知机混合网络的定位方法
Qin et al. A wireless sensor network location algorithm based on insufficient fingerprint information
CN111757257B (zh) 一种克服设备差异的动态模糊匹配室内定位方法
CN109121081A (zh) 一种基于位置候选集与em算法的室内定位方法
CN110830939B (zh) 基于改进的cpn-wlan指纹定位数据库的定位方法
Pandey et al. Residual neural networks for heterogeneous smart device localization in IoT networks
CN114423025B (zh) 一种场景识别方法、装置、设备以及存储介质
Guo et al. A hybrid indoor positioning algorithm for cellular and Wi-Fi networks
Nie et al. Joint access point fuzzy rough set reduction and multisource information fusion for indoor Wi-Fi positioning
Wu et al. Research on RSS based indoor location method
CN115226027A (zh) 一种WiFi室内指纹定位方法及装置

Legal Events

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