一种基于长短时记忆网络LSTM的GPS数据重构方法与流程

文档序号:15236563发布日期:2018-08-24 05:38阅读:1653来源:国知局

本发明属于定位技术领域,具体涉及一种基于长短时记忆网络lstm的gps数据重构方法。



背景技术:

全球定位系统(gps,globalpositioningsystem)因为其能够为用户提供全球任意位置的实时、连续且高精度、全天候的三维坐标、速度和基准时间信息,而被广泛应用于军事和民用的众多领域,但是由于gps观测量中包含了接收机与卫星的时钟差、大气传播延时、多径效应影响等误差,会对接收机坐标的解算造成一定误差,尤其是在城市环境下,gps信号受建筑物遮蔽和多径效应的影响非常大,由此造成较大的定位误差,有时接收机甚至接收不到有效的gps信号,以至于无法准确定位。如果不做处理,gps漂移的点就直接定位到建筑、湖泊中,而不显示到路网上,所以需要对由gps设备获得的定位信息进行一定处理,使它能够较为精确地匹配到路网上。

为了抑制gps应用过程中定位精度受干扰影响的问题以及保证gps定位的可靠性,现有的大多数解决方案是对gps定位数据进行滤波,如卡尔曼滤波,粒子滤波等,或者对gps接收机的完好性进行监测,通过滤波滤除定位数据中的较大误差和随时检测、隔离差错信息。再者就是基于基于马尔科夫,贝叶斯网络等模型做路网匹配算法的研究,将gps点匹配到相应的道路上,使最终的定位结果在精度和可靠性上得到保证,以上算法的不足是当gps信号短时间被遮蔽时,不能够得到比较准确的gps经纬度,未来gps定位研究的挑战与趋势将是使用大数据技术来提高定位精度。

因此,本发明提出了一种基于长短时记忆网络lstm的gps数据重构方法。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种当gps信号短时间被遮蔽时,能够得到准确的gps经纬度的基于长短时记忆网络lstm的gps数据重构方法。本发明的技术方案如下:

一种基于长短时记忆网络lstm的gps数据重构方法,其包括以下步骤:

步骤1)、搭建基于android系统的gps数据采集平台,读取蓝牙gps传感器的数据并解析;

步骤2)、驾驶车辆上路以不同的车速通过不同的路段,采集车辆gps实测数据,并将数据整理归类,分为高精度定位数据和低精度定位数据;

步骤3)、选取步骤2)的高精度定位数据作为特征向量来训练长短时记忆lstm网络,构建预测模型;

步骤4)、选取步骤2)的低精度定位数据,利用已训练的长短时记忆lstm网络预测经纬度,重构gps数据。

进一步的,所述步骤1)中基于android系统,以蓝牙串口的方式读取gps传感器的广播信息,首先将原始的协议帧存为多维字符串数组a[m][n],m表示该数组的行数,n表示该数组的列数,然后根据nmea-0183协议标准依次匹配字符串a[0],匹配到对应的字段,进行相应的解析实时的显示并存至本地。

进一步的,所述步骤2)中,将gps蓝牙传感器固定在车内,通过包括高速公路,山区道路,城市道路,商圈道路在内的不同的路段,采集车辆行驶过程中的gps数据,包括经度、纬度、方向、速度及精度因子;然后将数据分类,参照水平精度因子hdop,hdop<=1的数据归类为高精度的gps数据,hdop>1的数据归类为低精度的gps数据。

进一步的,所述步骤3)选取高精度gps数据中连续四个时刻t1、t2、t3、t4,每个时刻的经度αi,纬度βi,速度vi,方向θi,加速度ai,其中i表示第i个时刻,作为单个样本的特征输入lstm网络,来进行参数训练,假设选取n个样本,则第n个单个样本的特征矩阵sn如下所示

这里定义n个样本训练过程中的损失函数为

其中α、β为lstm网络预测出的经度、纬度,α0、β0为实际精确的经度,纬度。

进一步的,所述步骤1)搭载gps数据采集平台,具体包括步骤:

步骤ⅰ、搜索连接蓝牙gps传感器:

android设备以客户端的角色主动连接蓝牙模块的传感器,软件实施流程如下:

1.使用registerreceiver注册broadcastreceiver来获取蓝牙状态、搜索设备等消息;

2.使用blueadatper的搜索;

3.在broadcastreceiver的onreceive()里取得搜索所得的蓝牙设备信息;

4.通过设备的mac地址来建立一个bluetoothdevice对象;

5.由bluetoothdevice衍生出bluetoothsocket,准备socket来读写设备;

6.通过bluetoothsocket的createrfcommsockettoservicerecord()方法来选择连接的协议/服务;

7.连接之后,使用bluetoothsocket的getinputstream()读蓝牙设备的数据。

步骤ⅱ、解析原始gps数据存至本地。

进一步的,所述步骤4)用已训练的lstm网络预测经纬度,具体实施步骤如下:

若车辆经过短暂的“城市峡谷”,或卫星信号被建筑物短时间遮挡造成gps定位飘逸,水平定位精度hdop>1,这种情况下,根据连续前4秒中的样本数据特征,代入lstm网络预测第5秒的gps数据,从而纠正第5秒所测的经纬度误差,若第6秒仍发生gps定位漂移,则根据第2,3,4,5秒的数据来纠正第6秒的经纬度,直到卫星信号恢复正常;最终根据纠正过的gps点的经纬度和高精度的gps经纬度结合重构gps数据。

本发明的优点及有益效果如下:

本发明考虑连续gps数据的前后几个时刻的关系,结合机器学习中神经网络的算法,基于长短时记忆网络lstm,利用前几个时刻gps坐标点的经度,纬度,速度,方向,加速度预测下一个时间点的经纬度,从而纠正某些误差较大的坐标点,重构gps数据。本发明为gps定位精度的提高,提供了一种有效的方法。

本发明的创新点在于引入时间序列提高gps的定位精度,具体如下,当gps发生短时间的定位飘逸时,本发明考虑连续gps数据的前后几个时刻的关系,结合机器学习中神经网络的算法,基于长短时记忆网络lstm,利用前几个时刻gps坐标点的经度,纬度,速度,方向,加速度预测下一个时间点的经纬度,从而纠正某些误差较大的坐标点,重构gps数据。本发明为gps定位精度的提高,提供了一种有效的方法。

附图说明

图1是本发明提供优选实施例原理图;

图2为本发明中gps数据采集的软件流程图;

图3为本发明中基于lstm网络训练参数的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是:

本发明所述的基于长短时记忆网络lstm的gps数据重构方法,重点解决的是短时间内gps卫星信号被遮挡,造成gps经纬度漂移的问题,其主要思路是首先搭建gps数据采集平台,然后驾车行驶不同的路段,采集大量的gps数据,并整理数据将数据归类,接着选取高精度的gps数据作为训练样本,提取样本特征训练lstm网络的参数,得到准备的预测模型,最后可以根据gps数据前4秒的时序特征准确得到下一个时刻的经纬度,

本发明所述的基于长短时记忆网络lstm的gps数据重构方法,包括以下步骤:

步骤一、基于android系统开发一个应用程序,操作手机蓝牙读取gps传感器的广播信息,根据nmea-0183协议标准解析出经纬度,速度,精度因子,运动方向等信息;

步骤二、驾驶车辆上路以不同的车速通过不同的路段,采集车辆gps数据存至本地,然后提取将数据整理归类;

步骤三、选取定位精度高的gps数据,提取连续的4秒内,每一秒的含经纬度,速度,加速度作为特征向量输入来训练lstm网络,构建预测模型;

步骤四、选取存在gps定位精度不高时的路段,根据前4秒gps的数据特征输入lstm网络,得到更加准确的经纬度,重构gps数据。

以下对本发明所述的基于长短时记忆网络lstm的gps数据重构方法进行详细的说明:

本发明中搭载gps数据采集平台,软件流程如图2所示。其实施方式如下:

步骤ⅰ、搜索连接蓝牙gps传感器:

android设备以客户端的角色主动连接蓝牙模块的传感器,软件实施流程如下:

1.使用registerreceiver注册broadcastreceiver来获取蓝牙状态、搜索设备等消息;

2.使用blueadatper的搜索;

3.在broadcastreceiver的onreceive()里取得搜索所得的蓝牙设备信息(如名称,mac,rssi);

4.通过设备的mac地址来建立一个bluetoothdevice对象;

5.由bluetoothdevice衍生出bluetoothsocket,准备socket来读写设备;

6.通过bluetoothsocket的createrfcommsockettoservicerecord()方法来选择连接的协议/服务,这里用的是spp(uuid:00001101-0000-1000-8000-00805f9b34fb);

7.连接之后(如果还没配对,则系统自动提示连接配对),使用bluetoothsocket的getinputstream()读蓝牙设备的数据。

步骤ⅱ、解析原始gps数据存至本地:

首先将原始的协议帧存为多维字符串数组a[m][n],然后根据nmea-0183协议标准依次匹配字符串a[0],匹配到对应的字段,进行相应的解析实时的显示并存至本地。

本发明中gps实测数据的采集归类,实施方式如下:

步骤ⅰ、将gps蓝牙传感器固定在车内,通过不同的路段,如高速公路,山区道路,城市道路,商圈道路等,采集车辆行驶过程中的gps数据,包括经度,纬度,方向,速度,精度因子等。

步骤ⅱ、将数据分类,参照水平精度因子hdop,hdop>1的数据归类为高精度的gps数据,hdop<=1的数据归类为低精度的gps数据。

本发明中选取gps时序数据的特征来训练lstm网络,如图2所示,具体实施步骤如下:

选取高精度gps数据中连续四个时刻t1、t2、t3、t4,每个时刻的经度αi,纬度βi,速度vi,方向θi,加速度ai,作为单个样本的特征输入lstm网络,来进行参数训练。假设选取n个样本,则第n个单个样本的特征矩阵sn如下所示

这里定义n个样本训练过程中的损失函数为

其中α、β为lstm网络预测出的经度,纬度,α0、β0为实际精确的经度,纬度。

本发明中用已训练的lstm网络预测经纬度,具体实施步骤如下:

若车辆经过短暂的“城市峡谷”,或卫星信号被建筑物短时间遮挡造成gps定位飘逸,水平定位精度hdop>1,这种情况下,可根据连续前4秒中的样本数据特征,代入lstm网络预测第5秒的gps数据,从而纠正第5秒所测的经纬度误差,若第6秒仍发生gps定位漂移,则根据第2,3,4,5秒的数据来纠正第6秒的经纬度,直到卫星信号恢复正常。最终根据纠正过的gps点的经纬度和高精度的gps经纬度结合重构gps数据。

本发明考虑连续gps数据的前后几个时刻的关系,基于长短时记忆网络lstm,利用前几个时刻gps坐标点的经度,纬度,速度,方向,加速度纠正下一个时间点的经纬度,从而纠正某些误差较大的坐标点,重构gps数据。本发明为gps定位精度的提高,提供了一种有效的方法。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

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