CN114462609A - 一种基于隐马尔可夫模型的浮动车数据轨迹还原方法 - Google Patents
一种基于隐马尔可夫模型的浮动车数据轨迹还原方法 Download PDFInfo
- Publication number
- CN114462609A CN114462609A CN202111482841.7A CN202111482841A CN114462609A CN 114462609 A CN114462609 A CN 114462609A CN 202111482841 A CN202111482841 A CN 202111482841A CN 114462609 A CN114462609 A CN 114462609A
- Authority
- CN
- China
- Prior art keywords
- candidate
- point
- probability
- points
- floating car
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Fuzzy Systems (AREA)
- Remote Sensing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提出了一种基于隐马尔可夫模型的浮动车数据轨迹还原方法。本发明从浮动车数据和城市道路数据的时空特征出发,在将浮动车数据匹配到城市道路上的同时填补浮动车途径路段的信息。具体而言,本发明具有以下创新点:在隐马尔可夫模型任一转移概率的计算中同时考虑了当前所有候选点对之间最短路径的长度;引入点线关系函数来筛选每条候选道路上的所有候选点,并用以补充隐马尔可夫模型的观测概率;在隐马尔可夫模型之外再次考虑候选点对之间的最短路径以及对应原始轨迹点之间的直线长度,以避免概率模型在其他概率较大时忽略了对连通性的考虑。本发明提出的方法可以高效、准确地还原浮动车行驶轨迹,从而提高浮动车数据的采样频率和价值。
Description
技术领域
本发明属于GPS轨迹处理技术领域,尤其涉及一种基于隐马尔可夫模型的浮动车数据轨迹还原方法。
背景技术
浮动车数据是交通监管和城市研究中广泛使用的数据源,但是浮动车数据普遍存在采样频率不稳定以及位置偏移较大等问题。地图匹配算法基于城市道路网可以用于修正偏移的浮动车轨迹记录,将浮动车轨迹数据匹配到临近的路段使其具有城市道路网的拓扑信息。隐马尔可夫模型常用于求解地图匹配问题,将待匹配原始轨迹点的位置、角度、行驶时间以及前后相邻轨迹记录之间的空间连通性与道路信息考虑在其概率定义当中。基于隐马尔可夫模型的地图匹配算法存在以下几点缺陷:仅在综合评价函数中考虑候选点对之间的最短路径,当位置和角度的得分较高时可能会忽略对于空间连通性的考虑,使得匹配后的记录之间连通性较弱;通常将原始轨迹点之间的直线距离作为候选点间最短路径的参照,由于GPS存在位置抖动且途径道路可能存在形状变化,从而导致匹配结果易受邻近相似道路的影响;原始轨迹点会在周围一定范围内的候选路段上,根据投影点在路段上的位置确定候选点选择投影点还是靠近原始轨迹点的路段端点,由于隐马尔可夫模型是一个概率模型,在概率累积的过程中,会出现具有偏移的候选点对之间存在比投影点对之间的概率更高的情况,导致匹配的结果在概率计算和累积中易受同一条道路多个相似候选点的影响。为了提高轨迹点匹配的精度,并在地图匹配的同时获取浮动车连贯的行驶轨迹,同时兼顾不同采样频率的浮动车数据,本发明提出了一种基于隐马尔可夫模型的浮动车数据轨迹还原方法,充分考虑了浮动车数据每一个原始轨迹点的时空特征,修改了传统基于隐马可夫模型的地图匹配算法的观测概率和转移概率,并引入了额外的算法逻辑来保证算法的精度和效率。本发明不仅将原始轨迹记录匹配到城市道路网上,同时填补浮动车行驶的关键记录,使得其能够在处理不同采样频率的浮动车数据时,均可以快速地获取连贯、准确的浮动车轨迹,进而提高多源浮动车数据的可用性和价值。
发明内容
本发明的目的在于提供一种基于隐马尔可夫模型的浮动车数据轨迹还原方法,充分考虑了浮动车数据的每个原始轨迹点的时空特性,在顾及空间连通性的同时兼顾效率和精度,不仅将原始轨迹点匹配到城市道路网上,同时还填补浮动车行驶的关键轨迹记录。
本发明的技术方案为一种基于隐马尔可夫模型的浮动车数据的轨迹还原方法,其特征在于,包括以下步骤:
步骤1,将浮动车数据进行数据预处理得到预处理后浮动车数据,将城市道路数据进行数据预处理得到预预处理后城市道路数据;
步骤2,对步骤1预处理后的浮动车数据与预处理后的城市道路数据,选择两种数据之间相应的可以用于轨迹还原的时空特征,并定义这些时空特征的概率计算方法,进而根据所有概率的乘积确定浮动车数据行驶的具体路段;
步骤3,根据浮动车原始轨迹点的空间位置概率,行驶方向的概率,原始轨迹点与候选路段之间关系的概率,浮动车候选点之间最短路径的概率以及浮动车候选点间行驶速度的概率,进一步构建隐马尔可夫模型;
步骤4,取预处理后的浮动车数据,依次遍历每一个预处理后的浮动车数据,并结合预处理后的城市道路数据,利用隐马尔可夫模型的轨迹总体概率,计算浮动车行驶的所有可能的候选路径以及路径的概率得分;
作为优选,步骤1所述浮动车数据原始格式包含车辆标识、空间位置、行驶方向角、以及记录的采集时间;
所述空间位置由经度、纬度构成;
步骤1所述将浮动车数据进行数据预处理,具体为:
多组浮动车数据根据浮动车的车辆标识分别分组至不同的浮动车数据集合,将浮动车的车辆标识相同的浮动车数据分至同一个浮动车数据集合;
在每辆浮动车数据集合中,将每辆浮动车的轨迹记录信息根据对应的记录时间按时间顺序进行排序得到排序后每辆浮动车数据集合,数据集合由pi=(idi,xi,yi,ai,ti)来表示,其中i代表轨迹记录在数据集合中的顺序;
在排序后每辆浮动车数据集合中,根据相邻两个时刻每辆浮动车的位置信息计算相邻两个时刻的欧式距离;
在排序后每辆浮动车数据集合中,根据相邻两个时刻记录的时间计算时间间隔,结合相邻两个时刻的欧式距离计算相邻两个时刻浮动车的速度;
以城市最大限速120km/h作为阈值,初步筛查异常点,并在存在异常点的位置将轨迹打断,打断后得到多组满足最大限速条件的浮动车数据集合;
最后对得到的多组满足最大限速条件的浮动车数据集合进行遍历,仅保留数据集合中多于5个轨迹记录的数据集合;
步骤1所述将城市道路数据进行数据预处理,具体为:
根据城市道路数据的拓扑关系,提取城市道路数据中的道路节点,并对道路按照其折点进行打断,从中提取并分离节点(N=[n1...np])、形状点(SP=[sp1...spq])、路段(S=[s1...sm])以及路(R=[r1...rn])等要素。其中节点为三条及以上线段的交点,以及没有与其他线段关联的端点,节点主要用于最短路径算法中的有向图构建;路是两个节点之间的折线或者线段,与其他路之间首尾相连且没有被其他路打断;路中除了节点之外的折线的端点,代表了路的形状,主要用于候选点的计算以及轨迹还原时途经点的填补;由一个或者两个形状点构成的线段(没有形状点路在轨迹还原获取候选路段时也称为路段)。
采用R*树对路段信息进行空间索引,使得可以根据空间范围获取范围内包含或相交的路段信息;采用红黑树对道路、节点信息进行属性索引,使得可以根据要素的id或者关联id查询要素详细信息,以方便轨迹还原方法在求解中对数据的调用;
利用节点和路之间的拓扑关系,构建最短路径算法中所需的带权有向图,由节点作为带权有向图的节点,路作为带权有向图的边,权重为路的长度;
城市道路数据的预处理结果,可以在当前城市下的所有浮动车轨迹记录中重复使用,因此只需要在轨迹还原方法开始之前执行一次即可。
作为优选,所述步骤2具体分为以下步骤:
步骤2.1,计算浮动车原始轨迹点空间位置的概率;
浮动车原始轨迹点与候选点之间的距离满足正态分布,浮动车空间位置的概率函数Fd定义如下:
步骤2.2,计算浮动车原始轨迹点行驶方向的概率;
浮动车行驶方向与候选路段的方向之间的夹角同样满足正态分布,因此浮动车行驶方向的概率函数Fθ定义如下:
步骤2.3,计算浮动车原始轨迹点与候选路段之间关系的概率
其中,原始轨迹点坐标为(x,y),线段以A(x1,y1)为起点以B(x2,y2)为终点,如果原始轨迹点可以垂直投影在线段上,则点线关系函数值的范围为[0,1],则不对轨迹当前的概率得分的进行惩罚,否则将一定程度上降低轨迹当前的概率得分。
步骤2.4,计算浮动车候选点之间最短路径的概率
其中,代表第i个原始轨迹点pi的第t个候选点,代表由候选点到候选点之间最短路径的概率;代表了候选点和之间的最短路径距离,而原始轨迹点pi具有多个候选点,ci代表了pi的所有候选点;min(ci-1,ci)和max(ci-1,ci)则分别代表了由ci和ci-1中的所有候选点构成的所有候选点对之间的最短路径距离的最小值和最大值,上述公式将最短路径距离归一化到|0.5,1]之间。
步骤2.5,计算浮动车候选点间行驶速度的概率
其中,代表第i个原始轨迹点pi的第t个候选点,代表由候选点到候选点之间行驶速度的概率;代表了从候选点到候选点的平均速度,具体由两个候选点之间的最短路径值除以两个原始轨迹点之间的行驶时间计算而来,vu代表了当前行驶道路u的最大限速,而k代表候选点与之间最短路径途径的路段个数。
作为优选,所述步骤3具体为:
步骤3.1观测概率用于描述隐含节点的某种状态类型产生某种观测值的概率,在轨迹还原问题上,观测概率代表了浮动车行驶在当前路段上产生当前轨迹点记录的概率,因此需考虑当前原始轨迹点与候选路段之间的关系,包括位置、角度以及点线关系函数值等:
其中,代表第i个原始轨迹点pi的第j个候选点,为步骤2.1所述的浮动车原始轨迹点空间位置的概率;为步骤2.2所述的浮动车原始轨迹点行驶方向的概率;为步骤2.3所述的浮动车原始轨迹点与候选路段之间关系的概率。
步骤3.2转移概率,转移概率用来描述从一个隐含状态到另一个隐含状态的概率,在轨迹还原问题中,转移概率代表了从一个候选路段到另一个候选路段之间的概率,因此不仅需要考虑两个候选路段之间的最短路径,同时需要考虑浮动车相邻原始轨迹点之间的行驶时间、瞬时速度与城市道路限速之间的关系:
步骤3.3,隐马尔可夫模型的轨迹总体概率,为了弱化部分异常值对整个状态轨迹概率造成的影响,因此采用概率累加的方式来计算状态序列的最终概率值,并假定每个当前原始轨迹点的概率计算过程都是独立的;所以观测概率和转移概率,可以改称为观测得分和转移得分,按照隐马尔可夫模型的逻辑,计算隐马尔可夫模型的轨迹总体概率:
作为优选,所述步骤4具体为:
步骤4.1,候选路段获取,依次遍历所有原始轨迹点。在每轮的计算过程中,以当前遍历的原始轨迹点为圆心,搜索一定阈值范围内的路段,根据行驶方向和道路方向经过筛选后。根据原始轨迹点与候选路段的点选关系函数,确定当前候选路段的候选点。
步骤4.2,候选路段分组,根据点线关系函数以及原始轨迹点与候选点之间的距离,将候选点分别添加到候选集和备选集中。其中候选集中保留点线关系函数在[0,1]之间,或线关系函数值在[-0.1,0)∪(1,1.1]之间或者原始轨迹点与候选点之间的距离小于一定阈值的路段,候选集中确保每个道路仅保留一个匹配位置最佳的候选点,其他候选路段将暂时添加至备选集,当候选集为空或者候选集中与前一原始轨迹点的所有候选点均不连通时再进一步考虑。
步骤4.3,候选路段筛选,在候选路段分组完成之后,如果候选集中不存在任何候选路段,则将备选集中的候选路段添加到候选集当中,以应对浮动车轨迹点位置异常而导致的复杂场景。随后根据当前原始轨迹点与候选路段的位置和角度信息来对每一个候选路段进行综合评判,随后根据评价得分保留前几个候选点进入隐马尔可夫模型中进一步求解,其他候选点将放入备选集。
步骤4.4,观测概率计算,采用具有动态规划思想的Viterbi算法求解隐马尔可夫模型的预测问题。依次遍历当前原始轨迹点所有候选点,计算当前候选点的观测概率,如果不存在前序候选点,则标记当前候选点中观测概率得分最高的一项,对下一原始轨迹点执行步骤4.4;否则进入步骤4.5。
步骤4.5,最短路径求解,求解当前原始轨迹点的所有候选点与所有前序候选点之间的最短路径,最短路径算法中引入行驶时间以控制算法的解算范围。求解最短路径的同时,记录下所有候选点对最短路径长度的最大和最小值。如果寻路成功,则同时返回途径的路段信息。
步骤4.6,最短路径判断,在隐马尔可夫模型之外考虑原始轨迹点之间的直线距离,如果最短路径求解失败,或者最短路径长度与原始轨迹点直线距离之比超过一定阈值,则认为当前候选点对之间不连通。如果所有前序候选点与当前原始轨迹点的所有候选点之间均不存在最短路径,则转至步骤4.9对当前已经求解的路径进行记录,并将当前原始轨迹点视为新路径的第一个原始轨迹点由步骤4.3开始计算。
步骤4.7,转移概率计算,在当前原始轨迹点遍历完成之后,判断步骤4.6中记录的最短路径长度的最大最小值,如果最大最小值之差小于一定阈值,为了避免误差对结果的影响,则不再对当前所有候选点的最短路径进行得分计算与比较,将所有候选点的最短路径得分设置为同一分值;否则,对于每一组候选点对,按照步骤2.4计算最短路径得分。配合步骤4.5中返回的途径路段信息,按照步骤2.5计算行驶速度得分,最后根据步骤3.2计算出转移概率得分。
步骤4.8,轨迹整体概率计算及前序候选点保留:根据步骤4.4和步骤4.7中求得的观测概率得分和转移概率得分,根据步骤3.3计算当前原始轨迹点每一个候选点的得分,每一个候选点仅记录使其整体概率得分最高的前序候选点及当前最高的得分。在所有候选点中,标记具有最高得分的一项,进入步骤4.3,求解下一个原始轨迹点;如果当前是最后一个原始轨迹点,则进入步骤4.9。
步骤4.9,递归求解:从最后一个原始轨迹点中的得分最高的候选点开始不断递归其前序候选点即可得到依次每个原始轨迹点的地图匹配结果,而在获取地图匹配结果的同时,根据候选点中记录的途径道路的信息,以及浮动车在当前道路的行驶方向,按照一定顺序拼接,即可得到还原后的轨迹。
与现有技术相比,本发明的效率、精度更高,连贯性更好,适用于不同采样频率的浮动车数据,填补了浮动车途径的形状点信息,具有较好的轨迹还原效果。
附图说明
图1:轨迹还原方法逻辑流程图;
图2:Viterbi算法概率计算流程图;
图3:递归求解过程逻辑流程图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
下面结合图1至图3介绍本发明的具体实施方式。
一种基于隐马尔可夫模型的浮动车数据的轨迹还原方法,整体流程图如图1所示,具体包括以下步骤:
步骤1,将浮动车数据进行数据预处理得到预处理后浮动车数据,将城市道路数据进行数据预处理得到预预处理后城市道路数据;
步骤1所述浮动车数据原始格式包含车辆标识、空间位置、行驶方向角、以及记录的采集时间;
所述空间位置由经度、纬度构成;
步骤1所述将浮动车数据进行数据预处理,具体为:
多组浮动车数据根据浮动车的车辆标识分别分组至不同的浮动车数据集合,将浮动车的车辆标识相同的浮动车数据分至同一个浮动车数据集合;
在每辆浮动车数据集合中,将每辆浮动车的轨迹记录信息根据对应的记录时间按时间顺序进行排序得到排序后每辆浮动车数据集合,数据集合由pi=(idi,xi,yi,ai,ti)来表示,其中i代表轨迹记录在数据集合中的顺序;
在排序后每辆浮动车数据集合中,根据相邻两个时刻每辆浮动车的位置信息计算相邻两个时刻的欧式距离;
在排序后每辆浮动车数据集合中,根据相邻两个时刻记录的时间计算时间间隔,结合相邻两个时刻的欧式距离计算相邻两个时刻浮动车的速度;
以城市最大限速120km/h作为阈值,初步筛查异常点,并在存在异常点的位置将轨迹打断,打断后得到多组满足最大限速条件的浮动车数据集合;
最后对得到的多组满足最大限速条件的浮动车数据集合进行遍历,仅保留数据集合中多于5个轨迹记录的数据集合;
步骤1所述将城市道路数据进行数据预处理,具体为:
根据城市道路数据的拓扑关系,提取城市道路数据中的道路节点,并对道路按照其折点进行打断,从中提取并分离节点(N=[n1...np])、形状点(SP=[sp1...spq])、路段(S=[s1...sm])以及路(R=[r1...rn])等要素。其中节点为三条及以上线段的交点,以及没有与其他线段关联的端点,节点主要用于最短路径算法中的有向图构建;路是两个节点之间的折线或者线段,与其他路之间首尾相连且没有被其他路打断;路中除了节点之外的折线的端点,代表了路的形状,主要用于候选点的计算以及轨迹还原时途经点的填补;由一个或者两个形状点构成的线段(没有形状点路在轨迹还原获取候选路段时也称为路段)。
采用R*树对路段信息进行空间索引,使得可以根据空间范围获取范围内包含或相交的路段信息;采用红黑树对道路、节点信息进行属性索引,使得可以根据要素的id或者关联id查询要素详细信息,以方便轨迹还原方法在求解中对数据的调用;
利用节点和路之间的拓扑关系,构建最短路径算法中所需的带权有向图,由节点作为带权有向图的节点,路作为带权有向图的边,权重为路的长度;
城市道路数据的预处理结果,可以在当前城市下的所有浮动车轨迹记录中重复使用,因此只需要在轨迹还原方法开始之前执行一次即可。
步骤2,对步骤1预处理后的浮动车数据与预处理后的城市道路数据,选择两种数据之间相应的可以用于轨迹还原的时空特征,并定义这些时空特征的概率计算方法,进而根据所有概率的乘积确定浮动车数据行驶的具体路段;
所述步骤2具体分为以下步骤:
步骤2.1,计算浮动车原始轨迹点空间位置的概率;
浮动车原始轨迹点与候选点之间的距离满足正态分布,浮动车空间位置的概率函数Fd定义如下:
步骤2.2,计算浮动车原始轨迹点行驶方向的概率;
浮动车行驶方向与候选路段的方向之间的夹角同样满足正态分布,因此浮动车行驶方向的概率函数Fθ定义如下:
步骤2.3,计算浮动车原始轨迹点与候选路段之间关系的概率
其中,原始轨迹点坐标为(x,y),线段以A(x1,y1)为起点以B(x2,y2)为终点,如果原始轨迹点可以垂直投影在线段上,则点线关系函数值的范围为[0,1],则不对轨迹当前的概率得分的进行惩罚,否则将一定程度上降低轨迹当前的概率得分。
步骤2.4,计算浮动车候选点之间最短路径的概率
其中,代表第i个原始轨迹点pi的第t个候选点,代表由候选点到候选点之间最短路径的概率;代表了候选点和之间的最短路径距离,而原始轨迹点pi具有多个候选点,ci代表了pi的所有候选点;min(ci-1,ci)和max(ci-1,ci)则分别代表了由ci和ci-1中的所有候选点构成的所有候选点对之间的最短路径距离的最小值和最大值,上述公式将最短路径距离归一化到[0.5,1]之间。
步骤2.5,计算浮动车候选点间行驶速度的概率
其中,代表第i个原始轨迹点pi的第t个候选点,代表由候选点到候选点之间行驶速度的概率;代表了从候选点到候选点的平均速度,具体由两个候选点之间的最短路径值除以两个原始轨迹点之间的行驶时间计算而来,vu代表了当前行驶道路u的最大限速,而k代表候选点与之间最短路径途径的路段个数。
步骤3,根据浮动车原始轨迹点的空间位置概率,行驶方向的概率,原始轨迹点与候选路段之间关系的概率,浮动车候选点之间最短路径的概率以及浮动车候选点间行驶速度的概率,进一步构建隐马尔可夫模型;
步骤3.1观测概率用于描述隐含节点的某种状态类型产生某种观测值的概率,在轨迹还原问题上,观测概率代表了浮动车行驶在当前路段上产生当前轨迹点记录的概率,因此需考虑当前原始轨迹点与候选路段之间的关系,包括位置、角度以及点线关系函数值等:
其中,代表第i个原始轨迹点pi的第j个候选点,为步骤2.1所述的浮动车原始轨迹点空间位置的概率;为步骤2.2所述的浮动车原始轨迹点行驶方向的概率;为步骤2.3所述的浮动车原始轨迹点与候选路段之间关系的概率。
步骤3.2转移概率,转移概率用来描述从一个隐含状态到另一个隐含状态的概率,在轨迹还原问题中,转移概率代表了从一个候选路段到另一个候选路段之间的概率,因此不仅需要考虑两个候选路段之间的最短路径,同时需要考虑浮动车相邻原始轨迹点之间的行驶时间、瞬时速度与城市道路限速之间的关系:
步骤3.3,隐马尔可夫模型的轨迹总体概率,为了弱化部分异常值对整个状态轨迹概率造成的影响,因此采用概率累加的方式来计算状态序列的最终概率值,并假定每个当前原始轨迹点的概率计算过程都是独立的;所以观测概率和转移概率,可以改称为观测得分和转移得分,按照隐马尔可夫模型的逻辑,计算隐马尔可夫模型的轨迹总体概率:
步骤4,取预处理后的浮动车数据,依次遍历每一个预处理后的浮动车数据,并结合预处理后的城市道路数据,利用隐马尔可夫模型的轨迹总体概率,计算浮动车行驶的所有可能的候选路径以及路径的概率得分,具体可细分为以下步骤:
步骤4.1,候选路段获取:依次遍历所有原始轨迹点。以当前遍历的原始轨迹点为圆心,搜索半径150米范围内的所有路段。根据原始轨迹点的行驶方向和道路的方向,将角度差超过60°的路段首先排除。随后获取候选点,如果原始轨迹点的投影点能够垂直投影到候选路段上(点线关系函数值r∈[0,1]),则选择投影点作为当前候选路段的候选点,计算公式如下:
x=x1+r*(x2-x1)
y=y1+r*(y2-y1)
步骤4.2,候选路段分组:根据点线关系函数以及原始轨迹点与候选点之间的距离,将点线关系函数值在[0,1]之间的候选路段直接添加到候选集当中;点线关系函数值在[-0.1,0)∪(1,1.1]之间或者原始轨迹点与候选点之间的距离小于50米,则需进一步判断当前候选路段所属的道路id是否已经存在候选集当中,如果不存在则添加当前候选路段到候选集,存在则比较原始轨迹点到候选点之间的距离,仅在候选集中保留距离最小的一个;其他不满足上述条件的候选路段将添加到备选集中。
步骤4.3,候选路段筛选:在候选路段分组完成之后,如果候选集中不存在任何候选路段,则将备选集中的候选路段添加到候选集当中,以应对浮动车轨迹点位置异常而导致的复杂场景。随后根据当前原始轨迹点与候选路段的位置和角度信息来对每一个候选路段进行综合评判,计算公式如下:
即在观测概率中移除了点线关系函数的概率得分。根据评价得分保留前10个候选点进入隐马尔可夫模型中进一步求解,其他候选点将放入备选集。
以下步骤4.4-4.8,详细流程图可参看图2。
步骤4.4,观测概率计算:采用具有动态规划思想的Viterbi算法求解隐马尔可夫模型的预测问题。依次遍历当前原始轨迹点所有候选点,计算当前候选点的观测概率,如果不存在前序候选点,则标记当前候选点中观测概率得分最高的一项,对下一原始轨迹点执行步骤4.4;否则进入步骤4.5。
步骤4.5,最短路径求解:计算当前原始轨迹点的所有候选点与所有前序候选点之间的最短路径,在最短路径算法中引入行驶时间因素,在拓展新节点时,如果实际代价(最短距离)超出了理论上可能的最大代价(在城市最大限速120km/h下,行驶时间能够行驶的最大距离)时,则认定最短路径寻路失败;如果寻路成功,则返回途径的路段信息。在求解最短路径的过程中,记录下所有候选点对最短路径长度的最大和最小值。
步骤4.6,最短路径判断:如果最短路径求解失败,或者最短路径长度与原始轨迹点直线距离之比超过一定阈值(本方案设为3),则认为当前候选点对之间不连通,不再记录并保留结果;如果前后候选点为同一位置点,则对长度进行修正为一个较小的距离值(本方案设为1米),以保证算法逻辑的正确性。随后更新当前记录的最短路径长度的最大和最小值,并记录下最短路径求解成功的候选点对;如果所有前序候选点与当前原始轨迹点的所有候选点之间均不存在最短路径,则转至步骤4.9对当前已经求解的路径进行记录,随后删除当前记录的前序候选点,并将当前原始轨迹点视为新路径的第一个原始轨迹点由步骤4.3开始计算。
步骤4.7,转移概率计算:在当前原始轨迹点遍历完成之后,判断步骤9中记录的最短路径长度的最大最小值,如果最大最小值之差小于3米,了避免误差对结果的影响,则不再对当前所有候选点的最短路径进行得分计算与比较,将所有候选点的最短路径得分设置为1;否则,对于每一组候选点对,按照步骤2.4计算最短路径得分。配合步骤8中返回的途径路段信息,按照步骤2.5计算行驶速度得分,最后根据步骤3.2计算出转移概率得分。
步骤4.8,轨迹整体概率计算及前序候选点保留:根据步骤4.4和步骤4.7中求得的观测概率得分和转移概率得分,根据步骤3.3计算当前原始轨迹点每一个候选点的得分,每一个候选点仅记录使其整体概率得分最高的前序候选点及当前最高的得分。在所有候选点中,标记具有最高得分的一项,进入步骤4.3,求解下一个原始轨迹点;如果当前是最后一个原始轨迹点,则进入步骤4.9。
步骤4.9,递归求解,流程细节详见图3:从最后一个原始轨迹点中的得分最高的候选点开始不断递归其前序候选点,并且填补由步骤4.5返回的保存在当前候选点中的途径路段信息。由于递归求解得到的轨迹顺序是反向的,因此在填补形状点时,道路的遍历顺序也应当是倒序的,随后根据候选点中记录的途径道路的信息以及当前道路的具体行驶方向,按照与道路方向相反的顺序来遍历这条道路上的所有路段,并且依次添加路段某一端的形状点,例如道路正向行驶,则按照逆序遍历所有路段,并且每次添加路段的起始端点到结果集;在当前候选点的所有形状点添加完成之后要移除最后一个添加形状点,以避免同一节点重复添加。在候选点递归求解完成之后,将结果集进行翻转,即可得到还原后的轨迹结果。
本发明中所描述的具体实施案例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施案例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (5)
1.一种基于隐马尔可夫模型的浮动车数据的轨迹还原方法,其特征在于,包括以下步骤:
步骤1,将浮动车数据进行数据预处理得到预处理后浮动车数据,将城市道路数据进行数据预处理得到预预处理后城市道路数据;
步骤2,对步骤1预处理后的浮动车数据与预处理后的城市道路数据,选择两种数据之间相应的可以用于轨迹还原的时空特征,并定义这些时空特征的概率计算方法,进而根据所有概率的乘积确定浮动车数据行驶的具体路段;
步骤3,根据浮动车原始轨迹点的空间位置概率,行驶方向的概率,原始轨迹点与候选路段之间关系的概率,浮动车候选点之间最短路径的概率以及浮动车候选点间行驶速度的概率,进一步构建隐马尔可夫模型;
步骤4,取预处理后的浮动车数据,依次遍历每一个预处理后的浮动车数据,并结合预处理后的城市道路数据,利用隐马尔可夫模型的轨迹总体概率,计算浮动车行驶的所有可能的候选路径以及路径的概率得分。
2.根据权利要求1所述的基于隐马尔可夫模型的浮动车数据的轨迹还原方法,其特征在于,步骤1所述浮动车数据原始格式包含车辆标识、空间位置、行驶方向角、以及记录的采集时间;
所述空间位置由经度、纬度构成;
步骤1所述将浮动车数据进行数据预处理,具体为:
多组浮动车数据根据浮动车的车辆标识分别分组至不同的浮动车数据集合,将浮动车的车辆标识相同的浮动车数据分至同一个浮动车数据集合;
在每辆浮动车数据集合中,将每辆浮动车的轨迹记录信息根据对应的记录时间按时间顺序进行排序得到排序后每辆浮动车数据集合,数据集合由pi=(idi,xi,yi,ai,ti)来表示,其中i代表轨迹记录在数据集合中的顺序;
在排序后每辆浮动车数据集合中,根据相邻两个时刻每辆浮动车的位置信息计算相邻两个时刻的欧式距离;
在排序后每辆浮动车数据集合中,根据相邻两个时刻记录的时间计算时间间隔,结合相邻两个时刻的欧式距离计算相邻两个时刻浮动车的速度;
以城市最大限速120km/h作为阈值,初步筛查异常点,并在存在异常点的位置将轨迹打断,打断后得到多组满足最大限速条件的浮动车数据集合;
最后对得到的多组满足最大限速条件的浮动车数据集合进行遍历,仅保留数据集合中多于5个轨迹记录的数据集合;
步骤1所述将城市道路数据进行数据预处理,具体为:
根据城市道路数据的拓扑关系,提取城市道路数据中的道路节点,并对道路按照其折点进行打断,从中提取并分离节点(N=[n1...np])、形状点(SP=[sp1...spq])、路段(S=[s1...sm])以及路(R=[r1...rn])等要素;其中节点为三条及以上线段的交点,以及没有与其他线段关联的端点,节点主要用于最短路径算法中的有向图构建;路是两个节点之间的折线或者线段,与其他路之间首尾相连且没有被其他路打断;路中除了节点之外的折线的端点,代表了路的形状,主要用于候选点的计算以及轨迹还原时途经点的填补;由一个或者两个形状点构成的线段(没有形状点路在轨迹还原获取候选路段时也称为路段);
采用R*树对路段信息进行空间索引,使得可以根据空间范围获取范围内包含或相交的路段信息;采用红黑树对道路、节点信息进行属性索引,使得可以根据要素的id或者关联id查询要素详细信息,以方便轨迹还原方法在求解中对数据的调用;
利用节点和路之间的拓扑关系,构建最短路径算法中所需的带权有向图,由节点作为带权有向图的节点,路作为带权有向图的边,权重为路的长度;
城市道路数据的预处理结果,可以在当前城市下的所有浮动车轨迹记录中重复使用,因此只需要在轨迹还原方法开始之前执行一次即可。
3.根据权利要求1所述的基于隐马尔可夫模型的浮动车数据的轨迹还原方法,其特征在于,所述步骤2具体分为以下步骤:
步骤2.1,计算浮动车原始轨迹点空间位置的概率;
浮动车原始轨迹点与候选点之间的距离满足正态分布,浮动车空间位置的概率函数Fd定义如下:
步骤2.2,计算浮动车原始轨迹点行驶方向的概率;
浮动车行驶方向与候选路段的方向之间的夹角同样满足正态分布,因此浮动车行驶方向的概率函数Fθ定义如下:
步骤2.3,计算浮动车原始轨迹点与候选路段之间关系的概率
其中,原始轨迹点坐标为(x,y),线段以A(x1,y1)为起点以B(x2,y2)为终点,如果原始轨迹点可以垂直投影在线段上,则点线关系函数值的范围为[0,1],则不对轨迹当前的概率得分的进行惩罚,否则将一定程度上降低轨迹当前的概率得分;
步骤2.4,计算浮动车候选点之间最短路径的概率
其中,代表第i个原始轨迹点pi的第t个候选点,代表由候选点到候选点之间最短路径的概率;代表了候选点和之间的最短路径距离,而原始轨迹点pi具有多个候选点,ci代表了pi的所有候选点;min(ci-1,ci)和max(ci-1,ci)则分别代表了由ci和ci-1中的所有候选点构成的所有候选点对之间的最短路径距离的最小值和最大值,上述公式将最短路径距离归一化到|0.5,1]之间;
步骤2.5,计算浮动车候选点间行驶速度的概率
4.根据权利要求1所述的基于隐马尔可夫模型的浮动车数据的轨迹还原方法,其特征在于,所述步骤3具体为:
步骤3.1观测概率用于描述隐含节点的某种状态类型产生某种观测值的概率,在轨迹还原问题上,观测概率代表了浮动车行驶在当前路段上产生当前轨迹点记录的概率,因此需考虑当前原始轨迹点与候选路段之间的关系,包括位置、角度以及点线关系函数值等:
其中,代表第i个原始轨迹点pi的第j个候选点,为步骤2.1所述的浮动车原始轨迹点空间位置的概率;为步骤2.2所述的浮动车原始轨迹点行驶方向的概率;为步骤2.3所述的浮动车原始轨迹点与候选路段之间关系的概率;
步骤3.2转移概率,转移概率用来描述从一个隐含状态到另一个隐含状态的概率,在轨迹还原问题中,转移概率代表了从一个候选路段到另一个候选路段之间的概率,因此不仅需要考虑两个候选路段之间的最短路径,同时需要考虑浮动车相邻原始轨迹点之间的行驶时间、瞬时速度与城市道路限速之间的关系:
步骤3.3,隐马尔可夫模型的轨迹总体概率,为了弱化部分异常值对整个状态轨迹概率造成的影响,因此采用概率累加的方式来计算状态序列的最终概率值,并假定每个当前原始轨迹点的概率计算过程都是独立的;所以观测概率和转移概率,可以改称为观测得分和转移得分,按照隐马尔可夫模型的逻辑,计算隐马尔可夫模型的轨迹总体概率:
5.根据权利要求1所述的基于隐马尔可夫模型的浮动车数据的轨迹还原方法,其特征在于,所述步骤4具体为:
步骤4.1,候选路段获取,依次遍历所有原始轨迹点;在每轮的计算过程中,以当前遍历的原始轨迹点为圆心,搜索一定阈值范围内的路段,根据行驶方向和道路方向经过筛选后;根据原始轨迹点与候选路段的点选关系函数,确定当前候选路段的候选点;
步骤4.2,候选路段分组,根据点线关系函数以及原始轨迹点与候选点之间的距离,将候选点分别添加到候选集和备选集中;其中候选集中保留点线关系函数在[0,1]之间,或线关系函数值在[-0.1,0)∪(1,1.1]之间或者原始轨迹点与候选点之间的距离小于一定阈值的路段,候选集中确保每个道路仅保留一个匹配位置最佳的候选点,其他候选路段将暂时添加至备选集,当候选集为空或者候选集中与前一原始轨迹点的所有候选点均不连通时再进一步考虑;
步骤4.3,候选路段筛选,在候选路段分组完成之后,如果候选集中不存在任何候选路段,则将备选集中的候选路段添加到候选集当中,以应对浮动车轨迹点位置异常而导致的复杂场景;随后根据当前原始轨迹点与候选路段的位置和角度信息来对每一个候选路段进行综合评判,再根据评价得分保留前几个候选点进入隐马尔可夫模型中进一步求解,其他候选点将放入备选集;
步骤4.4,观测概率计算,采用具有动态规划思想的Viterbi算法求解隐马尔可夫模型的预测问题;依次遍历当前原始轨迹点所有候选点,计算当前候选点的观测概率,如果不存在前序候选点,则标记当前候选点中观测概率得分最高的一项,对下一原始轨迹点执行步骤4.4;否则进入步骤4.5;
步骤4.5,最短路径求解,求解当前原始轨迹点的所有候选点与所有前序候选点之间的最短路径,最短路径算法中引入行驶时间以控制算法的解算范围;求解最短路径的同时,记录下所有候选点对最短路径长度的最大和最小值;如果寻路成功,则同时返回途径的路段信息;
步骤4.6,最短路径判断,在隐马尔可夫模型之外考虑原始轨迹点之间的直线距离,如果最短路径求解失败,或者最短路径长度与原始轨迹点直线距离之比超过一定阈值,则认为当前候选点对之间不连通;如果所有前序候选点与当前原始轨迹点的所有候选点之间均不存在最短路径,则转至步骤4.9对当前已经求解的路径进行记录,并将当前原始轨迹点视为新路径的第一个原始轨迹点由步骤4.3开始计算;
步骤4.7,转移概率计算,在当前原始轨迹点遍历完成之后,判断步骤4.6中记录的最短路径长度的最大最小值,如果最大最小值之差小于一定阈值,为了避免误差对结果的影响,则不再对当前所有候选点的最短路径进行得分计算与比较,将所有候选点的最短路径得分设置为同一分值;否则,对于每一组候选点对,按照步骤2.4计算最短路径得分;配合步骤4.5中返回的途径路段信息,按照步骤2.5计算行驶速度得分,最后根据步骤3.2计算出转移概率得分;
步骤4.8,轨迹整体概率计算及前序候选点保留:根据步骤4.4和步骤4.7中求得的观测概率得分和转移概率得分,根据步骤3.3计算当前原始轨迹点每一个候选点的得分,每一个候选点仅记录使其整体概率得分最高的前序候选点及当前最高的得分;在所有候选点中,标记具有最高得分的一项,进入步骤4.3,求解下一个原始轨迹点;如果当前是最后一个原始轨迹点,则进入步骤4.9;
步骤4.9,递归求解:从最后一个原始轨迹点中的得分最高的候选点开始不断递归其前序候选点即可得到依次每个原始轨迹点的地图匹配结果,而在获取地图匹配结果的同时,根据候选点中记录的途径道路的信息,以及浮动车在当前道路的行驶方向,按照一定顺序拼接,即可得到还原后的轨迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111482841.7A CN114462609A (zh) | 2021-12-07 | 2021-12-07 | 一种基于隐马尔可夫模型的浮动车数据轨迹还原方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111482841.7A CN114462609A (zh) | 2021-12-07 | 2021-12-07 | 一种基于隐马尔可夫模型的浮动车数据轨迹还原方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114462609A true CN114462609A (zh) | 2022-05-10 |
Family
ID=81405882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111482841.7A Pending CN114462609A (zh) | 2021-12-07 | 2021-12-07 | 一种基于隐马尔可夫模型的浮动车数据轨迹还原方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114462609A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115060269A (zh) * | 2022-06-08 | 2022-09-16 | 南威软件股份有限公司 | 一种刻画道路路网与车辆行驶轨迹模型的方法及装置 |
-
2021
- 2021-12-07 CN CN202111482841.7A patent/CN114462609A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115060269A (zh) * | 2022-06-08 | 2022-09-16 | 南威软件股份有限公司 | 一种刻画道路路网与车辆行驶轨迹模型的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763558B (zh) | 一种基于地图匹配的众包地图道路质量改进方法 | |
CN113505187B (zh) | 一种基于地图匹配的车辆分类轨迹纠错方法 | |
CN111291790B (zh) | 一种基于轨迹相似度的转向路径提取及路网拓扑变化检测框架方法 | |
CN110095126A (zh) | 地图匹配方法、装置、设备和介质 | |
CN113155145B (zh) | 一种面向自动驾驶车道级导航的车道级路径规划方法 | |
CN113932821B (zh) | 基于连续窗口平均方向特征的轨迹地图匹配方法 | |
CN107917716B (zh) | 固定线路导航方法、装置、终端及计算机可读存储介质 | |
CN112309118B (zh) | 一种基于时空相似度的车辆轨迹推算方法 | |
CN114964272A (zh) | 一种融合车载图像语义的车辆轨迹地图匹配方法 | |
CN115077550A (zh) | 一种基于导航地图与高精地图匹配的无人车路径规划方法 | |
Hansson et al. | Lane-level map matching based on HMM | |
CN113903173B (zh) | 一种基于有向图结构和lstm的车辆轨迹特征提取方法 | |
CN112530158A (zh) | 一种基于历史轨迹的路网补充方法 | |
CN114462609A (zh) | 一种基于隐马尔可夫模型的浮动车数据轨迹还原方法 | |
CN113554891B (zh) | 一种基于公交gps轨迹构建电子地图路网的方法 | |
CN113295177B (zh) | 基于实时路况信息的动态路径规划方法及系统 | |
CN113295173A (zh) | 环形路段的地图匹配方法 | |
CN111444286B (zh) | 一种基于轨迹数据的远距离交通节点关联性挖掘方法 | |
CN115631082B (zh) | 一种基于高速路网拓扑结构的多场景路径还原方法 | |
CN112633812A (zh) | 货运车辆的轨迹分段方法、装置、设备及存储介质 | |
CN115309846B (zh) | 一种基于平行系数的道路网结构识别方法 | |
CN117664157A (zh) | 高精度导航路径的确定方法、装置、设备、介质及车辆 | |
CN114935773A (zh) | 基于北斗定位的在线道路匹配方法、装置、介质和设备 | |
CN114705200A (zh) | 一种基于路径增量的高采样率轨迹地图匹配方法 | |
CN113834496B (zh) | 道路数据缺失轨迹匹配方法、系统、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |