一种基于MapReduce面向大规模卡口数据的套牌车识别方法与流程

文档序号:12368054阅读:275来源:国知局
本发明涉及道路安全领域,尤其是涉及一种基于MapReduce面向大规模卡口数据的套牌车识别方法。
背景技术
:随着我国国民经济水平的增长,机动车保有量每年都在迅速增长,查处各种交通违法违章现象是确保交通安全的重要举措。在各种交通违法违章中,车辆“套牌”是具有严重危害的违法行为。车辆“套牌”现象,指车辆非法使用与其他合法车辆相同的车牌号的现象。根据各地媒体的报道,“套牌”车辆严重危害交通运输行业及其运营秩序,对人们的安全及合法车辆的利益形成严重的威胁。不法分子套用他人车辆牌照,逃避肇事责任、逃避税费和从事犯罪活动,严重影响了人民的生命财产安全,扰乱了社会秩序,危害了社会安全。治理“套牌”车辆,已成为各地公安部门和交通管理部门的重要任务。已有文献和公开的专利提出了套牌车的识别方法。目前的主要方法有车辆信息对比法和车辆行驶地点判别法。车辆信息对比法是在交通管理中心建立一个登记车辆信息库,通过物联网或视频图像分析获得的车辆信息和数据库中的车辆信息比对,如果不符,则该车牌是可疑套牌。如杨博提出的基于物联网的套牌车检测方法,采用电子标签技术,将存储了机动车车牌和发动机号等信息的电子标签植入机动车,当机动车驶入布防的监控点覆盖的范围时,电子标签中的信息被自动读出来,和交通管理部门数据库中的车辆信息比对,信息不符则被认定为套牌车。专利申请号为201310170646的方法是建立车型特征库和车辆基础库,根据采集的车辆图像识别车辆车牌、车型等,并与根据车牌从车型特征库中检索获得的车型进行比对识别套牌车辆。专利申请号为200910099475的方法是只要具有相同车牌号的两辆以上的车辆同时出现在路上,根据出现的时间和地点识别是否套牌。上述方法在实际应用时存在一些弊端。基于物联网的套牌车识别方法需要给机动车植入电子标签和部署无线监测点,成本较高;基于图像和视频的方法受光照、环境影响较大,准确率不高,车辆行驶地点判别法需要处理的数据量大,要求处理系统的效率足够高。这些方法都需要对每个经过监测点的车辆进行分析和处理,计算量和数据量大。由于套牌车的活动范围很广,监测点越多,采集的车辆信息越多时,将能更多地识别出套牌车牌。对于一个车辆保有量巨大的城市而言,每天采集的车辆数据量达到TB级,采用文件存储或数据库存储方式,对数据的查询和分析的效率是十分低下的,按单台计算机100MB/SeC计算,读取ZTB数据需要1.5小时,在此基础上实现查询分析几乎是不可完成的任务,采用SQL数据库是较常用的方法,但数据库需要足够强大的计算机,在TB及以上数据处理中,数据库的数据管理和优化难度极大。为实现快速有效地分析大规模的交通车辆数据,需要一种新的技术方案来满足交管部门的需求。技术实现要素:本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种处理速度快的基于MapReduce面向大规模卡口数据的套牌车识别方法。本发明的目的可以通过以下技术方案来实现:一种基于MapReduce面向大规模卡口数据的套牌车识别方法,包括以下步骤:1)获取多个道路卡口的过车信息和卡口自身信息数据,并进行预处理,去掉异常和未识别的过车信息;2)采用Hadoop大数据处理平台对预处理过的过车信息和卡口自身信息数据进行建模,并通过MapReduce并行化编程技术对可疑套牌车进行识别。所述的步骤2)具体包括以下步骤:21)获取任意两个道路卡口的卡口编号kx、ky和相对距离distance,并以(kxky,distance)的形式采用基于哈希表的Map接口HashMap保存到计算机节点的内存中;22)将预处理过的过车信息和卡口自身信息数据作为Map函数的输入,并转化为键值对<key,value>的形式作为Map函数的输出,其中key值为卡扣过车的车牌号,value值为该卡扣过车的对应的车型、车颜色、过车时间、卡口编号、卡扣经度和卡扣纬度;23)对Map函数输出的键值对进行shuffle排序,合并相同key值的value值,以<key,listofvalue>的形式输出给Reduce函数;24)采用Reduce函数对listofvalue中的数据进行两两比较,识别出可疑套牌车辆。所述的步骤24)中,若listofvalue中value值的车型和车颜色不同,则证明同一车牌号对应的车型或颜色不一样,将其判定为第一类可疑套牌车,并以<车牌号:车1出现地点、车1出现时间、车2出现地点、车2出现时间>的形式输出结果。所述的步骤24)中,若listofvalue中value值的车型和颜色相同,则根据其在任意两个道路卡口之间的平均速度为指标进行判定:根据任意两个道路卡口的相对距离distance和过车时间计算实际平均时速,并设定一个平均时速阈值,若实际平均时速大于平均时速阈值,则将其判定为第二类可疑套牌车,并以<车牌号:车1出现地点:车1出现时间:车2出现地点:车2出现时间>的形式输出结果。所述的步骤2)还包括以下步骤:25)根据所有可疑套牌车辆的车牌号码、车身颜色、车型、发现套牌车的时间和地点信息建立套牌车预警信息库。所述的步骤21)中,任意两个道路卡口的相对距离distance的计算式为:Distance=2·Re·arcsin(sin2(latx-laty)+cos(latx)*cos(laty)*sin2(lngx-lngy))]]>其中,Re为地球半径,latx和lngx分别为卡口kx的经度和纬度,laty和lngy为卡口ky的经度和纬度。与现有技术相比,本发明具有以下优点:处理速度快:本发明利用大数据技术中的分布式计算框架MapReduce实现在大数据中并行化挖掘套牌车可以解决大规模卡口数据中套牌车挖掘问题,不仅可以有效挖掘涉嫌的套牌车辆,而且相比于传统技术,能够有效提高套牌车辆的识别效率。并且当Hadoop集群中的节点越多,处理大规模数据的速度就越快。附图说明图1为本发明的步骤流程图。具体实施方式下面结合附图和具体实施例对本发明进行详细说明。实施例:如图1所示,对数据首先进行抽取、整合,然后进行预处理,筛选出“车型:车颜色:过车时间:卡口编号:经度:维度”数据格式。将数据上传至HDFS中,运用基于Hadoop/MapReduce的并行化编程对套牌车进行挖掘,具体的包括以下步骤:(1)对每一个卡口系统采集的过车信息和卡口自身有关信息进行抽取、整合,并且对原始数据进行预处理,去掉异常和没有识别出来的过车数据,采用HDFS分布式文件系统进行存储。利用Hadoop大数据处理平台对卡口过车数据和卡自身数据进行建模和分析,通过MapReduce并行化编程技术实现可疑套牌车识别:(2)首先单机加载每个卡口的编号以及经纬度信息,根据下面经纬度公式(1)计算出每两个卡口之间的直线距离。按照(kxky,distance)来存储每任意两个卡口kx和ky之间的距离distance。将结果以文本dis.txt的形式存在本地的磁盘当中,等待以后并行计算的时候加载到内存中。公式1:Distance(K1,K2)=2*EARTH_RADIUS*arcsin(sin2(lat1-lat2)+cos(lat1)*cos(lat2)*sin2(lng1-lng2))]]>其中EARTH_RADIUS是地球的半径,lng1和lat1分别是卡口1的精度、纬度,lng2和lat2分别是卡口2的经度、纬度。(3)MapReduce底层框架将原始数据集划分为多个数据块,MapReduce集群中的计算机节点启动多个Mapper,每个Mapper阶段分别处理对应的数据块信息。在开始map函数之前,利用setup函数将步骤(1)中保存在本地磁盘上dis.txt中的卡口间的距离加载到内存中,采用HashMap(String,Double)保存在内存中。由于setup函数是在map启动前就加载的,所以再一个节点上面所有的Mapper人物均可以共享setup函数中的卡口间距离。(4)每个Mapper开始读取过车数据的相关信息,对过车信息进行字段切割,跳过字段数不符合标准或者是车牌号为“无车牌”和“00000000”的过车数据,将剩下正常的过车数据转化为<key,value>形式输出,获取key值为车牌号,value值是该车对应的“车型:车颜色:过车时间:卡口编号:经度:维度”。Key和value的值按照空格进行切分一共有8个字段,由于真实的数据中由于各种原因的叠加使得有的记录少于8个字段,在Map函数中,当字段少于8的时候可以跳过该记录。将重新组合后的key和value按照(key,value)输出到Reduce端。(5)Map输出(key,value)在进入到Reduce之前,会经过排shuffle过程,Hadoop底层会对key值进行排序,然后合并相同key值的value,会以(key,listofvalues)到达Reduce端。在Reduce端,所有记录都是不同的key值,reduce函数会一条一条记录的处理,reduce对于每一条记录,对values中的值进行两两比较,如果发现两个字符串中的车型或者车颜色有不同的,这就说明同一车牌号,车型或者颜色不一样,这具有套牌车嫌疑,我们会以“**车牌号**:车1出现地点:车1出现时间:车2出现地点:车2出现时间”输出结果,该输出说明有两辆车牌相同但是车型和车身颜色不一样,套牌嫌疑巨大。(6)在步骤(4)中,发现每两条记录的车型或者车身颜色相同时,就在存放在HashMap中的卡口间距离找出此时两个卡口的距离d,然后利用记录中的两个时间计算出一个时间差Δt,定义一个阈值y=d/Δt,这里的y可以等同于车子的平均速度,但是在我们这里物理意义是一辆车子不可能在很短时间内出现在相聚很远的两个地方,如果是,我们就认为这是套牌车。在算法中,我们可以分别调整不同的阈值,比如100km/h,150km/h,200km/h,400km/h,800km/或者大于1000km/h,阈值越大,如果还有结果出现就代表套牌嫌疑越大。最后同样按照“车牌号:车1出现地点:车1出现时间:车2出现地点:车2出现时间”将结果输出。(7)在步骤(4)和(5)中,我们定义了两个规则来判定套牌车,规则一是相同车牌号,只要车身颜色或者车型不一样,我们就认为是套牌车。规则二如果同一个车牌号的两辆车在一段时间内出现在不可能达到的两个地点,我们就认为具有套牌嫌疑。在步骤(4)和(5)中两种情况下发现的套牌车发现的结果加以区分,可以让我们更好的区别套牌造成的原因。(8)建立套牌车预警信息库,包括可以套牌车的车牌号码、车身颜色、车型、发现套牌车的时间、地点。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1