本发明涉及地图匹配技术领域,具体涉及一种基于高阶隐马尔可夫模型的动态地图匹配方法。
背景技术:
近年来,随着智能交通系统(its)的发展,交通数据的积累速度也呈指数级增长。gps轨迹数据是各种交通分析技术以及位置服务的关键数据源。事实上由于gps数据的定位误差不可避免,具体应用gps数据时存在地图匹配精度问题。地图匹配问题是指将有误差的gps数据匹配到路网上,减少误差的影响,最大化数据的有效性。
现有的地图匹配算法根据其采用的方法性质可大致分为四类:几何方法、拓扑方法、概率统计方法和其他先进技术。几何方法在不考虑路网拓扑关系的情况下,利用gps点和路网的几何信息(如距离、角度和形状等)进行地图匹配,这种方法具有较高的效率,但是在将低精度gps数据与复杂路网进行匹配时,误差较高。拓扑方法既考虑了几何因素,也考虑了路网拓扑关系,但受低频采样间隔和采样噪声的影响较大。概率统计方法为每个gps点设置一个椭圆或矩形的置信区域,从而根据gps点与置信区域内对应位置的距离得到概率,根据概率值确定最佳匹配路径,与几何方法和拓扑方法相比,概率统计方法相对复杂,实现难度大,时间效率较低。
技术实现要素:
本发明的目的:提供一种匹配精度高、匹配效率高,且简单易实现的动态地图匹配方法。
技术方案:本发明提供的基于高阶隐马尔可夫模型的动态地图匹配方法,用于实现目标对象在目标时刻t的gps位置与路网中相应路段的匹配;其特征在于,方法包括如下步骤:
步骤1:针对目标对象在预设时刻范围内各时刻n的gps点gn,分别依次执行步骤1.1至步骤1.2,然后进入步骤2;其中n=t-w+1,t-w,...,t,w为预设的时刻数,
步骤1.1:结合gps点gn以及路网信息,对路网建立r树索引,获取预设范围内该gps点附近的路段作为候选路段,进而获取gps点gn在与其所对应的各候选路段中的候选点位置;进入步骤1.2;
步骤1.2:获取gps点gn的各候选点的高阶隐马尔可夫模型观测概率和gps点gn的各候选点的高阶隐马尔可夫模型状态转移概率;
步骤2:根据各gps点gn的各候选点的高阶隐马尔可夫模型观测概率,以及各gps点gn的各候选点的高阶隐马尔可夫模型状态转移概率,使用viterbi算法求解目标对象在时刻t的gps点gt的各候选点的高阶隐马尔可夫模型,结合gps点gt在与该gps点所对应的各候选路段中的候选点位置,获取gps点gt在该路网中的最佳候选点,实现gps点gt和路网中路段的匹配。
作为本发明的一种优选方案,在步骤1之前,所述方法还包括对目标对象在预设时间段内的gps点进行预处理,预处理的方法包括:
针对目标对象在各时刻的gps点gn实时执行如下步骤:
步骤a、计算目标对象在时刻n的gps点gn和在时刻n-1的gps点gn-1之间的大圆距离dn-1,n:
步骤b、判断该大圆距离dn-1,n是否小于预设的最小距离阈值,是则舍去gps点gn,不对其进行匹配,否则对其进行匹配;
判断该大圆距离dn-1,n是否大于预设的最大距离阈值,是则根据公式:
对时刻n的gps点gn和在时刻n-1的gps点gn-1进行插值处理,将该插值点作为与时刻n相邻的gps点。
作为本发明的一种优选方案,在步骤1.1中,获取gps点gn在与其所对应的各候选路段中的候选点位置的方法包括如下步骤:
针对gps点gn的各候选路段:自gps点gn分别向各候选路段做垂线,若垂足落在该候选路段上,定义该垂足为gps点gn在该候选路段中的候选点;若垂足落在候选路段的延长线上,则定义该候选路段中与gps点gn连线最短的点为gps点gn在该候选路段中的候选点。
作为本发明的一种优选方案,在步骤1.2中,根据公式:
获取gps点gn第i个候选点
作为本发明的一种优选方案,根据公式:
获取候选点
其中,psame为权重参数,sn是gps点gn-1和gps点gn的大圆距离与候选点
作为本发明的一种优选方案,根据公式:
获取候选点
其中,
作为本发明的一种优选方案,在步骤1.2中,根据公式:
获取gps点gn的第n个候选点
作为本发明的一种优选方案,根据如下公式:
获取gps点gn-2与gps点gn的大圆距离和候选点
作为本发明的一种优选方案,在步骤3中,使用viterbi算法求解目标对象在时刻t的gps点gt的各候选点的高阶隐马尔可夫模型时,以如下公式:
为高阶隐马尔可夫模型求解的目标函数。
作为本发明的一种优选方案,在步骤1中,通过自适应滑动窗口选择分别均执行步骤1.1至步骤1.2的gps点;分别均执行步骤1.1至步骤1.2的gps点包括:目标对象在目标时刻t的gps点,以及目标对象在目标时刻t前且与目标时刻t相邻的w-1个连续时刻的gps点。
有益效果:相对于现有技术,本发明提供的方法,结合gps点数据以及路网信息,获取gps点的高阶马尔科夫模型观测概率和高阶马尔科夫模型状态转移概率,进而通过扩展的viterbi算法求解高阶隐马尔可夫模型,实现对gps点和路网中的路段的匹配;通过本方法进行匹配的匹配精度高、匹配效率高,且简单易实现。
附图说明
图1是本发明实施例提供的地图匹配方法流程图;
图2是本发明实施例提供的道路权重参数ρ对匹配结果的可能影响;
图3是本发明实施例提供的车辆航向权重θ对匹配结果的可能影响;
图4是本发明实施例提供的数据点gt的候选匹配位置;
图5是本发明实施例提供的一阶隐马尔可夫模型的错误匹配案例;
图6是本发明实施例提供的二阶隐马尔可夫模型降维过程;
图7是本发明实施例提供的扩展的viterbi算法步骤;
图8是本发明实施例提供的一个测试实例。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
应当清楚的是,隐马尔可夫模型是基于网络的动力学建模的一种主流范式,它很好地适应了在地图匹配问题中为每个gps点(即观测状态)寻找合适的匹配点(即隐藏状态)的过程,隐马尔可夫模型结合了几何、拓扑、概率等因素可以有效提高地图匹配精度,并具有较好的收敛效果;隐马尔可夫模型可用于先进地图匹配技术中。
本发明提供的基于高阶隐马尔可夫模型的动态地图匹配方法如图1所示,用于实现目标对象在目标时刻t的gps位置与路网中相应路段的匹配。
在进行匹配时,先对gps点数据进行预处理:针对当前接收的数据点gt,计算gt与gt-1的大圆距离dt-1,t,若dt-1,t小于阈值thmin,则舍去当前点gt,不对其进行匹配。若dt-1,t大于阈值thmax,则对其进行线性内插。插值公式如下:
通过上述的数据预处理过程,可以有效剔除静止不动的gps数据点。同时,对于分布稀疏的gps点进行线性内插,增加了gps数据包含的空间信息。可以根据前述预处理方法,只对目标时刻t的gps点进行预处理,也可以参照前述方法对时刻t之前时刻的gps点进行预处理。以时刻t的gps点gt为例,获取高阶隐马尔可夫模型观测概率和高阶隐马尔可夫模型状态转移概率的方法具体如下所述,其中的高阶隐马尔可夫模型具体的为二阶隐马尔可夫模型。
对路网建立r树索引,寻找gps点对应的候选点位置。前述的预处理后的gps数据,采用两阶段算法在路网中搜索其真实定位的候选点,具体实施过程为:
过程11:对路网中所有路段的中点建立r树索引,利用r树索引,搜索gps误差半径范围内该点附近的n条路段作为候选路段,如图2、图3所示,图中的黑色线条表示候选路段;
过程12:将gt垂直投影在候选路段上,投影点
如图4所示,gt的候选点分别为
参照图5,现有的动态地图匹配算法通常只从单一gps点入手,考虑其局部几何关系和道路拓扑关系,这就造成了动态地图匹配算法精度远远落后于全局地图匹配算法。但面向实时导航、路段行程时间预测等应用场景下,动态地图匹配不可或缺,其实时性与高效性是全局地图匹配算法无法满足的。考虑图5所示的场景,传统的动态地图匹配算法无法实现正确匹配。从gt点到gt+2点,该车辆并没有转向,而是直线行驶。正确的匹配路径应为
在本发明的方案中,计算的是二阶隐马尔可夫模型观测概率,在计算时对一阶隐马尔可夫模型进行改进,进而计算二阶隐马尔可夫模型中的观测概率,具体计算流程为:
过程21:设置滑动窗口:设滑动窗口大小等于预设的时刻数w,若当前点gt加入滑动窗口后,窗口溢出,则删除窗口中第一个点gt-w+1,此时,gt-w+1点的匹配结果最终确定。处于窗口内的点,随着新点的不断加入,其匹配点都可能随之改变。滑动窗口的大小的取值对算法的匹配精度和匹配效率都有影响。一般情况下,增大窗口大小会让算法在一次匹配时考虑更多的gps点,提高匹配精度。若滑动窗口的大小包含了所有的gps点,则算法变为全局匹配;但滑动窗口过大也会影响匹配效率,让算法失去实时匹配的特性。为了平衡算法精度与计算效率,提出了自适应的滑动窗口。
在本发明提供的方案中,定义自适应滑动窗口的大小为三个级别:小窗口,中窗口以及大窗口。通过计算当前gps点的定位误差的平均值,我们的算法会自动选择合适的窗口大小。gps定位误差的平均值计算公式定义如下:
其中cn是gps点gn的候选点。
过程22:计算二阶观测概率。二阶隐马尔可夫模型观测概率矩阵
从上式中可以看到,二阶隐马尔可夫模型观测概率是两个连续gps点的一阶观测概率和一阶状态转移概率的乘积。
计算二阶状态转移概率矩阵:对一阶隐马尔可夫模型进行改进,计算二阶隐马尔可夫模型中的状态转移概率。定义二阶状态转移概率
其中,λ是kt的平均值,kt为gps点gt-2与gps点gt的大圆距离和候选点
根据如下公式:
获取gps点gt-2与gps点gt的大圆距离和候选点
步骤5:二阶viterbi算法求解马尔可夫模型,本发明引入了二阶隐马尔可夫模型来解决gps轨迹匹配问题,二阶隐马尔可夫模型求解的目标函数可以表示为:
viterbi算法是一种高效的动态规划算法,能够有效避免路径的重复搜索,快速获得最优解。它被广泛地用于求解一阶隐马尔可夫模型。为了求解复杂度为的二阶隐马尔可夫模型,将传统的viterbi算法进行扩展。具体流程为:
过程31:模型降维。在二阶隐马尔可夫模型中,
过程32:迭代搜索。完成过程1之后,参照图7,使用传统的viterbi算法进行迭代计算,求解二阶隐马尔可夫模型,过程如下:
(1)从第一层节点出发,计算各层节点降维后的观测概率和相邻两层节点之间的状态转移概率。
(2)计算从第二层到最后一层每个节点的最大总概率。保存每个节点的最大总概率和前驱节点。
(3)选择最后一层总概率最高的节点,回溯其前驱节点,直到第一层。
通过以上步骤,可以随着滑动窗口的滑动中找到gps轨迹数据的最优匹配路径。图8是一条gps轨迹数据匹配结果的可视化,其中黑色的圆点代表gps轨迹数据点,黑色折线为将原始gps数据点经过本发明提出的方法匹配到路网上之后实现的路径。
本发明提供的基于高阶隐马尔可夫模型的动态地图匹配方法用于匹配复杂城市道路网络环境下的gps轨迹数据。基于隐马尔可夫模型,将传统的一阶隐马尔可夫模型扩展至高阶,可以更有效地处理不同gps点之间的时空关系。其次,在计算高阶隐马尔可夫模型的观测概率和状态转移概率时,综合考虑了驾驶员对路段的出行偏好、道路等级、车辆航向和路网拓扑关系,模型更加符合实际情况。同时,与传统的固定滑动窗口的方法相比,本发明采用了一种扩展的viterbi算法求解高阶隐马尔可夫模型,并使用自适应滑动窗口方法,实时调整滑动窗口的大小,能够平衡算法精度与计算效率,实现高效、动态地解决地图匹配问题。
以上所述仅是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。