[0033] 以下将结合附图对本发明提供的基于多元数据融合的浮动车聚集检测方法作进一步说明。
[0034] 目前,分析浮动车聚集的方法存在阈值的确定不够具有准确性;计算浮动车聚集数据来源单一等问题。在传统的研究交通拥堵方法中,往往忽视了有些浮动车的大量聚集是由交通拥堵产生的这一重要成因,不能很好的将浮动车的聚集同拥堵区分开来,在计算车辆聚集的方法中也会将拥堵一并计算进去,从而结果会存在差错。究其原因,主要在于现有技术仅基于浮动车数据检测浮动车聚集,导致精度无法进一步提高。
[0035] 针对上述技术缺陷,本发明技术方案的主要构思是:将需要分析的区域映射到一个虚拟的网格,通过检测每个网格是否连续N个时间段浮动车的车辆数都超过设定的浮动车数量的最大阈值且数量呈递增趋势,并且从第二个时间段起,每个时间段都与上一时间段车牌号码存在一定的重复率。以此判定此处是否有浮动车聚集嫌疑的发生。当检测到有浮动车聚集嫌疑时,检查此处是否发生了交通拥堵。若发生了交通拥堵,则浮动车的聚集活动可能是由交通拥堵导致的。通过浮动车的数量占所有车的数量的百分比是否超过浮动车数量占车辆总数的阈值来判断。如果超过了浮动车数量占车辆总数的阈值则可判断为浮动车的聚集;如果没有超过浮动车数量占车辆总数的阈值,则可判断为没有发生浮动车聚集。若没有发生交通拥堵,则聚集的发生与拥堵无关,可直接判断是浮动车的聚集。
[0036] 参见图1,所示为本发明基于多元数据融合的浮动车聚集检测方法的路程框图,包括以下步骤:
[0037] 步骤S1:将地图上待分析区域映射到一个由多个网格构成的虚拟网格空间,并设定如下参数:网格浮动车车辆数阈值Cluster_Threshold{k11,k12...knn},用于代表各个网格的在Δt时间内经过的最大车辆数;道路车辆拥堵阈平均值u和道路车辆拥堵阈方差值σ2,用于表征每条路段上的拥堵情况,道路车辆拥堵阈平均值u是每条路段上的阈值,是由路段的历史数据得到的通过k-means确定的阈值,道路车辆拥堵阈方差值σ2是根据历史数据得到的,是车辆在当前计算时间段中路段上车辆数的方差;车牌重复率阈值Repeat_Threshold,用于代表当前时间段的车牌号码与上一时间段的重复率,可由用户自行定义;浮动车数量占车辆总数的阈值Float_Threshold,用于代表路段中浮动车占总车辆数的百分比,由统计历史数据得出;道路速度阈值Speed_Threshold,用于代表车辆顺畅的最小速度,由用户自行定义。
[0038] 步骤S2:从数据库中获取每个网格在Δt时间段内所对应的浮动车数据和卡口数据,浮动车数据为车载GPS终端设备上传的经度、纬度和时间,卡口数据为通过各个卡口的车辆牌号码、过车时间;读入的数据主要有浮动车的上传时间、车牌号码、经度、纬度和经过卡口的车牌号码、卡口编号、卡口经度、卡口纬度、过车时间和过车方向组成。
[0039] 将读入的浮动车数据根据经纬度加入对应的网格之中。将读入的卡口数据根据每个卡口的卡口号和方向加入到GateFlowrate之中,GateFlowrate是保存车辆信息的数据结构。
[0040] 步骤S3:对每一个网格的浮动车数据进行计算分析并判断是否发生浮动车聚集嫌疑,如果否,则返回至步骤S2,如果是,则触发执行步骤S4;其中,计算每一个网格,通过以下公式将实际的车辆相加数与网格的车辆数阈值的相加数进行比较,记录在当前时段是否超过了给定的阈值。对于当前的网格计算是否达到了聚集嫌疑条件,具体的聚集嫌疑条件为同时达到以下条件时就判定浮动车聚集嫌疑发生:
[0041] 连续N个时间段都满足以下公式:
[0042]
[0043] 其中,CarDetail为从数据库中读入的浮动车数据,CarDetail[i][j]是当前时间段中,第i行第j列网格的车辆数,Cluster_Threshold[i][j]是第i行第j列网格的车辆数阈值;
[0044] 将连续N个时间段的浮动车数据通过线性回归拟合为线性函数,得到斜率k,且k>0;
[0045] 计算N个时间段中相邻时间段的车牌号码重复率repeat超过车牌重复率阈值Repeat_Threshold,其中,repeat计算公式如下:
[0046]
[0047] 其中,S1是这一时间段的所有车辆,S2是上一时间段的所有车辆,repeat是车牌号码重复率,Repeat_Threshold为车牌重复率阈值;
[0048] 步骤S4:将当前处于浮动车聚集嫌疑状态的车辆根据密度聚类到一起,并以此聚类所覆盖的地方作为浮动车聚集影响区域;
[0049] 步骤S5:根据卡口数据计算浮动车聚集影响区域所对应的路段是否出现交通拥堵,如果出现交通拥堵,执行步骤S6,否则执行步骤S7;其中,同时符合以下条件时就判定出现交通拥堵:
[0050]
[0051] RoadVehicle为从卡口获取当前路段上的车辆数,u是道路车辆拥堵阈平均值,σ2是道路车辆拥堵阈方差值;
[0052] 根据卡口数据计算该路段的速度speed,当speed超过了道路速度阈值Speed_Threshold时,即判定当前的路段为拥堵,速度speed的计算方法如下:
[0053]
[0054] 其中,n是这条路段上的所有车辆数,t1是经过这个卡口的时间,t2是经过和当前计算路段相连的上一卡口的时间,s是路段长度,Speed_Threshold为道路速度阈值;
[0055] 步骤S6:通过以下公式计算浮动车所占的比例是否超过了浮动车数量占车辆总数的阈值Float_Threshold,如果超过即判定为发生浮动车聚集,否则判定为误触发,返回至步骤S2;
[0056]
[0057] 其中,分母LinkCarData是路段上所有的车辆数,分子ClusterInfo是在当前路段上参与聚集的浮动车车辆数,FloatPercent是一个在[0,1]之间的值;
[0058] 步骤S7:判定为发生浮动车聚集,发出警报并存储聚集车辆信息、发生聚集的区域和聚集的时间信息,重复步骤S2计算下一时间片的数据。
[0059] 下面以杭州市经纬度范围在[118.35,29.18]-[120.5,30.55]为例进行详细说明:
[0060] 设定浮动车的聚集范围是[118.35,29.18]-[120.5,30.55],并且搜索的精度为0.01,将在此范围内的区划分为虚拟的网格。从历史数据库中读取获取到的浮动车GPS数据和卡口数据进行阈值的计算。
[0061] 浮动车Cluster_Threshold的阈值为每个网格和周围八个网格的车辆数相加最大值,路段的阈值包括u和σ2。u为通过k-means将历史数据聚成3类,得到的较大一类的较大的可能性的阈值,σ2为道路车辆数量的方差。
[0062] 从数据库中读入需要计算的数据,包括浮动车的GPS数据和卡口的数据。通过以下公式计算网格中的浮动车车辆数是否大于网格的车辆数阈值:
[0063]
[0064] 通过计算可以获得从11:00-12:30时间段内在以经纬度(119.667,30.019)为中心,半径为500米的覆盖区域内连续N(5)个时间段浮动车的数量为1852辆,2003辆,2120辆,2451辆,2520辆,满足上述超过了浮动车的历史车辆数阈值条件。并且连续5个时间段车辆数都成递增的趋势,由此可以判定此处具有浮动车聚集的嫌疑。从数据库中得知此路段的历史阈值u是1008,σ2是327,然后根据公式得到:
[0065]
[0066] 得到为浮动车聚集的概率为0.99大于给定的0.9(由用户自定义)。同时浮动车所占的百分比FloatPercent大于给定的浮动车数量占车辆总数的阈值Float_Threshold。并且根据统计得知相邻两个间隔中浮动车车牌的重复率均高于车牌重复率阈值Repeat_Threshold(0.6),由此可以判断当前正为浮动车的聚集状态,然后发出预警并记录在数据库之中。车辆在8:00-14:15的变化情况如图2所示,从图2中可见车辆大量的聚集在一块,在12:30的时候车辆发生了明显的增高。该方法具有可靠性和高效性等特点,克服了传统方法数据来源单一的问题可以使结果更加的准确。考虑了因拥堵引起的聚集,能让结果更加具有可靠性,弥补了传统方法中的不足。并且对于将浮动车数量转化为概率是的计算更加的准确。
[0067] 以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
[0068] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。