[0008] 本发明提出了一种基于旅行时间密度聚类算法识别个体出行起点终点时空位置,从而提取整个城市居民出行OD矩阵方法。
[0009] 本发明技术方案的主要构思:
[0010] 以过车车辆为单位,计算每辆车的经过连续卡口的旅行时间,创建卡口对旅行时间列表。对车辆经过卡口对旅行时间列表进行密度聚类,将车辆的轨迹点划分为起点终点轨迹点和移动轨迹点。重新遍历每辆车的轨迹点,生成OD对,合并OD对提取整个路网中居民起点终点矩阵。
[0011] 本发明方法包括以下步骤:
[0012] 步骤1.交通治安卡口监控设备和电子警察设备采集过车车辆车牌图像。利用图像识别算法获得车辆的车牌号码,将车辆的车牌号码,过车时间和过车卡口编号上传服务器数据库。
[0013] 步骤2.对服务器数据库中过车数据进行预处理处理,剔除未识别车牌号和重复传输的车辆信息。
[0014] 步骤3.读取过车车辆数据,创建过车车辆数据表。
[0015] 步骤4.根据数据挖掘算法,对过车车辆数据进行分析处理;建立卡口对映射表。寻找过车车辆经过卡口先后顺序,如果一辆车连续经过卡口K1和卡口K2,计算卡口对{K1,K2}的旅行时间,并添加到卡口对{K1,K2}旅行时间列表。通过密度聚类算法对每个卡口对的旅行时间聚类,将过车车辆轨迹点划分为起点终点轨迹点和移动轨迹点。重新遍历每辆车的轨迹,根据车辆是否为起点终点轨迹点,提取每辆车OD对。提取所有OD对,构建OD矩阵。
[0016] 4‑1.通过以下公式构建过车轨迹集合:
[0017]
[0018] 其中S表示过车轨迹集合,Traj表示某辆车轨迹即经过的卡口集合,Hi表示第i辆车车牌号码,N为总的车辆个数;K表示卡口编号,T表示车辆经过卡口时间,Ts表示开始时间,设置凌晨0点,Te表示结束时间,设置晚上12点,M表示车辆经过卡口个数; 表示在Tj时经过的卡口编号, 表示在Tj+1时经过卡口编号, 表示该车连续经过两个卡口点,Tj+1‑Tj表示该车在卡口对 的旅行时间。
[0019] 4‑2通过下面公式构建卡口对的旅行时间集合:
[0020]
[0021] 其中Km和Kn表示卡口编号,t表示经过某对卡口对的旅行时间,J表示卡口总的数量, 指的是经过卡口对{Km,Kn}所有车辆的旅行时间集合。
[0022] 4‑3利用密度聚类算法划分车辆轨迹为起点终点轨迹点和移动轨迹点:
[0023] 本发明基于车辆旅行时间密度聚类算法,对于给定数据集T={t1t2t3,…,,tm},“邻域”参数(ε,MinPts),详细定义为:
[0024] ε‑领域:对ti∈T,其ε‑领域指的是在样本T中与ti的距离不大于ε的样本。具体表达如公式4‑1,Nε(ti)表示样本ti邻域样本集合,|Nε(ti)|表示样本ti邻域样本集合个数;
[0025]
[0026] 核心对象:若ti的ε‑领域至少包含MinPts个样本,即|Nε(tj)|≥MinPts,则ti是一个核心对象。
[0027] 密度直达:若ti的ε‑领域存在核心对象tj,则tj是由ti密度可达。
[0028] 密度可达:若对样本ti,tj,存在样本序列p1,p2,p3,…,pn,p1=ti,pn=tj,且pi由pi+1密度可达,则称样本ti由tj密度可达。
[0029] 密度相连:若对样本ti,tj,存在一个样本tk,样本ti,tj均可由tk密度可达,则称ti与tj密度相连。
[0030] 基于旅行时间密度聚类算法通过定义核心点的密度,以核心点位起点,不断按照密度要求向外围扩展最终形成簇的过程。形成的簇意味着大量机动车在一定时间范围驶过卡口对,没有形成簇的则为异常点则表示车辆在卡口对发生了停留,即车辆到达目的地,产生了一个OD对。
[0031] 4‑4读取过车轨迹集合Traj,该车在[Ts,Te]时间段内经过卡口编号为{K1,K2,K3,…,KM};构建卡口对{K1,K2},{K2,K3},{K3,K4},…,{KM‑1,KM},计算该车经过卡口对旅行时间,构建卡口对旅行时间集合
[0032] 4‑5对海量交通流中所有车辆的过车轨迹Traj,重复执行步骤4‑4,获得所有卡口对旅行时间列表,利用密度聚类算法划分起点终点轨迹点和移动点,提取OD对。
[0033] 4‑6构建OD矩阵:
[0034] K1K2K3...KJ
[0035]
[0036] 根据步骤4‑5获取OD对,合并相同OD对计算每个OD对出现次数,填写OD矩阵。
[0037] 本发明具有的有益效果:
[0038] 低成本:所有数据通过交通治安卡口监控设备和电子警察设备采集,能够降低数据采集成本。
[0039] 准确性:本发明基于卡口过车数据,利用机器学习算法能够准确计算居民出行的OD矩阵。