CN108362293A - 一种基于关键点技术的车辆轨迹匹配方法 - Google Patents
一种基于关键点技术的车辆轨迹匹配方法 Download PDFInfo
- Publication number
- CN108362293A CN108362293A CN201810156802.XA CN201810156802A CN108362293A CN 108362293 A CN108362293 A CN 108362293A CN 201810156802 A CN201810156802 A CN 201810156802A CN 108362293 A CN108362293 A CN 108362293A
- Authority
- CN
- China
- Prior art keywords
- heartbeat packet
- track
- key point
- current
- historical track
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于关键点技术的车辆轨迹匹配方法,通过调用地图服务平台接口获得当前心跳包对应的一小段路程的路径规划,取得每段路径的终点,即为关键点获得,再利用路径规划的路段耗时、每一段起终点经纬度得出路径方向与心跳包的记录相比较,从而滤除错误定位的GPS。不仅减小了车辆轨迹数据的存储量,还滤除定位错误的GPS,提高了还原车辆历史轨迹的真实性。本发明通过匹配历史轨迹的方法,实时将车辆当前关键点和历史关键点的坐标进行比较,充分利用车辆的历史轨迹信息,实现了对车主的未来行为的预测,可以利用预测结果有针对性的为车主提供不同的服务,做到更加及时,更加智能,更加人性化的服务。
Description
技术领域
本发明涉及电信通讯领域,尤其涉及一种基于关键点技术的车辆轨迹匹配方法。
背景技术
为了针对性的给车主按照情景提供不同的服务,做到更加及时,更加智能,更加人性化的服务。我们将移动互联网的情景化思想融合入车联网服务开发中,开发出一个适用于车载系统处理数据的后台管理平台——时空景态智能分析后台。以个性化服务为目的,通过分析用户的行车历史轨迹数据和当前行车数据,判断出车主的可能行为,挖掘出用户的社交关系,从而给用户提供广告、好友、等个性化推荐服务打下基础。系统的两个关键技术难点:1)历史轨迹存储,2)实时轨迹匹配。
目前,大多数研究者对车辆历史轨迹的研究仅仅停留在分析阶段,并未基于历史轨迹来预测用户的行为,从而产生更多的个性化增值服务。常用的一般化位置预测方法是基于所有用户的轨迹信息来预测一类用户的行为,这对于个人来说显然是不够精确的。基于马尔科夫模型的位置预测方法由于通过矩阵的方法来计算状态转移概率,矩阵中往往会产生零概率的数值,导致利用效率低。
现今车辆GPS系统几乎都存在有定位精确度不高和实时性不好的问题,由于道路的复杂,前端设备上传GPS坐标存在误差,定位错误的GPS信息会影响历史轨迹的真实还原。地图匹配技术,它把从GPS接收机处获取的车辆轨迹数据进行处理,跟电子地图库中的地图数据进行匹配,从而达到修正车辆定位轨迹的目的。目前,地图匹配技术算法繁多,各种算法的质量和适用环境也不尽相同。另外基于传统文件/数据库系统的地图匹配方法,以及根据坐标距离,角度等匹配方法无法满足复杂的实时分析要求。
对于GPS历史轨迹的存储方法,采用时空特性压缩GPS轨迹的算法剔除了一些错误点,保留精确的轨迹信息,在交通堵塞的如今,车辆GPS轨迹数据量仍然还是很多;基于MBR的GPS轨迹数据压缩算法,将轨迹数据进行分割合并,提出拐点密集的点,保留了历史轨迹的大体形状,从而压缩了轨迹数据。由于只是保留历史轨迹的大体形状,对于实现轨迹匹配来说,显然是不科学的。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于关键点技术的车辆轨迹匹配方法,实现了对车主的未来行为的预测,可以利用预测结果有针对性的为车主提供不同的服务,做到更加及时,更加智能,更加人性化的服务。
本发明采用的技术方案是:
一种基于关键点技术的车辆轨迹匹配方法,其包括以下步骤:
步骤1,获取当前心跳包数据,
步骤2,对当前心跳包执行历史轨迹存储,记录当前心跳包的车辆行驶路段的关键点,所述关键点包括起点、终点以及两条或者多条不同路段的汇合处的坐标点;
步骤3,提取历史轨迹库的所有历史轨迹,剔除轨迹权重小于最低权重的历史轨迹后,按照轨迹匹配次数生成排序表;
步骤4,将当前心跳包分别与排序表中的每条历史轨迹进行关键点匹配;
具体地计算当前心跳包的每个关键点与每天历史轨迹的所有关键点的坐标距离,当坐标距离小于相似距离,则认为关键点匹配;
步骤5,计算当前心跳包与每条历史轨迹的关键点匹配个数;
步骤6,计算当前心跳包与每条历史轨迹的匹配概率,并基于每条历史轨迹的匹配概率更新该条历史轨迹新的轨迹权重;
步骤7,任一条历史轨迹与当前心跳包的匹配概率不小于80%时,则该条历史轨迹与当前心跳包完全匹配,将对应匹配的该条历史轨迹的发生时间更新为当前心跳包匹配历史轨迹的发生时间,同时将该条历史轨迹的轨迹匹配次数加1;
所有历史轨迹与当前心跳包的匹配概率小于80%时,则保留当前心跳包产生的所有关键点坐标以及关键点个数,作为新增的历史轨迹存储。
进一步地,步骤1中获取当前心跳包数据的同时判断当前心跳包是否新轨迹的起点,具体包括以下步骤:
步骤1-1,提取数据当前心跳包的发生时间,
步骤1-2,计算当前心跳包与前一个心跳包的间隔时间,
间隔时间大于30分钟,则当前心跳包对应的坐标为起点坐标,当前心跳包对应的轨迹作为新轨迹并将该新轨迹的轨迹权重赋初始值0,再执行步骤2;
间隔时间不大于30分钟,则当前心跳包为当前轨迹的心跳包,执行步骤2。
进一步地,步骤2中执行历史轨迹存储具体包括以下步骤:
步骤2-1,提取当前心跳包坐标
步骤2-2,对当前心跳包坐标进行坐标转换,
步骤2-3,计算当前心跳包与前一个相邻心跳包的间隔距离,
步骤2-4,判断间隔距离是否大于相似距离,相似距离为100米;
当间隔距离不大于相似距离,则剔除当前心跳包坐标,等待下一个心跳包坐标;
当间隔距离大于容许距离,则记录当前心跳包坐标并进行后续处理该关键点;
步骤2-5,将当前心跳包坐标上传至地图服务平台,获取当前心跳包坐标所在的城市地址;
步骤2-6,将城市地址、当前心跳包坐标和前一个心跳包坐标上传至地图服务平台获取当前心跳包坐标和前一个心跳包之间的路径数据,路径数据由连续的步点依次连接构成;
步骤2-7,依次判断每个步点处转向是否无效,将有效的步点坐标作为关键点并记录;
否则判断下个步点的转向是否无效,直至所有步点判断完成,提取关键点,
步骤2-8,判断最后一个步点转向是否无效;当最后一个步点转向无效时,先进行方向偏移判断,滤除偏移夹角大容许偏移角度的错误心跳包,无效化所有产生的关键点,等待下一个心跳包;否则,直接执行步骤2-9;
步骤2-9,计算关键点个数;
当关键拐点个数小于2时,执行步骤2-11;
当关键拐点个数不小于2,执行步骤2-10;
步骤2-10,将从地图服务平台获取的这段路径数据的耗时和实际路段间隔时间作比较;
当这段路径数据的耗时大于实际路段间隔时间5倍时,标记当前心跳包为错误坐标,滤除当前心跳包,无效化所有产生的关键点都,等待下一个心跳包;否则,执行步骤2-11;
步骤2-11,存储产生的所有关键点坐标以及关键点个数。
进一步地,步骤2-3,计算当前心跳包与前一个相邻心跳包的间隔距离的具体计算方法如下:
设定转换后的当前坐标A(LonA,LatA),与前一个坐标点B(LonB,LatB),运用公式1和2计算两点间的距离(Distance);
C = sin(LatA*π/180)*sin(LatB*π/180) + cos(LatA*π/180)*cos(LatB*π/180)*cos((MLonA-MLonB)* π/180) 公式1
Distance = R*Arccos(C)* π/180 公式 2
其中MLonA和MLonB按照0度经线的基准对经度作正负处理,东经取正值,西经取负值;地球半径R的值为 6378.137km;圆周率π的取值为 3.14159。
进一步地,步骤2-8中偏移判断具体包括以下步骤:
步骤2-8-1,提取该路径数据的起点和终点坐标,
步骤2-8-2,计算该路径数据的路径方向;
步骤2-8-3,计算路径方向与心跳包方向的偏移夹角;
步骤2-8-4,将偏移夹角与容许偏移角度进行比较,容许偏移角度为45度;
当偏移夹角不大于容许偏移角度时,标记当前心跳包为正常心跳包;
当偏移夹角大于容许偏移角度时,标记当前心跳包为错误坐标。
进一步地,步骤2-8-3中依据公式3计算偏移夹角:
Rad=arctan((destPoint.lat-originPoint.lat)/(destPoint.lng-originPoint.lng))*180/π 公式3
其中Rad 为偏移夹角,originPoint.lat为起点纬度,destPoint.lat为终点纬度,originPoint.lng为起点经度,destPoint.lng为终点经度。
进一步地,最低权重为-0.5。
进一步地,步骤3中将历史轨迹按照轨迹匹配次数由大到小排序生成排序表。
进一步地,步骤4的具体步骤将当前心跳包从起点开始的每个关键点,分别与排序表中由大到小排序的每条历史轨迹从起点开始的关键点进行关键点匹配。
进一步地,步骤6具体包括以下步骤:
步骤6-1,计算当前心跳包的每个关键点与当前历史轨迹的匹配概率,计算公式如下:
Coefficient = 100%/point_number 公式4
其中Coefficient 为每一点的概率,point_number为当前历史轨迹的关键点总数;
步骤6-2,计算当前心跳包与当前历史轨迹的匹配概率,计算公式如下:
NumberCoefficient=(match_point-un_match)*Coefficient 公式5
NumberCoefficient为当前条历史轨迹的匹配概率,match_point为关键点匹配个数,un_match为不匹配的关键点个数;
步骤6-3,将每条历史轨迹的匹配概率累加至对应历史轨迹的轨迹权重上作为该条历史轨迹新的轨迹权重;计算当前历史轨迹的权重值,计算公式如下:
WeightLineMatch_New=WeightLineMatch + NumberCoefficient 公式6
WeightLineMatch_New 为更新后的当前历史轨迹的权重值,WeightLineMatch为当前历史轨迹的权重值,NumberCoefficient为当前条历史轨迹的匹配概率。
本发明采用以上技术方案,通过调用地图服务平台(如百度地图)接口DirectionAPI v1.0,获得这一小段路程的路径规划,取得每段路径的终点,即为关键点获得,再利用路径规划的路段耗时、每一段起终点经纬度得出路径方向与心跳包的记录相比较,从而滤除错误定位的GPS。不仅减小了车辆轨迹数据的存储量,还滤除定位错误的GPS,提高了还原车辆历史轨迹的真实性。本发明通过匹配历史轨迹的方法,实时将车辆当前关键点和历史关键点的坐标进行比较,充分利用车辆的历史轨迹信息,实现了对车主的未来行为的预测,可以利用预测结果有针对性的为车主提供不同的服务,做到更加及时,更加智能,更加人性化的服务。
本发明相较于现有技术具有如下优点:1、关键点存储历史轨迹不仅减小了车辆轨迹数据的存储量,还滤除定位错误的GPS,提高了还原车辆历史轨迹的真实性。2、关键点匹配历史轨迹,实时将车辆当前关键点和历史关键点的坐标进行比较,充分利用车辆的历史轨迹信息,实现了对车主的未来行为的预测。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为本发明一种基于关键点技术的车辆轨迹匹配方法的流程示意图;
图2为本发明一种基于关键点技术的车辆轨迹匹配方法的关键点示意图;
图3为本发明一种基于关键点技术的车辆轨迹匹配方法的历史轨迹存储的流程示意图;
图4为本发明一种基于关键点技术的车辆轨迹匹配方法的心跳包之间的路径数据分割为有向线段的结构示意图。
具体实施方式
参数说明;一是判定两点为相似点的相似距离D,二是判定路程方向和心跳包方向容许偏移角度Y。对于判定两点为相似点的相似距离D,过大的距离会导致轨迹误差,过小的距离仍然增添了服务器的负担。根据城市交通路线距离精确度来看,一个人在100米范围内的区域可以认为是相似位置。那么我们设定两点为相似点的距离参数D为100,当两点间距离小于100米时,我们认为两个点为同一个点。对于判定路程方向和心跳包方向偏移角度Y,参照道格拉斯—普克算法计算GPS轨迹数据角度偏移量设定的角度阈值β,Y等于45度可以剔除绝大部分产出GPS误差的数据,保留GPS偏移误差不影响整体轨迹的数据。
算法流程图中的标识说明:steps标识表示从起点至终点要经过的步点或者"步骤":路段起点坐标、路段终点坐标、路段位置坐标等。turn标识表示路径的转向:0-无效;1-直行;2-右前方转弯;3-右转等。
如图1-4之一所示,本发明公开了一种基于关键点技术的车辆轨迹匹配方法,其包括以下步骤:
其包括以下步骤:
步骤1,获取当前心跳包数据,
进一步地,步骤1中获取当前心跳包数据的同时判断当前心跳包是否新轨迹的起点,具体包括以下步骤:
步骤1-1,提取数据当前心跳包的发生时间,
步骤1-2,计算当前心跳包与前一个心跳包的间隔时间,
间隔时间大于30分钟,则当前心跳包对应的坐标为起点坐标,当前心跳包对应的轨迹作为新轨迹并将该新轨迹的轨迹权重赋初始值0,再执行步骤2;
间隔时间不大于30分钟,则当前心跳包为当前轨迹的心跳包,执行步骤2。
步骤2,对当前心跳包执行历史轨迹存储,记录当前心跳包的车辆行驶路段的关键点,所述关键点包括起点、终点以及两条或者多条不同路段的汇合处的坐标点;、
具体地,如图2所示,关键点标识了从一个路段进入另外一个路段的关键信息,即两条或者多条不同路段的汇合处的坐标点加上方向的坐标点。
我们知道在地图上一系列的连续坐标点组成了路段,而在两条或者多条不同路段的汇合处总有重复的坐标点。该坐标点加上方向,即可标识从一个路段进入另外一个路段的关键信息。我们把这样的点称为关键点。
如图2所示,比如车辆从A点水平方向行驶到B点,左拐可以到达C点,右拐可以到D点,B点就称为关键点(B点的坐标+方向信息)。并且利用历史关键点的方向和当前GPS数据的方向,以及历史关键点和当前GPS数据发生的时间差,滤除GPS定位错误的点。这样,我们存贮历史轨迹只用正确关键点的信息,不仅修正GPS定位误差的问题,而且大大减少了数据量。
进一步地,如图3所示,步骤2中执行历史轨迹存储具体包括以下步骤:
步骤2-1,提取当前心跳包坐标
步骤2-2,对当前心跳包坐标进行坐标转换,
步骤2-3,计算当前心跳包与前一个相邻心跳包的间隔距离,
具体地,设定转换后的当前坐标A(LonA,LatA),与前一个坐标点B(LonB,LatB),运用公式1和2计算两点间的距离(Distance);
C = sin(LatA*π/180)*sin(LatB*π/180) + cos(LatA*π/180)*cos(LatB*π/180)*cos((MLonA-MLonB)* π/180) 公式1
Distance = R*Arccos(C)* π/180 公式 2
其中MLonA和MLonB按照0度经线的基准对经度作正负处理,东经取正值,西经取负值;地球半径R的值为 6378.137km;圆周率π的取值为 3.14159,Distance为间隔距离。
步骤2-4,判断间隔距离是否大于相似距离D;相似距离D为100米,
当间隔距离不大于相似距离,则剔除当前心跳包坐标,等待下一个心跳包坐标;
当间隔距离大于容许距离,则记录当前心跳包坐标并进行后续处理该关键点;
步骤2-5,将当前心跳包坐标上传至地图服务平台,获取当前心跳包坐标所在的城市地址;
步骤2-6,将城市地址、当前心跳包坐标和前一个心跳包坐标上传至地图服务平台获取当前心跳包坐标和前一个心跳包之间的路径数据,如图4所示,路径数据由连续的步点依次连接构成;
步骤2-7,依次判断每个步点处转向是否无效,将有效的步点坐标作为关键点并记录;
否则判断下个步点的转向是否无效,直至所有步点判断完成,提取关键点,
步骤2-8,判断最后一个步点转向是否无效;当最后一个步点转向无效时,先进行方向偏移判断,滤除偏移夹角大容许偏移角度的错误心跳包,无效化所有产生的关键点,等待下一个心跳包;否则,直接执行步骤2-9;
进一步地,步骤2-8中偏移判断具体包括以下步骤:
步骤2-8-1,提取该路径数据的起点和终点坐标,
步骤2-8-2,计算该路径数据的路径方向;
步骤2-8-3,计算路径方向与心跳包方向的偏移夹角;
具体地,依据公式3计算偏移夹角:
Rad=arctan((destPoint.lat-originPoint.lat)/(destPoint.lng-originPoint.lng))*180/π 公式3
其中originPoint.lat为起点纬度,destPoint.lat为终点纬度,originPoint.lng为起点经度,destPoint.lng为终点经度;
步骤2-8-4,将偏移夹角与容许偏移角度进行比较;容许偏移角度为45度,
当偏移夹角不大于容许偏移角度时,标记当前心跳包为正常心跳包;
当偏移夹角大于容许偏移角度时,标记当前心跳包为错误坐标。
步骤2-9,计算关键点个数;
当关键拐点个数小于2时,执行步骤2-11;
当关键拐点个数不小于2,执行步骤2-10;
步骤2-10,将从地图服务平台获取的这段路径数据的耗时和实际路段间隔时间作比较;
当这段路径数据的耗时大于实际路段间隔时间5倍时,标记当前心跳包为错误坐标,滤除当前心跳包,无效化所有产生的关键点都,等待下一个心跳包;否则,执行步骤2-11;
步骤2-11,存储产生的所有关键点坐标以及关键点个数。
步骤3,提取历史轨迹库的所有历史轨迹,剔除轨迹权重小于最低权重的历史轨迹后,按照轨迹匹配次数生成排序表;进一步地,步骤3中最低权重为-0.5。进一步地,步骤3中将历史轨迹按照轨迹匹配次数由大到小排序生成排序表。
步骤4,将当前心跳包分别与排序表中的每条历史轨迹进行关键点匹配;
进一步地,步骤4的具体步骤将当前心跳包从起点开始的每个关键点,分别与排序表中由大到小排序的每条历史轨迹从起点开始的关键点进行关键点匹配。
具体地计算当前心跳包的每个关键点与每天历史轨迹的所有关键点的坐标距离,当坐标距离小于相似距离,则认为关键点匹配;
步骤5,计算当前心跳包与每条历史轨迹的关键点匹配个数;
步骤6,计算当前心跳包与每条历史轨迹的匹配概率,并基于每条历史轨迹的匹配概率更新该条历史轨迹新的轨迹权重;
具体地包括以下步骤:
步骤6-1,计算当前心跳包的每个关键点与当前历史轨迹的匹配概率,计算公式如下:
Coefficient = 100%/point_number 公式4
其中Coefficient 为每一点的概率,point_number为当前历史轨迹的关键点总数;
步骤6-2,计算当前心跳包与当前历史轨迹的匹配概率,计算公式如下:
NumberCoefficient=(match_point-un_match)*Coefficient 公式5
NumberCoefficient为当前条历史轨迹的匹配概率,match_point为关键点匹配个数,un_match为不匹配的关键点个数;
进一步地,步骤6中进一步将每条历史轨迹的匹配概率累加至对应历史轨迹的轨迹权重上作为该条历史轨迹新的轨迹权重。
步骤6-3,计算当前历史轨迹的权重值,计算公式如下:
WeightLineMatch_New=WeightLineMatch + NumberCoefficient 公式6
WeightLineMatch_New 为更新后的当前历史轨迹的权重值,WeightLineMatch为当前历史轨迹的权重值,NumberCoefficient为当前条历史轨迹的匹配概率;
步骤7,任一条历史轨迹与当前心跳包的匹配概率不小于80%时,则该条历史轨迹与当前心跳包完全匹配,将对应匹配的该条历史轨迹的发生时间更新为当前心跳包匹配历史轨迹的发生时间,同时将该条历史轨迹的轨迹匹配次数加1;
所有历史轨迹与当前心跳包的匹配概率小于80%时,则保留当前心跳包产生的所有关键点坐标以及关键点个数,作为新增的历史轨迹存储。
现有技术中在轨迹匹配中涉及了大量的数据库查询匹配的操作,如果直接将数据库所有的轨迹依次匹配,那么效率无疑是很低的。但是按照轨迹关键点的先后顺序,直接剔除不满足第一个起点的轨迹,那么模糊轨迹匹配就无法实现。如果不剔除那些大多数都不匹配的轨迹,每一次上送关键点时,都要与数据库中所有的轨迹匹配,那么浪费了很多无效的查询时间。因此我们采用了优先最优权重比较和优先常用路线比较方法。轨迹权重标识WeightLineMatch初始值为0,每次产生关键点时,优先和权重最大轨迹的比较。当轨迹关键点匹配时,与任一条历史轨迹匹配的概率大于零,则该条历史轨迹的权重值累加上概率值,当轨迹关键点不匹配时,与第Number条轨迹匹配的概率小于零,权重值累加上概率值。权重值减小至-0.5时,将该历史轨迹踢出轨迹匹配的比较范围,即关键点产生时不再和此轨迹比较,减少了轨迹匹配的次数。match_num标识表示轨迹匹配次数,匹配轨迹时优先和轨迹匹配次数大的轨迹进行比较,提高轨迹尽早匹配成功的概率。
本发明采用以上技术方案,在历史轨迹匹配时,利用车主个人的历史轨迹信息,将当前车主轨迹关键点和车主个人历史轨迹关键点进行匹配比较,预测出车主用户将要行驶的路程。
本发明相较于现有技术具有如下优点:1、关键点存储历史轨迹不仅减小了车辆轨迹数据的存储量,还滤除定位错误的GPS,提高了还原车辆历史轨迹的真实性。2、关键点匹配历史轨迹,实时将车辆当前关键点和历史关键点的坐标进行比较,充分利用车辆的历史轨迹信息,实现了对车主的未来行为的预测。
Claims (10)
1.一种基于关键点技术的车辆轨迹匹配方法,其特征在于:其包括以下步骤:
步骤1,获取当前心跳包数据,
步骤2,对当前心跳包执行历史轨迹存储,记录当前心跳包的车辆行驶路段的关键点,所述关键点包括起点、终点以及两条或者多条不同路段的汇合处的坐标点;
步骤3,提取历史轨迹库的所有历史轨迹,剔除轨迹权重小于最低权重的历史轨迹后,按照轨迹匹配次数生成排序表;
步骤4,将当前心跳包分别与排序表中的每条历史轨迹进行关键点匹配;
具体地计算当前心跳包的每个关键点与每天历史轨迹的所有关键点的坐标距离,当坐标距离小于相似距离,则认为关键点匹配;
步骤5,计算当前心跳包与每条历史轨迹的关键点匹配个数;
步骤6,计算当前心跳包与每条历史轨迹的匹配概率,并基于每条历史轨迹的匹配概率更新该条历史轨迹新的轨迹权重;
步骤7,任一条历史轨迹与当前心跳包的匹配概率不小于80%时,则该条历史轨迹与当前心跳包完全匹配,将对应匹配的该条历史轨迹的发生时间更新为当前心跳包匹配历史轨迹的发生时间,同时将该条历史轨迹的轨迹匹配次数加1;
所有历史轨迹与当前心跳包的匹配概率小于80%时,则保留当前心跳包产生的所有关键点坐标以及关键点个数,作为新增的历史轨迹存储。
2.根据权利要求1所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:步骤1中获取当前心跳包数据的同时判断当前心跳包是否新轨迹的起点,具体包括以下步骤:
步骤1-1,提取数据当前心跳包的发生时间,
步骤1-2,计算当前心跳包与前一个心跳包的间隔时间,
间隔时间大于30分钟,则当前心跳包对应的坐标为起点坐标,当前心跳包对应的轨迹作为新轨迹并将该新轨迹的轨迹权重赋初始值0,再执行步骤2;
间隔时间不大于30分钟,则当前心跳包为当前轨迹的心跳包,执行步骤2。
3.根据权利要求1所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:步骤2中执行历史轨迹存储具体包括以下步骤:
步骤2-1,提取当前心跳包坐标
步骤2-2,对当前心跳包坐标进行坐标转换,
步骤2-3,计算当前心跳包与前一个相邻心跳包的间隔距离,
步骤2-4,判断间隔距离是否大于相似距离,相似距离为100米;
当间隔距离不大于相似距离,则剔除当前心跳包坐标,等待下一个心跳包坐标;
当间隔距离大于容许距离,则记录当前心跳包坐标并进行后续处理该关键点;
步骤2-5,将当前心跳包坐标上传至地图服务平台,获取当前心跳包坐标所在的城市地址;
步骤2-6,将城市地址、当前心跳包坐标和前一个心跳包坐标上传至地图服务平台获取当前心跳包坐标和前一个心跳包之间的路径数据,路径数据由连续的步点依次连接构成;
步骤2-7,依次判断每个步点处转向是否无效,将有效的步点坐标作为关键点并记录;
否则判断下个步点的转向是否无效,直至所有步点判断完成,提取关键点,
步骤2-8,判断最后一个步点转向是否无效;当最后一个步点转向无效时,先进行方向偏移判断,滤除偏移夹角大容许偏移角度的错误心跳包,无效化所有产生的关键点,等待下一个心跳包;否则,直接执行步骤2-9;
步骤2-9,计算关键点个数;
当关键拐点个数小于2时,执行步骤2-11;
当关键拐点个数不小于2,执行步骤2-10;
步骤2-10,将从地图服务平台获取的这段路径数据的耗时和实际路段间隔时间作比较;
当这段路径数据的耗时大于实际路段间隔时间5倍时,标记当前心跳包为错误坐标,滤除当前心跳包,无效化所有产生的关键点都,等待下一个心跳包;否则,执行步骤2-11;
步骤2-11,存储产生的所有关键点坐标以及关键点个数。
4.根据权利要求3所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:步骤2-3,计算当前心跳包与前一个相邻心跳包的间隔距离的具体计算方法如下:
设定转换后的当前坐标A(LonA,LatA),与前一个坐标点B(LonB,LatB),运用公式1和2计算两点间的距离;
C = sin(LatA*π/180)*sin(LatB*π/180) + cos(LatA*π/180)*cos(LatB*π/180)*cos((MLonA-MLonB)* π/180) 公式1
Distance = R*Arccos(C)* π/180 公式 2
其中MLonA和MLonB按照0度经线的基准对经度作正负处理,东经取正值,西经取负值;地球半径R的值为 6378.137km;圆周率π的取值为 3.14159;Distance为两点间的距离。
5.根据权利要求1或3所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:最低权重为-0.5,相似距离为100米。
6.根据权利要求3所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:步骤2-8中偏移判断具体包括以下步骤:
步骤2-8-1,提取该路径数据的起点和终点坐标,
步骤2-8-2,计算该路径数据的路径方向;
步骤2-8-3,计算路径方向与心跳包方向的偏移夹角;
步骤2-8-4,将偏移夹角与容许偏移角度进行比较,容许偏移角度为45度;
当偏移夹角不大于容许偏移角度时,标记当前心跳包为正常心跳包;
当偏移夹角大于容许偏移角度时,标记当前心跳包为错误坐标。
7.根据权利要求1所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:步骤2-8-3中依据公式3计算偏移夹角:
Rad=arctan((destPoint.lat-originPoint.lat)/(destPoint.lng-originPoint.lng))*180/π 公式3
其中Rad 为偏移夹角,originPoint.lat为起点纬度,destPoint.lat为终点纬度,originPoint.lng为起点经度,destPoint.lng为终点经度。
8.根据权利要求1所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:步骤3中将历史轨迹按照轨迹匹配次数由大到小排序生成排序表。
9.根据权利要求1所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:步骤4的具体步骤将当前心跳包从起点开始的每个关键点,分别与排序表中由大到小排序的每条历史轨迹从起点开始的关键点进行关键点匹配。
10.根据权利要求1所述的一种基于关键点技术的车辆轨迹匹配方法,其特征在于:步骤6具体包括以下步骤:
步骤6-1,计算当前心跳包的每个关键点与当前历史轨迹的匹配概率,计算公式如下:
Coefficient = 100%/point_number 公式4
其中Coefficient 为每一点的概率,point_number为当前历史轨迹的关键点总数;
步骤6-2,计算当前心跳包与当前历史轨迹的匹配概率,计算公式如下:
NumberCoefficient=(match_point-un_match)*Coefficient 公式5
NumberCoefficient为当前条历史轨迹的匹配概率,match_point为关键点匹配个数,un_match为不匹配的关键点个数;
步骤6-3,将每条历史轨迹的匹配概率累加至对应历史轨迹的轨迹权重上作为该条历史轨迹新的轨迹权重;计算当前历史轨迹的权重值,计算公式如下:
WeightLineMatch_New=WeightLineMatch + NumberCoefficient 公式6
WeightLineMatch_New 为更新后的当前历史轨迹的权重值,WeightLineMatch为当前历史轨迹的权重值,NumberCoefficient为当前条历史轨迹的匹配概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810156802.XA CN108362293B (zh) | 2018-02-24 | 2018-02-24 | 一种基于关键点技术的车辆轨迹匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810156802.XA CN108362293B (zh) | 2018-02-24 | 2018-02-24 | 一种基于关键点技术的车辆轨迹匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108362293A true CN108362293A (zh) | 2018-08-03 |
CN108362293B CN108362293B (zh) | 2021-08-31 |
Family
ID=63002422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810156802.XA Active CN108362293B (zh) | 2018-02-24 | 2018-02-24 | 一种基于关键点技术的车辆轨迹匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108362293B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547268A (zh) * | 2019-01-03 | 2019-03-29 | 浙江天地人科技有限公司 | 一种在规律性时间段内降低上传有关位置信息的数据量的方法和系统 |
CN109714709A (zh) * | 2019-02-25 | 2019-05-03 | 北京化工大学 | 一种基于历史信息的失联车辆位置预测方法和系统 |
CN109765886A (zh) * | 2018-12-21 | 2019-05-17 | 北京智行者科技有限公司 | 车辆跟随的目标轨迹识别方法 |
CN110245554A (zh) * | 2019-04-29 | 2019-09-17 | 中科智城(广州)信息科技有限公司 | 一种行人运动趋势的预警的方法、系统平台及存储介质 |
CN110375753A (zh) * | 2019-07-04 | 2019-10-25 | 丰图科技(深圳)有限公司 | 地图匹配方法、装置、服务器及存储介质 |
CN110428193A (zh) * | 2019-06-14 | 2019-11-08 | 上海中旖能源科技有限公司 | 基于车辆轨迹数据的多模式液化天然气运输车辆筛选方法 |
CN110475208A (zh) * | 2019-08-06 | 2019-11-19 | 上海连尚网络科技有限公司 | 用于确定用户设备行程轨迹的方法与设备 |
CN111085998A (zh) * | 2019-12-17 | 2020-05-01 | 珠海市一微半导体有限公司 | 机器人记录运动轨迹的方法和显示机器人运动轨迹的方法 |
CN111291280A (zh) * | 2020-03-10 | 2020-06-16 | 中国科学院计算技术研究所 | 一种大规模移动对象的轨迹快速预测方法、介质和设备 |
CN111982141A (zh) * | 2020-07-31 | 2020-11-24 | 长安大学 | 一种面向低频车辆轨迹数据进行路径推断的方法、设备及存储介质 |
CN112885099A (zh) * | 2021-03-10 | 2021-06-01 | 华录易云科技有限公司 | 用于确定车辆轨迹关键点的方法、装置及设备 |
CN112985430A (zh) * | 2019-12-13 | 2021-06-18 | 百度在线网络技术(北京)有限公司 | 地图匹配的容灾方法、装置、设备及存储介质 |
CN113029176A (zh) * | 2021-03-19 | 2021-06-25 | 重庆长安新能源汽车科技有限公司 | 面向多层级体验的电动汽车最优充电路径规划方法 |
CN113724489A (zh) * | 2021-07-22 | 2021-11-30 | 东南大学 | 基于多源数据的交通拥堵溯源方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102719A (zh) * | 2014-07-18 | 2014-10-15 | 百度在线网络技术(北京)有限公司 | 一种轨迹信息的推送方法及装置 |
CN104332064A (zh) * | 2014-10-27 | 2015-02-04 | 百度在线网络技术(北京)有限公司 | 基于用户轨迹更新道路信息的方法及装置 |
CN105528359A (zh) * | 2014-09-29 | 2016-04-27 | 国际商业机器公司 | 用于存储行进轨迹的方法和系统 |
US20160123756A1 (en) * | 2014-10-30 | 2016-05-05 | Here Global B.V. | Method, apparatus and computer program product for route generation |
-
2018
- 2018-02-24 CN CN201810156802.XA patent/CN108362293B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102719A (zh) * | 2014-07-18 | 2014-10-15 | 百度在线网络技术(北京)有限公司 | 一种轨迹信息的推送方法及装置 |
CN105528359A (zh) * | 2014-09-29 | 2016-04-27 | 国际商业机器公司 | 用于存储行进轨迹的方法和系统 |
CN104332064A (zh) * | 2014-10-27 | 2015-02-04 | 百度在线网络技术(北京)有限公司 | 基于用户轨迹更新道路信息的方法及装置 |
US20160123756A1 (en) * | 2014-10-30 | 2016-05-05 | Here Global B.V. | Method, apparatus and computer program product for route generation |
Non-Patent Citations (1)
Title |
---|
冯神柱: "路网轨迹数据的压缩存储技术研究", 《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109765886A (zh) * | 2018-12-21 | 2019-05-17 | 北京智行者科技有限公司 | 车辆跟随的目标轨迹识别方法 |
CN109765886B (zh) * | 2018-12-21 | 2022-05-24 | 北京智行者科技有限公司 | 车辆跟随的目标轨迹识别方法 |
CN109547268A (zh) * | 2019-01-03 | 2019-03-29 | 浙江天地人科技有限公司 | 一种在规律性时间段内降低上传有关位置信息的数据量的方法和系统 |
CN109714709A (zh) * | 2019-02-25 | 2019-05-03 | 北京化工大学 | 一种基于历史信息的失联车辆位置预测方法和系统 |
CN110245554B (zh) * | 2019-04-29 | 2021-06-29 | 中科智城(广州)信息科技有限公司 | 一种行人运动趋势的预警的方法、系统平台及存储介质 |
CN110245554A (zh) * | 2019-04-29 | 2019-09-17 | 中科智城(广州)信息科技有限公司 | 一种行人运动趋势的预警的方法、系统平台及存储介质 |
CN110428193A (zh) * | 2019-06-14 | 2019-11-08 | 上海中旖能源科技有限公司 | 基于车辆轨迹数据的多模式液化天然气运输车辆筛选方法 |
CN110375753A (zh) * | 2019-07-04 | 2019-10-25 | 丰图科技(深圳)有限公司 | 地图匹配方法、装置、服务器及存储介质 |
CN110475208A (zh) * | 2019-08-06 | 2019-11-19 | 上海连尚网络科技有限公司 | 用于确定用户设备行程轨迹的方法与设备 |
CN112985430A (zh) * | 2019-12-13 | 2021-06-18 | 百度在线网络技术(北京)有限公司 | 地图匹配的容灾方法、装置、设备及存储介质 |
CN111085998A (zh) * | 2019-12-17 | 2020-05-01 | 珠海市一微半导体有限公司 | 机器人记录运动轨迹的方法和显示机器人运动轨迹的方法 |
CN111291280A (zh) * | 2020-03-10 | 2020-06-16 | 中国科学院计算技术研究所 | 一种大规模移动对象的轨迹快速预测方法、介质和设备 |
CN111291280B (zh) * | 2020-03-10 | 2023-04-11 | 中国科学院计算技术研究所 | 一种大规模移动对象的轨迹快速预测方法、介质和设备 |
CN111982141A (zh) * | 2020-07-31 | 2020-11-24 | 长安大学 | 一种面向低频车辆轨迹数据进行路径推断的方法、设备及存储介质 |
CN111982141B (zh) * | 2020-07-31 | 2022-09-13 | 长安大学 | 一种面向低频车辆轨迹数据进行路径推断的方法、设备及存储介质 |
CN112885099A (zh) * | 2021-03-10 | 2021-06-01 | 华录易云科技有限公司 | 用于确定车辆轨迹关键点的方法、装置及设备 |
CN113029176A (zh) * | 2021-03-19 | 2021-06-25 | 重庆长安新能源汽车科技有限公司 | 面向多层级体验的电动汽车最优充电路径规划方法 |
CN113029176B (zh) * | 2021-03-19 | 2023-08-15 | 深蓝汽车科技有限公司 | 面向多层级体验的电动汽车最优充电路径规划方法 |
CN113724489B (zh) * | 2021-07-22 | 2022-07-01 | 东南大学 | 基于多源数据的交通拥堵溯源方法 |
CN113724489A (zh) * | 2021-07-22 | 2021-11-30 | 东南大学 | 基于多源数据的交通拥堵溯源方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108362293B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108362293A (zh) | 一种基于关键点技术的车辆轨迹匹配方法 | |
CN108955693B (zh) | 一种路网匹配的方法及系统 | |
Yuan et al. | An interactive-voting based map matching algorithm | |
CN109584553B (zh) | 一种基于时空信息的路段关联度缺失补全方法 | |
US7487017B1 (en) | Systems and methods for generating pattern keys for use in navigation systems to predict user destinations | |
CN108322891B (zh) | 基于用户手机信令的交通区域拥堵识别方法 | |
CN101719315B (zh) | 一种基于中间件的动态交通信息采集方法 | |
CN106297357B (zh) | 基于车联网的实时路径规划和poi信息检索系统及方法 | |
CN107818412A (zh) | 一种基于MapReduce的大规模公交乘客OD并行计算方法 | |
Lai et al. | Urban traffic Coulomb’s law: A new approach for taxi route recommendation | |
CN102564432B (zh) | 道路估计设备和用于估计道路的方法 | |
CN108320501A (zh) | 基于用户手机信令的公交线路识别方法 | |
CN109764884A (zh) | 一种校车路径规划方法及规划装置 | |
CN103106702A (zh) | 基于云计算的公交出行服务系统 | |
CN107167136A (zh) | 一种面向电子地图的位置推荐方法及系统 | |
CN112511982B (zh) | 一种出行语义自动标注的地铁乘客轨迹实时追溯还原方法 | |
CN110598917B (zh) | 一种基于路径轨迹的目的地预测方法、系统及存储介质 | |
CN104636457B (zh) | 一种位置搜索认知的方法及装置 | |
CN103942312A (zh) | 公交换乘线路规划方法和装置 | |
WO2021236006A1 (en) | Route deviation quantification and vehicular route learning based thereon | |
CN107545318B (zh) | 公交线路优先级确定、公交换乘线路排序方法及装置 | |
CN111190891A (zh) | 一种多语义轨迹数据分段存储方法 | |
CN111554085A (zh) | 一种公共交通一体化出行智能服务装置及其应用方法 | |
CN112530158A (zh) | 一种基于历史轨迹的路网补充方法 | |
CN109540165A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |