[发明专利]一种基于Hadoop和监控视频流的车辆轨迹统计方法有效
| 申请号: | 201710464743.8 | 申请日: | 2017-06-19 |
| 公开(公告)号: | CN107316016B | 公开(公告)日: | 2020-06-23 |
| 发明(设计)人: | 陈名松;周奕捷;王伟光;董适;周信玲;李孜涵 | 申请(专利权)人: | 桂林电子科技大学 |
| 主分类号: | G06K9/00 | 分类号: | G06K9/00;G06K9/32;G06K9/62;G06F16/182;G06F16/13;G06F16/71;G06F16/78 |
| 代理公司: | 桂林市华杰专利商标事务所有限责任公司 45112 | 代理人: | 周雯 |
| 地址: | 541004 广*** | 国省代码: | 广西;45 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 hadoop 监控 视频 车辆 轨迹 统计 方法 | ||
1.一种基于Hadoop和监控视频流的车辆轨迹统计方法,其特征在于,具体包括如下步骤:
1)将各场景下的监控视频上传到HDFS,执行Hadoop任务;
2)Hadoop视频数据处理接口从HDFS上读取视频数据初始化Xuggler解码库,Xuggler解码库解析视频数据,得到一系列key,value交由Map处理,其中key为视频名_帧号,value为视频帧元数据;
3)Map函数对传入的key,value进行分析,具体是通过Jave Native Interface即JNI与动态链接库交互实现对车辆检测定位和车牌识别,通过车辆检测算法从视频帧图像中定位到车辆区域,通过车牌识别算法对定位到的车辆区域进行车牌识别,未定位到车辆区域直接执行下一次key,value,将识别到车牌的帧图像以视频名_车牌号_时间戳形式进行命名写回到HDFS进行存储,Map输出key1,value1进入Combiner阶段,其中key1为车牌号,value1为封装了初始化统计次数1、时间戳以及视频名的容器对象;
4)Combiner接收单前视频Split中的Map输出,以相同的key1归并Map输出结果为key1,listvalue1形式进行处理,引入时间戳和阈值判别来有效避免相同车辆在连续帧中出现带来的统计偏差,如果满足效验条件,行车频次加1,反之,不对行车频次进行累加,Combiner输出key1,value2进入Partition阶段,其中key1为车牌号,value2为封装了累计统计次数、视频名的容器对象,Partition阶段根据value2中的视频名进行分区,每个分区对应一个Reduce处理;
5)Reduce接收Partition分配的多个Combiner结果,以相同的key1归并Combiner分析结果为key1,listvalue2形式进行处理,对listvalue2中存在相同视频名的value2中的统计次数进行累加并汇总,对不同视频名的value2中的统计次数进行汇总,最终生成新的key1,value3,其中key1为车牌号,value3为包含了该车牌号在不同视频名下分别出现次数,汇总结果以文本形式写入到HDFS;
经过上述步骤,完成车辆轨迹统计。
2.根据权利要求1所述的一种基于Hadoop和监控视频流的车辆轨迹统计方法,其特征在于,步骤2中,所述的Hadoop视频数据处理接口,是通过结合开源库Xuggler重写Hadoop的记录读取器和Hadoop支持的数据输入输出类型格式,使MapReduce支持对HDFS中的视频类型格式数据的并行处理,具体方法为:
1)重写Hadoop的记录读取器,设计实现RecordReader类的VideoRecordReader类,重写initialize()方法从HDFS上获取视频文件初始化Xuggler解码库,Xuggler解码库将视频文件解码为一系列帧图像,将帧图像作为value,视频名_帧号作为key,重写getCurrentKey()方法、getCurrentValue()方法、nextKeyValue()方法将一系列帧图像以key:视频名_帧号,value:帧元数据形式交由Map处理,value为实现了Writable接口的ImageWritable类型,并需要重写Writable接口中的序列化方法和反序列化方法;
2)重写Hadoop输入输出格式,设计VideoInputFormat类和ResultOutputFormat类,VideoInputFormat类继承自FileInputFormat类,VideoInputFormat类中重写creatRecordReader()方法获支持读取视频数据为一系列key,value的VideoRecordReader类对象,重写isSplitable()方法,返回flase,不对Block进行逻辑切分,根据默认128M大小分配Mapper数量,ResultOutputFormat类继承自FileOutputFormat类,并自定义ResultRecordWrite类,重写write()方法,支持将Reduce执行结果中的车牌号、视频名、累计统计次数以Text形式写出到HDFS,支持将Map执行结果中识别到车牌的视频帧图像以Image形式写出到HDFS。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林电子科技大学,未经桂林电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710464743.8/1.html,转载请声明来源钻瓜专利网。





