掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度学习的城市峡谷GPS增强定位方法及系统

文献发布时间:2023-06-19 16:08:01



技术领域

本发明涉及导航定位技术领域,更具体地,涉及一种基于深度学习的城市峡谷GPS增强定位方法及系统。

背景技术

导航定位技术广泛应用在个人导航、线上打车、地形测绘等人们的日常生活中,最常见的导航系统则为GPS导航系统(Global Positioning System)。

GPS导航系统由三个部分组成:卫星群、地面基站和用户的GPS接收器。具体来说,卫星群由32颗卫星组成,每颗卫星约每12小时绕地球一圈,并在地球上空连续广播卫星自身的位置和当前时间,卫星携带着稳定的原子钟,这些原子钟与地面站的时钟彼此精确同步。地面基站通过向所有卫星发送控制其轨道和轨迹的参数,监测和管理所有卫星的状态。GPS接收器接收来自现有卫星的信号,并通过将光速与信号的传播时间相乘来计算每个信号的传播距离,即伪距(Pseudorange,由GPS接收机测得的GPS接收机与卫星之间的近似距离)。结合卫星广播的位置以及与各个卫星伪距即可计算出GPS接收器在地球上的位置。

虽然GPS导航系统在大多数地方运行良好,但在城市峡谷中仍然非常不可靠。城市峡谷中的GPS定位误差主要来自于高层建筑对卫星信号的反射所造成的多径干扰(Multipath Interference)和非视距(Non-Line of Sight,简称NLOS)信号。虽然目前已经有不少硬件和软件可以很好地解决多径干扰的问题,但GPS接收机上的NLOS卫星信号仍然会在城市峡谷中造成很大的定位误差。在城市峡谷场景中,NLOS卫星的信号可能会被一个甚至更多的高层建筑反射,导致伪距变大,从而导致定位误差。

针对NLOS信号造成的误差,目前有些方法是使用专用硬件(如全景相机)和LiDAR来重建街道建筑的反射表面,并将光线跟踪算法应用于卫星信号来计算伪距误差(Wen,W.,Zhang,G.,&Hsu,L.T.(2019).Correcting NLOS by 3D LiDAR and building height toimprove GNSS single point positioning.Navigation,66(4),705-718.)。除此以外,还有一些方法是基于专有的3D城市模型利用建筑几何来计算GPS初始位置周围候选位置与接收机观测值之间的信号路径或卫星能见度的相似度,并输出匹配最佳的点作为纠正点(Liu,X.,Nath,S.,&Govindan,R.(2018,June).Gnome:A practical approach to nlosmitigation for gps positioning in smartphones.In Proceedings of the 16thAnnual International Conference on Mobile Systems,Applications,and Services(pp.163-177).)。然而,这些方法严重依赖于精确的3D城市模型或其他第三方资源,如全景图像,甚至有些方法还需要采用昂贵的硬件器材。这些资源并不容易获得,因此在很大程度上限制了它们的实际应用。

发明内容

本发明提供一种基于深度学习的城市峡谷GPS增强定位方法及系统。

为实现上述技术目的,本发明具体采用以下技术方案:

一种基于深度学习的城市峡谷GPS增强定位方法,包括:

获取城市峡谷中GPS精度的影响因素数据,包括环境数据、卫星状态数据和定位时间数据,并将其转换为相同大小的矩阵;所述环境数据包括GPS初始位置周围的建筑高度和道路分布数据;

将转换得到的多个相同大小的矩阵共同输入训练好的编码器,获得编码了环境、时间和卫星状态信息的特征图;所述编码器为基于残差网络块的编码器;

将所述特征图输入训练好的距离解码器,获得原始GPS定位点的定位误差的预测值;

比较定位误差预测值与预设的误差阈值,如定位误差预测值>可接受的误差值,则将所述特征图输入训练好的位置解码器,获得原始GPS定位点经校正后的定位位置。

作为一种优选的实施方式,将影响因素数据转换为矩阵形式的方式为:

a.对于环境数据,以GPS原始估计位置为中心构造正方形区域,并将该区域划分为若干正方形网格单元将正方形网格单元按其所属环境对应赋值,构建得到环境矩阵;

例如,如果正方形网格单元对应的是建筑,则对其赋值建筑高度;如果正方形网格单元对应的是道路,则对其赋值0;其余网格单元赋值-1,表示不可访问;

b.对于卫星状态数据,根据GPS卫星的高度角、方位角和信噪比绘制天空图;构造与环境矩阵同样大小的天空图矩阵,将天空图中的卫星映射至天空图矩阵,并对存在卫星的矩阵方格元素利用对应卫星的信噪比赋值;

c.对于定位时间数据,将定位时的时间戳转换为n维向量,所述n维向量利用多层感知器转化为与环境矩阵、天空图矩阵同大小的矩阵,即时间戳矩阵。影响城市峡谷中的GPS精度因素有很多,例如建筑物的布局和高度、卫星分布等,而这些因素具有不同的形态,导致其具有不同的维度的表示。如何在不丢失信息的情况下,用合适的形式来表示和融合这些因素来作为深度神经网络的输入是一个巨大的挑战。本发明将所有因素通过特定方式转换为相同大小的矩阵,并将其组合为一个整体的多源数据输入。通过矩阵的形式来表示各种因素,从而实现本发明所述技术问题在神经网络模型中的应用。

作为一种优选的实施方式,将天空图中的卫星映射至天空图矩阵的方式为:

将天空图矩阵的中心元素对应为天空图的中心,根据卫星的高度角确定卫星所在元素与中心元素在天空图矩阵上的距离,根据卫星的方位角确定卫星所在元素与中心元素的连线与“正上方”方向的顺时针夹角的角度,以将天空图中的卫星映射至天空图矩阵。

作为一种优选的实施方式,将定位时的时间戳转换为7维向量,7个元素分别为:

元素1:表征定位时间在一个自然日中的进展的元素;

元素2:表征卫星在一个重访周期的进展的元素;

元素3~6:分别对元素1、2应用正弦、余弦计算,以辅助查找周期性的元素;

元素7:表征定位时间在定位地点所在时区的当天12:00am前或12:00am后的元素;

将7个元素按任意顺序组合得到所述7维向量。

本发明在该7维向量考虑了自然日周期和重访周期,并利用正余弦函数辅助寻找周期性特征。

作为一种优选的实施方式,以标记好的GPS定位点数据、与之对应的道路网络、建筑测量数据和卫星状态数据作为训练样本对所述编码器、距离编码器、位置编码器进行模型训练;

距离解码器的训练目标为独热编码向量,正确的误差区间对应的元素值为1;采用交叉熵损失函数度量距离解码器的输出与训练目标之间的距离;

位置解码器的训练目标为真实位置的高斯表示矩阵,高斯表示矩阵中真实位置对应的元素为最大值1;采用均方误差损失函数度量位置解码器的输出与训练目标之间的距离。

作为一种优选的实施方式,所述位置解码器的输出为概率矩阵,对采用环境矩阵约束后获得位置解码器的最终输出;

将环境矩阵中存在建筑或其他不可访问的元素设置为0,否则为1,即有效候选位置,赋值后的环境矩阵作为约束掩码器,位置解码器的最终输出为约束掩码器点乘概率矩阵,最终输出矩阵中值最大的元素则为校正后的GPS定位位置对应的元素,该元素的中心所对应的经纬度即为输出的校正位置。

作为一种优选的实施方式,所述编码器、距离编码器、位置编码器在训练时,按其输入输出关系连接后共同训练。共同训练可以使距离解码器与位置解码器通过编码器的关联相互传递彼此的特征信息,从而可以实现更准确的预测。

作为一种优选的实施方式,所述编码器、距离编码器、位置编码器在共同训练时,设置训练模型的总体损失函数为

L

其中L

作为一种优选的实施方式,还包括:需要对移动定位对象进行连续定位时,估算移动定位对象的运动速度,限制移动定位对象的可达区域以辅助确定正确的GPS定位位置,包括:

基于移动定位对象最近若干个校正后GPS定位位置和对应定位时间计算其平均移动速度;

以GPS原始估计位置为中心构造正方形区域,并将该区域划分为若干正方形网格单元;

以上一定位时间对应的移动定位对象校正后GPS定位位置为圆心,平均移动速度×相邻定位时间的时间差为半径画圆,构建圆形区域;

依照所述正方形区域与圆形区域的重叠情况,对网格单元赋值,如果网格单元与圆形区域存在重叠,则赋值1,否则赋值ρ(0≤ρ≤1),将赋值后形成的矩阵称为移动掩码器;

将移动掩码器与位置解码器的输出相乘,得到最终的概率矩阵,将概率矩阵中值最大网格单元的中心所对应的经纬度作为连续定位的校正位置输出。

本发明的另一目的在于提供一种基于深度学习的城市峡谷GPS增强定位系统,包括:

终端,获取定位对象的原始GPS定位点、定位时间和卫星状态数据,预设需求的误差阈值,并发送至服务器;

服务器,包括:数据库和深度学习模型;

所述数据库存储环境数据和历史计算数据;所述环境数据包括建筑高度和道路分布数据;

所述深度学习模型对原始GPS定位点进行定位校正,包括多源数据融合模块、编码器、距离编码器和位置编码器;

所述多源数据融合模块为深度学习模型提供输入参数,多源数据融合模块根据终端发送的原始GPS定位点、定位时间和卫星状态数据,从数据库查找原始GPS定位点和定位时间对应的环境数据,并将环境数据、定位时间、卫星状态数据转换为相同大小的矩阵;

所述编码器对多源数据融合模块输出的矩阵形式数据进行特征提取,输出编码了环境、时间和卫星状态信息的特征图;

所述距离编码器基于特征图、误差阈值对原始GPS定位点进行定位误差预测,如果定位误差预测值>误差阈值,则调用位置解码器,否则不对原始GPS定位点进行校正;

所述位置解码器基于特征图输出原始GPS定位点经校正后的定位位置,并将原始GPS定位点、校正后的定位位置发送至数据库存储。

作为一种优选的实施方式,所述服务器为云端服务器。

本发明利用容易获得的信息实现城市峡谷的GPS定位校正,包括环境因素(GPS初始位置周围的建筑高度和道路分布)、时间以及卫星状态,以其作为GPS定位的上下文状态,利用深度神经网络模型从大量标记GPS样本中学习GPS定位的上下文状态与GPS定位估计之间的隐式复杂关系。本发明中的模型经过良好训练,可以根据GPS初始位置的上下文状态准确地预测每一个错误的GPS估计的正确位置,提高了GPS在城市峡谷中的定位性能,增强了GPS的可靠性。此外,利用大量GPS样本训练的深度神经网络模型具有普适性,因此可以服务于大范围的城市区域。

附图说明

图1是本发明方法流程图。

图2是环境矩阵的构建方式。

图3是天空图矩阵的构建方式。

图4是连续定位原理图。

图5是本发明系统结构图。

具体实施方式

实施例1

一种基于深度学习的城市峡谷GPS增强定位方法及系统(如图1~5所示)。

S1:将影响城市峡谷中GPS精度的多种因素(GPS初始位置周围的建筑高度和道路分布、时间以及卫星状态)转换为矩阵,以作为原始GPS点的上下文状态;包括:

S1.1:将原始GPS定位点的周围环境信息转换为环境矩阵M

(1)GPS接收器提供原始估计位置

(2)首先选择一个以

(3)根据以下规则设置环境矩阵M

i.如果正方形中的格子是建筑的一部分,则环境矩阵M

ii.如果正方形中的格子是道路的一部分,则环境矩阵M

iii.环境矩阵M

S1.2:将原始GPS定位点所使用到的GPS卫星的状态转换为天空图矩阵(skyplotmatrix)M

(1)GPS接收器提供各个GPS卫星的状态,即高度角(Elevation,指GPS接收器与卫星之间的连线与水平面间的夹角)、方位角(Azimuth,指GPS接收器的正北方向依顺时针方向到卫星之间的水平夹角)以及信噪比(Signal-to-noise ratio,简称SNR)。

(2)根据高度角、方位角以及信噪比绘制对应的天空图(skyplot)。

(3)构造与环境矩阵M

(4)将天空图矩阵M

(5)如果天空图矩阵M

S1.3:将原始GPS定位点的定位时间转换为时间戳矩阵M

(1)GPS接收器提供定位时的时间戳t(指Unix时间戳,从UTC1970年1月1日0时0分0秒起至现在的总秒数,不考虑闰秒)。

(2)将提供的时间戳t转换为7维向量V

(3)根据以下规则设置7维向量V

i.第1个元素:V

ii.第2个元素:V

iii.第3个元素:V

iv.第4个元素:V

v.第5个元素:V

vi.第6个元素:V

vii.第7个元素:如果时间t对应的为定位地点所在时区的当天的上午(12:00am前),则该元素设置为1;否则设置为0。

(4)使用一个简单的多层感知器(Multi layer Perceptron,简称MLP)模型将向量V

S2:将S1中转换得来的矩阵输入到训练好的基于残差网络块所构建的编码器里,编码器从中提取出特征图以供距离解码器、位置编码器使用;

基于残差网络块的编码器的实现方法包括以下步骤:

S2.1编码器的输入为三个矩阵M

S2.2编码器由4个卷积层(Convolutional layer)和4个残差网络块按以下顺序依次构成:

(1)卷积核个数为3,大小(kernel-size)为7*7,步长(stride)为1,填充数(padding)为3,归一化函数为BatchNorm,激活函数为Tanh;

(2)卷积核个数为64,大小为7*7,步长为1,填充数为3,归一化函数为BatchNorm,激活函数为ReLU;

(3)卷积核个数为128,大小为3*3,步长为2,填充数为1,归一化函数为BatchNorm,激活函数为ReLU;

(4)卷积核个数为256,大小为3*3,步长为2,填充数为1,归一化函数为BatchNorm,激活函数为ReLU;

(5)4个残差网络块。

S2.3将三个矩阵的组合输入到编码器中,经过4个卷积层和4个残差网络块的处理后,输出编码了环境、时间和卫星状态信息的特征图。

S3:将S2中的特征图输入到训练好的距离解码器里,距离解码器通过特征图预测出原始GPS定位点的定位误差;

用于预测定位误差的距离解码器的实现方法包括以下步骤:

S3.1距离解码器的输入为编码器输出的特征图。

S3.2距离解码器由2个卷积层和多个全连接层按以下顺序依次构成:

(1)卷积核个数为512,大小(kernel-size)为3*3,步长(stride)为3,填充数(padding)为0,归一化函数为BatchNorm,激活函数为ReLU;

(2)卷积核个数为1024,大小(kernel-size)为3*3,步长(stride)为3,填充数(padding)为0,归一化函数为BatchNorm,激活函数为ReLU;

(3)4个全连接层,神经元的数目分别为2048、1024、512、256,均使用ReLU作为激活函数。

S3.3距离解码器的输出为一个概率向量V

S4:比较S3中预测的定位误差(概率向量中最大概率对应的误差)与可接受的误差值,如预测的定位误差小于可接受的误差值则无需进行纠正;否则将S2中的特征图输入到训练好的位置解码器中里,位置解码器通过特征图预测出原始GPS经校正后的定位位置。

用于预测定位位置的位置解码器的实现方法包括以下步骤:

S4.1位置解码器的输入为编码器输出的特征图。

S4.2位置解码器由6个残差网络块、2个逆卷积层(Transposed Convolutionallayer)和1个卷积层按以下顺序依次构成:

(1)6个残差网络块。

(2)逆卷积核个数为128,大小为3*3,步长为2,填充数为1,归一化函数为BatchNorm,激活函数为ReLU;

(3)逆卷积核个数为64,大小为3*3,步长为2,填充数为1,归一化函数为BatchNorm,激活函数为ReLU;

(4)卷积核个数为1,大小为7*7,步长为1,填充数为3,归一化函数为BatchNorm,激活函数为Sigmoid;

S4.3上述操作输出的是一个与输入矩阵(M

S4.4上述操作输出的矩阵R

S4.5位置解码器的最终输出则为

S5:如需要进行连续定位,则使用维护的移动模型用于估计用户的运动速度,限制用户的可达区域以辅助确定正确的GPS定位位置。

用于估计用户运动速度的移动模型的实现方法包括以下步骤:

S5.1如需进行连续定位则使用到用于估计用户运动速度的移动模型。

S5.2首先估计用户的运动速度。利用用户最近k个校正后的GPS定位位置p′,即位置(p′

其中,L(p′

S5.3在获得用户的平均移动速度v后,需要为估计位置

S5.4结合GPS估计位置

MLP模型、编码器、距离解码器和位置解码器都是需要经过训练才能发挥作用的,本方法还包括了训练编码器、距离解码器和位置解码器的方法说明:

(1)距离解码器的损失函数:

距离解码器的训练目标V

距离解码器的损失函数L

(2)位置解码器的损失函数:

位置解码器的训练目标R

L

位置解码器的损失函数L

(3)总体损失函数:

由于MLP模型、编码器、距离解码器和位置解码器共同组成一个可以纠正GPS定位模型,因此训练时需要共同训练。模型的总体损失函数为:

L

总体损失函数L

(4)模型的训练方法:

训练模型时需要用到大量标记好的GPS定位点数据,以及与之对应的道路网络、建筑测量数据和卫星数据来训练本模型。

对于每个GPS定位实例及其对应的真实位置,利用道路网和建筑高度信息来构建环境矩阵M

对于训练目标,根据GPS定位实例中的定位误差为距离解码器构建对应独热编码向量V

为了确定λ的设置,分别训练距离解码器和位置解码器以观察它们的损失函数的数量级,然后再设置λ的值以平衡两个解码器的损失函数。本方法最终设定λ=1e-3,此时两种解码器都能获得最佳的预测性能。

(5)另外,本方法使用Adam作为优化器,学习率为1e-5,batch size为128。

在设置以上参数后,本方法使用标记的GPS样本对模型进行整体训练。因为距离解码器的损失和位置解码器的损失加起来更新公共编码器,两个解码器可以相互传递彼此的特征信息,所以可以实现更准确的预测。

另外,本方法将MLP模型作为编码器的一部分,因此将MLP模型与编码器一起训练。

实施例2

本实施例具体说明本发明系统的实施方式。

如图5所示,所述系统包括:

终端,获取定位对象的原始GPS定位点、定位时间和卫星状态数据,预设需求的误差阈值,并发送至服务器;

服务器,包括:数据库和深度学习模型。

所述数据库存储环境数据和历史计算数据;所述环境数据包括建筑高度和道路分布数据;

所述深度学习模型对原始GPS定位点进行定位校正,包括多源数据融合模块、基于残差网络块(ResNet Block)的编码器(Encoder)、用于预测定位误差的距离解码器(Distance Decoder)、用于预测定位位置的位置解码器(Position Decoder);

所述多源数据融合模块为深度学习模型提供输入参数,多源数据融合模块根据终端发送的原始GPS定位点、定位时间和卫星状态数据,从数据库查找原始GPS定位点和定位时间对应的环境数据,并将环境数据、定位时间、卫星状态数据转换为矩阵形式;

所述编码器对多源数据融合模块输出的矩阵形式数据进行特征提取,输出编码了环境、时间和卫星状态信息的特征图;

所述距离编码器基于特征图、误差阈值对原始GPS定位点进行定位误差预测,如果定位误差预测值>误差阈值,则调用位置解码器,否则不对原始GPS定位点进行校正;

所述位置解码器基于特征图输出原始GPS定位点经校正后的定位位置并发送至终端,并将原始GPS定位点、校正后的定位位置发送至数据库存储。

系统实施方式如下:

(1)如图5所示,当需要使用本系统进行位置校正时,客户端首先通过Android接口获取GPS估计位置

(2)服务器收到请求后,从数据库中检索位置

(3)一旦位置校正请求被处理,本系统会将记录

(4)最后,服务器将位置p′发回给客户端。

相关技术
  • 一种基于深度学习的城市峡谷GPS增强定位方法及系统
  • 一种城市峡谷内基于精确3D城市模型的GNSS定位方法
技术分类

06120114715299