一种基于轨迹数据的车辆异常减速区域检测方法及系统
技术领域
本发明涉及智能交通领域,尤其涉及一种基于轨迹数据的车辆异常减速区域检测方法及系统。
背景技术
随着智能交通系统(ITS)的建设和信息技术的发展,车辆GPS轨迹数据实时获取并进行数据挖掘成为了可能。车辆轨迹数据能够提供丰富的交通数据,例如车辆位置、行驶速度、排队长度等。因此,其对道路交通异常事件的发现和及时处理都非常有帮助。
现阶段,交通事故、违法驾驶、路面破损等影响车辆正常行驶的事件通常只能由民众电话投诉、民警现场巡等人工方式确认。交管部门需要花费大量的人力物力,才能维持交通系统的稳定运转。而随着我国城市规模的不断扩张,路网面积的迅猛增长,传统的交通系统维护方式低效率、高延迟等问题逐渐暴露出来。因此,城市路网交通系统的维护,亟待一种高效的检测方法。
发明内容
本发明为克服上述的不足之处,目的在于提供一种基于轨迹数据的车辆异常减速区域检测方法及系统,本发明参考机器视觉中常用的图像差分异常检测方法,通过对历史轨迹数据进行分析聚类,构建路段减速区域的“图像背景”,然后对比基于实时数据聚类的减速区域,凸显出路段的异常减速区域。本发明克服了传统的路网交通事件巡查效率低,延迟高的问题。
本发明是通过以下技术方案达到上述目的:一种基于轨迹数据的车辆异常减速区域检测方法,包括如下步骤:
(1)获取车辆轨迹数据以及城市路网地理信息数据;
(2)对车辆轨迹数据作预处理,并根据城市路网地理信息数据匹配轨迹点所在路段,修正轨迹数据匹配结果;
(3)基于修正后的轨迹数据匹配结果筛选处于减速状态的历史轨迹点,采用聚类算法对减速点进行聚类,构建减速置信区域;
(4)采集实时轨迹数据并对实时轨迹数据中的减速点进行聚类,得到车辆实时减速区域;将车辆实时减速区域与减速置信区域对比,识别出异常减速区域。
作为优选,所述在步骤(1)中,通过轨迹数据API接口实时获取车辆轨迹数据,通过地理信息系统获取城市路网地理信息;所述的车辆轨迹数据包括车辆id、经纬度信息、车辆仪表盘速度、车辆航向角、数据入库时间;所述的城市路网地理信息包括路段地理位置信息及编号,路段上下游路口编号、路段长度、路段方位角。
作为优选,所述的对车辆轨迹数据作预处理包括采用动态滤波阈值的均值滤波算法对车辆轨迹数据进行滤波处理,具体为:按时间顺序遍历车辆轨迹数据,计算车辆当前轨迹点和上一轨迹点的距离Δd,通过相邻轨迹点的速度和时间差推算车辆可能的行驶距离Δdpred:
其中,Vi为车辆第i个轨迹点的速度,Ti为车辆第i个轨迹点的时间;
对比Δd和Δdpred,如果两者差值在允许范围内则保留测量点,如果超过允许范围则采用估计位置代替该轨迹点,估计位置的计算公式:
Δdpredx=Δdpred·sin(θi-1)
Δdpredy=Δdpred·cos(θi-1)
Ppred=ST_Translate(Pi-1,Δdpredx,Δdpredy)
其中,θi-1为上一轨迹点的航向角,Δdpredx为轨迹点在经度上的估计偏移量,Δdpredy为轨迹点在纬度上的估计偏移量;Ppred为车辆当前轨迹点的估计位置,ST_Translate为空间位置偏移函数,根据上一轨迹点的位置Pi-1、经度偏移量Δdpredx和纬度偏移量Δdpredy计算偏移后的位置;
其中,滤波算法的公式为:
其中,derror为允许的距离误差;
上述滤波算法的可靠性依赖前一个轨迹点的准确性,因此必须保证滤波算法起点为正常的轨迹点;具体过程为:
按时间序列遍历车辆轨迹数据时,如果连续3个轨迹点被判断为正常点,则以最后一个轨迹点作为滤波算法的起点,继续遍历剩下的轨迹数据;如果相邻两个轨迹点间隔时间过长,则重新开始寻找起点。
作为优选,所述对车辆轨迹数据作预处理还包括数据压缩处理,具体为:根据车辆的行驶速度筛选出行驶状态发生明显改变的轨迹点,舍去车辆以平稳状态行驶时的轨迹点;其中,所述的车辆行驶状态判断公式如下:
其中,CSi为车辆第i个轨迹点的行驶状态,Ai为第i个轨迹点的加速度,A为判断车辆行驶状态的加速度阈值;特别的,当Vi小于5km/h时,认为车辆处于停车状态。
作为优选,所述在步骤(2)中,采用九宫格法进行匹配轨迹点所在路段,具体为:
(i)按照预设的步长L,将道路网络从上到下、从左到右网格化分块,分为M×N个相同的网格,并根据网格与路段的编号建立网格与网格所内包含候选路段的一对多索引;
(ii)将候选路段区域扩张为以轨迹点所在网格为中心的九宫格区域,所述轨迹点所在的网格编号可由下式计算得到:
gradi=floor((loi-lo0)/L)+floor((lai-la0)/L)×N
其中,gradi为轨迹点所在网格编号,loi为轨迹点i的经度,lo0为网格的左下角起点经度,lai为轨迹点i的纬度,la0为网格的左下角起点纬度,floor为向下取整函数,L为网格的步长;轨迹点i的路段候选区域为3x3的九宫格如下:
(iii)根据轨迹点的航向属性和速度属性,计算轨迹点与各候选路段的相似度,相似度最高的路段作为轨迹点的初步匹配路段;其中相似度的计算包括:计算轨迹点与候选路段的距离权值;计算轨迹点航向与候选路段通行方向的航向权值;计算轨迹点与所有候选路段的相似度。
作为优选,所述在相似度的计算中,所述的轨迹点与候选路段的距离权重的计算公式为:
其中,Dij为轨迹点i到候选路段j的最短距离,ST_ShortestLine为postgis地理信息函数中计算点到线段最短距离的函数,geomi,geomj分别为轨迹点i和候选路段j的地理信息属性;ψij为垂直距离归一化后的结果;Dij为计算轨迹点与候选路段的最短距离,计算公式如下:
Dij=ST_ShortestLine(geomi,geomj)
所述的轨迹点航向与候选路段通行方向的航向权值的计算公式为:
其中,ωij为轨迹点i航向角θi和候选路段j方位角θi的正弦偏差;
所述的轨迹点与候选路段的相似度的计算公式为:
其中,φij为轨迹点i与候选路段j的相似度,数值越大表示轨迹点与候选路段的相似度越高。
作为优选,所述在步骤(2)中,采用基于车辆轨迹连续性和路网可达性的轨迹数据修正方法进行修正轨迹数据匹配结果,具体为:计算轨迹点与所在路段起点的垂直投影距离d,判断车辆轨迹点在匹配路段上与路口起点的距离是否逐渐变大,且路段上轨迹点数量是否满足阈值;若满足则说明车辆可能在该路段上行驶了一段距离,否则认为轨迹点发生了较大的偏移,或者驶入了路网信息中尚未配置的路段,则将轨迹匹配结果修正为上一满足条件的路段。
作为优选,所述在步骤(2)中,还采用基于路网可达性的轨迹匹配结果修正方法进行修正轨迹数据匹配结果,具体如下:
(I)定义路段之间的连接度为:若X路段的下游路口与Y路段的上游路口编号相同,则定义X与Y的连接度
若X路段的下游路口与Y路段的下游路口编号相同,则定义X与Y的连接度
若X的下游路口与Y的上下游路口均不同,则定义X与Y的连接度为
其中,路段和自身的连接度设为1;
(II)对车辆轨迹匹配结果进行遍历,假设A、B、C为连续的3条不同路段匹配结果,根据路段上下游路口信息,计算路段之间的连接度,若
均为1,说明真实路径为A-B-C,则匹配结果无误;若
的连接度不为1,说明C路段可能为偏移路段;
(III)针对可能偏移的路段,假设其正确匹配的路段在相似度计算结果中,按相似度从高到低遍历其相似度计算结果,筛选与前后路段匹配结果连接度为1的计算结果;优先选择与前后路段连接度均为1的路段进行修正,其次选择与前路段连接度为1的路段,最后选择与后路段连接度为1的路段;若无法找到满足以上任一条件的路段,在路段信息中搜索与前后路段连接度均为1的路段进行修复,搜索不到则认为车辆轨迹点可能发生了不可修复的异常。
作为优选,所述步骤(3)中采用基于密度的聚类算法进行聚类,包括DBSCAN算法、SNN算法、基于密度峰值的算法DP、OPTICS算法;优选采用基于密度的DBScan聚类算法,进行聚类,具体为:
(A)通过计算轨迹点与路段起点的距离,将二维空间数据转化成一维的距离属性进行聚类;另外,根据平均速度的不同,将减速置信区域分为停车区域,缓行区域和限速区域:
其中,
为减速区域的平均速度,单位km/h;停车区域是指车辆减速点平均速度低于15km/h的区域,该区域内车辆可能需要停车等待红绿灯或行人通过;缓行区域是指车辆减速点平均速度介于15km/h和30km/h的区域,该区域内车辆可能需要减缓速度以通过路况不良的路段;限速区域是指车辆减速点平均速度大于30km/h的区域,该区域内车辆有一定的减速行为但仍保持较高的行驶速度;
(B)选择减速点的距离和速度参数进行基于DBScan算法的密度聚类,在进行密度聚类前适当放大速度参数,并将放大后的速度和距离构造成一对元组:
pi=(αvi,di)
放到集合Sm中:
Sm=(p1,p2,...pi,...,pn)
其中,α为速度值的放大系数,Sm为m号路段上所有减速点元组的集合,是所有车辆的减速点在一个路段上的集合;pi为路段上第i个减速点元组,n为m路段上减速点总数;
(C)为适应不同路段的流量水平,对DBScan聚类算法进行改进,扫描半径eps和最小包含点数minPts采用动态值;为了规范减速置信区域的位置,将路段按照固定间距切分成n
m=l
m/u段link;令扫描半径
使得扫描区域直径覆盖link;minPts参数为:
其中,u为路段切分link的距离参数,l
m为m路段的长度,n
m为m路段link总数,n为m路段上减速点总数,
代表路段上轨迹点的密度,轨迹点密度越大说明路段流量越大,需要更大的minPts参数排除噪声点,mp为minPts设定的最小值;
(D)对Sm进行聚类后,减速点被聚合成核心点、边缘点和噪声点;将区域中核心点所在的link标记为减速置信区域,并根据扫描半径内减速点的平均速度划分不同减速性质的区域,若某段link同时有2种减速性质,优先选择速度值较低的。
作为优选,所述步骤(4)中得到车辆实时减速区域具体为:获取最近t分钟内所有车辆的轨迹数据匹配结果,按照改进的DBScan聚类方法对减速点进行聚类并划分减速性质,得到车辆实时减速区域;其中为了保证充足的样本量,根据不同的时段对t的取值进行动态调整;首先,根据时段对t设置基准值:
其中,t1,t2,t3为不同时段t的基准值;
其次统计路段t分钟内的减速点样本量是否达到指定阈值,若未达到,则t值加5分钟后再次统计样本量,直到样本量达到阈值α或t大于等于t3。
作为优选,所述步骤(4)中根据车辆实时减速区域和减速置信区域,判断异常减速区域,具体为:对相同路段同交通时段的车辆实时减速区域和历史减速置信区域划分结果进行对比分析,并按以下规则进行标记:
1)若某段link被实时减速置信区域包含而未被历史减速区域包含,则该段link被标记为异常减速区域,并按减速性质标记为异常停车区域、异常缓行区域以及异常限速区域;
2)若某段link被实时和历史不同性质的减速区域包含,且实时减速区域均速比历史的减速区域更低,则该段link被标记为异常减速区域,并按减速性质标记为异常停车区域、异常缓行区域以及异常限速区域。
一种基于轨迹数据的车辆异常减速区域检测系统,包括实时轨迹模块、历史轨迹模块、减速置信区间模块、异常检测模块;其中,所述的实时轨迹模块和历史轨迹模块均包括原始数据采集单元、数据预处理单元、轨迹修正单元、减速状态筛选单元、路段匹配单元;所述的实时轨迹模块与异常检测模块相连;所述的历史轨迹模块与减速置信区间模块相连;所述的减速置信区间模块与异常检测模块相连。
本发明的有益效果在于:(1)本发明提供了一种路网车辆异常减速区域的实时检测方法,可为交管部门维护交通系统正常运转提供数据支持,缩短道路异常事件的发现时间,降低人工成本;(2)本发明可通过通讯软件对异常减速区域附近的司机推送异常信息,实现车辆的及时诱导,避免大规模拥堵的发生。
附图说明
图1是本发明的系统结构示意图;
图2是本发明实施例轨迹数据的滤波效果示意图;
图3是本发明实施例的划分道路网络示意图;
图4是本发明实施例的轨迹点与上游路口距离示意图;
图5是本发明实施例的轨迹点偏移到不可达路段示意图;
图6是本发明实施例的轨迹点经连接度修复后结果示意图;
图7是本发明实施例的DBSCAN算法聚类结果示意图;
图8是本发明实施例的减速置信区域划分示意图;
图9是本发明实施例的异常减速区域示意图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
实施例1:如图1所示,一种基于轨迹数据的车辆异常减速区域检测系统,包括实时轨迹模块、历史轨迹模块、减速置信区间模块、异常检测模块;其中,所述的实时轨迹模块和历史轨迹模块均包括原始数据采集单元、数据预处理单元、轨迹修正单元、减速状态筛选单元、路段匹配单元;所述的实时轨迹模块与异常检测模块相连;所述的历史轨迹模块与减速置信区间模块相连;所述的减速置信区间模块与异常检测模块相连。
一种基于轨迹数据的车辆异常减速区域检测方法,具体步骤为:
S1、获取车辆原始轨迹数据、城市路网地理信息数据;具体为:通过轨迹数据API接口,实时获取车辆轨迹数据。通过地理信息系统,获取城市路网地理信息。其中,所述的车辆轨迹数据样例如表1所示:
vehicle_id |
longitude |
latitude |
speed |
db_time |
direction |
237136 |
120.26328 |
30.152392 |
35 |
2016/5/8 23:54 |
12 |
23934 |
120.187717 |
30.345217 |
0 |
2016/5/8 23:54 |
0 |
16060 |
120.09364 |
30.288864 |
22.22 |
2016/5/8 23:55 |
230 |
26064 |
120.328333 |
30.3005 |
0 |
2016/5/8 23:56 |
176 |
15557 |
120.174167 |
30.3309 |
24 |
2016/5/8 23:55 |
82 |
4224 |
120.144017 |
30.286917 |
0 |
2016/5/8 23:55 |
292 |
26065 |
120.167667 |
30.30315 |
18 |
2016/5/8 23:55 |
208 |
1261 |
120.222867 |
30.311117 |
32 |
2016/5/8 23:55 |
44 |
表1
其中在表1中,vehicle_id为车辆id,longitude为经度,latitude为纬度,speed为车辆仪表盘速度,direction车辆航向角(以正北为0°,计算车辆行驶方向与正北方的夹角),db_time为数据入库时间。
其中,城市路网地理信息具体包括路段地理位置信息及编号,路段上下游路口编号、路段长度、路段角度等。样例数据如表2所示:
roadsect_id |
up_nodeid |
down_nodeid |
length |
dir |
geom |
091d6cf200000019 |
7621df0425fb |
8fd99703a926 |
195 |
175 |
…… |
091d6cfb0000001a |
8fd99703a926 |
7621df0425fb |
195 |
355 |
…… |
091d7d230000001b |
7621df0425fb7 |
ba76cee0c740 |
235 |
265 |
…… |
091d7d2c0000001c |
ba76cee0c740 |
7621df0425fb7 |
235 |
85 |
…… |
091d8cbe0000001d |
827f4001faf0a |
7621df0425fb7 |
337 |
266 |
…… |
091d8cc70000001e |
7621df0425fb7 |
827f4001faf0a |
337 |
86 |
…… |
091da5e30000001f |
7621df0425fb7 |
21b230dfcc6bc |
210 |
342 |
…… |
表2
其中在表2中,roadsect_id为路段编号,up_nodeid为路段上游路口编号,down_nodeid为路段下游路口编号,length为路段长度,dir为路段方位角(路段上下游连线与正北方向夹角),geom为路段的十六进制的地理信息。
S2、对轨迹数据进行地图匹配,识别车辆行驶状态。具体包含以下步骤:
S2.1、轨迹数据预处理。进一步,所述的轨迹数据预处理,具体为:民用的定位精度约为15m,但有时会因为信号干扰,出现较大的位置偏差。轨迹数据中,一般只有经纬度会容易出现较大偏差,时间、速度、航向角等数据的可靠性较高。由于车辆设备以固定间隔产生轨迹数据(间隔通常为1秒或5秒),原始的轨迹数据中包含了大量的冗余信息,造成存储困难和处理速度的降低。因此,需要在不损害轨迹数据的表示精度的前提下,对原始轨迹数据进行滤波和压缩处理。考虑到车辆的行驶速度是动态变化的,相邻轨迹点之间的距离也会随之变化,本发明提出一种动态滤波阈值的均值滤波算法。
进一步,所述的动态滤波阈值的均值滤波算法,具体为:
按时间顺序遍历某车辆的轨迹数据,计算车辆当前轨迹点和上一轨迹点的距离Δd,通过相邻轨迹点的速度和时间差推算车辆可能的行驶距离Δdpred:
其中,Vi为车辆第i个轨迹点的速度,Ti为车辆第i个轨迹点的时间。
对比Δd和Δdpred,如果两者差值在允许范围内则保留测量点,如果超过允许范围则采用估计位置代替该轨迹点,估计位置的计算公式:
Δdpredx=Δdpred·sin(θi-1)
Δdpredy=Δdpred·cos(θi-1)
Ppred=ST_Translate(Pi-1,Δdpredx,Δdpredy)
其中,θi-1为上一轨迹点的航向角,Δdpredx为轨迹点在经度上的估计偏移量,Δdpredy为轨迹点在纬度上的估计偏移量。Ppred为车辆当前轨迹点的估计位置,ST_Translate为空间位置偏移函数,根据上一轨迹点的位置Pi-1、经度偏移量Δdpredx和纬度偏移量Δdpredy计算偏移后的位置。
滤波算法的公式为:
其中,derror为允许的距离误差。
进一步,上述滤波算法的可靠性依赖前一个轨迹点的准确性,因此必须保证滤波算法起点为正常的轨迹点。具体过程为:
按时间序列遍历车辆轨迹数据时,如果连续3个轨迹点被判断为正常点,则以最后一个轨迹点作为滤波算法的起点,继续遍历剩下的轨迹数据。如果相邻两个轨迹点间隔时间过长,则重新开始寻找起点。图2展示了轨迹数据的滤波效果示意图,轨迹点Pi由于距离上一个轨迹点距离超过了阈值,由估计位置Ppred代替。
进一步,所述的轨迹数据压缩处理,具体为:
根据车辆的行驶速度筛选出行驶状态发生明显改变的轨迹点,舍去那些车辆以平稳状态行驶时的轨迹点。
进一步,所述的车辆行驶状态判断公式如下:
其中,CSi为车辆第i个轨迹点的行驶状态,Ai为第i个轨迹点的加速度,A为判断车辆行驶状态的加速度阈值。特别的,当Vi小于5km/h时,认为车辆处于停车状态。
S2.2、根据地理信息匹配轨迹点所在路段。在本步骤中,采用九宫格法,根据地理信息匹配轨迹点所在路段。具体为:
按照一定的步长L,将道路网络从上到下、从左到右网格化分块,分为M×N个相同的网格,如图3所示;并根据网格与路段的编号建立网格与网格所内包含候选路段的一对多索引。
在进行轨迹点匹配时,可能会出现轨迹点落在网格边缘而正确匹配的路段在隔壁网格的情况,因此将候选路段区域扩张为以轨迹点所在网格为中心的九宫格区域。由于路网被分割成了均匀的方块,轨迹点所在的网格编号可由下式计算得到:
gradi=floor((loi-lo0)/L)+floor((lai-la0)/L)×N
其中,gradi为轨迹点所在网格编号,loi为轨迹点i的经度,lo0为网格的左下角起点经度,lai为轨迹点i的纬度,la0为网格的左下角起点纬度,floor为向下取整函数,L为网格的步长。轨迹点i的路段候选区域为3x3的九宫格:
之后根据轨迹点的航向属性和速度属性,计算轨迹点与各候选路段的相似度,相似度最高的路段作为轨迹点的初步匹配路段。
进一步,相似度的计算包括:
1、计算轨迹点与候选路段的距离权值。
2、计算轨迹点航向与候选路段通行方向的航向权值。
3、计算轨迹点与所有候选路段的相似度。
进一步,所述的计算轨迹点与候选路段最短距离。具体为:
Dij=ST_ShortestLine(geomi,geomj)
轨迹点与候选路段的距离权重的计算公式为:
其中,Dij为轨迹点i到候选路段j的最短距离,ST_ShortestLine为postgis地理信息函数中计算点到线段最短距离的函数,geomi,geomj分别为轨迹点i和候选路段j的地理信息属性;ψij为垂直距离归一化后的结果。
进一步,所述的计算轨迹点航向与候选路段通行方向的航向权值。具体为:
其中,ωij为轨迹点i航向角θi和候选路段j方位角θi的正弦偏差。
进一步,所述的计算轨迹点与候选路段的相似度。具体为:
其中,φij为轨迹点i与候选路段j的相似度,数值越大表示轨迹点与候选路段的相似度越高。
其中,相似度计算结果样例如下表3所示:
veh_id |
time |
speed |
match_rdsectid |
weight |
224256 |
2017/06/07 0:22:29 |
12.59 |
UTRSS010088 |
0.4398 |
224256 |
2017/06/07 0:22:29 |
12.59 |
UTRSS007596 |
0.2384 |
224256 |
2017/06/07 0:22:33 |
21.67 |
UTRSS007596 |
0.5607 |
224256 |
2017/06/07 0:22:33 |
21.67 |
UTRSS010088 |
0.5660 |
224256 |
2017/06/07 0:22:36 |
27.04 |
UTRSS007596 |
0.8151 |
224256 |
2017/06/07 0:22:36 |
27.04 |
UTRSS010088 |
0.3200 |
224256 |
2017/06/07 0:22:39 |
32.78 |
UTRSS010088 |
0.2394 |
表3
其中,match_rdsectid为轨迹点候选路段,weight为轨迹点与候选路段的相似度计算结果。取候选路段中相似度最高的路段作为轨迹点初步匹配结果。初步匹配结果样例如表4所示:
veh_id |
time |
speed |
match_rdsectid |
weight |
224256 |
2017/06/07 0:22:29 |
12.59 |
UTRSS010088 |
0.4398 |
224256 |
2017/06/07 0:22:33 |
21.67 |
UTRSS010088 |
0.5660 |
224256 |
2017/06/07 0:22:36 |
27.04 |
UTRSS007596 |
0.8151 |
224256 |
2017/06/07 0:22:39 |
32.78 |
UTRSS010088 |
0.2394 |
表4
S2.3、修正轨迹匹配结果。
正确匹配的车辆轨迹点在匹配路段上应该是连续的、与路口起点距离不断增加的点,并且车辆连续的两条匹配路段在路网交通规则上应具有可达性。但在轨迹点偏离距离较远、路网较为密集的情况下,轨迹点匹配结果容易出现偏差。为此,本发明基于车辆轨迹的连续性和路网的可达性,提出一种轨迹数据修正方法。具体为:
计算轨迹点与所在路段起点的垂直投影距离d,如图4所示。
首先,判断车辆轨迹点在匹配路段上与路口起点的距离是否逐渐变大,且路段上轨迹点数量是否满足阈值。若满足则说明车辆可能在该路段上行驶了一段距离,否则认为轨迹点发生了较大的偏移,或者驶入了路网信息中尚未配置的路段,将轨迹匹配结果修正为上一满足条件的路段。
在路网较为密集的区域(快速路、高架等),会有部分轨迹点偏移到不可达路段的情况。如图5所示,其中,A、B、C、D为四条不同的路段,车辆的真实路径为A-B-D,但因为B路段和C路段距离相近,部分归属于B路段的轨迹点被匹配到了C路段上。为纠正这类轨迹点,本发明提出了一种基于路网可达性的轨迹匹配结果修正方法:
定义路段之间的连接度为:若X路段的下游路口与Y路段的上游路口编号相同,说明X与Y相连,车辆可以直接从X路段驶入Y路段。此时,定义X与Y的连接度
若X路段的下游路口与Y路段的下游路口编号相同,说明X与Y同属一个路口的进口道路段(车辆只能进入路口),车辆不能从X驶入Y。此时,定义X与Y的连接度
若X的下游路口与Y的上下游路口均不同,说明X与Y不相连,定义X与Y的连接度为
特别的,路段和自身的连接度设为1。
对某车辆的轨迹匹配结果进行遍历,假设A、B、C为连续的3条不同路段匹配结果。根据路段上下游路口信息,计算路段之间的连接度。若
均为1,说明真实路径为A-B-C,匹配结果无误。若
的连接度不为1,说明C路段可能为偏移路段。值得注意的是,本次遍历路段中的A、B相当于上一次遍历路段中的B、C,已经经过了一次连接度修复流程,因此B路段不需要进行判断。
针对可能偏移的路段,假设其正确匹配的路段在相似度计算结果中,按相似度从高到低遍历其相似度计算结果,筛选与前后路段匹配结果连接度为1的计算结果。优先选择与前后路段连接度均为1的路段进行修正,其次选择与前路段连接度为1的路段,最后选择与后路段连接度为1的路段。若无法找到满足以上任一条件的路段,在路段信息中搜索与前后路段连接度均为1的路段进行修复,搜索不到则认为车辆轨迹点可能发生了不可修复的异常。其中,轨迹点修复后结果示意图如图6所示。
最终轨迹数据匹配结果样例如下表5所示:
表5
S3、筛选处于减速状态的历史轨迹点,采用聚类算法,构建减速置信区域。
本发明参考机器视觉中常用的图像差分异常检测方法,通过对历史轨迹数据进行分析聚类,构建路段减速区域的“图像背景”,然后对比基于实时数据聚类的减速区域,凸显出路段的异常减速区域。具体包含以下步骤:
S3.1、获取所有车辆历史轨迹数据匹配结果,筛选减速点。具体为:获取所有车辆的历史轨迹数据匹配结果,筛选出车辆状态为减速的轨迹点来构建减速置信区域。所述的减速置信区域是指车辆在行驶中,因为红绿灯、人行道等原因正常减速的区域。
S3.2、采用基于密度的聚类方法,对减速点进行聚类,构建历史减速置信区域。基于密度的聚类方法包括但不限于:DBSCAN算法、SNN(shared nearest neighbor)算法、基于密度峰值的算法DP(Clustering by fast search and find of density peaks)、OPTICS算法等。
在本实施例中,采用改进的DBScan聚类算法,对减速点进行聚类,构建历史减速置信区域。由于减速置信区域的个数事先无法确定,因此本发明采用基于密度的DBScan聚类算法,并对其进行一定的改进以适应不同路段的交通流量。具体为:
为确定减速置信区域的位置,需要对所有车辆的轨迹点位置信息进行聚类。轨迹点经纬度为二维空间数据,对其进行聚类花费的计算成本较高,且难以区分不同的路段。因此本发明通过计算轨迹点与路段起点的距离,将二维空间数据转化成一维的距离属性进行聚类。
同时,减速区域的平均速度体现了减速区域的不同减速性质。根据平均速度的不同,将减速置信区域分为停车区域,缓行区域和限速区域:
其中,
为减速区域的平均速度,单位km/h;停车区域是指车辆减速点平均速度低于15km/h的区域,该区域内车辆可能需要停车等待红绿灯或行人通过;缓行区域是指车辆减速点平均速度介于15km/h和30km/h的区域,该区域内车辆可能需要减缓速度以通过路况不良的路段;限速区域是指车辆减速点平均速度大于30km/h的区域,该区域内车辆有一定的减速行为但仍保持较高的行驶速度。
为了确定减速置信区域的位置和减速区域类型,选择减速点的距离和速度参数进行基于DBScan算法的密度聚类。由于DBScan算法的扫描区域为圆形,而距离和速度参数的分布密度不同,在进行密度聚类前需要适当放大速度参数,并将放大后的速度和距离构造成一对元组:
pi=(αvi,di)
放到集合Sm中:
Sm=(p1,p2,...pi,...,pn)
其中,α为速度值的放大系数,Sm为m号路段上所有减速点元组的集合,是所有车辆的减速点在一个路段上的集合。pi为路段上第i个减速点元组,n为m路段上减速点总数。
DBScan聚类算法需要输入二个参数:扫描半径(eps)和最小包含点数(minPts)。其中,eps决定了聚类结果的稠密程度,minPts决定聚类结果中包含的最少点数。DBScan算法通过遍历每个数据点,扫描以eps为半径的圆形区域,如果区域内包含数据点的个数大于minPts参数,则该数据点被标记为核心点。遍历完成后,所有以核心点为圆心,eps为半径的区域内的数据点标记为边缘点,不在任何圆内的数据标记为噪声点。DBScan算法示意图见图7。
本发明中,为适应不同路段的流量水平,对DBScan聚类算法进行改进,eps和minPts采用动态值:
首先,为了规范减速置信区域的位置,将路段按照固定间距切分成n
m=l
m/u段link。令扫描半径
使得扫描区域直径覆盖link;minPts参数为:
其中,u为路段切分link的距离参数,l
m为m路段的长度,n
m为m路段link总数,n为m路段上减速点总数,
代表路段上轨迹点的密度,轨迹点密度越大说明路段流量越大,需要更大的minPts参数排除噪声点,mp为minPts设定的最小值。
对Sm进行聚类后,减速点被聚合成核心点、边缘点和噪声点。将区域中核心点所在的link标记为减速置信区域,并根据扫描半径内减速点的平均速度划分不同减速性质的区域,若某段link同时有2种减速性质,优先选择速度值较低的。其中,u取50,α取5,eps为25,minPts为5,n为33,lm为480m,则减速置信区域的划分如图5所示,100~150米的link被标记为限速区域,250~300米的link被标记为缓行区域,400~480米的link被标记为停车区域。减速置信区域划分结果如图8所示。
S3.3、根据不同交通时段,构建减速区域历史背景。由于不同时段的交通流量情况差异较大,因此需要针对不同的交通时段,分别计算减速置信区域,构建不同时段的路段减速置信区域。
S4、对实时轨迹数据中的减速点进行聚类并与减速置信区域对比,识别出异常减速区域。
所述的S4、对实时轨迹数据中的减速点进行聚类并与减速置信区域对比,识别出异常减速区域。具体包含以下步骤:
S4.1、采集实时轨迹数据,扫描车辆实时减速区域。具体为:
为检测路网实时异常减速区域,获取最近t分钟内所有车辆的轨迹数据匹配结果,按照步骤3中改进的DBScan聚类方法对减速点进行聚类并划分减速性质,得到车辆实时减速区域。
进一步,由于数据集的样本量对DBScan聚类结果有较大的影响,为了保证充足的样本量,根据不同的时段对t的取值进行动态调整。首先,根据时段对t设置基准值:
其中,t1,t2,t3为不同时段t的基准值。建议t1取10,t2取20,t3取30。然后统计路段t分钟内的减速点样本量是否达到指定阈值,若未达到,则t值加5分钟后再次统计样本量,直到样本量达到阈值α或t大于等于t3。
S4.2、根据车辆实时减速区域和减速置信区域,识别车辆异常减速区域。具体为:
对相同路段同交通时段的车辆实时减速区域和历史减速置信区域划分结果进行对比分析,并按以下规则进行标记:
1、若某段link被实时减速置信区域包含而未被历史减速区域包含,则该段link被标记为异常减速区域,并按减速性质标记为异常停车区域、异常缓行区域以及异常限速区域。
2、若某段link被实时和历史不同性质的减速区域包含,且实时减速区域均速比历史的减速区域更低,则该段link被标记为异常减速区域,并按减速性质标记为异常停车区域、异常缓行区域以及异常限速区域;结果如图9所示。
实施例2:一种基于轨迹数据的车辆异常减速区域检测方法,具体步骤为:
S1、获取车辆原始轨迹数据、城市路网地理信息数据;
S2、对轨迹数据进行地图匹配,识别车辆行驶状态。
S3、筛选处于减速状态的历史轨迹点,采用聚类算法,构建减速置信区域。
S3.1、获取所有车辆历史轨迹数据匹配结果,筛选减速点。
S3.2、采用基于密度的聚类方法,对减速点进行聚类,构建历史减速置信区域。基于密度的聚类方法包括但不限于:DBSCAN算法、SNN(shared nearest neighbor)算法、基于密度峰值的算法DP(Clustering by fast search and find of density peaks)、OPTICS算法等。在本实施例中,采用OPTICS算法,具体如下:
输入:样本集D,邻域半径E,给定点在E领域内成为核心对象的最小领域点数MinPts;输出:具有可达距离信息的样本点输出排序。方法:
1、创建两个队列,有序队列和结果队列。(有序队列用来存储核心对象及其该核心对象的直接可达对象,并按可达距离升序排列;结果队列用来存储样本点的输出次序。可以把有序队列里面放的理解为待处理的数据,而结果队列里放的是已经处理完的数据);
2、如果所有样本集D中所有点都处理完毕,则算法结束。否则,选择一个未处理(即不在结果队列中)且为核心对象的样本点,找到其所有直接密度可达样本点,如过该样本点不存在于结果队列中,则将其放入有序队列中,并按可达距离排序;
3、如果有序队列为空,则跳至步骤2(重新选取处理数据)。否则,从有序队列中取出第一个样本点(即可达距离最小的样本点)进行拓展,并将取出的样本点保存至结果队列中(如果它不存在结果队列当中的话)。然后进行下面的处理。
3.1.判断该拓展点是否是核心对象,如果不是,回到步骤3(因为它不是核心对象,所以无法进行扩展了。那么就回到步骤3里面,取最小的。这里要注意,第二次取不是取第二小的,因为第一小的已经放到了结果队列中了,所以第二小的就变成第一小的了);如果该点是核心对象,则找到该拓展点所有的直接密度可达点;
3.2.判断该直接密度可达样本点是否已经存在结果队列,是则不处理,否则下一步;
3.3.如果有序队列中已经存在该直接密度可达点,如果此时新的可达距离小于旧的可达距离,则用新可达距离取代旧可达距离,有序队列重新排序(因为一个对象可能直接由多个核心对象可达,因此,可达距离近的肯定是更好的选择);
3.4.如果有序队列中不存在该直接密度可达样本点,则插入该点,并对有序队列重新排序;
4、迭代步骤2,3。
5、算法结束,输出结果队列中的有序样本点。
S3.3、根据不同交通时段,构建减速区域历史背景。
S4、对实时轨迹数据中的减速点进行聚类并与减速置信区域对比,识别出异常减速区域。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。