本发明涉及智能交通技术领域,具体涉及一种基于增量计算的伴随车即时发现方法。
背景技术:
随着智能交通的发展,各种交通信息采集技术广泛应用于城市交通,持续的产生海量、实时的时空数据,车辆智能监测系统(卡口系统)检测到的过车数据量迅速膨胀,计算机自动识别车牌的技术已经基本完善,挖掘大量已识别的车牌数据中的内在信息,检测伴随车辆,已经成为了交通管理者的关注热点。伴随车辆是一个交通术语,是指在规定的时间内某些车辆一起通过的卡口数量达到了某一阈值,这些车辆即为伴随车辆。现有技术中,伴随车发现方法主要分为两类:全球定位系统(globalpositioningsystem,gps)数据和自动车牌识别数据(automaticnumberplaterecognition,anpr)数据。基于gps数据对伴随车的研究,现有技术中已经存在多种典型的车辆伴随模式,这些伴随模式能够发现一段时间内一起移动的车辆群组。基于anpr数据挖掘伴随车辆组的研究,主要通过处理流式数据,利用移动对象聚类得到伴随车组,还有部分研究针对大规模的轨迹数据,通过分布式处理框架spark实现频繁序列挖掘算法的来获取伴随车组。虽然基于gps和anpr数据来发现伴随车组已经取得了一定的研究成果,但仍然存在一些挑战:
1.增量发现问题:车牌识别数据为流式数据,这要求算法适应流数据的动态性,以增量的方式来计算,避免部分数据的重复计算增加时间开销。
2.效率和性能问题:交通时空数据以数据流的格式生成,大量的数据在短时间内迅速到达。交通监控系统必须对数据进行聚类处理或频繁项挖掘以发现伴随车辆组,这些步骤涉及很高的计算开销。因此,伴随车组发现算法应该具有有效的数据结构来处理大规模数据。
3.时空约束问题:伴随车定义在时空约束上车辆的团体移动,这要求算法在计算伴随车组时需要同时考虑时间和空间两个方面。
技术实现要素:
为了解决上述问题,本发明考虑到车牌自动识别数据流的特点建立增量数据结构动态频繁树df-tree对车牌识别流数据进行动态挖掘,并加权时间影响因子实时发现伴随车组,因此,本发明提出一种基于增量计算的伴随车即时发现方法。
一种基于增量计算的伴随车即时发现方法,包括以下步骤:
s1、获取交通摄像头记录中的交通车辆数据,生成数据集;
s2、从数据集中提取相关属性,生成过车事务数据集;
s3、获取过车事务数据集,构建动态频繁树df-tree;
s4、采用自底向上的方法遍历动态频繁树,进行频繁项映射存储,生成动态频繁项集;
s5、利用时间衰减模型,通过加权时间权重对动态频繁项集进行过滤,挖掘近期的伴随车组信息;
s6、将挖掘的伴随车组信息输入到交通管理中心的数据库中储存,并将伴随车信息输入到警用地理信息系统pgis(policegeographicinformationsystem,pgis)。
本发明的有益效果:
1.本发明提出动态频繁树df-tree数据结构,增加哈希表以减少df-tree的构建时间,提高伴随车挖掘效率;同时增加数据批次散列表作为df-tree的减枝依据以释放过期数据占用的内存。
2.本发明针对伴随车发现的时效性要求,引入时间衰减模型,实现基于大规模过车数据的伴随车即时发现。
附图说明
下面结合附图和具体实施方式对本发明做进一步详细的说明。
图1为本发明实施例的总体流程图;
图2为本发明实施例的一种基于增量式的伴随车即时发现方法整体框架图;
图3为本发明实施例的事务数据样例;
图4为本发明实施例的动态频繁树构建与维护示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1-2所示,一种基于增量计算的伴随车即时发现方法,包括以下步骤:
s1、获取交通摄像头记录中的交通车辆数据,生成数据集;
s2、从数据集中提取相关属性,生成过车事务数据集;
s3、获取过车事务数据集,构建动态频繁树df-tree;
s4、采用自底向上的方法遍历动态频繁树,进行频繁项映射存储,生成动态频繁项集;
s5、利用时间衰减模型,通过加权时间权重对动态频繁项集进行过滤,挖掘近期的伴随车组信息;
s6、将挖掘的伴随车组信息输入到交通管理中心的数据库中储存,并将伴随车信息输入到警用地理信息系统(policegeographicinformationsystem,pgis)。
第一步获取交通摄像头记录的过车数据,生成数据集,具体步骤包括:
s11、获取数据,提取交通摄像头采集的行驶车辆的所有原始数据,原始数据包括:自动车牌识别anpr数据、过车时间、摄像头编号、摄像卡口、行驶车辆颜色及形态;
s12、对原始数据进行时间分片,根据“过车时间”字段对经过卡口的行驶车辆数据进行划分,统计同一卡口在设定时间阈值间隔中的过车数量,生成数据集。其中,伴随车指的是两个或多个移动对象在短时间阈值内共同经过多个卡口的车辆组。
第二步从数据集中提取相关属性,生成过车事务数据集。从获取到的数据集中提取与伴随车辆发现相关的特征:包括车牌号、过车时间及摄像头编号,将提取到的特征作为动态频繁树df-tree的特征输入,具体步骤包括:
s21、提取相关属性。从获取到的数据集中提取与伴随车辆发现相关的特征:车牌号、过车时间、摄像头编号;
s22、设定时间阈值间隔对过车时间进行时间窗口滑动,对提取到的相关属性进行哈希值计算,形成哈希表,根据哈希表将提取到的属性根据时间维度和空间维度生成过车事务数据集,计算公式如下:
其中,anpr(v,t,p)表示车牌识别数据流,v表示车牌号,t表示过车时间,p表示摄像头编号,hash(w(δ+t),p)表示对摄像头编号p和经过时间窗口滑动处理后的过车时间做哈希值计算,δ表示时间阈值,w(δ+t)表示滑动窗口在过车时间t的基础上左右滑动δ个时间单位,i表示生成的过车事务数据集,tid1:v1,v2,…,vn1表示一条数据事务项,z表示数据事务集中数据事务项的数量,n表示一条事务数据项中包含的数据项的数量,vn,1表示第1条事务项中的第n个数据。
进一步的,过车事务数据集的生成还包括:设定时间阈值间隔对过车时间进行时间窗口滑动处理,对交通摄像头编号和过车时间做哈希计算,生成的哈希值作为该辆行驶车辆的数据事务项,根据所有车辆的数据事务项生成过车事务数据集,并将过车事务数据集中事务数据项中的数据按字典顺序排序。
第三步获取过车事务数据集,构建动态频繁树df-tree。
获取动态车牌数据集,通过实时流数据处理平台将anpr数据处理为anpr离散数据流,例如,将anpr数据以1秒的时间片为单位进行分批,将流处理转换为时间片数据处理,最终处理为anpr离散数据流。根据anpr离散数据流中的移动对象的特征信息,采用滑动时间窗口机制,将每一批anpr离散数据流处理为过车事务数据,所述特征信息包括:车牌号,过车时间和摄像头编号;如图3和图4所示,具体步骤包括:
s31、将提取的自动车牌识别anpr数据通过实时流数据处理平台处理为anpr离散数据流;根据anpr离散数据流中的移动对象的特征信息,特征信息包括:车牌号,过车时间和摄像头编号,引入滑动时间窗口机制,将每一批anpr离散数据流处理为过车事务数据;
s32、将过车事务数据集的数据按照数据流到达的时间顺序依次进入固定容量的事务队列窗口;
s33、根据当前事务队列中的过车事务数据集生成项头表和散列表,将散列表作为辅助项头查询表,通过散列表进行项头表的辅助查询,在向项头表添加项目时,按照开放地址散列函数xi(item)=(x(item)+di)modm计算该项目哈希值,以该哈希值作为该项目在辅助项头查询表中的存储位置,然后根据该存储位置获得在项头表的项元素节点信息。
其中x(item)表示所选的散列函数,item指的是项头表中的项目名,此处表示车牌号,di表示由随机函数计算得到的偏移量,m表示当前项头表的容量大小,i表示第i个项,mod表示求余运算;
s34、新的事务数据到来时,在新项目插入动态频繁树之前,要先判断是否需要对动态频繁树进行剪枝操作,若需要进行剪枝操作,则先对动态频繁树进行剪枝操作,再扫描事务数据集,查询辅助项头表获得项目节点信息,按事务项数据排列的顺序插入新项目;若无需剪枝操作则直接扫描事务数据集,查询辅助项头表获得项目节点信息,按事务项数据排列的顺序插入新项目,并在数据批次表中记录该批次事务数据项中最后插入动态频繁树的节点信息。
进一步的,动态频繁树节点结构包括:项目名,节点频率计数器,子父指针,指向同名节点指针,记录当前项所在节点的动态频繁树子树的根结点地址标记,记录当前节点是否为叶子节点的标记。
进一步的,对动态频繁树是否要进行剪枝操作的判断:当事务队列窗口装满时,需要对过期事务数据进行处理,即构建动态频繁树的时候利用数据批次表对动态频繁树进行剪枝操作。
进一步的,剪枝操作具体包括:从数据批次表中读取过期数据中最后添加的节点,将该结点沿着子父指针执行,判断结点的频率计数是否大于支持度阈值,若不满足则删除该节点,否则,所经过的结点的频率计数都减1,直到到达根结点。
第四步根据动态频繁树,采用自底向上的方法遍历动态频繁树,进行频繁项映射存储,生成动态频繁项集。具体包括以下步骤:
s41、根据动态频繁树df-tree的叶子记录表,逆向遍历每一颗子树;
s42、根据公式
第五步根据上一步生成的动态频繁项集,利用时间衰减函数对各个频繁项的加权时间计数进行统计,挖掘近期的伴随车组,具体包括以下步骤:
s51、第四步中生成的动态频繁项集是持续更新的,当新的频繁项μ到来时,记录当前时间参数tcur加1;
s52、发现新的伴随车cv时,根据公式ccv=ccv×α,引入时间衰减因子
s53、对于新的频繁项μ,若μ∈cv时,将其时间权重计数加1,所述时间权重计数ccv′=mincv∈cvccv;若
s54、判断ccv′的值,若ccv′<1,则从伴随车集合中去掉cv′,同时将新的频繁项μ加入伴随车发现结果cv中;
s55、输出伴随车发现结果cv。
第六步将挖掘的伴随车组信息输入到交通管理中心的数据库中储存,并将伴随车信息输入到警用地理信息系统(policegeographicinformationsystem,pgis),以便后续查询和显示,例如,设计实现伴随车实时查询的restfulapi,相关部门可以通过车牌号,过车时间等参数实时查询伴随车情况。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。