一种充分借助车辆航向的三阶段在线地图匹配算法的制作方法

文档序号:14895650发布日期:2018-07-08 03:11阅读:159来源:国知局

本发明涉及地图匹配技术领域,特别是涉及到借助车辆航向的地图匹配算法。



背景技术:

近几年,移动gps设备广泛普及,该设备安装在车辆中收集用户的移动轨迹。车辆的gps轨迹是支持基于位置信息和智慧交通服务(如路径规划、交通状况检测等)的数据基石。为了节省能量和传输成本,gps设备通常间隔地记录车辆的位置信息,这导致了轨迹数据的稀疏性和不确定性,这些原因会导致降低应用的性能。考虑到车辆在路网中行驶,为了解决这些问题,把gps轨迹数据映射到路网上,这个过程称为地图匹配。最近几年,车辆通常被当作交通探针来检测交通状况,在这种情况下,在线地图匹配是必要的。

地图匹配的工作一般有两个阶段,第一个阶段是在每个gps轨迹点的候选边中找到真正的匹配边,第二个阶段是推断和找到车辆真正的行驶路径。早期的地图匹配工作通常只是为了找到gps轨迹点的匹配边,但是该工作只能克服gps设备的测量误差。对于每个候选边都有不同的概率成为每个给定gps点的真正匹配边,以前的工作就曾利用方向信息信息来计算这个概率的大小,但是所用的方向信息是指前后两个gps点的连线方向,这证明了方向信息可以帮助地图匹配,但因为在线匹配时下一个gps轨迹点无法得知,所以该方向信息无法用在在线匹配中,因此本发明尝试运用用gps设备收集到的车辆航向信息来那么完成在线地图匹配。

更近的地图匹配工作主要关注如何重构两个相邻gps点之间车辆的行驶路径。详细来说,两个gps点对应的匹配边是不连接的,甚至距离很远。这种工作主要是为了解决轨迹数据的稀疏性和不确定性。为准确地找到路径,如基于隐马尔科夫的地图匹配算法合理使用许多附加信息如路网的拓扑结构(边与边的链接关系)或者道路属性(车辆限速)来增加了匹配结果的准确性。为了推断出真正的行驶路径,需要找到任意一对相邻gps点之间的车辆行驶路径,在这个寻找路径的过程中,dijkstra和a*算法经常被使用。但是因为每一对相邻gps点之间的路径都需要寻找到,所以寻找路径这一过程极其耗费时间,为此提出了借助车辆航向的一种启发式的路径搜索算法,可以极大的减少搜索时间。



技术实现要素:

为了保证在线地图匹配的高匹配质量和低时间复杂度,本发明提供了一个充分借助车辆航向的三阶段在线地图匹配算法,对输入到算法里的gps轨迹数据流进行在线地图匹配。对于轨迹数据流,首先将其切割成等长度的原始gps轨迹片段,一个轨迹片段就是一个处理单元,对于每一个轨迹片段数据,运用提出的三阶段匹配算法进行匹配。

具体而言,本发明提供了一个充分借助车辆航向的三阶段在线地图匹配算法的具体方案为:

一个充分借助车辆航向的三阶段在线地图匹配算法,包括三个阶段。其中,第一个阶段为一个给定的gps轨迹点,确定top-k个路网中的候选边;第二个阶段为寻找两个gps轨迹点之间的潜在路径;第三个阶段为一系列gps轨迹点挑选车辆真实的行驶路径。

进一步的,本发明一个充分借助车辆航向的三阶段在线地图匹配算法中的第一阶段,包括以下4个步骤:步骤1:对给定的一个gps轨迹点,先以该gps点为圆心,以长度r米为半径画圆(r=100米),在该圆覆盖下的路网中所有的边都是该gps点的侯选边;步骤2、利用空间概率,计算步骤1筛选出的候选边是给定gps点真正匹配边的可能性高低;步骤3、利用方向概率,计算步骤1筛选出的候选边是给定gps点真正匹配边的可能性高低;步骤4:根据步骤2和3得到的候选边的空间概率和方向概率,算每条候选边的综合概率,对其概率值高低进行排序,选出top-k个概率最大的候选边。

进一步的,本发明一个充分借助车辆航向的三阶段在线地图匹配算法中的第二阶段,包括以下2个步骤:步骤1、利用车辆的航向和行驶速度确定潜在的搜索区域;步骤2、根据车辆航向和路网拓扑结构建立路网中节点的树结构,然后利用深度搜索算法(dfs)在潜在的搜索区域内找到两个gps轨迹点之间的路径。

进一步的,本发明一个充分借助车辆航向的三阶段在线地图匹配算法中的第三阶段,是利用车辆航向信息和路网的拓扑结构计算出每条候选路径是匹配路径的概率,然后选择概率最大的路径作为匹配路径。

附图说明

图1为本发明中必要概念的示意图;

图2为三阶段的在线地图匹配算法算法系统框图;

图3为证明车辆航向在地图匹配中作用的示意图。

图4为借助车辆航向的路径搜索算法。

具体实施方式

下面结合附图对本发明进一步说明。

在介绍算法内容之前,先陈述发明中6个必要的概念。

第1个概念:路网,路网是一个图g(n,e),包含一组边集合e和一组节点集合n。每一个边ei是一个有向边,它有两个节点,头节点nh和尾节点nt。每一个节点n是一对经纬度的坐标组合,表示采样点的空间位置。

第2个概念:路网中边ei的方向,每条边有两个方向d(nh,nt),d(nt,nh),d(nh,nt)是指从节点nd到节点nt的方向,这个可以根据gps点的经纬度轻易地计算出。注意在本发明所有方向都是以北极为基准。举个例子,在图1中的,d(n5,n6)就是候选边e8的方向,从节点n5指向节点n6。

第3个概念:车辆航向,车辆航向h(0°≤h≤360°)指的是车辆在采样位置的车头指向,该信息可以直接从轨迹数据中获取,如图1所示,车辆在gps采样点p1的航向为h1。

第4个概念:gps轨迹点,gps轨迹点记录了车辆的空间和时间信息,包含了经纬度坐标、时间戳信息、瞬时速度和车辆航向,被记为pi=(t1,lati,loni,vi,hi)。

第5个概念:原始gps轨迹片段,原始gps轨迹片段τ是一个是按照时间序列排列的gps轨迹点,被记为τ=<pi,pi+1,…,pi+l>。参数l控制着轨迹片段的长度。原始gps轨迹数据流t包含着无穷个gps轨迹片段,记为t=<τ1,τ2,…>。

第6个概念:匹配的gps轨迹片段,给一个原始gps轨迹片段,它匹配的gps轨迹片段是车辆在路网中真实的行驶路径,被记为τm=<ei,ei+1,…,en>,其中任意两个相邻的边都是相连的。一个匹配的gps轨迹数据流tm包含无穷个匹配的gps轨迹片段,记为tm=<τm1,τm2,…>。

一个充分借助车辆航向的三阶段在线地图匹配算法,对输入到算法里的gps轨迹数据流进行在线地图匹配。对于轨迹数据流,首先将其切割成等长度的原始gps轨迹片段,一个轨迹片段就是一个处理单元,对于每一个轨迹片段数据,运用提出的三阶段匹配算法进行匹配。算法包含三个阶段,如图2所示,第一个阶段为一个给定的gps轨迹点,确定top-k个路网中的候选边;第二个阶段为寻找两个gps轨迹点之间的潜在路径;第三个阶段为一系列gps轨迹点(即gps轨迹片段)挑选车辆真实的行驶路径。

1、第一个阶段,包含以下四个步骤:

步骤1:给定有一个gps轨迹点,先以该gps点为圆心,以长度r米为半径画圆(r=100米),在该圆覆盖下的路网中所有的边都是该gps点的侯选边。

步骤2:利用空间概率,计算步骤1筛选出的候选边是给定gps点真正匹配边的可能性高低。假设给定gps轨迹点pi与候选边ej的距离差为距离差通常是正态分布函数,其表达式如下:公式中距离差的计算方法如下:函数dist是用来计算两点之间距离的,c1和c2分别是候选边ej的两个节点,c3是gps点pi到候选边ej上的垂直点。注意如果c3不在边ej上(即在边边ej外面),那么dist(pi,c3)→+∞;σ1是标准差,为了计算它,先利用现有的经典地图匹配算法计算出每个gps轨迹点的匹配边,然后求解所有gps轨迹点与它们对应的匹配边的距离差集合,最后很容易地拟合出σ1的值。

如果仅根据空间概率寻找gps轨迹点的候选边可能会导致错误的结果。如同3所示,根据距离的远近,gps轨迹点p2应该跟边e1匹配,但是这明显是错误的。可以看到车辆在采样点p2的车辆航向更接近于e3的方向,这就让人想到引入方向概率来为gps轨迹点筛选候选边。

步骤3:利用方向概率,计算步骤1筛选出的候选边是给定gps点真正匹配边的可能性高低。假设给定gps轨迹点pi与候选边ej的角度差为角度差同样是正态分布函数,其表达式如下:路网中的每条边都有两个端点nh和nt,因此它们都有两个方向d(nh,nt)和d(nt,nh),d(nh,nt)指边的方向是从端点nh到nt。公式中角度差的计算方法如下:σ2也是标准差,计算方法与σ1一致。

步骤4:根据空间概率g1和方向概率g2,算出综合概率对所有侯选边的综合概率g高低进行排序,选出top-k个概率最大的候选边。

2、第二个阶段,包含以下两个步骤:

步骤1:利用车辆航向和速度信息确定潜在搜索区域,它是一个扇形区域,由以下三个条件唯一确定:第一,扇形的圆心是两个gps轨迹点中的第一个轨迹点pi。第二,扇形的半径等于分别为两个gps点的速度,δt是两个gps点的时间间隔,c是常数(设为50米)。第三,扇形由两个半圆组成,每个半圆的直径分别于两个gps点上的车辆航向hi和hi+1垂直。

在潜在的搜索区域内,寻找两个相邻gps轨迹点之间的潜在路径。因为每个gps点有k个候选边,那么任意两个相邻gps点在潜在搜索区域内,可能有k2个潜在路径。先可以根据车辆航向信息,判断gps点对应的两个候选边中的节点哪个是路径的起点ns和终点ne。如图4所示,可以轻易看到一对候选边e11和e2,节点n8和n2分别是起始节点和终止节点。确定路径的起始点后,然后利用如下步骤搜索路径。首先对于在潜在搜索区域内所有的路网节点ni,找到其子节点nc。子节点nc满足以下两个条件:如果nc是ni的子节点,那么与ni相比,nc应该离ne更近,并且离ns更远,如公式3和4所示;并且从ni到nc的方向应该与车辆航向hi和hi+1一致,如公式5所示。dist(nc,ne)<dist(ni,ne)---(3),dist(nc,ns)>dist(ni,ns)---(4),min(|hi-d(ni,nc)|,|hi+1-d(ni,ns)|)<90°---(5)接着根据确定的父子节点关系,以ns为根节点,利用潜在搜索区域内的其他节点建立树结构。如果构建的树不包含ne,那么可以认为该两个gps轨迹点之间不存在路径。否则利用深度搜索算法(dfs)来找到两轨迹点之间的潜在路径,注意一旦路径找到,搜索停止。

3、第三个阶段包含以下步骤:

对于任意两个相邻的gps轨迹点之间最多有k2个潜在路径,那么对于一个包含了l个轨迹点gps的轨迹片段,至多会存在k2(l-1)条潜在路线。因为路径中每个边是相应gps轨迹点真正匹配边的概率高低不同,所以每条路线是车辆真正行驶路径的可能性也是不同的。用公式(6)来计算每条路径是车辆真正行驶路径的概率大小,最终输出概率最大的路径作为匹配路径这里的指的是候选边ej是轨迹点pi真正匹配边的综合概率值。注意,对于一个包含l个gps点的轨迹片段<p1,p2,…,pl>的可能路径被表示为这里的指的是轨迹点pi第jth个候选边。指的是从候选边到候选边的路径。

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