一种基于集成学习和相对定位的双尺度定位算法

文档序号:1630956 发布日期:2020-01-14 浏览:27次 >En<

阅读说明:本技术 一种基于集成学习和相对定位的双尺度定位算法 (Double-scale positioning algorithm based on integrated learning and relative positioning ) 是由 马宏斌 马艳龙 王英丽 马麒涛 于 2019-10-12 设计创作,主要内容包括:基于集成学习和相对定位的双尺度定位方法。包含两个阶段的定位处理,首先,第一阶段基于集成学习的大尺度定位方法是针对跨楼、跨楼层和多区域的室内定位方法。是为了解决现实生活中大型建筑体内部署AP数量较多易导致收集的位置指纹数据库维度高、稀疏值多,使定位算法在实际应用中定位精度不高的问题。在大尺度方面引入集成学习技术,将定位问题转化为分类问题,建立位置指纹与目标建筑物、目标楼层、目标区域的映射关系。其次,第二阶段基于相对定位的小尺度定位算法主要是针对小区域范围内的定位,利用相邻节点之间的距离信息形成未知节点的相对坐标,从而确定物体的位置。最后融合双尺度定位结果,使用链表法进行存储。(A double-scale positioning method based on integrated learning and relative positioning. The method comprises two stages of positioning processing, and firstly, a first stage of large-scale positioning method based on ensemble learning is an indoor positioning method aiming at cross-building, cross-floor and multi-area. The method aims to solve the problems that a large number of APs deployed in a large building in real life easily cause high dimensionality and many sparse values of a collected position fingerprint database, and a positioning algorithm is low in positioning accuracy in practical application. And (3) introducing an ensemble learning technology in the aspect of large scale, converting the positioning problem into a classification problem, and establishing a mapping relation between the position fingerprint and a target building, a target floor and a target area. Secondly, in the second stage, a small-scale positioning algorithm based on relative positioning mainly aims at positioning in a small area range, and forms relative coordinates of unknown nodes by using distance information between adjacent nodes so as to determine the position of the object. And finally, fusing the double-scale positioning result and storing by using a linked list method.)

一种基于集成学习和相对定位的双尺度定位算法

1、技术领域

本发明涉及一种室内定位研究算法

2、背景技术

随着人工智能技术的快速发展,智能应用在很多智能应用在很多方面如智慧 家居、室内导航、智慧建筑、智慧城市等涌现出来。这些应用程序需要获知用户 或设备在当前环境中的位置,因此室内定位在环境智能化中起着至关重要的作用。 基于位置的服务(Location Based Service,LBS)作为智能技术之一,在我们的生活 中扮演着重要的角色。如何在智能信息时代充分利用网络资源随时了解、掌握“人” 或“物”的位置信息及其相关的需求,以便更好的为其提供与位置相关的服务,成 为近年来室内定位、导航研究领域的重要课题之一。对于开阔的户外环境而言, 全球定位系统(Global Positioning System,GPS)可以为人们提供准确可靠的地理 坐标,GPS卫星定位通常在相对开放,高层建筑不密集的地方可以得到更准确的 定位,而当人们处于高层建筑或室内的闹市区时,因为复杂环境中信号的不稳定 使得其定位性能会显著下降,甚至无法正常工作。此外,设备的复杂性和高成本 也使得GPS在户外领域使用受限。如何利用现有的较完备的室内无线基础设施和无处不在的智能移动终端设备,为用户提供精确的位置信息以便更好地服务于 用户的个性化需求,是我们的主要研究方向。

3、

本发明是为了解决目前室内定位研究中难以提取非线性RSS数据中最具表 征能力的指纹特征,以至于无法构建大规模室内环境所需的复杂定位模型的问题, 提出了一种使用具有较强泛化能力的的收缩自编码器(CAE),对原始数据进行 非线性特征的提取与变换,然后利用集成学习的思想进行室内定位研究的一种算 法。

由于RSS信号在复杂的室内环境中具有严重的时变特性,导致指纹特征与 实际的物理位置不能一一对应,所以我们需要获得最具表征能力的指纹特征,然 后利用提取的有效特征进行定位模型训练来提升精度和减少定位复杂度,本发明 主要引用收缩自编码器进行原始指纹特征提取,然后借鉴机器学习中的相关分类 技术,选择集成学习中常用的XGBoost算法进行定位阶段的训练,将原始的预 测物理坐标的定位算法转换为通过预测符号位置进行分类的室内定位算法,这样 就能够将原始的定位问题转换为分类问题,用现有的分类算法进行快速分类,满 足未来大规模位置感知服务所需的定位实时性和准确性要求。

4、本发明的优点

收缩编码器能够自动从大量具有实变性的RSS数据中学习可靠的隐藏特征, 可以实现端到端的定位,有效的解决了原始数据预处理中过于依赖人工进行数据 分析和耗时的参数调整以实现可靠准确的定位的问题。

XGBoost算法允许我们构建一个不过度拟合训练数据的定位模型,该模型对 不稳定的AP信号具有鲁棒性

在CAE-XGBoost结构中,定位阶段预测并不依赖于样本空间的任何搜索, 而是只是对一个训练过的定位模型进行正向评价,在保证定位精度的同时提高了 定位效率。

在相对定位过程中可以减少定位阶段所需的锚点数目和时间开销。

5、附图说明

图1为双尺度定位的流程图

图2为相对坐标计算图

图3为测量未知节点的相对坐标图

6、大尺度集成学习算法如下:

Figure BDA0002230719060000021

Figure BDA0002230719060000031

具体实施过程:

步骤一、对开放的指纹数据库中的位置指纹进行特征约简。收缩自编码器(Contractive Auto-encoders,CAE)是一种确定型模型。在保持了自编码器的特性, 即很好地重建输入信号的同时对输入数据一定程度下的扰动具有不变性。我们使 用CAE编码和解码过程以极小化重构代价函数为目标输出训练结果,通过学习 得到CAE网络函数f,训练后的结果作为第二隐层的输入特征,继续进行训练得 到第二隐层的网络函数,然后不断重复上述过程,对CAE的各个隐层进行迭代 训练,完成编码和解码过程。从输入数据中提取更丰富、更具表达能力的特征以 达到空间降维的目的。

步骤二、将约简后的数据集按照一定比例切割为训练集与测试集,训练集占80%,测试集占20%

步骤三、使用不同的机器学习算法来完成分类任务

分别从建筑分类、楼层分类和区域分类进行详细的定位数据描述。其中各阶 段定位过程使用的RSS是经过CAE特征约简的。 Ri=[RSSI1,RSSI2,…,RSSIL],i=1,2,…L作为约简之后的特征。

(1)建筑分类

train_B012和test_B012数据集分别由train和test数据集创建。train_B012 和test_B012数据集的属性是{Ri,BuildingID}。

(2)楼层分类

train和test数据集包含三栋建筑物。train_B0_F0123、train_B1_F0123和train_B2_F01234数据集由train_B012组成,test_B0_F012、test_B1_F0123和 test_B2_F01234数据集由test_B012组成。不同于步骤一中建筑分类数据集的是, 这六个数据集只包含一个建筑和该建筑的所有楼层信息。楼层分类各数据集的属 性有{Ri,BuildingID,FloorID}。

(3)区域分类

已经划分为楼层分类的数据集将根据区域再次划分。例如,train_B0_F0_R、train_B0_F1_R、train_B0_F2_R和train_B0_F3_R的数据集是由train_B0_F0123 数据集创建的,test_B0_F0_R、test_B0_F1_R、test_B0_F2_R和test_B0_F3_R的 数据集是由test_B0_F0123数据集创建的。对其余建筑物的训练集与测试数据集 执行相同的分割操作。同时定义了一种基于空间和相对位置进行分割的新特征, 该特征是空间和相对位置信息的组合,称为区域。将新定义的特征添加到区域分 类的数据集中。区域分类的属性有{Ri,BuildingID,Floor,Region}。

步骤四、将约简之后的指纹数据库特征按照定位建筑、定位楼层、定位区域 的顺序依次输入到XGBoost模型中将具体的BuildingID,FloorID,Region分别 定义为对应的标签作为XGBoost的模型输出。

步骤五、离线阶段训练基于CAE-XGBoost的室内定位算法模型

步骤六、在线阶段,利用分类输出的BuildingID,FloorID,Region标签可以 判断当前节点所处位置。从而可以完成从一个大范围内定位到一个小区域。

7、小尺度相对定位算法描述如下:

(1)根据节点竞争机制,由任意节点i启动发送用于发现邻居节点的报文 信息,报文信息携带各节点的ID号,通信半径,节点间距离等信息。

(2)各节点收到报文信息后立即对i发起回复,建立极坐标系。

(3)启动第一轮定位,在相对坐标系内根据初始化过程中得到的距离值对 通信半径范围内的邻居节点进行定位,将已定位节点的相对坐标按照定位先后顺 序存在定位表里。

(4)已定位节点充当锚节点的角色对其邻居节点进行定位,在下一轮定位 发起时与定位表里的数据进行对比,若该节点在表中存在,则不再执行定位过程, 否则按照步骤3实现定位,然后更新定位表。

(5)重复步骤4,直到定位表中的数据不再改变。

具体实施过程:

步骤一、当某节点i根据竞争机制当选发起点后,以该点为坐标原点,根 据算法(1)建立极坐标系。

步骤二、建立极坐标以后,确定节点j和k的相对坐标。

步骤三、利用两个已知节点的坐标确定未知节点u的坐标。

步骤四、将定位的节点存放到定位表里。

步骤五、已经定位的节点充当锚节点的角色,继续对邻居节点按照步骤三 进行定位

步骤五、将新定位的节点和数据表里的节点进行对比,若数据表里存在,

则不再执行定位,若数据表里不存在,还按照步骤三进行定位。

步骤六、不断重复步骤五的过程。

图解法说明相对坐标的计算过程,如图2

建立极坐标后,节点j和k的相对坐标就记为pjj,θj)和pkk,θk),由上图 可知,节点j和k的坐标分别为

Figure BDA0002230719060000051

Figure BDA0002230719060000052

由此可以利用已知的三个节点依次计算未知节点的相对坐标。举例来说,如图3,节点u是节点i,j,k的邻居节点,则根据三边测量法可得到节点u的相对坐标为puu,θu)

Figure BDA0002230719060000053

解得

此时u为已知节点,充当锚点的角色,按照本文算法根据递归过程我们就能够得到其他未知节点的相对坐标。

具体实施方式

图1为双尺度定位的流程图

图2为相对坐标计算图

图3为测量未知节点的相对坐标图

6、大尺度集成学习算法如下:

Figure BDA0002230719060000021

Figure BDA0002230719060000031

具体实施过程:

步骤一、对开放的指纹数据库中的位置指纹进行特征约简。收缩自编码器(Contractive Auto-encoders,CAE)是一种确定型模型。在保持了自编码器的特性, 即很好地重建输入信号的同时对输入数据一定程度下的扰动具有不变性。我们使 用CAE编码和解码过程以极小化重构代价函数为目标输出训练结果,通过学习 得到CAE网络函数f,训练后的结果作为第二隐层的输入特征,继续进行训练得 到第二隐层的网络函数,然后不断重复上述过程,对CAE的各个隐层进行迭代 训练,完成编码和解码过程。从输入数据中提取更丰富、更具表达能力的特征以 达到空间降维的目的。

步骤二、将约简后的数据集按照一定比例切割为训练集与测试集,训练集占80%,测试集占20%

步骤三、使用不同的机器学习算法来完成分类任务

分别从建筑分类、楼层分类和区域分类进行详细的定位数据描述。其中各阶 段定位过程使用的RSS是经过CAE特征约简的。 Ri=[RSSI1,RSSI2,…,RSSIL],i=1,2,…L作为约简之后的特征。

(1)建筑分类

train_B012和test_B012数据集分别由train和test数据集创建。train_B012 和test_B012数据集的属性是{Ri,BuildingID}。

(2)楼层分类

train和test数据集包含三栋建筑物。train_B0_F0123、train_B1_F0123和train_B2_F01234数据集由train_B012组成,test_B0_F012、test_B1_F0123和 test_B2_F01234数据集由test_B012组成。不同于步骤一中建筑分类数据集的是, 这六个数据集只包含一个建筑和该建筑的所有楼层信息。楼层分类各数据集的属 性有{Ri,BuildingID,FloorID}。

(3)区域分类

已经划分为楼层分类的数据集将根据区域再次划分。例如,train_B0_F0_R、train_B0_F1_R、train_B0_F2_R和train_B0_F3_R的数据集是由train_B0_F0123 数据集创建的,test_B0_F0_R、test_B0_F1_R、test_B0_F2_R和test_B0_F3_R的 数据集是由test_B0_F0123数据集创建的。对其余建筑物的训练集与测试数据集 执行相同的分割操作。同时定义了一种基于空间和相对位置进行分割的新特征, 该特征是空间和相对位置信息的组合,称为区域。将新定义的特征添加到区域分 类的数据集中。区域分类的属性有{Ri,BuildingID,Floor,Region}。

步骤四、将约简之后的指纹数据库特征按照定位建筑、定位楼层、定位区域 的顺序依次输入到XGBoost模型中将具体的BuildingID,FloorID,Region分别 定义为对应的标签作为XGBoost的模型输出。

步骤五、离线阶段训练基于CAE-XGBoost的室内定位算法模型

步骤六、在线阶段,利用分类输出的BuildingID,FloorID,Region标签可以 判断当前节点所处位置。从而可以完成从一个大范围内定位到一个小区域。

7、小尺度相对定位算法描述如下:

(1)根据节点竞争机制,由任意节点i启动发送用于发现邻居节点的报文 信息,报文信息携带各节点的ID号,通信半径,节点间距离等信息。

(2)各节点收到报文信息后立即对i发起回复,建立极坐标系。

(3)启动第一轮定位,在相对坐标系内根据初始化过程中得到的距离值对 通信半径范围内的邻居节点进行定位,将已定位节点的相对坐标按照定位先后顺 序存在定位表里。

(4)已定位节点充当锚节点的角色对其邻居节点进行定位,在下一轮定位 发起时与定位表里的数据进行对比,若该节点在表中存在,则不再执行定位过程, 否则按照步骤3实现定位,然后更新定位表。

(5)重复步骤4,直到定位表中的数据不再改变。

具体实施过程:

步骤一、当某节点i根据竞争机制当选发起点后,以该点为坐标原点,根 据算法(1)建立极坐标系。

步骤二、建立极坐标以后,确定节点j和k的相对坐标。

步骤三、利用两个已知节点的坐标确定未知节点u的坐标。

步骤四、将定位的节点存放到定位表里。

步骤五、已经定位的节点充当锚节点的角色,继续对邻居节点按照步骤三 进行定位

步骤五、将新定位的节点和数据表里的节点进行对比,若数据表里存在,

则不再执行定位,若数据表里不存在,还按照步骤三进行定位。

步骤六、不断重复步骤五的过程。

图解法说明相对坐标的计算过程,如图2

建立极坐标后,节点j和k的相对坐标就记为pjj,θj)和pkk,θk),由上图 可知,节点j和k的坐标分别为

Figure BDA0002230719060000051

Figure BDA0002230719060000052

由此可以利用已知的三个节点依次计算未知节点的相对坐标。举例来说,如图3,节点u是节点i,j,k的邻居节点,则根据三边测量法可得到节点u的相对坐标为puu,θu)

Figure BDA0002230719060000053

解得

此时u为已知节点,充当锚点的角色,按照本文算法根据递归过程我们就能够得到其他未知节点的相对坐标。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种海洋钻井平台参数监测系统

相关技术

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类