异常车辆的检测方法、装置、设备及存储介质
技术领域
本公开实施例涉及图像处理
技术领域
,尤其涉及一种异常车辆的检测方法、装置、设备及存储介质。背景技术
相关技术通常基于深度学习的方法对道路上异常停止的车辆进行检测。但是,由于车辆异常停止的样本比较少,样本标注不够精细等原因,相关技术一般只能利用正常行驶车辆的样本来训练检测模型,并将偏离正常行驶状态的显著行为识别为异常停止行为,然而这种方法很容易将一些正常的行驶行为识别为异常停止行为,而且深度学习的方法只能适用于与训练样本同质的场景中,面对未知的场景准确性较差。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种异常车辆的检测方法、装置、设备及存储介质。
一方面,本公开提供一种异常车辆的检测方法,包括:
获取目标道路的监控视频;
基于所述监控视频进行背景建模处理,得到所述监控视频中至少部分视频帧的背景图像;
对所述背景图像进行车辆检测处理;
将所述背景图像中位于所述目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框。
可选地,所述获取目标道路的监控视频之后,所述方法还包括:
对所述监控视频进行差分掩膜提取处理,得到所述目标道路的掩膜;
所述将所述背景图像中位于所述目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框,包括:
确定所述背景图像中的检测框与所述掩膜的交并比;
将所述交并比大于第一阈值的检测框确定为发生异常停车事件的异常车辆的检测框。
可选地,所述将所述背景图像中位于所述目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框之后,所述方法还包括:
从所述至少部分视频帧的背景图像中,确定出至少一个由背景图像构成的图像序列,其中同一图像序列中的背景图像包括同一异常车辆的检测框;
针对每个图像序列,将所述图像序列的起始时间和结束时间,确定为所述图像序列对应的异常停车事件的起始时间和结束时间,其中所述图像序列对应的异常停车事件是指所述图像序列对应的所述同一异常车辆的异常停车事件。
可选地,所述从所述至少部分视频帧的背景图像中,确定出至少一个由背景图像构成的图像序列,包括:
针对任意两个拍摄间隔小于预设间隔的背景图像,计算其中一个背景图像中的目标检测框与另一个背景图像中的目标检测框的交并比,所述目标检测框是指异常车辆的检测框;
响应于所述其中一个背景图像中的第一目标检测框与所述另一个背景图像中的第二目标检测框的交并比大于第二阈值,则确定所述第一目标检测框和所述第二目标检测框是同一异常车辆的检测框;
将所述其中一个背景图像和所述另一个背景图像加入同一图像序列。
可选地,所述至少一个图像序列中包括第一图像序列和第二图像序列,所述第一图像序列对应于第一异常车辆的异常停车事件,所述第二图像序列对应于第二异常车辆的异常停车事件;
所述针对每个图像序列,将所述图像序列的起始时间和结束时间,确定为所述图像序列对应的异常停车事件的起始时间和结束时间之前,所述方法还包括:
响应于所述第一异常车辆在所述第一图像序列的第一帧中的检测框与所述第二异常车辆在所述第二图像序列的第一帧中的检测框的交并比大于第三阈值,则确定所述第一异常停车事件和所述第二异常停车事件是同一异常停车事件;
将所述第一图像序列和所述第二图像序列合并成一个图像序列。
可选地,所述从所述至少部分视频帧的背景图像中,确定出至少一个由背景图像构成的图像序列之后,所述方法还包括:
针对每个图像序列,对所述监控视频中位于所述图像序列之前的其他视频帧进行车辆检测;
响应于所述其他视频帧中包括所述图像序列对应的所述同一异常车辆的检测框,则从所述目标图像序列中删除所述同一异常车辆的检测框;
响应于所述其他视频帧中不包括所述图像序列对应的所述同一异常车辆的检测框,则执行所述针对每个图像序列,将所述图像序列的起始时间和结束时间,确定为所述图像序列对应的异常停车事件的起始时间和结束时间的步骤。
可选地,所述针对每个图像序列,将所述图像序列的起始时间和结束时间,确定为所述图像序列对应的异常停车事件的起始时间和结束时间之前,所述方法还包括:
针对每个图像序列,基于背景图像与视频帧的对应关系,获取所述图像序列对应的多个视频帧;
对所述多个视频帧进行车辆检测;
基于检测结果,将所述多个视频帧中第一次出现所述同一异常车辆的视频帧确定为目标帧;
删除所述图像序列中拍摄时间早于所述目标帧的部分。
可选地,所述针对每个图像序列,将所述图像序列的起始时间和结束时间,确定为所述图像序列对应的异常停车事件的起始时间和结束时间之后,所述方法还包括:
将起始时间在预设时间内的多个异常停车事件确定为同一异常停车事件;
将所述多个异常停车事件对应的最早起始时间和最晚结束时间,确定为所述同一异常停车事件的起始时间和结束时间。
另一方面,本公开提供一种异常车辆的检测装置,包括:
视频获取单元,用于获取目标道路的监控视频;
背景图像提取单元,用于基于所述监控视频进行背景建模处理,得到所述监控视频中至少部分视频帧的背景图像;
第一车辆检测单元,用于对所述背景图像进行车辆检测处理;
检测框确定单元,用于将所述背景图像中位于所述目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框。
可选地,还包括掩膜提取单元;
所述掩膜提取单元用于对所述监控视频进行差分掩膜提取处理,得到所述目标道路的掩膜;
所述检测框确定单元包括:
第一交并比计算子单元,用于确定所述背景图像中的检测框与所述掩膜的交并比;
检测框确定子单元,用于将所述交并比大于第一阈值的检测框确定为发生异常停车事件的异常车辆的检测框。
可选地,还包括:图像序列构建单元,用于从所述至少部分视频帧的背景图像中,确定出至少一个由背景图像构成的图像序列,其中同一图像序列中的背景图像包括同一异常车辆的检测框;
异常停车事件确定单元,用于针对每个图像序列,将所述图像序列的起始时间和结束时间,确定为所述图像序列对应的异常停车事件的起始时间和结束时间,其中所述图像序列对应的异常停车事件是指所述图像序列对应的所述同一异常车辆的异常停车事件。
可选地,所述图像序列构建单元包括:
第二交并比计算子单元,用于针对任意两个拍摄间隔小于预设间隔的背景图像,计算其中一个背景图像中的目标检测框与另一个背景图像中的目标检测框的交并比,所述目标检测框是指异常车辆的检测框;
检测框关联子单元,用于响应于所述其中一个背景图像中的第一目标检测框与所述另一个背景图像中的第二目标检测框的交并比大于第二阈值,则确定所述第一目标检测框和所述第二目标检测框是同一异常车辆的检测框;
图像序列组合子单元,用于将所述其中一个背景图像和所述另一个背景图像加入同一图像序列。
可选地,所述至少一个图像序列中包括第一图像序列和第二图像序列,所述第一图像序列对应于第一异常车辆的异常停车事件,所述第二图像序列对应于第二异常车辆的异常停车事件;所述装置还包括:
异常停车事件融合单元,用于响应于所述第一异常车辆在所述第一图像序列的第一帧中的检测框与所述第二异常车辆在所述第二图像序列的第一帧中的检测框的交并比大于第三阈值,则确定所述第一异常停车事件和所述第二异常停车事件是同一异常停车事件;
图像序列合并单元,用于将所述第一图像序列和所述第二图像序列合并成一个图像序列。
可选地,所述装置还包括:第二车辆检测单元,用于针对每个图像序列,对所述监控视频中位于所述图像序列之前的其他视频帧进行车辆检测;
检测框删除单元,用于响应于所述其他视频帧中包括所述图像序列对应的所述同一异常车辆的检测框,则从所述目标图像序列中删除所述同一异常车辆的检测框;
所述异常停车事件确定单元,用于在所述其他视频帧中不包括所述图像序列对应的所述同一异常车辆的检测框时,则执行所述针对每个图像序列,将所述图像序列的起始时间和结束时间,确定为所述图像序列对应的异常停车事件的起始时间和结束时间。
可选地,还包括视频帧获取单元、第三车辆检测单元、目标帧确定单元和删除单元:
所述视频帧获取单元,用于针对每个图像序列,基于背景图像与视频帧的对应关系,获取所述图像序列对应的多个视频帧;
所述第三车辆检测单元,用于对所述多个视频帧进行车辆检测;
所述目标帧确定单元,用于基于检测结果,将所述多个视频帧中第一次出现所述同一异常车辆的视频帧确定为目标帧;
所述删除单元,用于删除所述图像序列中拍摄时间早于所述目标帧的部分。
可选地,还包括:异常停车事件合并单元,用于将起始时间在预设时间内的多个异常停车事件确定为同一异常停车事件;以及,将所述多个异常停车事件对应的最早起始时间和最晚结束时间,确定为所述同一异常停车事件的起始时间和结束时间。
再一方面,本公开提供一种计算机设备,包括:
存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,实现如前任一项所述的方法。
再一方面,本公开提供一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,实现如前任一项所述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开提供的异常车辆的检测方法、装置、设备和存储介质,通过采用背景建模的方法对获取到的目标道路的监控视频进行背景建模得到监控视频中的至少部分视频帧的背景图像,再采用车辆识别模型对背景图像进行车辆检测,将背景图像中位于目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框,能够提高异常车辆检测的准确性,另外,由于本公开实施例是根据静止车辆会被保留在背景图像中的特点,将背景图像中的车辆识别为异常车辆的,因此,不需要像现有技术那样采用异常车辆样本和正常行驶车辆样本来训练异常检测模型,因此,不会因为缺少异常车辆样本导致的模型不准确的问题,也不会因为样本中自带的场景信息导致模型只能适用于同质场景的问题,因此,本公开实施例提供的方案,解决了现有技术存在的缺陷,提高了异常车辆识别的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种异常车辆检测系统的结构示意图;
图2是本公开实施例提供的一种异常车辆的检测方法的流程图;
图3是本公开另一实施例提供的异常车辆的检测方法的流程图;
图4是本公开实施例提供的一种监控视频的视频帧图像;
图5是针对图4中的目标道路得到的目标道路的掩膜;
图6是本公开实施例提供的异常车辆的检测方法的部分步骤流程示意图;
图7是本公开一些实施例提供的一种确定图像序列的方法的流程图;
图8是本公开实施例提供的一个图像序列的示意图;
图9是本公开一些实施例提供的异常车辆检测方法的部分流程示意图;
图10是本公开在一些实施例提供的异常车辆的检测方法的部分流程示意图;
图11是本公开一些实施例提供的异常车辆的检测方法的部分流程图;
图12是本公开实施例提供的一种异常车辆的检测装置的结构示意图;
图13是本公开实施例中的一种服务器的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1是本公开实施例提供的一种异常车辆检测系统的结构示意图;如图1所示,异常车辆检测系统100可以包括至少一个图像采集装置101,以及与前述图像采集装置101通信连接的计算机设备102。
图像采集装置101可以安装于目标道路旁侧的设备塔架上或者高层建筑物上,用于对目标道路进行拍摄,得到目标道路的监控视频,其中被图像采集装置101监控的道路称为目标道路,目标道路比如可以是主干道路、车辆交汇路口、交通事故高发路段等,但不局限于这里列举的道路。
计算机设备102用于存储和处理目标道路的监控视频,确定监控视频中发生异常停车事件的异常车辆,其中,异常车辆是指在道路上停车时间超过预设阈值的车辆,比如发生交通事故的车辆等。示例性的,本公开实施中的计算机设备102可以示例性的理解为服务器或者服务器集群等具有存储和图像处理功能的设备。
图2是本公开实施例提供的一种异常车辆的检测方法的流程图,该方法可以示例性的由图1中的计算机设备来执行。如图2所示,在一个实施例中,异常车辆的检测方法可以包括步骤S101-步骤S104。
步骤S101:获取目标道路的监控视频。
其中,目标道路的监控视频可以理解为图像采集装置在某个时间段内采集到的目标道路的视频。目标道路的监控视频包括静止对象和移动对象。其中,静止对象可以包括绿化带、防护栏、车道线和各种道路指示牌,以及在道路上停止时间超过预设阈值的车辆。移动对象可以包括目标道路中的正常行驶的车辆、行人等。
本公开实施例中,计算机设备通过从本地存储器以加载的方式获取目标道路的监控视频,也可以通过从图像采集装置等设备处以下载的方式获取目标道路的监控视频。应当注意的是,本公开实施例获取监控视频的方式并不限于前述的从本地存储器加载,以及从其他设备处下载,还可以是本领域已知的其他方式。
步骤S102:基于监控视频进行背景建模处理,得到监控视频中至少部分视频帧的背景图像。
在监控视频的各个视频帧中,用于表示前述静止对象的像素组成了视频帧的背景图像,用于表示前述移动对象的像素组成了视频帧的前景图像。
基于监控视频进行背景建模处理,得到监控视频中至少部分视频帧的背景图像,是基于监控视频帧中相邻的视频帧的像素进行比较,将相邻视频帧中像素未发生变化的像素确定为背景图像的像素,从而得到背景图像,本实施例中的背景建模方法可以是前向的背景建模方法也可以是后向的背景建模方法,背景建模的方法与相关技术类似,在这里不在赘述。
应当注意的是,本公开实施例采用的背景建模算法并不限于前文提及的前向的或者后向的背景建模算法,也可以采用图像处理领域中已知的各种背景建模算法。
步骤S103:对背景图像进行车辆检测处理。
本公开实施例中,是采用预设的车辆检测模型对背景图像进行车辆检测处理,而得到背景图像中的车辆。其中,背景图像中的车辆即为发生异常停车事件的车辆,由于车辆停止在道路上,因此,在背景建模时,车辆被作为背景保留在背景图像中。
车辆检测模型是采用车辆样本图像训练得到的,用于对图像中的车辆进行识别的模型。在本公开实施例的一个应用中,采用的车辆检测模型可以示例性的理解为CascaderR-CNN模型,但不局限于Cascader R-CNN模型,Cascader R-CNN模型是一个多级目标检测模型,可以避免车辆检测模型训练过程中的过拟合和推理过程中的质量失配问题。
应当注意的,本公开实施例采用的车辆检测模型并不限于Cascader R-CNN模型,在本公开实施例中其他应用中,车辆检测模型也可以是本领域已知的其他模型。
如果采用车辆检测模型检测到背景图像中具有车辆,则其在背景图像上形成一个能够包含车辆的最小尺寸的检测框。在本公开实施例具体应用中,检测框可以是一矩形框。
在本公开一些实施例中,车辆识别模型在识别到车辆的检测框之后,还可以输出该检测框对应为车辆的置信度;实际应用中,可以将预测置信度小于预设阈值的检测框删除,仅保留置信度大于预设阈值的检测框。
步骤S104:将背景图像中位于目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框。
由于背景图像中的对象均为静止对象,如果在背景图像中识出了车辆,则可以确定此车辆为静止车辆。而位于目标道路上的静止车辆可以理解为发生异常停车事件的异常车辆,因此可以将从背景图像中识别出的并且位于目标道路上的车辆的检测框,确定为发生异常停车事件的异常车辆的检测框。
本公开实施例提供的异常车辆的检测方法,通过采用背景建模的方法对获取到的目标道路的监控视频进行背景建模得到监控视频中的至少部分视频帧的背景图像,再采用车辆识别模型对背景图像进行车辆检测,将背景图像中位于目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框,能够提高异常车辆检测的准确性。
相比于将监控视频输入预先训练好的异常车辆识别模型,直接采用异常车辆识别模型识别视频中的异常车辆的方法,本公开实施例提供的异常车辆检测方法克服了异常车辆样本数量少,异常车辆识别模型对未知场景中异常车辆识别能力较差的问题。
图3是本公开另一实施例提供的异常车辆的检测方法的流程图。如图3所示,在本公开另一些实施例中,异常车辆的检测方法包括步骤S201-步骤S206。其中步骤S201-步骤S203的执行方式和有益效果与前述的步骤S101-S103类似,此处仅就步骤S204-步骤S206做具体的描述,其他步骤可以参照前文叙述。
步骤S201:获取目标道路的监控视频。
步骤S202:基于监控视频进行背景建模处理,得到监控视频中至少部分视频帧的背景图像。
步骤S203:对背景图像进行车辆检测处理。
步骤S204:对监控视频进行差分掩膜提取处理,得到目标道路的掩膜。
掩膜(又称为蒙版)是用于框选图像特定区域的选区。目标道路的掩摸是用于框选监控视频各个视频帧中目标道路的掩摸。
在本公开实施例的一些实际应用中,监控视频的各个视频帧除了包括目标道路区域外,还可以包括与目标道路相邻的建筑物区域。相邻的建筑物区域可能有停车场,而停车场中的车辆不是本实施例所称的异常车辆。
本公开实施例中,通过设置目标道路的掩摸,利用目标道路的掩摸排除目标道路外的车辆检测框,继而避免将目标道路以外的车辆识别为异常车辆。
在本公开一个实施例中,对监控视频进行差分掩摸提取处理,可以包括:选取监控视频中的两个视频帧,比较两个视频帧相同位置处的像素,如果相同位置处的像素发生变化,则将此位置确定为目标道路上的位置,从而通过不断分析比对即可确定得到目标道路的掩摸。
示例性的,在本公开的一个应用中,针对监控视频,可以每隔5帧选取一个视频帧作为确定掩摸的视频帧;比较提取出的相邻的两个视频帧的相同位置处的像素,如果相同位置处的像素差异超过预设阈值,则确定位置为目标道路上的位置从而通过不断分析比对即可确定得到目标道路的掩摸。
图4是本公开实施例提供的一种监控视频的视频帧图像;图5是针对图4中的目标道路得到的目标道路的掩膜。如图4所示,视频帧图像中除了包括目标道路401外,还包括目标道路401旁侧的建筑物402、目标道路401旁侧的绿化带403。如图5所示,通过对监控视频中的视频帧进行比较,可以得到目标道路的掩膜404,该掩膜的区域即为目标道路在视频帧中的区域。
应当注意的是,本公开实施例提供的步骤S204可以在步骤S202-S203之前执行,也可以在步骤S202-S203之后执行,或者可以与步骤S202-S203并行执行。
S205:确定背景图像中的检测框与掩膜的交并比。
为了确定背景图像中检测框与掩摸的交并比,需要首先分别确定背景图像中检测框与掩摸的交集和并集,随后再采用交集和并集的比值作为背景图像中检测框和掩摸的交并比。
S206:将交并比大于第一阈值的检测框确定为发生异常停车事件的异常车辆的检测框。
其中,第一阈值可以根据需要进行设定。如果检测框与目标道路的掩膜的交并比大于第一阈值,则表明检测框至少大部分位于目标道路的掩摸中,也就表明车辆位于目标道路中,可以将车辆的检测框确定为发生异常停车事件的异常车辆的检测框。
采用本申请实施例提供的异常车辆检测方法,利用目标道路的掩摸和背景图像中的检测框确定异常车辆的检测框,可以避免将非目标道路区域的车辆识别为异常车辆。
图6是本公开实施例提供的异常车辆的检测方法的部分步骤流程示意图。如图6所示,在本公开一些实施例中,在将背景图像位于目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框后,即执行前述的步骤S101-S104或者步骤S201-S206后,还可以包括步骤S301-S302。
步骤S301:从至少部分视频帧的背景图像中,确定出至少一个由背景图像构成的图像序列。
位于同一图像序列中的背景图像包括同一异常车辆的检测框,并且背景图像按照对应的视频帧的拍摄时间进行排序。
图7是本公开一些实施例提供一种确定图像序列的方法的流程图。如图7所示,本公开一些实施例中,图像序列的确定方法可以包括步骤S3011-S3013。
S3011:针对任意两个拍摄间隔小于预设间隔的背景图像,计算其中一个背景图像中的目标检测框与另一个背景图像中的目标检测框的交并比。
目标检测框是指表示背景图像中异常车辆的检测框。
预设间隔可以根据需要进行设定,本实施例不做具体限定。如果两个背景图像的拍摄间隔小于预设间隔,则可以将两个背景图像中的目标检测框进行交并比计算;如果两个背景图像的拍摄间隔大于或者等于预设间隔,则不对这两个背景图像中的目标检测框进行交并比计算。
在步骤S3011中如果两个背景图像中的目标检测框的交并比越大,表明两个背景图像中的目标检测框的位置重合度越高;交并比越小,表明两个背景图像中的目标检测框的位置重合度越小。
S3012:响应于其中一个背景图像中的第一目标检测框与另一个背景图像中的第二目标检测框的交并比大于第二阈值,则确定第一目标检测框和第二目标检测框是同一异常车辆的检测框。
第二阈值是用于判定两个背景图像中目标检测框是否为同一异常车辆的检测框的数值,第二阈值可以根据需要进行设定。
如果两个背景图像的拍摄间隔小于预设间隔,并且一个背景图像中的第一目标检测框与另一背景图像中第二目标检测框的交并比大于第二阈值,则表征两个目标检测框为同一异常车辆的检测框,否则确定这两个目标检测框不是同一个车辆的检测框。
S3013:将所述其中一个背景图像和所述另一个背景图像加入同一图像序列。
在确定两个背景图像中某两个目标检测框为同一异常车辆的检测框后,则可以将两个背景图像放入到同一图像序列中,以使该图像序列对应于该同一异常车辆的异常停车事件。
图8是本公开实施例提供的一个图像序列的示意图。其中,图8中的每一个帧分别表示了图像序列中的一个背景图像,并且每一帧中均具有同一个异常车辆的检测框;通过将多个背景图像按照时间顺序排列,并将多个背景图像中的检测框进行连接,可以表示出一个异常车辆发生异常停车事件的时空管,通过时空管可以形象地示出异常车辆从发生异常停车事件到异常停车事件结束的过程。
应当注意的是,图8所示的示意图仅是一个示例,在本公开实施例提供的异常车辆的检测方法过程中,可能并不会采用图8所示的方法展示图像序列,而是采用数组的形式表示图像序列;示例性的,数组中可以包括同一异常车辆的检测框在各背景图像中的顶点坐标。
可以理解的是,如果监控视频中包括多个异常车辆,则基于步骤S3011-S3013,可以得到多个异常车辆对应的多个图像序列。随后可以执行步骤S302。
步骤S302:针对每个图像序列,将图像序列的起始时间和结束时间,确定为图像序列对应的异常停车事件的起始时间和结束时间。
因为每个图像序列均对应一个异常车辆的异常停车事件,则将每个图像序列的起始图像帧对应的时间作为图像序列的起始时间,将每个图像序列的结束图像帧对应的时间作为图像序列的结束时间,则可以确定异常车辆的异常停车事件的起始时间和结束时间。
在本公开一些实施例中,步骤S301确定的至少一个图像序列中可以包括第一图像序列和第二图像序列。其中,第一图像序列对应于第一异常车辆的异常停车事件,第二图像序列对应第二异常车辆的异常停车事件。
图9是本公开一些实施例提供的异常车辆检测方法的部分流程示意图,如图9所示,本公开一些实施例提供的异常车辆的检测方法除了包括前述的步骤S301和S302外,在步骤S302之前还可以包括步骤S303-S304。
S303:响应于第一异常车辆在第一图像序列的第一帧中的检测框与第二异常车辆在第二图像序列的第一帧中的检测框的交并比大于第三阈值,则确定第一异常停车事件和第二异常停车事件是同一异常停车事件。
第三阈值是用于判定第一异常车辆和第二异常车辆是否发生碰撞、剐蹭等事故的阈值。
如果第一异常车辆在第一图像序列中的第一帧的检测框和第二异常车辆在第二图像序列中的第一帧的检测框的交并比大于第三阈值,则表明第一异常车辆和第二异常车辆出现了碰撞、剐蹭事故,二者是因为同一事故而出现异常停车,因此可以将第一异常停车事件和第二异常停车事件确定为同一异常停车事件。
S304:将第一图像序列和第二图像序列合并成一个图像序列。
在第一异常停车事件和第二异常停车事件是同一异常停车事件时,可以将第一图像序列和第二图像序列合并为一个图像序列。合并后的图像序列对应于前述所称的同一异常停车事件。
具体的,将第一图像序列和第二图像序列合并为同一图像序列,可以是求取第一图像序列和第二图像序列的并集,并按照图像序列中各背景图像的拍摄顺序对并集中的背景图像进行排序,得到合并后的图像序列。
通过将第一图像序列和第二图像序列合并为同一图像序列,可以使得将同一交通事故的造成的各个异常停车事件作为同一异常停车事件处理,进而方便后续分析异常停车事件的原因和异常停车事件的发生过程。
实际应用中,车辆检测模型可能会将井盖、路牌等静止物体识别为车辆,并根据此类静止物体的检测框构建了图像序列,而此类图像序列并不是真正的用于表征异常停车事件的图像序列。针对这种情况本公开实施例还提供了一种方法用于排除这部分误检。
示例的,图10是本公开在一些实施例提供的异常车辆的检测方法的部分流程示意图。如图10所示,为消除误检,在本公开的一些实施例中,在执行前述的步骤S301后,还可以包括步骤S305-步骤S306。
步骤S305:针对每个图像序列,对监控视频中位于图像序列之前的其他视频帧进行车辆检测。
步骤S305执行时,可以采用前述步骤S103中提及的车辆检测模型,对监控视频中位于图像序列之前的其他视频帧进行车辆检测,以得到其他视频帧中的车辆的检测框。
步骤S306:响应于其他视频帧中包括图像序列对应的同一异常车辆的检测框,则从目标图像序列中删除同一异常车辆的检测框。
在步骤S306中,需要判断其他视频帧中是否包括图像序列所对应的异常车辆的检测框;如果所述其他视频帧中的车辆的检测框与图像序列所对应的异常车辆的检测框的交并比大于预设阈值,则可以判定所述其他视频帧中包括该图像序列所对应的异常车辆的检测框。
在其他视频帧包括图像序列所对应的异常车辆的检测框的情况下,说明该检测框对应的静止对象一直都存在,其并不是异常车辆的检测框而可能是将路牌等禁止物体误检为车辆,因此可以从目标图像序列中删除该检测框,以消除误检。
在异常车辆的检测方法包括步骤S305的情况下,前述的步骤S302具体可以为步骤S3021。
步骤S3021:响应于其他视频帧中不包括图像序列对应的同一异常车辆的检测框,则执行针对每个图像序列,将图像序列的起始时间和结束时间,确定为图像序列对应的异常停车事件的起始时间和结束时间的步骤。
也就是说,如果其他视频帧不包括图像序列所对应的异常车辆的检测框,则可以直接将图像序列的起始时间和结束时间,作为该异常车辆异常停车事件的起始时间和结束时间。
通过执行步骤S305-S306,本公开实施例提供的异常车辆的检测方法可以识别出误检形成的非异常车辆的图像序列,得到更为准确的表征异常车辆的异常停车事件的图像序列。
在本公开的一些实施例提供的异常车辆的检测方法中,如果采用后向的背景建模方法进行背景建模,由于建模算法的原因可能导致异常车辆在监控视频帧对应的背景图像中出现的时间提前,而使得异常车辆的异常停车事件对应的图像序列的起始时间提前。为了解决这一问题,本公开实施例还提供了一种方法来校准异常停车事件的起始时间。
图11是本公开一些实施例提供的异常车辆的检测方法的部分流程图。如图11所示,在本公开的一些实施例中,为了避免异常车辆的异常停车事件对应的图像序列的起始时间相比于真实时间提前,在上述步骤S302之前还可以包括步骤S307-S310。
步骤S307:针对每个图像序列,基于背景图像与视频帧的对应关系,获取图像序列对应的多个视频帧。
在本实施例中每个背景图像均对应监控视频中的一个原始视频帧,所以根据背景图像和视频帧的一一对应关系,可以查找到图像序列中背景图像对应的多个视频帧。
步骤S308:对多个视频帧进行车辆检测。
步骤S308执行时,可以采用前文中提及的车辆检测模型,对图像序列中背景图像对应的视频帧进行车辆检测,以识别出对应视频帧中车辆的检测框。
步骤S309:基于检测结果,将多个视频帧中第一次出现同一异常车辆的视频帧确定为目标帧。
假如,基于图像序列中的5个背景图像确定出对应的5个视频帧,假设在第2个视频帧中第一次出现图像序列对应的异常车辆的检测框,则确定第2个视频帧为目标帧。
步骤S310:删除图像序列中拍摄时间早于目标帧的部分。
由于在目标帧中第一次出现了异常车辆的检测框,也就可以确定在目标帧开始才出现了异常车辆的异常停车事件,因此可以删除图像序列中拍摄时间早于目标帧的部分,提高异常停车事件的起始时间的准确性。
比如在步骤S309的例子中,第2帧是目标帧,则相应的删除图像序列中的第一帧图像,删除后图像序列包括4个背景图像。
在本公开一些实施例中,异常车辆的检测方法在步骤S302之后,还可以包括步骤S311-步骤S312。
步骤S311:将起始时间在预设时间内的多个异常停车事件确定为同一异常停车事件。
实际中,如果目标道路上出现交通事故而产生异常停车事件,后续在预设时间内可能因为在前的异常停车事件而造成道路拥堵等问题,使得出现在后的车辆也发生异常停车事件。因为在后的异常停车事件与在前的异常停车事件具有关联关系,可以将在后的异常停车事件和在前的异常停车事件认定为同一异常停车事件;因此,为了方便对异常停车时间进行分析,本实施例可以将起始时间在预设时间内的多个异常停车事件确定为同一异常停车事件。
步骤S312:将多个异常停车事件对应的最早起始时间和最晚结束时间,确定为同一异常停车事件的起始时间和结束时间。
因为多个异常停车事件可以作为同一异常停车事件,所以可以将多个异常停车事件对应的最早起始事件作为同一异常停车事件的起始时间,而将多个异常停车事件对应的最晚结束事件作为同一异常停车事件的结束时间。
图12是本公开实施例提供的一种异常车辆的检测装置的结构示意图,该检测装置可以被理解为上述计算机设备或者计算机设备中的部分功能模块。如图12所示,该检测装置1200包括:视频获取单元1201、背景图像提取单元1202、第一车辆检测单元1203和检测框确定单元1204。
视频获取单元1201用于获取目标道路的监控视频;背景图像提取单元1202用于基于监控视频进行背景建模处理,得到监控视频中至少部分视频帧的背景图像;第一车辆检测单元1203用于对背景图像进行车辆检测处理;检测框确定单元1204用于将背景图像中位于目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框。
在本公开的一些实施例中,还包括掩膜提取单元;掩膜提取单元用于对监控视频进行差分掩膜提取处理,得到目标道路的掩膜;对应的,检测框确定单元包括第一交并比计算子单元和检测框确定子单元;第一交并比计算子单元用于确定背景图像中的检测框与掩膜的交并比;检测框确定子单元用于将交并比大于第一阈值的检测框确定为发生异常停车事件的异常车辆的检测框。
在本公开一些实施例中,异常车辆的检测装置还包括图像序列构建单元和异常停车事件确定单元。
图像序列构建单元用于从至少部分视频帧的背景图像中,确定出至少一个由背景图像构成的图像序列,其中同一图像序列中的背景图像包括同一异常车辆的检测框;异常停车事件确定单元用于针对每个图像序列,将图像序列的起始时间和结束时间,确定为图像序列对应的异常停车事件的起始时间和结束时间,其中图像序列对应的异常停车事件是指图像序列对应的同一异常车辆的异常停车事件。
在本公开的一些实施例中,图像序列构建单元可以包括第二交并比计算子单元、检测框关联子单元和的图像序列组合子单元;第二交并比计算子单元用于针对任意两个拍摄间隔小于预设间隔的背景图像,计算其中一个背景图像中的目标检测框与另一个背景图像中的目标检测框的交并比,目标检测框是指异常车辆的检测框;检测框关联子单元用于响应于其中一个背景图像中的第一目标检测框与另一个背景图像中的第二目标检测框的交并比大于第二阈值,则确定第一目标检测框和第二目标检测框是同一异常车辆的检测框;图像序列组合子单元用于将其中一个背景图像和另一个背景图像加入同一图像序列。
在本公开的一些实施例中,至少一个图像序列中包括第一图像序列和第二图像序列,第一图像序列对应于第一异常车辆的异常停车事件,第二图像序列对应于第二异常车辆的异常停车事件;在此情况下,异常车辆的检测装置还包括:异常停车事件融合单元和图像序列组合单元。
异常停车事件融合单元,用于响应于第一异常车辆在第一图像序列的第一帧中的检测框与第二异常车辆在第二图像序列的第一帧中的检测框的交并比大于第三阈值,则确定第一异常停车事件和第二异常停车事件是同一异常停车事件;图像序列合并单元,用于将第一图像序列和第二图像序列合并成一个图像序列。
在本公开一些实施例中,所述装置还包括第二车辆检测单元,第二车辆检测单元用于针对每个图像序列,对监控视频中位于图像序列之前的其他视频帧进行车辆检测;对应的,异常车辆的检测装置还包括检测框删除单元和异常停车事件确定单元。
检测框删除单元用于响应于其他视频帧中包括图像序列对应的同一异常车辆的检测框,则从目标图像序列中删除同一异常车辆的检测框;异常停车事件确定单元用于在其他视频帧中不包括图像序列对应的同一异常车辆的检测框时,执行针对每个图像序列,将图像序列的起始时间和结束时间,确定为图像序列对应的异常停车事件的起始时间和结束时间。
在本公开一些实施例中,异常车辆的检测装置还包括视频帧获取单元、第三车辆检测单元、目标帧确定单元和删除单元:视频帧获取单元用于针对每个图像序列,基于背景图像与视频帧的对应关系,获取图像序列对应的多个视频帧;第三车辆检测单元用于对多个视频帧进行车辆检测;目标帧确定单元用于基于检测结果,将多个视频帧中第一次出现同一异常车辆的视频帧确定为目标帧;删除单元用于删除图像序列中拍摄时间早于目标帧的部分。
在本公开一些实施例中,还包括,异常停车事件合并单元,用于将起始时间在预设时间内的多个异常停车事件确定为同一异常停车事件;以及,将多个异常停车事件对应的最早起始时间和最晚结束时间,确定为同一异常停车事件的起始时间和结束时间。
本实施例提供的装置能够执行上述图1-图11中任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
本公开实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时可以实现上述图1-图11中任一实施例的方法。
示例的,图13是本公开实施例中的一种计算机设备的结构示意图。下面具体参考图13,其示出了适于用来实现本公开实施例中的计算机设备1000的结构示意图。
如图13所示,计算机设备1300可以包括处理装置1301(例如中央处理器、图形处理器等),其可以根据存储在只读存储器ROM1302中的程序或者从存储装置1308加载到随机访问存储器RAM1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有计算机设备1300操作所需的各种程序和数据。处理装置1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
通常,以下装置可以连接至I/O接口1305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1307;包括例如磁带、硬盘等的存储装置1308;以及通信装置1309。通信装置1309可以允许计算机设备1300与其他设备进行无线或有线通信以交换数据。虽然图13示出了具有各种装置的计算机设备1300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1309从网络上被下载和安装,或者从存储装置1308被安装,或者从ROM 1302被安装。在该计算机程序被处理装置1301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、计算机设备可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述计算机设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该计算机设备执行时,使得该计算机设备:获取目标道路的监控视频;基于监控视频进行背景建模处理,得到监控视频中至少部分视频帧的背景图像;对背景图像进行车辆检测处理;将背景图像中位于目标道路上的检测框确定为发生异常停车事件的异常车辆的检测框。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或计算机设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本公开实施例还提供一种计算机可读存储介质,存储介质中存储有计算机程序,当计算机程序被处理器执行时可以实现上述图1-图11中任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于视频压缩域的多车测速方法