高空抛物检测方法和装置、设备及计算机存储介质
技术领域
本公开涉及计算机视觉领域,尤其涉及一种高空抛物检测方法和装置、设备、计算机存储介质。
背景技术
近年来,随着城镇化率的提升,高楼越来越多,高空抛物带来的危险也越来越被重视。高空抛物检测作为智能视频监控系统中的一项重要技术,通过对建筑物楼面监控视频进行分析,检测抛落物体,以实现在对城市高层建筑物的楼面进行布防,对可能出现的高空抛物事件进行实时报警。
发明内容
本公开实施例提供一种高空抛物检测方法和装置、设备,及计算机存储介质。
本公开的技术方案是这样实现的:
本公开实施例提供一种高空抛物检测方法,所述方法包括:
根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像,并通过预设光流模型生成所述相邻的两张待测图像对应的光流图像;从所述光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中所述抛落物体的中心点位置坐标;根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹;基于所述运动轨迹执行高空抛物检测处理。
这样,一方面采用基于深度学习构建的光流模型生成稠密光流图,以实现对运动物体进行检测,不仅鲁棒性好、精度高,而且耗时更短、噪声更少;另一方面,在使用预设光流模型进行运动物体检测的基础上,基于鲁棒的单帧加多帧的后处理方法,在对存在干扰物的单帧进行过滤,找出存在抛落物体的单帧图像,去除单帧误检之后,结合多帧上的抛落物位置信息进行轨迹复原和高空抛物事件的检测。
上述方法中,所述从所述光流图像中确定存在抛落物体的待测光流图像,包括:
对于任一光流图像,生成所述任一光流图像对应的二值图像;其中,所述二值图像包括第一像素值的前景运动物体和第二像素值的背景非运动物体;响应于所述前景运动物体在所述二值图像中的像素占比小于或等于预设占比阈值,确定所述任一光流图像为所述存在抛落物体的待测光流图像。
上述方法中,所述生成所述任一光流图像对应的二值图像,包括:
对于任一光流图像,对所述任一光流图像进行单通道灰度转换处理,得到所述任一光流图像对应的单通道灰度图像;对所述单通道灰度图像进行归一化处理,得到所述任一光流图像对应的归一化后灰度图;对所述归一化后灰度图进行二值化处理,得到所述任一光流图像对应的所述二值图像。
这样,可以通过对当前光流图像进行单帧二值化处理,并基于前景运动物体在二值化图像中的像素数目占比对噪声过大或者异常的光流图像进行过滤,确定出存在抛落物体的光流图,从而提高高空检测处理的精度和速度。
上述方法中,所述确定各待测光流图像中所述抛落物体的中心点位置坐标,包括:
对于任一待测光流图像,获取所述前景运动物体在所述二值图像中的初始位置坐标集合;
基于预设聚类算法和所述初始坐标集合对所述任一待测光流图像中的所述前景运动物体进行分类处理,得到至少一个运动物体和各运动物体分别对应的坐标子集;对于任一运动物体,计算所述任一运动物体的坐标子集对应的坐标平均值,并将所述坐标平均值确定为所述任一运动物体的所述中心点位置坐标;确定所述任一待测光流图像对应的任一归一化后灰度图中,所述任一运动物体的中心点位置坐标处的目标像素值;将所述目标像素值最大的运动物体确定为所述抛落物体,并将所述目标像素值最大的运动物体对应的中心点位置坐标确定为所述抛落物体的所述中心点位置坐标。
这样,通过位置聚类算法,取最大光流幅值对应的类簇作为抛落物位置,能够对图像中的干扰物进行有效过滤,提高高空抛物检测的精度。
上述方法中,所述根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹之前,所述方法还包括:从所述各待测光流图像中,确定所述抛落物体对应的抛物事件的起始待测光流图像至结束待测光流图像;
所述根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹,包括:按照时间先后顺序对所述抛物事件中各待测光流图像中的所述抛落物体的中心点位置坐标进行插值处理,获得所述抛落物体的运动轨迹。
上述方法中,所述待测光流图像至少包括第一图像和第二图像,第一图像为第一抛物事件的当前结束待测光流图像;所述第一图像和所述第二图像为连续两帧待测光流图像;
所述从所述各待测光流图像中,确定所述抛落物体对应的抛物事件的起始待测光流图像至结束待测光流图像,包括:计算所述第二图像与所述第一图像之间的帧间隔值;响应于所述帧间隔值小于或者等于预设间隔阈值,将所述第二图像更新为所述第一抛物事件的所述结束待测光流图像;响应于所述帧间隔值大于所述预设间隔阈值,将所述第二图像确定为第二抛物事件的起始待测光流图像。
这样,可以基于帧间隔差值可以确定出不同待测运动事件的开始帧和结束帧,以对不同待测运动事件进行准确划分,提高高空抛物检测处理的精度。
上述方法中,所述基于所述运动轨迹执行高空抛物检测处理,包括:对所述抛落物体的运动轨迹执行直线拟合处理,得到所述运动轨迹对应的拟合后直线,并确定所述拟合后直线与竖直方向的夹角;基于所述抛物事件中各待测光流图像中的所述抛落物体的中心点位置坐标,从对应的归一化后灰度图像中确定中心点位置像素值,并对各中心点位置像素值进行累加处理,得到像素累加值;对所述抛物事件中,所述起始待测光流图像中所述抛落物体的中心点位置坐标与所述结束待测光流图像中所述抛落物体的中心点位置坐标进行纵坐标的差值运算,获得坐标差值;基于所述拟合后直线与竖直方向的夹角、所述像素累加值以及所述坐标差值执行所述高空抛物检测处理。
上述方法中,所述基于所述拟合后直线与竖直方向的夹角、所述像素累加值以及所述坐标差值执行所述高空抛物检测处理,包括:响应于所述拟合后直线与竖直方向的夹角小于预设角度阈值、所述像素累加值小于所述预设像素阈值、以及所述坐标差值大于预设高度阈值,确定所述抛落物体为高空抛落物体,且对应的所述抛物事件为高空抛物事件。
这样,基于事件检测方法能够在结合多帧上的抛落物体的检测信息进行轨迹完整还原之后,基于该运动轨迹实现对高空抛物事件的精准判定。
上述方法中,所述高空抛物检测方法还包括:获取初始图像,并基于预设多边形轮廓从所述初始图像中确定目标检测区域;基于所述目标检测区域生成最小检测边框,并基于所述最小检测边框对所述初始图像进行图像分割处理,得到所述待测图像。
这样,可以降低对抛落物体误检的负面影响,且减轻图像后处理任务量,进一步加快高空抛物检测处理的速度。
本公开实施例提供一种高空抛物检测装置,包括:
读取单元,配置为根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像;
生成单元,配置为通过预设光流模型生成所述相邻的两张待测图像对应的光流图像;
确定单元,配置为从所述光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中所述抛落物体的中心点位置坐标;
确定单元,还配置为根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹;
处理单元,配置为基于所述运动轨迹执行高空抛物检测处理。
本公开实施例提供一种高空抛物检测设备,所述高空抛物检测设备包括处理器、存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如上所述的高空抛物检测方法。
本公开实施例提供一种计算机可读存储介质,其上存储有程序,应用于高空抛物检测设备中,所述程序被处理器执行时,实现如上所述的高空抛物检测方法。
本公开实施例提出的技术方案,高空抛物检测设备可以根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像,并通过预设光流模型生成相邻的两张待测图像对应的光流图像;从光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中抛落物体的中心点位置坐标;根据各待测光流图像中抛落物体的中心点位置坐标确定抛落物体的运动轨迹;基于运动轨迹执行高空抛物检测处理。如此,本公开一方面采用基于深度学习构建的光流模型生成稠密光流图,以实现对运动物体进行检测,不仅鲁棒性好、精度高,而且耗时更短、噪声更少;另一方面,在使用预设光流模型进行运动物体检测的基础上,本公开还提出了鲁棒的单帧加多帧的后处理方法,在对存在干扰物的单帧进行过滤,找出存在抛落物体的单帧图像,去除单帧误检之后,结合多帧上的抛落物位置信息进行轨迹复原和高空抛物事件检测,进一步提高了高空抛物检测的效率和精度。
附图说明
图1为本公开实施例提出的高空抛物检测方法的实现流程示意图一;
图2为本公开实施例提出的高空抛物检测方法的实现流程示意图二;
图3为本公开实施例提出的抛落物体的运动轨迹示意图;
图4为本公开实施例提出的高空抛物检测方法的实现流程示意图三;
图5为本公开实施例提出的高空抛物检测方法的实现流程示意图四;
图6为本公开实施例提出的高空抛物检测方法的实现流程示意图五;
图7为本公开实施例提出的高空抛物检测方法的实现流程示意图六;
图8为本公开实施例提出的高空抛物检测方法的实现流程示意图七;
图9为本公开实施例提出的高空抛物检测方法的实现流程示意图八;
图10为本公开实施例提出的高空抛物检测方法的实现流程示意图九;
图11为本公开实施例提出的高空抛物检测方法的场景示意图;
图12为本公开实施例提出的高空抛物检测装置的组成结构示意图;
图13为本公开实施例提出的高空抛物检测设备的组成结构示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
近年来,随着城镇化率的提升,高楼越来越多,高空抛物带来的危险也越来越被重视。高空抛物检测作为智能视频监控系统中的一项重要技术,通过对建筑物楼面监控视频进行分析,检测抛落物体,以实现在对城市高层建筑物的楼面进行布防,对可能出现的高空抛物事件进行实时报警。
具体的,高空抛物检测依赖于对图像中运动物体的检测,相关技术中常利用帧间差分法或者背景差分法进行运动物体的检测。
其中,帧间差分法依据的原则是:当视频中存在移动物体的时候,相邻帧(或相邻三帧)之间在灰度上会有差别,求取两帧图像灰度差的绝对值,则静止的物体在差值图像上表现出来全是0,而移动物体特别是移动物体的轮廓处由于存在灰度变化为非0,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能,即相邻帧间差分法直接对相邻的两帧图像做差分运算,并取差分运算的绝对值构成移动物体。
虽然该帧间差分法可以得到运动目标的外轮廓、方法简单且运算复杂度小,但是存在摄像头必须固定、鲁棒相差以及精度较低的缺陷,一般仅适用于简单的实时运动检测。
其中,背景差分法其基本原理是将图像序列中的当前帧和已经确定好或实时获取的背景参考模型(背景图像)做减法,找不同,计算出与背景图像像素差异超过一定阈值的区域确定为运动区域,从而来确定运动位置、轮廓、大小等特征。
该背景差分法可以得到运动目标的整个区域,优势是速度快、准确,但鲁棒性较差、摄像头必须固定,并且难以利用帧间信息、图像后处理比较困难,尤其光照弱或雨雪天气受影响较大。
为了克服上述帧间差分法和背景差分法存在的缺陷,相关技术中进一步提出了基于光流法的运动物体检测,如应用光流约束方程的算法、传统的(Lucas Kanade,KL)算法,该光流法主要利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性,根据上一帧与当前帧之间的对应关系,计算得到相邻帧之间物体的运动信息。
虽然在它能检测运动目标的整个区域,适用于摄像机静止和运动情况、鲁棒性好、精度高,但大多数的光流计算方法计算量巨大,结构复杂,导致计算耗时较高,并且难以同时保障速度和精度。
可见,目前在海量视频数据下,传统的高空抛物检测方法已难以满足高空抛物检测在速度和精度上的高要求。鉴于此,如何保障高空抛物检测在速度和精度上的高要求是亟待解决的问题,是本公开实施例所要讨论的内容,下面将结合以下具体实施例进行阐述。
本公开实施例提供一种高空抛物检测方法和装置、设备,及计算机存储介质,一方面采用基于深度学习构建的光流模型生成稠密光流图,以实现对运动物体进行检测,不仅鲁棒性好、精度高,而且耗时更短、噪声更少;另一方面,在使用预设光流模型进行运动物体检测的基础上,本公开还提出了鲁棒的单帧加多帧的后处理方法,在对存在干扰物的单帧进行过滤,找出存在抛落物体的单帧图像,去除单帧误检之后,结合多帧上的抛落物位置信息进行轨迹复原和高空抛物事件的检测,进一步提高了高空抛物检测的效率和精度。
本公开实施例提出的高空抛物检测方法应用于高空抛物检测设备中。下面说明本公开实施例提出的高空抛物检测设备的示例性应用,本公开实施例提出的高空抛物检测设备可以实施为手机终端、笔记本电脑,平板电脑,台式计算机,服务器、以及各种工业设备等。
下面,将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
本公开一实施例提供了一种高空抛物检测方法,图1为本公开实施例提出的高空抛物检测方法的实现流程示意图一,如图1所示,在本公开的实施例中,执行高空抛物检测的方法可以包括以下步骤:
S100、根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像,并通过预设光流模型生成相邻的两张待测图像对应的光流图像。
应理解,在本公开实施例中,可以是对历史发生的事件进行高空抛物检测处理,也可以是对当前发生的事件实时进行高空抛物检测处理。
在一些实施例中,待测图像指需要进行运动物体检测的图像。其中,该图像可以是实时采集的,也可以是本地存储的。
在一些实施例中,基于不同配置的图像采集监控设备,上述待测图像可以是RGB彩色图像,也可以是灰度图像,或者还可以是其他传感器影像数据(如红外影像)。
其中,高空抛物检测设备可以配置图像采集监控设备,如摄像头,可以通过该摄像头实时采集获得待测图像;或者,将摄像头历史采集的一段视频存储在本地,可以从本地读取并分析视频流,拿到待测图像。
其中,图2为本公开实施例提出的高空抛物检测方法的实现流程示意图二,如图2所示,获取待测图像的方法可以包括以下步骤:
S101、获取初始图像,并基于预设多边形轮廓从初始图像中确定目标检测区域。
应理解,对于任何图像采集监控设备,其能够采集的图像范围内可能包括目标监控对象(如楼宇)以及楼下的绿化或者固定设备,例如灯杆和数目。其中,尤其树木等绿化设施会对运动物体的检测结果带来一定的影响,其影响可表现为落叶容易被判断为高空抛落物,且对图像后处理带来额外的处理任务,减慢高空抛物检测处理的速度。
因此,在本公开实施例中,可以对每个图像采集监控设备的监控画面进行分析,标定出没有遮挡物的区域作为目标监控对象(如楼宇)的监控区域,进而在进行图像后续分析时,仅针对该监控区域进行分析,忽略其他非监控区域的图像内容,加快高空抛物检测处理的速度。
在一些实施例中,初始图像指通过图像采集监控设备实时采集的监控范围内的图像,或者本地历史存储的监控范围内的视频。
在本公开实施例中,可以先人工确定出一多边形轮廓C即预设多边形轮廓,然后通过该预设多边形轮廓从初始图像中标定出感兴趣的区域R作为目标检测区域,忽略掉初始图像中其他存在干扰的图像内容。
这里,高空抛物检测设备可以基于预设多边形轮廓对初始图像进行二值化处理,将预设多边形轮廓对应的目标检测区域的图像像素先设置为1,目标检测区域以外的图像像素设置为0,然后将该二值化图像与初始图像进行像素点乘,使得目标检测区域的图像保留原始像素值,而该区域以外的图像像素全为0,以此便确定出初始图像中存在的目标检测区域。
可见,除了选中的目标抛落物区域以外,其他区域像素均为0,得到的目标检测区域能够最大的覆盖目标监控对象(如楼宇),即最大的覆盖抛落物体的潜在运动轨迹,同时也避开了树木、天空、灯杆以及一些其他干扰物的影响。
S102、基于目标检测区域生成最小检测边框,并基于最小检测边框对初始图像进行图像分割处理,得到待测图像。
应理解,为了最大的覆盖抛落物体的潜在运动轨迹,实际情况下的目标抛落物可能为不规则的多边形,那么在模型输入之前,需要先对目标抛落物区域进行规则化。其中,可以生成该目标抛落物区域对应的Bounding box最小检测框。
其中,可以取目标抛落物区域的边缘位置坐标生成一最小检测框。可以是取目标抛落物区域的最左边边缘坐标x1、最右边边缘坐标x2、最上边边缘坐标y1以及最下边边缘坐标y2,进而生成最小边框(x1,y1,x2,y2)。
在本公开实施例的一实施方式中,可以基于该最小检测框对初始图像进行图像分割处理,即图像画面裁剪,进而获得待测图像。
可见,在本公开实施例中,基于S101a-S101b可以降低对抛落物体误检的负面影响,且减轻图像后处理任务量,进一步加快高空抛物检测处理的速度。
在本公开实施例中,预设光流模型为基于深度学习技术,通过卷积神经网络和循环神经网络,构建并训练成的一个高精度、且具有快推理速度的模型。该光流模型的输入为相邻两帧待测图像,输出为能够反应运动物体运动速度和方向的光流图,以实现对抛落图像中运动物体的检测。
在一些实施例中,光流图像为反应运动物体的运动速度和运动方向的图像,为了确定出视频流中可能存在的运动物体,可以基于视频流中相邻帧生成光流图,能够反应运动物体在前一帧图像到第二帧图像的点的移动。可见,基于光流图可以找出所有存在的运动物体。
在本公开实施例的一实施方式中,可以按照图像采集的时间顺序,依次将经上述S101a-S101b处理得到的多帧待测图像中的每相邻两帧待测图像构成一图像样本对,如图像样本对(Ik,Ik+1),然后将其图像样本对输入预设光流模型,获得用于反映运动物体的稠密光流图,即通过该预设光流模型生成相邻两张待测图像对应的光流图像。
这里,可以使用以下公式表示当前光流图像:
fk=(uk,vk) (1)
其中,公式(1)中,uk表征运动物体竖直方向上的运动速度,vk表征水平方向上的运动速度,k表示图像的帧排序值,如第k帧光流图像。
在一些实施例中,如果是对历史发生的事件进行高空抛物检测处理,那么可以先对本地存储的历史视频中的每一帧图像执行S101a-S101b,获得与每帧图像对应的待测图像,然后分批读取图像分割后获得的待测图像,基于图像采集时间依次将前后相邻两帧待测图像构建图像样本对,并输入预设光流模型进行运动物体检测,以生成每相邻的两张待测图像对应的光流图像。相应的,如果是对当前正在发生的事件进行高空抛物检测处理,那么按照采集时间实时执行S101a-S101b,获得待测图像,并实时将相邻两帧待测图像输入预设光流模型进行运动物体检测,以生成每相邻的两张待测图像对应的光流图像。
S110、从光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中抛落物体的中心点位置坐标。
可以理解的是,高空抛物的场景其实是有很多的,诸如白天、黑夜、下雨等不同的自然条件影响抛落物体的检测精度,同时还有一些自然的物体,如摇摆的树叶、飞行的鸟,活动的人等都会对抛落物体的准确检测造成影响。因此为了克服检测过程中其他非高空抛落的运动物体对高空抛物检测造成的检测误差,在本公开实施例中,在基于预设光流模型生成相邻两张待测图像对应的光流图像之后,可以利用单帧后处理方法对非高空抛落物体的干扰图像或者异常图像进行过滤,获得存在真正的抛落物体、且噪声较小的图像,降低高空抛物检测的误检率。
应理解,如果当前光流图像中的运动物体种类过多,那么表明图像中的噪声过多,或者当前光流图像中运动物体的运动响应强度过大,那么表明该帧图像出现异常,如鸟从镜头前飞过,这类图像对抛落物体检测造成的误检负面影响加大,那么该类光流图像在进行高空抛落检测处理中的作用不大,且会拖慢高空检测处理的速度。
因此,在本公开实施例中,可以对获得的光流图像进一步分析处理,将确定为噪声过大、运动物体种类过多的当前光流图像或者存在异常的光流图像进行过滤,筛选出当存在抛落物体的待测光流图像。
在本公开实施例的一实施方式中,可以采用单帧二值化的方法对当前光流图像是否存在真正的抛落物体进行确定。
在一些实施例中,对于确定出的存在抛落物体的任一测光流图像,可以继续确定出任一待测光流图像中抛落物体的中心点位置坐标。其中,可以引入位置聚类方法对抛落物体的中心点位置坐标进行确定。
按照S100-S110的方法可以对实时采集的待测图像依次进行光流图像生成以及对应的光流图像中是否存在抛落物体以及确定抛落物体在待测光流图像中的中心点位置坐标等过程的重复处理,可以获得多帧待测光流图像以及抛落物体在各待测光流图像中的中心点位置坐标。
S120、根据各待测光流图像中抛落物体的中心点位置坐标确定抛落物体的运动轨迹。
S130、基于运动轨迹执行高空抛物检测处理。
在本公开实施例中,可以基于多帧后处理方法进行抛落物体的轨迹还原,其中,可以基于各待测光流图像中抛落物体的中心点位置坐标进行抛落物体运动轨迹的还原。
其中,由于各待测光流图像中抛落物体的中心点位置坐标都是独立单一的,可以先将各待测光流图像中抛落物体的中心点位置坐标,按照各待测光流图像的生成时间顺序进行插值处理,进而将抛落物体在各待测光流图像中的中心点位置坐标映射在一张平面图像上,并对该抛落物体的各中心点位置坐标进行连接,便形成抛落物体对应的运动轨迹。
示例性的,图3为本公开实施例提出的抛落物体的运动轨迹示意图,运动轨迹由抛落物体在连续多帧待测光流图像中的多个中心点位置坐标形成。
可以理解的是,由于物体抛落过程中,可能会因某些建筑物、或者树木等被遮挡,那么便存在确定出的存在抛落物体的多帧待测图像并不是帧连续的,但是基于帧密集程度,同样可以基于抛落物体在大部分待测光流图像中的中心点位置坐标还原出抛落物体的运动轨迹。
在本公开实施例的一实施方式中,还原出抛落物体对应的运动轨迹之后,可引入轨迹直线拟合方法对抛落物体进行高空抛物事件检测,以进一步确定出抛落物体所对应的运动事件是否属于高空抛物事件。其中,可以结合直线拟合后的轨迹与竖直方向的夹角(直线拟合后的轨迹的斜率)、物体落下的高度等信息对抛落物体进行高空抛物事件检测。
示例性的,人在摄像头前将苹果用手举过头顶的事件虽然也是一种抛落物体的运动事件,但是该事件本质上并不属于高空抛物事件;而人站在楼宇中的八楼将苹果扔下至地面这种抛落物体的运动事件才认为是高空抛物事件。
本公开实施例提供一种高空抛物检测方法,高空抛物检测设备通过根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像,并通过预设光流模型生成相邻的两张待测图像对应的光流图像;从光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中抛落物体的中心点位置坐标;根据各待测光流图像中抛落物体的中心点位置坐标确定抛落物体的运动轨迹;基于运动轨迹执行高空抛物检测处理。如此,本公开一方面采用基于深度学习构建的光流模型生成稠密光流图,以实现对运动物体进行检测,不仅鲁棒性好、精度高,而且耗时更短、噪声更少;另一方面,在使用预设光流模型进行运动物体检测的基础上,本公开还提出了鲁棒的单帧加多帧的后处理方法,在对存在干扰物的单帧进行过滤,找出存在抛落物体的单帧图像,去除单帧误检之后,结合多帧上的抛落物位置信息进行轨迹复原和高空抛物事件检测,进一步提高了高空抛物检测的效率和精度。
基于上述实施例,在本公开实施例的再一实施方式中,图4为本公开实施例提出的高空抛物检测方法的实现流程示意图三,如图4所示,高空抛物检测设备从所述光流图像中确定存在抛落物体的待测光流图像的方法还包括以下步骤:
S111、对于任一光流图像,生成任一光流图像对应的二值图像;其中,二值图像包括第一像素值的前景运动物体和第二像素值的背景非运动物体。
在本公开实施例中,在基于预设光流模型生成相邻两张待测图像对应的光流图像之后,可以采用单帧二值化的方法对当前光流图像是否存在真正的抛落物体进行判断,以确定出存在抛落物体的待测光流图像。
其中,对于任一光流图像,可以先将该光流图像转换为二值图像,即图像中仅包含第一像素值和第二像素值的灰度图像。例如光流图像对应的二值图像包括像素值0和像素值255。
在本公开实施例的一实施方式中,为了区分图像中的运动物体和非运动物体,可以选择将图像中像素值大于或者等于临界像素灰度值区域确定为运动物体存在的区域,并将该区域在二值图像中的像素值设置为第一像素值,反之选择将图像中像素值小于临界像素灰度值区域确定为非运动物体所在的区域,并将该区域在二值图像中的像素值设置为第二像素值,便获得任一光流图像对应的二值图像。
这里,二值图像中的第一像素值可以为255,表征前景运动物体,第二像素值可以为0,表征背景非像素物体。
其中,图5为本公开实施例提出的高空抛物检测方法的实现流程示意图四,如图5所示,生成所述任一光流图像对应的二值图像的方法可以包括以下步骤:
S111a、对任一光流图像进行单通道灰度转换处理,得到任一光流图像对应的单通道灰度图像。
S111b、对单通道灰度图像进行归一化处理,得到任一光流图像对应的归一化后灰度图。
S111c、对归一化后灰度图进行二值化处理,得到任一光流图像对应的二值图像。
在本公开实施例中,在进行当前光流图像至二值图像的转换时,可以先进行当前光流图像至灰度图像的转换,再通过对灰度图像的二值化处理得到光流图像对应的二值图像。
应理解,由于光流图像为多通道图像,因此先进行多通道光流图像至单通道灰度图像的转换。
具体可以基于如下公式进行灰度图像的转换:
其中,公式(2)中,表征当前光流图像(或第k帧光流图像)对应的单通道灰度图像。
然后对当前光流图像对应的单通道灰度图像进行归一化处理,使其像素的灰度值均匀分布在0-255数值之间,得到归一化后的灰度图像,以降低对后续处理带来的干扰。进一步的,可以进行归一化后后灰度图像至二值图像的转换处理。
这里,可以预先设置进行图像二值化的临界像素灰度值,将像素值大于临界像素灰度值的像素点确定为二值图像中像素值为255的前景运动物体,对应的,将像素值小于临界像素灰度值的像素点确定为二值图像中像素值为0的背景运动物体。
例如,可以通过如大津法OSTU进行图像二值化处理,获得当前光流图像对应的二值化图像
S112、响应于前景运动物体在二值图像中的像素占比小于或等于预设占比阈值,确定任一光流图像为存在抛落物体的待测光流图像。
在本公开实施例中,对于任一光流图像,在获得该光流图像fk对应的二值化图像之后,该二值图像中前景运动物体所占的像素数目便可以用于表征光流图像中存在运动物体的概率,那么可以进一步基于前景运动物体在二值图像中像素数目占比对当前光流图像中是否存在抛落物体进行判断。
考虑到运动物体过多带来的噪声以及运动物体运动响应强度过大对高空抛物检测带来的负面影响,可以设置运动物体在二值图像中像素数目的预设占比阈值,即运动物体在二值图像中的像素数目占整幅图像的比值不能超过的指定阈值。此时,基于前景运动物体在二值图像中的像素数据占比与预设占比阈值的比较结果对当前光流图像中是否存在抛落物体进行判断。
其中,在前景运动物体在二值图像中的像素数目占比小于或等于预设占比阈值的情况下,便可以确定当前光流图像中存在抛落物体;反之在前景运动物体在二值图像中的像素数目占比大于预设占比阈值的情况下,便可以确定当前光流图像中不存在抛落物体。
基于上述操作,便可以将光流图像中存在抛落物体的图像筛选出来,并作为进行后续高空抛物检测处理的待测光流图像。
可见,在本公开实施例中,可以通过对当前光流图像进行单帧二值化处理,并基于前景运动物体在二值化图像中的像素数目占比对噪声过大或者异常的光流图像进行过滤,筛选出存在抛落物体的待测光流图像,从而提高高空检测处理的精度和速度。
基于上述实施例,在在本公开的再一实施例中,图6为本公开实施例提出的高空抛物检测方法的实现流程示意图五,如6所示,确定各待测光流图像中所述抛落物体的中心点位置坐标的方法可以包括以下步骤:
S113、对于任一待测光流图像,获取前景运动物体在二值图像中的初始位置坐标集合,并基于预设聚类算法和初始位置坐标集合对任一待测光流图像中的前景运动物体进行分类处理,得到至少一个运动物体和各运动物体分别对应的坐标子集。
S114、对于任一运动物体,计算任一运动物体的坐标子集对应的坐标平均值,并将坐标平均值确定为任一运动物体的中心点位置坐标。
S115、确定任一待测光流图像对应的归一化后灰度图中,任一运动物体的中心点位置坐标处的目标像素值,并将目标像素值最大的运动物体确定为抛落物体,以及目标像素值最大的运动物体对应的中心点位置坐标确定为抛落物体的中心点位置坐标。
在本公开实施例中,对于任一存在抛落物体的待测光流图像,可以引入聚类算法确定该待测光流图像中抛落物体的中心点位置坐标。
在本公开实施例的一实施方式中,在判定当前光流图像存在抛落物体的情况下,可以获取其二值图像中的前景运动物体的全部像素位置坐标,构成一位置坐标的二维数组,即初始位置坐标集合。
应理解,当前光流图像中的运动物体可能不止一个,包括真正的抛落物体、飘落的树叶等,并且真正的抛落物体也并不是只有一个。为了确定出抛落物体的位置,在本公开的实施例中,可以通过位置聚类算法确定出抛落物体的位置,如不限制于Kmeans聚类算法。
其中,可以应用位置聚类算法先对当前光流图像中存在的运动物体进行初步分类。其中,可以基于前景运动物体的像素位置坐标为聚类参数,将前景运动物体聚成至少一类,如抛落物聚成一类,树叶聚成一类。并从中确定出真正抛落物体对应的类簇。
在本公开实施例的一实施方式中,对于任一待测光流图像,可以获取二值图像中的前景运动物体的初始位置坐标集合,并基于预设位置聚类算法对所述初始位置坐标集合进行聚类处理,从而获得至少一组坐标子集,该每一坐标子集对应一类运动物体,从而实现了基于位置聚类算法对待测光流图像中的运动物体进行分类。
这里,在完成待测光流图像中运动物体的分类并得到每一类运动物体的坐标子集之后,可以基于每一类运动物体的坐标子集作均值运算,将确定出的坐标均值作为每一类运动物体的中心点位置坐标,并从待测光流图像对应的归一化后灰度图像中,基于中心点位置坐标确定对应位置处的像素灰度值。
在本公开的实施例中,为了实现对高空抛物事件的及时报警处理,可以在不影响高空抛物检测精确度的前提上减少数据量快速的确定出高空抛物事件的抛物区间。其中,可以在不考虑当前抛落物体个数以及抛落物体类型的前提上,采用各待测光流图像中光流幅值最大的运动物体作为抛落物体,并将其对应的中心点位置坐标作为抛落物体的中心点位置坐标,并基于各待测光流图像中抛落物体的中心点位置坐标快速确定抛物事件的区间,以及时进行高空抛物事件的报警处理。
其中,基于响应强度/光流幅值越大,反映在灰度图像上的像素值越大的特性,可以在确定出每一运动物体在待测光流图像对应的归一化后灰度图像中的中心点位置坐标处的像素灰度值之后,将像素灰度值最大的一类运动物体确定抛落物体,并将该类运动物体的中心点位置坐标便确定为抛落物体的中心点位置坐标。
可以理解的是,在当前只存在一个抛落物体的情况下,当前光流图像中响应强度,即光流幅值最大的类便可能是真正的抛落物体,而响应强度较弱应该是之外如树叶这类非抛落物体;在当前可能存在多个抛落物体的情况下,当前光流图像中响应强度,即光流幅值最大的类便可能是多个抛落物体中的一个。
应理解,在高空抛物检测过程中,在进行高空抛物报警之后,用户可以查看抛物事件区间,如抛物事件对应的一段监控视频,虽然在可能存在多个抛落物体的情况下取待测光流图像中光流幅值最大的运动物体的中心点位置坐标作为抛物物体的位置坐标,但是在确定出抛物事件区间之后,可以通过查看该事件区间对该区间可能存在的每个抛落物体对应的抛物事件进行查看。
如此,采用各待测光流图像中光流幅值最大的运动物体的中心点位置坐标作为抛落物体的中心点位置坐标,并基于各待测光流图像中抛落物体的中心点位置坐标快速确定抛物事件的区间,不仅能够对图像中的干扰物进行有效过滤,而且可以在减少运算处理数据量的基础上,提高高空抛物检测的速度。
其中,图7为本公开实施例提出的高空抛物检测方法的实现流程示意图六,如图7所示,在根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹之前,即步骤130之前,执行高空抛物检测处理的方法还包括以下步骤:
步骤140、从各待测光流图像中,确定抛落物体对应的抛物事件的起始待测光流图像至结束待测光流图像。
可以理解的是,图像采集监控设备是实时连续进行图像采集的,可能存在图像采集监控设备对不同时刻发生的多件抛物事件都进行图像采集;也就是说,属于同一抛物事件的待测光流图像一般都是帧连续的,或者,在存在少数抛落物抛落过程中被某些物体遮挡的情况下,属于同一抛物事件的待测光流图像之间的帧间隔小于一定阈值。相应的,如果待测光流图像之间的帧间隔相差过远,那么这两帧图像可能对应不同时刻发生的抛物事件。
在本公开实施例中,可以基于待测光流图像的帧间隔值实现对不同时刻发生的不同抛物事件进行划分,确定出不同时刻发生的抛物事件对应的起始帧和结束帧。
在一实施方式中,可以预先设置不同抛物事件之间的帧间隔阈值,依次对单帧处理后获得的存在抛落物体的待测光流图像进行与前一帧待测光流图像帧间隔值的确定,以确定前后两帧待测光流图像是否属于同一抛物事件,从而更新抛物事件的起始帧与结束帧。
示例性的,以前后两帧待测光流图像第一图像与第二图像为例进行说明。
其中,可以在确定第一图像属于第一抛物事件,且将第一图像确定为该第一抛物事件对应的结束帧之后,计算当前第二图像与第一图像的帧间隔值。在该帧间隔值小于或者等于预设帧间隔阈值的情况下,确定第二图像与第一图像属于同一抛物事件,那么将第一抛物事件的结束帧更新为第二图像;对应的,在该帧间隔值大于预设帧间隔阈值的情况下,确定第二图像与第一图像不属于同一抛物事件,那么表明第一抛物事件的结束帧为第一图像,而第二图像属于新的抛物事件即第二抛物事件,此时可以将第二图像确定为新的第二抛物事件的起始帧。
相应的,在确定出第二图像所属的抛物事件之后,可以继续确定下一帧待测光流图像即第三图像所属的抛物事件,如果第三图像与第二图像之间的帧间隔小于预设帧间隔阈值,那么第三图像与第二图像属于同一第二抛物事件,此时可以将第二抛物事件的结束帧确定为第三图像。重复该步骤,继续下下一帧待测光流图像与第三图像帧间隔值的确定,如果帧间隔值还是小于预设帧间隔阈值,那么将第二抛物事件的结束帧更新为下下一帧待测光流图像,重复执行该步骤,直至存在待测光流图像与前一帧待测光流图像的帧间隔值大于预设帧间隔阈值,那么前一帧待测光流图像便为第二抛物事件最终结束帧,从而便可以确定出一个完整的抛物事件的起始待测光流图像至结束待测光流图像,即确定出一个抛物事件发生的区间。
例如,确定待测光流图像所属的抛物事件的逻辑代码如下所示,初始化抛物事件开始帧下标ds=0、结束帧下标de=0,记δe为抛物事件间的帧间隔阈值,同时初始化starts=[],ends=[],用来记录每个抛物事件的开始和结束帧。
For i=0:frame_num Do
If this frame has falling object
如果当前光流图像存在抛落物体,即确定待测光流图像
If dc-de>δe
δe为预设的帧间隔阈值,,当前帧下标为dc,差值大于帧间隔阈值
ds=dc
starts.append(ds)
Else:
de=dc
End if
Else if dc-de>δe
差值小于帧间隔阈值
If len(ends)==0 or ends[-1]!=de:
ends.append(de)
End if
End if
ends.pop(0)
基于上述逻辑代码,便可以返回每个抛物事件的区间,即开始帧至结束帧列表starts,ends。
这里,基于待测光流图像的时间先后顺序循环上述待测运动事件的确定过程,便可以确定出不同抛物事件对应的开始帧和结束帧,即抛物事件的起始待测光流图像至结束光流图像。
在一些实施例中,确定出抛落物体对应的抛物事件发生的区间之后,可以对抛物事件的起始待测光流图像至结束光流图像中的每一帧待测光流图像中抛物物体的中心点位置坐标,按照时间顺序进行坐标点的插值处理,将抛落物体在抛物事件区间上各待测光流图像中的中心点位置坐标映射在一张平面图像上,并进行连接,从而形成抛物物体的运动轨迹。
可见,在本公开实施例中,可以基于帧间隔差值可以确定出不同待测运动事件的开始帧和结束帧,以对不同待测运动事件进行准确划分,提高高空抛物检测处理的精度。
基于上述实施例,在本公开实施例的再一实施方式中,图8为本公开实施例提出的高空抛物检测方法的实现流程示意图七,如图8所示,高空抛物检测设备基于所述运动轨迹执行高空抛物检测处理的方法还包括以下步骤:
S121、对抛落物体的运动轨迹执行直线拟合处理,得到运动轨迹对应的拟合后直线,并确定拟合后直线与竖直方向的夹角。
S122、基于抛物事件中各待测光流图像中的抛落物体的中心点位置坐标,从对应的归一化后灰度图像中确定中心点位置像素值,并对各中心点位置像素值进行累加处理,得到像素累加值。
S123、对抛物事件中,起始待测光流图像中抛落物体的中心点位置坐标与结束待测光流图像中抛落物体的中心点位置坐标进行纵坐标的差值运算,获得坐标差值。
S124、基于拟合后直线与竖直方向的夹角、像素累加值以及坐标差值执行高空抛物检测处理。
在本公开实施例中,按照抛物事件起始待测光流图像至结束待测光流图像中各待测光流图像的时间顺序,对各光流图像中的抛落物体的中心点位置坐标进行插值处理,得到抛落物体的运动轨迹之后,可以基于该运动轨迹实现对抛物事件的高空抛物检测。
应理解,抛落物体的运动轨迹并不满足一定的函数规则,但又存在一定的规律性,在本公开实施例中,可以引入直线拟合方法对抛落物体的运动轨迹进行直线拟合处理,得到运动轨迹对应的拟合后直线。
在一实施方式中,由于抛物事件并不是真正意义上的高空抛物事件,可能是类似于人通过手递出物体,或者将物体举过头顶,例如事件人站在窗口吃苹果,手拿起苹果放在嘴边咬一口手又放下,因此,可以计算拟合后直线与竖直方向的夹角,该夹角可以作为对抛物事件是否为高空抛物事件的判断因素之一。
例如,图9为本公开实施例提出的轨迹拟合直线与竖直方向的夹角示意图,如图9所示,拟合后直线与竖直方向的夹角为θ。
在另一实施例中,还可以从抛物事件的起始待测光流图像至结束待测光流图像中的各待测光流图像对应的归一化灰度图像中,确定抛落物体中心点位置坐标处的像素值,并对这些像素值进行累计求和处理,获得像素累加值,并将该像素累加值作为对抛物事件是否为高空抛物事件的判断因素之一。
在另一实施例中,应理解真正的高空抛物事件是要有一定的高度抛物范围的。例如三层楼以上高度的抛物事件才属于高空抛物事件,因此,可以基于上述实施例确定出的抛物事件的起始待测光流图像中抛落物体的纵坐标即最大纵坐标,也就是抛物事件的最高点;和抛物事件的结束帧的纵坐标即最小纵坐标,也就是抛物事件的最低点,进行差值运算,然后基于最大纵坐标与最小纵坐标之间的坐标差值,确定抛物事件的最低点和最高点的高度差值,也就是抛物高度,该高度差值也可以作为对抛物事件是否为高空抛物事件的判断因素之一。
在本公开实施例中,可以结合拟合后直线与竖直方向的夹角、抛落物体中心点位置像素值累加值以及抛物事件的最低点和最高点的高度差值进一步对抛物事件是否属于高空抛物事件进行判断。
其中,图10为本公开实施例提出的高空抛物检测方法的实现流程示意图九,如图10所示,高空抛物检测设备基于拟合后直线与竖直方向的夹角、像素累加值以及坐标差值对抛物事件执行高空抛物检测处理的方法可以包括以下步骤:
S124a、响应于拟合后直线与竖直方向的夹角小于预设角度阈值、像素累加值小于预设像素阈值、以及坐标差值大于预设高度阈值,确定抛落物体为高空抛落物体,且对应的抛物事件为高空抛物事件。
S124b、响应于拟合后直线与竖直方向的夹角大于或者等于预设角度阈值,或者,像素累加值大于或者等于预设像素阈值、以及坐标差值小于或者等于预设高度阈值,确定抛落物体不为高空抛落物体,且对应的抛物事件不为高空抛物事件。
在本公开实施例的一实施方式中,预先设置高空抛物事件的夹角阈值、像素阈值以及高度阈值,将抛物事件拟合后直线与竖直方向的夹角和预设夹角阈值进行比较、将抛落物体中心点位置像素值累加值与预设像素阈值进行比较、以及将抛物事件事件的最低点和最高点的高度差值与预设高度阈值进行比较,同时结合三个判断因素的比较结果判断抛落物体是否为高空抛落物体,换言之,确定抛落物体对应的抛物事件事件是否为高空抛物事件。
其中,在抛物事件拟合后直线与竖直方向的夹角小于预设夹角阈值、抛落物体中心点位置像素值累加值小于预设像素阈值、以及抛物事件的最低点和最高点的高度差值大于预设高度阈值,即三个判断因素同时满足对应的预设阈值条件的情况下,确定抛落物体为高空抛落物体,对应的抛物事件为高空抛物事件。
在本公开的另一实施例中,三个判断因素中的至少一个判断因素不满足对应的预设阈值条件的情况下,确定抛落物体并不是真正意义上的高空抛物物体,对应的抛物事件不为高空抛物事件。
其中,在待测运动事件拟合后直线与竖直方向的夹角大于或者等于预设夹角阈值的情况下,确定抛落物体不属于高空抛落物体;或者,在抛落物体中心点位置像素值累加值大于或者等于预设像素阈值的情况下,确定抛落物体不属于高空抛落物体;或者在抛物事件的最低点和最高点的高度差值小于或者等于预设高度阈值的情况下,确定抛落物体不属于高空抛落物体。或者,在待测运动事件拟合后直线与竖直方向的夹角大于或者等于预设夹角阈值且抛落物体中心点位置像素值累加值大于或者等于预设像素阈值的情况下,确定抛落物体不属于高空抛落物体;或者在待测运动事件拟合后直线与竖直方向的夹角大于或者等于预设夹角阈值且在抛物事件的最低点和最高点的高度差值小于或者等于预设高度阈值的情况下,确定抛落物体不属于高空抛落物体;或者在抛落物体中心点位置像素值累加值大于或者等于预设像素阈值且抛物事件的最低点和最高点的高度差值小于或者等于预设高度阈值的情况下,确定抛落物体不属于高空抛落物体;或者在待测运动事件拟合后直线与竖直方向的夹角大于或者等于预设夹角阈值且抛落物体中心点位置像素值累加值大于或者等于预设像素阈值且抛物事件的最低点和最高点的高度差值小于或者等于预设高度阈值的情况下,确定抛落物体不属于高空抛落物体,对应的抛物事件不为高空抛物事件。
可见,在本公开实施例中,基于事件检测方法能够在结合多帧上的抛落物体的检测信息进行轨迹完整还原之后,基于该运动轨迹实现对高空抛物事件的精准判定。
基于上述实施例,在本公开实施例的再一实施方式中,执行高空抛物检测处理的方法主要包括数据预处理、稠密光流计算、单帧后处理以及多帧后处理四大部分。
其中,数据预处理具体包括以下步骤:
S201、获取初始图像,并基于预设多边形轮廓从初始图像中确定目标检测区域.
S202、基于目标检测区域生成最小检测边框,并基于最小检测边框对初始图像进行图像分割处理,得到待测图像。
其中,稠密光流计算具体包括以下步骤:
S203、在执行循环过程的每个周期依次读取相邻两张待测图像,并通过预设光流模型生成相邻两张待测图像对应的光流图像。
其中,单帧后处理具体包括以下步骤:
S204、对光流图像进行单通道灰度转换处理,得到光流图像对应的单通道灰度图像。
S205、对单通道灰度图像进行归一化处理,得到光流图像对应的归一化后灰度图。
S206、对归一化后灰度图进行二值化处理,得到光流图像对应的二值图像;其中,二值图像包括第一像素值的前景运动物体和第二像素值的背景非运动物体。
S207、判断前景运动物体在二值图像中的像素占比是否小于或等于预设占比阈值?如果是,执行S208;如果不是,跳转执行S204,继续对下一帧光流图像进行处理。
其中,在前景运动物体在二值图像中的像素占比小于或等于预设占比阈值的情况下,确定当前光流图像为存在抛落物体的待测光流图像;反之,则不存在。
S208、获取前景运动物体在二值图像中的初始位置坐标集合。
S209、基于预设聚类算法和初始位置坐标集合对前景运动物体进行分类处理,得到各运动物体对应的坐标子集。
S210、对于任一运动物体,计算任一运动物体的坐标子集对应的坐标平均值,并将坐标平均值确定为任一运动物体的中心点位置坐标。
S211、确定任一待测光流图像对应的归一化后灰度图中,任一运动物体的中心点位置坐标处的目标像素值,并将目标像素值最大的运动物体确定为抛落物体,以及目标像素值最大的运动物体对应的中心点位置坐标确定为抛落物体的中心点位置坐标。
其中,多帧后处理包括以下步骤:
S213、计算当前待测光流图像与历史前一个待测光流图像的帧间隔值。
S214、判断帧间隔值是否小于或者等于预设间隔阈值阈值?如果是,执行S215;如果不是,跳转执行S213。
其中,如果当前待测光流图像值与历史前一个待测光流图像的帧间隔值小于或者等于预设间隔阈值,那么表明当前待测光流图像与历史前一个光流图像属于同一抛物事件,基于当前待测光流图像更新抛物事件的结束帧;反之,不属于同一抛物事件,当前待测光流图像为新的抛物事件的起始帧。
S215、判断是否确定出抛物事件的开始帧至结束帧?如果是,执行S216;如果不是,跳转执行S213,继续S213至S214的循环过程,直至拿到抛物事件的开始帧至结束帧。
S216、按照抛物事件起始帧至结束帧由先到后的帧顺序,对每一待测光流图像中的抛落物体的中心点位置坐标进行插值处理,得到抛落物体的运动轨迹。
S217、对抛落物体的运动轨迹进行直线拟合,计算拟合后直线与竖直方向的夹角θ;对抛物事件各帧上抛落物体中心点位置的像素灰度值求和,得到像素累加值V;计算抛物事件的最低点和最高点的高度差值,也就是抛物高度H;
S218、判断θ是否小于阈值T1、V是否小于阈值T2以及H是否大于阈值T3;若是,则执行S219,若不是,跳转执行S220。
其中,T1为预设夹角阈值,T2为预设像素阈值,T3预设高度阈值。
S219、抛落物体为高空抛落物体,抛物事件是高空抛物事件。
其中,在抛物事件拟合后直线与竖直方向的夹角小于预设夹角阈值、抛落物体中心点位置像素值累加值小于预设像素阈值、以及抛物事件的最低点和最高点的高度差值大于预设高度阈值,即三个判断因素同时满足对应的预设阈值条件的情况下,确定抛落物体为高空抛落物体,抛物事件为高空抛物事件。
S220、抛落物体不是高空抛落物体,抛物事件不是高空抛物事件。
其中,在抛物事件拟合后直线与竖直方向的夹角大于或者等于预设夹角阈值,或者,抛落物体中心点位置像素值累加值大于或者等于预设像素阈值,或者,抛物事件的最低点和最高点的高度差值小于或者等于预设高度阈值,即三个判断因素中的至少一个判断因素不满足对应的预设阈值条件的情况下,确定抛落物体不是高空抛落物体,抛物事件不是高空抛物事件。
图11为本公开实施例提出的高空抛物检测方法的场景示意图,如图11所示,在对楼宇进行高空抛物检测的过程中,先通过摄像头进行图像采集,获得初始图像,然后通过预处理,包括基于预设多边形轮廓确定感兴趣区域,并基于最小边框进行图像裁剪,得到第n帧待测图像和第(n+1)帧待测图像;然后将相邻两帧待测图像输入由卷积神经网络和循环神经网络构建的预设光流模型,得到稠密光流图;继续对每一帧光流图像进行单帧后处理,包括基于图像二值化对图像中是否存在抛落物体进行判断,以及对存在抛落物体的待测光流图像基于位置聚类确定出抛落物体的中心点位置坐标;循环上述过程,获得多帧待测光流图像,并对多帧待测光流图像进行多帧后处理,直至获得抛落物体对应的抛物事件的开始帧至结束帧,并进行抛落物体的运动轨迹还原,以及基于运动轨迹对抛落物体是否为高空抛落物体进行检测,在为抛落物体为高空抛落物体,也就是对应的抛物时间为高空抛物事件的情况下对高空抛物事件进行时间报警。
可见,本公开实施例提出的高空抛物检测方法,一方面采用基于深度学习构建的光流模型生成稠密光流图,以实现对运动物体进行检测,不仅鲁棒性好、精度高,而且耗时更短、噪声更少;另一方面,在使用预设光流模型进行运动物体检测的基础上,还提出了鲁棒的单帧加多帧的后处理方法,基于图像二值化处理以及位置聚类算法在对存在干扰物的单帧进行过滤,并获得抛落物体的准确位置,之后结合多帧上的抛落物检测信息进行高空抛物事件的轨迹复原和检测,进一步提高了高空抛物检测的效率和精度。
基于上述实施例,在本公开的在一实施例中,图12为本公开实施例提出的高空抛物检测装置的组成结构示意图,如图12所示,所述高空抛物检测装置10包括获取单元11、生成单元12、确定单元13、处理单元14。
获取单元11,配置为根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像;
生成单元12,配置为通过预设光流模型生成所述相邻的两张待测图像对应的光流图像;
确定单元13,配置为从所述光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中所述抛落物体的中心点位置坐标;
确定单元13,还配置为根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹;
处理单元14,配置为基于所述运动轨迹执行高空抛物检测处理。
在一些实施例中,所述确定单元13,配置为对于任一光流图像,生成所述任一光流图像对应的二值图像;其中,所述二值图像包括第一像素值的前景运动物体和第二像素值的背景非运动物体;以及响应于所述前景运动物体在所述二值图像中的像素占比小于或等于预设占比阈值,确定所述任一光流图像为所述存在抛落物体的待测光流图像。
在一些实施例中,所述确定单元13,配置为对所述任一光流图像进行单通道灰度转换处理,得到所述任一光流图像对应的单通道灰度图像;以及对所述单通道灰度图像进行归一化处理,得到所述任一光流图像对应的归一化后灰度图;以及对所述归一化后灰度图进行二值化处理,得到所述任一光流图像对应的所述二值图像。
在一些实施例中,所述确定单元13,配置为对于任一待测光流图像,获取所述前景运动物体在所述二值图像中的初始位置坐标集合,并基于预设聚类算法和所述初始位置坐标集合对所述任一待测光流图像中的所述前景运动物体进行分类处理,得到至少一个运动物体和各运动物体分别对应的坐标子集;以及对于任一运动物体,计算所述任一运动物体的坐标子集对应的坐标平均值,并将所述坐标平均值确定为所述任一运动物体的所述中心点位置坐标;以及确定所述任一待测光流图像对应的归一化后灰度图中,所述任一运动物体的中心点位置坐标处的目标像素值,并将所述目标像素值最大的运动物体确定为所述抛落物体,以及所述目标像素值最大的运动物体对应的中心点位置坐标确定为所述抛落物体的所述中心点位置坐标。
在一些实施例中,所述确定单元13,配置为根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹之前,从所述各待测光流图像中,确定所述抛落物体对应的抛物事件的起始待测光流图像至结束待测光流图像。
在一些实施例中,所述确定单元13,配置为按照时间先后顺序对所述抛物事件中各待测光流图像中的所述抛落物体的中心点位置坐标进行插值处理,获得所述抛落物体的运动轨迹。
在一些实施例中,所述待测光流图像至少包括第一图像和第二图像,第一图像为第一抛物事件的当前结束待测光流图像;所述第一图像和所述第二图像为连续两帧待测光流图像,所述确定单元13,配置为计算所述第二图像与所述第一图像之间的帧间隔值;以及响应于所述帧间隔值小于或者等于预设间隔阈值,将所述第二图像更新为所述第一抛物事件的所述结束待测光流图像;响应于所述帧间隔值大于所述预设间隔阈值,将所述第二图像确定为第二抛物事件的起始待测光流图像。
在一些实施例中,所述处理单元14,配置为对所述抛落物体的运动轨迹执行直线拟合处理,得到所述运动轨迹对应的拟合后直线,并确定所述拟合后直线与竖直方向的夹角;以及基于所述抛物事件中各待测光流图像中的所述抛落物体的中心点位置坐标,从对应的归一化后灰度图像中确定中心点位置像素值,并对各中心点位置像素值进行累加处理,得到像素累加值;以及对所述抛物事件中,所述起始待测光流图像中所述抛落物体的中心点位置坐标与所述结束待测光流图像中所述抛落物体的中心点位置坐标进行纵坐标的差值运算,获得坐标差值;以及基于所述拟合后直线与竖直方向的夹角、所述像素累加值以及所述坐标差值执行所述高空抛物检测处理。
在一些实施例中,所述处理单元14,配置为响应于所述拟合后直线与竖直方向的夹角小于预设角度阈值、所述像素累加值小于所述预设像素阈值、以及所述坐标差值大于预设高度阈值,确定所述抛落物体为高空抛落物体,且对应的所述抛物事件为高空抛物事件。
在一些实施例中,所述获取单元11,还配置为获取初始图像,并基于预设多边形轮廓从所述初始图像中确定目标检测区域;以及基于所述目标检测区域生成最小检测边框,并基于所述最小检测边框对所述初始图像进行图像分割处理,得到所述待测图像。
在本公开的实施例中,进一步地,图13为本公开实施例提出的高空抛物检测设备的组成结构示意图,如图13所示,本公开实施例提出的高空抛物检测设备20还可以包括处理器21、存储有处理器21可执行指令的存储器22,进一步地,活体检测设备20还可以包括通信接口23,和用于连接处理器21、存储器22以及通信接口23的总线24。
在本公开的实施例中,上述处理器21可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field Prog RAMmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本公开实施例不作具体限定。活体检测设备20还可以包括存储器22,该存储器22可以与处理器21连接,其中,存储器22用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器22可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
在本公开的实施例中,总线24用于连接通信接口23、处理器21以及存储器22以及这些器件之间的相互通信。
在本公开的实施例中,存储器22,用于存储指令和数据。
进一步地,在本公开的实施例中,上述处理器21,用于根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像,并通过预设光流模型生成所述相邻的两张待测图像对应的光流图像;从所述光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中所述抛落物体的中心点位置坐标;根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹;基于所述运动轨迹执行高空抛物检测处理。
在实际应用中,上述存储器22可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器21提供指令和数据。
另外,在本实施例中的各功能模块可以集成在一个推荐单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台高空抛物检测设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本公开实施例提供了一种高空抛物检测设备,该高空抛物检测设备通过根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像,并通过预设光流模型生成相邻的两张待测图像对应的光流图像;从光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中抛落物体的中心点位置坐标;根据各待测光流图像中抛落物体的中心点位置坐标确定抛落物体的运动轨迹;基于运动轨迹执行高空抛物检测处理。如此,本公开一方面采用基于深度学习构建的光流模型生成稠密光流图,以实现对运动物体进行检测,不仅鲁棒性好、精度高,而且耗时更短、噪声更少;另一方面,在使用预设光流模型进行运动物体检测的基础上,本公开还提出了鲁棒的单帧加多帧的后处理方法,在对存在干扰物的单帧进行过滤,找出存在抛落物体的单帧图像,去除单帧误检之后,结合多帧上的抛落物位置信息进行轨迹复原和高空抛物事件检测,进一步提高了高空抛物检测的效率和精度。
本公开实施例提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上所述的高空抛物检测方法。
具体来讲,本实施例中的一种高空抛物检测方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种高空抛物检测方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
根据图像采集的时间顺序、从多帧待测图像中依次读取相邻的两张待测图像,并通过预设光流模型生成所述相邻的两张待测图像对应的光流图像;
从所述光流图像中确定存在抛落物体的待测光流图像,并确定各待测光流图像中所述抛落物体的中心点位置坐标;
根据所述各待测光流图像中所述抛落物体的中心点位置坐标确定所述抛落物体的运动轨迹;
基于所述运动轨迹执行高空抛物检测处理。
相应地,本公开实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令用于实现本公开实施例提出的高空抛物检测方法中的步骤。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程高空抛物检测设备的处理器以产生一个机器,使得通过计算机或其他可编程高空抛物检测设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程高空抛物检测设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程高空抛物检测设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。