发明内容
针对现有技术中的缺陷,本发明提供一种车辆徘徊绕圈异常行为的检测方法、***、终端及介质,能自动检测到安保区域及周边徘徊绕圈的车辆。
第一方面,本发明实施例提供的车辆徘徊绕圈异常行为的检测方法,包括:获取监控设备拍摄的过车数据,所述监控设备分别设置在安保区域的东、南、西、北四个方位;
对过车数据进行处理,把每条过车数据设置数据标识,以消息队列的形式形成数据流,对所述监控设备设置设备标识,并将设备标识存入python的第一列表,按照监控设备的安装方位对监控设备进行分组,将监控设备分组数据记录到python的第一字典中,通过redis模块获取消息队列中的数据流,对数据流进行流式计算得到实时结果流;
从所述实时结果流中筛选出经过所有监控设备的所有过车信息,得到第一数据;
设定筛选条件,所述筛选条件为同一车辆经过各个方位的监控设备的阈值,从第一数据中筛选出符合筛选条件的含有车辆信息存入第二列表中;
在第二列表中进行循环遍历,生成第二字典,所述第二字典以设备标号为键,该设备标号对应的车辆经过次数为值;
对所述第一字典进行循环遍历,对第二字典进行循环遍历,生成第三字典,所述第三字典以设备分组为键,以车辆经过对应组内监控设备的总次数为值;
根据第三字典的数据得到在设定时间内经过四个不同方位的监控设备的车辆为徘徊绕圈异常行为车辆。
第二方面,本发明实施例提供的车辆徘徊绕圈异常行为的检测***,包括数据获取模块和服务器,
所述数据获取模块用于获取监控设备拍摄的过车数据;
所述服务器包括过车数据处理单元、过车信息筛选单元、第一数据处理单元、第二数据处理单元、第三数据处理单元和异常行为判断单元;
所述过车数据处理单元对过车数据进行处理,把每条过车数据设置数据标识,以消息队列的形式形成数据流,对所述监控设备设置设备标识,并将设备标识存入python的第一列表,按照监控设备的安装方位对监控设备进行分组,将监控设备分组数据记录到python的第一字典中,通过redis模块获取消息队列中的数据流,对数据流进行流式计算得到实时结果流;
所述过车信息筛选单元从所述实时结果流中筛选出经过所有监控设备的所有过车信息,得到第一数据;
所述第一数据处理单元用于设定筛选条件,所述筛选条件为同一车辆经过各个方位的监控设备的阈值,从第一数据中筛选出符合筛选条件的含有车辆信息存入第二列表中;
所述第二数据处理单元在第二列表中进行循环遍历,生成第二字典,所述第二字典以设备标号为键,该设备标号对应的车辆经过次数为值;
所述第三数据处理单元对所述第一字典进行循环遍历,对第二字典进行循环遍历,生成第三字典,所述第三字典以设备分组为键,以车辆经过对应组内监控设备的总次数为值;
所述异常行为判断单元根据第三字典的数据得到在设定时间内经过四个不同方位的监控设备的车辆为徘徊绕圈异常行为车辆。
第三方面,本发明实施例提供的一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述方法实施例所述的方法步骤。
第四方面,本发明实施例提供的一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述方法实施例描述的方法步骤。
本发明的有益效果:
本发明实施例提供的一种车辆徘徊绕圈异常行为检测方法、***、终端及介质,采用大数据的分析方法对特定安保区域周边徘徊绕圈车辆进行针对性检测,能自动检测出在安保区域周边异常徘徊绕圈的车辆。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1所示,示出了本发明第一实施例所提供的车辆徘徊绕圈异常行为的检测方法的流程图,该方法包括:
S1:获取监控设备拍摄的过车数据,所述监控设备分别设置在安保区域的东、南、西、北四个方位。
S2:对过车数据进行处理,把每条过车数据设置数据标识,以消息队列的形式形成数据流,对所述监控设备设置设备标识,并将设备标识存入python的第一列表,按照监控设备的安装方位对监控设备进行分组,将监控设备分组数据记录到python的第一字典中,通过redis模块获取消息队列中的数据流,对数据流进行流式计算得到实时结果流。
具体地,对过车数据进行处理的具体方法包括:对过车数据进行识别和清洗,以消息队列的形式形成数据流。
S3:从所述实时结果流中筛选出经过所有监控设备的所有过车信息,得到第一数据。
具体地,步骤S3的具体实现方法包括:将数据流中的每条数据中的设备标识与第一列表中的设备标识进行比较,若设备标识一致,则说明该条过车数据中的车辆经过该监控设备区域;
将所述过车数据以字符串的数据类型记录到redis模块中,其中,键为车辆的车牌号码转base64数据的唯一标识,值为设备标识,并设置该条过车数据在redis模块中的存活时间。
通过步骤S3,将所有经过监控设备所在的卡口的所有过车信息从数据流中筛选出来。
S4:设定筛选条件,所述筛选条件为同一车辆经过各个方位的监控设备的阈值,从第一数据中筛选出符合筛选条件的含有车辆信息存入第二列表中。
S5:在第二列表中进行循环遍历,生成第二字典,所述第二字典以设备标号为键,该设备标号对应的车辆经过次数为值。
S6:对所述第一字典进行循环遍历,对第二字典进行循环遍历,生成第三字典,所述第三字典以设备分组为键,以车辆经过对应组内监控设备的总次数为值。
S7:根据第三字典的数据得到在设定时间内经过四个不同方位的监控设备的车辆为徘徊绕圈异常行为车辆。
以下采用一个具体的实例对上述实施例进行详细的说明:
安防***包括12个监控设备,设备1、设备2、设备3……设备12,12个监控设备设置在安保区域周边的东南西北四个方位,即分为四个组,每个组有3个监控设备。为了方便数据管理,在获取监控设备拍摄的过车数据,在进行数据清洗的时候对每条数据生成一个唯一标识,即数据标识(数据ID),每个设备有自己的设备ID。本实施例是基于python实现的,把12个设备的ID存入python的第一列表中,列表是python中最基本的数据结构,并将设备的分组数据积累到python的第一字中,字典是python提供的一种常见的数据结构,通过python的redis模块获取到消息队列中的数据流,对数据流进行流式计算得到实时结果流。
将实时结果流中每条数据中的设备ID与第一列表中的设备ID进行比较,如果数据中的设备ID与第一列表中的设备ID中的某一个ID一致,则说明该过车数据中的车辆经过了设备ID所在的这个卡口,如:数据中的设备ID与设备3的ID一致,则说明该过车数据中的车辆经过了设备3所在的卡口。假设本次过车数据的车牌号码为京A12345,此时将该过车信息以字符串(一个键key对应一个值value)的数据类型记录进redis模块中,其中,键为该车辆的车牌号码转base64数据的唯一标识(base64是网络上最常见的用于传输8Bit字节码的编码方式之一),值为该设备ID,同时设置本条数据在redis模块中的存活时间为9600s,目的是为了统计这个时长内的徘徊绕圈行为。
设定同一个车辆经过各个方位的监控设备的次数阈值,本实施例阈值设置为5,即京A12345这一车辆被设备1至设备12拍摄了最少5次。从redis模块中取出所有包含经A12345转base64的键放进第二列表中,如果键的数量大于5,则认为该车辆在安保区域周边徘徊,则继续进行后面的计算步骤,否则跳过后面的计算步骤。
在第二列表中进行循环遍历,注意取出redis模块里面每个键对应的值,生成第二字典,第二字典的键为设备ID,值为该设备ID对应的京A12345过车次数。这样就能统计出京A12345在安保区域周边这12个设备中共经过了几个设备及每个设备经过了多少次。
对第一字典进行循环遍历,将第二字典进行循环遍历,生成第三字典,第三字典的键为第一字典中四个设备组的键,值为京A12345经过对应组内设备的总次数。
根据第三字典可以知道车辆京A12345在9600s内共经过几个点位组,如果经过四个点位组(即经过每个组中的任一监控设备),则可以认为该车辆在安保区域周边绕圈。应用mysql数据库记录下本条过车数据,即为徘徊绕圈异常行为车辆。
本发明实施例提供的一种车辆徘徊绕圈异常行为检测方法,采用大数据的分析方法对特定安保区域周边徘徊绕圈车辆进行针对性检测,能自动检测出在安保区域周边异常徘徊绕圈的车辆。
在上述的第一实施例中,提供了一种提供的车辆徘徊绕圈异常行为的检测方法,与之相对应的,本申请还提供一种提供的车辆徘徊绕圈异常行为的检测***。请参考图2,其为本发明第二实施例提供的一种提供的车辆徘徊绕圈异常行为的检测***的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的***实施例仅仅是示意性的。
如图2所示,示出了本发明第二实施例提供的车辆徘徊绕圈异常行为的检测***的结构框图,该***包括数据获取模块和服务器,所述数据获取模块用于获取监控设备拍摄的过车数据。监控设备设置有12个,在安保区域的东、南、西、北各设有3个监控设备。
所述服务器包括过车数据处理单元、过车信息筛选单元、第一数据处理单元、第二数据处理单元、第三数据处理单元和异常行为判断单元。
所述过车数据处理单元对过车数据进行处理,把每条过车数据设置数据标识,以消息队列的形式形成数据流,对所述监控设备设置设备标识,并将设备标识存入python的第一列表,按照监控设备的安装方位对监控设备进行分组,将监控设备分组数据记录到python的第一字典中,通过redis模块获取消息队列中的数据流,对数据流进行流式计算得到实时结果流。
所述过车信息筛选单元从所述实时结果流中筛选出经过所有监控设备的所有过车信息,得到第一数据。
所述第一数据处理单元用于设定筛选条件,所述筛选条件为同一车辆经过各个方位的监控设备的阈值,从第一数据中筛选出符合筛选条件的含有车辆信息存入第二列表中。
所述第二数据处理单元在第二列表中进行循环遍历,生成第二字典,所述第二字典以设备标号为键,该设备标号对应的车辆经过次数为值。
所述第三数据处理单元对所述第一字典进行循环遍历,对第二字典进行循环遍历,生成第三字典,所述第三字典以设备分组为键,以车辆经过对应组内监控设备的总次数为值。
所述异常行为判断单元根据第三字典的数据得到在设定时间内经过四个不同方位的监控设备的车辆为徘徊绕圈异常行为车辆。
在本实施例中,过车数据处理单元对过车数据进行处理的具体方法为:对过车数据进行识别和清洗,在清洗时对每条数据设置数据标识。
在本实施例中,第一数据处理单元得到第一数据的具体方法包括:
将数据流中的每条数据中的设备标识与第一列表中的设备标识进行比较,若设备标识一致,则说明该条过车数据中的车辆经过该监控设备区域;
将所述过车数据以字符串的数据类型记录到redis模块中,其中,键为车辆的车牌号码转base64数据的唯一标识,值为设备标识,并设置该条过车数据在redis模块中的存活时间。
本发明实施例提供的一种车辆徘徊绕圈异常行为检测***,采用大数据的分析方法对特定安保区域周边徘徊绕圈车辆进行针对性检测,能自动检测出在安保区域周边异常徘徊绕圈的车辆。
如图3所示,示出了本发明第三实施例提供的一种智能终端的结构框图,该终端包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一实施例描述的方法。
应当理解,在本发明实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备可以包括显示器(LCD等)、扬声器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器、输入设备、输出设备可执行本发明实施例提供的方法实施例所描述的实现方式,也可执行本发明实施例所描述的***实施例的实现方式,在此不再赘述。
在本发明还提供一种计算机可读存储介质的实施例,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执上述第一实施例描述的方法。
所述计算机可读存储介质可以是前述实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。