本发明属于室内定位领域,具体涉及一种室内地图划分地标和采集数据搭建地磁数据库的方法,并利用多层门控循环单元网络进行分类定位。
背景技术:
室内定位技术在日常生活中具有非常重大的作用,并在许多场景中能发挥巨大应用价值,例如在商城中找到指定店铺和查询所在位置,在停车场中帮助车辆找到停车位。
在室外环境中,人们主要利用全球卫星定位系统(gnss,globalnavigationsatellitesystem,包括gps/glonass/bds/galleo)来进行定位。但在室内环境中,gnss够。地磁具有无需搭建基础设施,低成本,全天候的优点,所以常常被作为室内定位的一种信号源。受钢筋水泥等室内材料的影响,地磁在室内环境中会表现出独特性,从而带来定位的优势。门控循环神经网络是一种循环神经网络,对序列的非线性特征学习具有一定优势,用于对地磁信号序列的学习并进行分类定位。
技术实现要素:
针对现有技术中存在的不足,本发明提供一种基于多层门控循环单元网络的地磁室内定位方法。本发明提出一种室内地图划分地标的方法,将室内路径划分为一块块区域,并在对每块区域分配一个标签作为地标,为门控循环神经网络行分类定位。
本发明提出了一个利用多层门控循环单元网络对地磁序列进行地标分类来进行定位的方法。该方法分为地磁室内数据库的搭建和多层门控循环单元网络学习并进行定位两个阶段。地磁室内数据库的搭建分为两个方面,一是室内地图地标的划分,二是地磁数据的采集。多层门控循环单元网络学习并进行定位阶段主要利用多层门控循环单元网络对地磁室内数据库进行学习训练,训练好的多层门控循环单元网络用于在线分类定位。
一种基于多层门控循环单元网络的地磁室内定位方法,步骤如下:
步骤1、室内地图地标的划分。
(1)测量室内地图所有的路径的长度。
(2)根据设定的路径长度将室内地图划分为一块块区域,并为每块区域分配一个数字标签作为地标。
步骤2、地磁数据的采集和处理。
(1)在划分好的每个区域内围绕着区域的中心点采集不同方向的地磁信号,所采集到的地磁信号是一段地磁序列。
(2)按照设定的序列长度来划分采集的地磁序列。
步骤3、地磁数据库的搭建。
(1)划分好的地磁序列按照所在区域分配所对应的区域标签即地标。
(2)将每块区域的地磁序列的80%作为训练集,剩下的20%作为测试集。
步骤4、通过确定好的地磁数据库训练多层门控循环单元网络,选择分类精度最优的模型参数。
(1)通过地磁数据库中划分好的训练集训练多层门控循环单元网络。
(2)通过地磁数据库中的测试集来测试训练的多层门控循环单元网络。
(3)通过多次训练选择分类精度最优的模型参数。
本发明的有益结果如下:
1、本发明主要利用地磁进行分类定位,地磁不需要任何基础设施的搭建和维护,节省了成本。
2、本发明主要提出一种室内地图划分地标的方法,该方法适合用于神经网络来进行分类定位,且对于地磁数据的采集比较方便。
3、本发明会提前训练好用于分类地标来进行定位的多层门控循环单元模型。在实时定位过程中,只需实时采集好地磁数据并通过训练好的多层门控循环单元模型来输出定位结果,不需要太多的计算能力。
附图说明
图1为本发明方法的框架图;
图2为本发明中室内地图的地标划分与地磁数据采集的模板模板图;
图3为本发明门控循环单元的结构图;
图4为本发明多层门控循环单元网络的结构图。
具体实施方式
下面结合具体实施方式对本发明进行详细的说明。
本发明提出一种室内地图划分地标和地磁数据库搭建的方法,并利用多层门控循环单元网络对地磁序列进行地标分类来进行定位,大致框架如图1所示。具体按照以下步骤实施。
步骤1、室内地图地标的划分
首先测量好室内路径的长度。如图2所示,根据设定的路径长度将室内路径划分为一个个区域;所述的路径长度设定为3m,即为3m间隔进行划分室内路径,如果室内路径长度有余,则将多余的部分平分给最两侧的区域。对于每一块区域都给定一个数字标签作为地标,地标的数量n等于划分的区域的多少。区域的宽度为室内路径的宽度。
步骤2、地磁数据的采集和处理
地磁数据可以由手机中的地磁传感器采集,地磁数据的结构主要表示为一个七维的向量<mx,my,mz,m,mxrot,myrot,mzrot>,其中mx,my和mz是由手机的地磁传感器的三个方向轴所采集的地磁强度,m表示的是平均地磁强度,由mx,my和mz的二阶范数组成,具体公式如下:
mxrot,myrot和mzrot表示的是在全局坐标系下的地磁强度,具体公式如下:
[mxrot,myrot,mzrot]=r×[mx,my,mz]t(2)
其中r是一个旋转矩阵,使手机坐标系下采集的地磁信号转换到全局坐标系下。在采集地磁数据的过程中,围绕着每个区域的中心,采集不同方向的地磁信号,采集的地磁信号是一段地磁序列,该地磁序列包含了采集区域的不同方向的地磁信号。将采集好的地磁序列按序列长度为10进行划分,划分好的地磁序列由10个地磁信号组成。
步骤3、地磁数据库的搭建
在划分好地磁序列后,每个地磁序列按照所在区域分配所对应的区域标签即地标。每个地标代表每个对应的区域,地标的分配是为了接下来神经网络的训练,通过多层门控循环单元网络高精度的分类地标,从而达到识别所在区域并定位的目的。每个区域划分好地磁序列后,将每个区域内的地磁序列的80%作为训练集,剩下的20%作为测试集。
步骤4、通过确定好的地磁数据库训练多层门控循环单元网络,选择分类精度最优的模型参数
门控循环单元网络由一个个门控循环单元组成,门控循环单元用于记忆不定时间长度的信息,控制遗忘过去不重要的信息以及将滤波后的信息与现在的信息融合进行更新。门控循环单元是lstm中门控记忆单元的简化,也可以解决长依赖问题,性能上与门控记忆单元不分伯仲,但门控循环单元所需参数较少,更易收敛。门控循环单元结构如图3所示,由以下几个部分组成,具体公式如下:
(1)重置门rt控制前一时刻状态有多少信息写入当前候选状态
(2)更新门zt控制前一时刻状态信息被带入隐藏状态的程度
(3)候选状态
(4)隐藏状态ht控制过去样本所提高的一系列信息
(5)输出yt为当前时刻的输出
rt=σ(wr·[ht-1,xt])(3)
zt=σ(wz·[ht-1,xt])(4)
yt=σ(wo·ht)(7)
其中σ表示的是激活函数,wr是重置门rt权重矩阵,控制着重置门rt的大小来决定前一时刻状态有多少信息写入当前候选状态。wz是更新门zt权重矩阵,控制着更新门zt的大小来决定前一时刻状态信息被带入隐藏状态的程度。
多层门控循环单元网络如图4所示,多层门控循环单元网络能将输入序列转化成更为抽象的表达形式。在本发明地磁室内定位系统中,多层门控循环单元网络的输入序列为序列长度为10的地磁序列,其离散序列形式表示为(x1,x2,…,x10)。地磁序列分别在时间t(t=1,2,…,10)的时刻下作为输入信息输入至多层门控循环单元网络的第一层中。在初始时刻下,初始隐藏状态
第二层到最后一层的输出
其中l表示的是层数,层数范围为第二层到最后一层。其中每一层的输入都为前一层的输出,即第l层的输入为上一层的输出
多层门控循环单元网络最后一层l的输出为
其中x表示地磁序列,n表示地磁序列的数量,p(xi)表示地磁序列xi的实际one-hot编码,q(xi)表示地磁序列xi在神经网络下估计的one-hot编码。在训练过程中,采用adam优化器来最小化损失函数,采用dropout作为正则化来减少过拟合。
通过地磁数据库中的测试集来测试训练的多层门控循环单元网络。最后通过多次训练选择分类精度最优的模型参数。
1.一种基于多层门控循环单元网络的地磁室内定位方法,其特征在于,步骤如下:
步骤1、室内地图地标的划分;
(1)测量室内地图所有的路径的长度;
(2)根据设定的路径长度将室内地图划分为一块块区域,并为每块区域分配一个数字标签作为地标;
步骤2、地磁数据的采集和处理;
(1)在划分好的每个区域内围绕着区域的中心点采集不同方向的地磁信号,所采集到的地磁信号是一段地磁序列;
(2)按照设定的序列长度来划分采集的地磁序列;
步骤3、地磁数据库的搭建;
(1)划分好的地磁序列按照所在区域分配所对应的区域标签即地标;
(2)将每块区域的地磁序列的80%作为训练集,剩下的20%作为测试集;
步骤4、通过确定好的地磁数据库训练多层门控循环单元网络,选择分类精度最优的模型参数;
(1)通过地磁数据库中划分好的训练集训练多层门控循环单元网络;
(2)通过地磁数据库中的测试集来测试训练的多层门控循环单元网络;
(3)通过多次训练选择分类精度最优的模型参数。
2.根据权利要求1所述的一种基于多层门控循环单元网络的地磁室内定位方法,其特征在于,步骤1室内地图地标的划分具体方法如下:
首先测量好室内路径的长度;根据设定的路径长度将室内路径划分为一个个区域;所述的路径长度设定为3m,即为3m间隔进行划分室内路径,如果室内路径长度有余,则将多余的部分平分给最两侧的区域;对于每一块区域都给定一个数字标签作为地标,地标的数量n等于划分的区域的多少;区域的宽度为室内路径的宽度。
3.根据权利要求2所述的一种基于多层门控循环单元网络的地磁室内定位方法,其特征在于,步骤2地磁数据的采集和处理具体方法如下:
地磁数据可以由手机中的地磁传感器采集,地磁数据的结构主要表示为一个七维的向量<mx,my,mz,m,mxrot,myrot,mzrot>,其中mx,my和mz是由手机的地磁传感器的三个方向轴所采集的地磁强度,m表示的是平均地磁强度,由mx,my和mz的二阶范数组成,具体公式如下:
mxrot,myrot和mzrot表示的是在全局坐标系下的地磁强度,具体公式如下:
[mxrot,myrot,mzrot]=r×[mx,my,mz]t(2)
其中r是一个旋转矩阵,使手机坐标系下采集的地磁信号转换到全局坐标系下;在采集地磁数据的过程中,围绕着每个区域的中心,采集不同方向的地磁信号,采集的地磁信号是一段地磁序列,该地磁序列包含了采集区域的不同方向的地磁信号;将采集好的地磁序列按序列长度为10进行划分,划分好的地磁序列由10个地磁信号组成。
4.根据权利要求3所述的一种基于多层门控循环单元网络的地磁室内定位方法,其特征在于,步骤3地磁数据库的搭建具体方法如下:
在划分好地磁序列后,每个地磁序列按照所在区域分配所对应的区域标签即地标;每个区域划分好地磁序列后,将每个区域内的地磁序列的80%作为训练集,剩下的20%作为测试集。
5.根据权利要求4所述的一种基于多层门控循环单元网络的地磁室内定位方法,其特征在于,步骤4通过确定好的地磁数据库训练多层门控循环单元网络,选择分类精度最优的模型参数具体步骤如下:
门控循环单元网络由一个个门控循环单元组成,门控循环单元用于记忆不定时间长度的信息,控制遗忘过去不重要的信息以及将滤波后的信息与现在的信息融合进行更新;门控循环单元由以下几个部分组成,具体公式公式如下:
(1)重置门rt控制前一时刻状态有多少信息写入当前候选状态
(2)更新门zt控制前一时刻状态信息被带入隐藏状态的程度
(3)候选状态
(4)隐藏状态ht控制过去样本所提高的一系列信息
(5)输出yt为当前时刻的输出
rt=σ(wr·[ht-1,xt])(3)
zt=σ(wz·[ht-1,xt])(4)
yt=σ(wo·ht)(7)
其中σ表示的是激活函数,wr是重置门rt权重矩阵,控制着重置门rt的大小来决定前一时刻状态有多少信息写入当前候选状态;wz是更新门zt权重矩阵,控制着更新门zt的大小来决定前一时刻状态信息被带入隐藏状态的程度;
多层门控循环单元网络能将输入序列转化成更为抽象的表达形式;在本发明地磁室内定位系统中,多层门控循环单元网络的输入序列为序列长度为10的地磁序列,其离散序列形式表示为(x1,x2,…,x10);地磁序列分别在时间t(t=1,2,…,10)的时刻下作为输入信息输入至多层门控循环单元网络的第一层中;在初始时刻下,初始隐藏状态
第二层到最后一层的输出
其中l表示的是层数,层数范围为第二层到最后一层;其中每一层的输入都为前一层的输出,即第l层的输入为上一层的输出
多层门控循环单元网络最后一层l的输出为
其中x表示地磁序列,n表示地磁序列的数量,p(xi)表示地磁序列xi的实际one-hot编码,q(xi)表示地磁序列xi在神经网络下估计的one-hot编码;在训练过程中,采用adam优化器来最小化损失函数,采用dropout作为正则化来减少过拟合;
通过地磁数据库中的测试集来测试训练的多层门控循环单元网络;最后通过多次训练选择分类精度最优的模型参数。
6.根据权利要求5所述的一种基于多层门控循环单元网络的地磁室内定位方法,其特征在于,多层门控循环单元网络的层数设置为4,即最后一层l=4。
技术总结