matlab中argmax_Matlab算法案例--- 基于隐马尔科夫模型(HMM)的地图匹配(Map-Matching)

本文通过隐马尔科夫模型(HMM)和Viterbi算法解决地图匹配问题,提供Matlab源代码分享,涉及状态转移、观察概率计算,适用于移动定位场景。
摘要由CSDN通过智能技术生成

0679b9a5e8d0970bc53ac48a9aa115f3.png

本文不讲HMM模型理论知识,仅仅结合HMM实践,和HMM论文(作者自己写的),简述HMM实践过程。并分享Matlab代码。 (1个月的劳作,有偿分享源代码,并且提供安装运行服务)

1. 摘要

本文介绍基于隐马尔科夫模型(Hidden Markov Model, HMM)、Viterbi算法来解决地图匹配(Map-Matching)的算法过程,并提供Matlab源代码和相关的测试数据。

0dec544028854287b0d73a8b8a4837c0.png

本文所用数据和模型,均来自于文章《Enhanced Map-Matching Algorithm with a Hidden

Markov Model for Mobile Phone Positioning》2017年。

3fc60e13673e80641f6324970c48d366.png

2. Map-Matching(MM)问题

地图匹配是绝大部分地图应用的基础性操作,是提高定位与地图交互质量的重要措施。它是将计算、测量出来的位置点,隐射到地图上(确切地说,是地图的道路上)。因为移动目标,如人行、车行、动物移动,往往在特定的行驶环境中。

通常情况下,地图的精度比定位结果的精度要高很多。因此,测量结果,映射至地图的过程,往往也是提高定位结果的一种方法。即便地图的精度与定位结果的精度,没有明显的优势。映射过程,也往往能够把地图信息传递给定位结果,从而带来其他方面的信息挖掘。

294b16550d982e02efa143b7f677eb81.png

关于地图匹配的多种阶段性进步和相应的缺陷,在此简单总结:

1 基于垂直距离

是Map Matching 最早期方法,也是最简单直接的方法。

2 基于相交角度

结合垂直投影距离,MM结果,略有提高。

3. 基于拓扑关联,即前后路段是否向链接

这个思路,大大提升了MM的质量

4 基于轨迹整体形状特性的MM

这个方法好高端。记得Stuttgart大学出产了这个思路的文献,而且是这个思路的鼻祖(2009),讲到这个方法。动态图形,后面补充。

本篇论文提供的HMM for MM, 就是结合了HMM模型所体现的概率统计的思路,利用了拓扑属性、投影距离,和全局匹配的思路。总体上克服了MM过程中的多种约束:稀疏GPS点,大范围的地图匹配。

3. Hidden Markov Model (HMM)隐马尔可夫链模型

3.1 HMM简述

HMM隐马尔可夫链模型已经在应用在许多领域中,比较常见的应用有语音识别,文本分词、随机场模型等。更多的关于HMM隐马尔可夫链模型的内容,可以参考作者知乎专栏上的其他文章。

这里简单介绍下HMM, 讲到隐马尔可夫模型,肯定首先要知道马尔科夫链, 在给定当前知识或信息的情况下,只有当前的状态用来预测将来,过去(即当前以前的历史状态)对于预测将来(即当前以后的未来状态)是无关的。用公式表示即:

1b59fa9b430cfdfbd241ee0eb294a06d.png

即Xn 的值则是在时间 n 的状态,也就是说在知道状态 Xn 的前提下,Xn+1 的状态只跟 Xn 有关,跟之前的 (n−1) 个状态是无关的.

举个例子就是,今天口袋里的钱的数量,主要跟昨天的口袋里的钱的数量有关,跟昨天之前的钱的数量无关,当然这是一个很强的假设前提。

注:这里所说的马尔科夫链是一阶马尔科夫链,当然可以扩展出去二阶马尔科夫,三阶马尔科夫等等,这里不做过多描述。

而所谓的隐马尔科夫模型就是上述马尔科夫的状态是不可见的(即: 真值永远不可知)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值