一种基于计算机视觉的高空抛物检测系统与方法与流程

文档序号:16815676发布日期:2019-02-10 14:27阅读:1106来源:国知局
一种基于计算机视觉的高空抛物检测系统与方法与流程

本发明涉及小区安防系统领域,具体是涉及一种基于计算机视觉的高空抛物检测系统与方法。



背景技术:

高空抛物被称为“悬在城市上空的痛”,一直以来高空抛物行为备受关注,作为城市不文明行为的同时,它所带来的社会危害也很大,通过科学计算与测试,从12米左右高的楼层抛出30克的鸡蛋砸到身上能够使起肿包,从54米左右抛下能够将人的头骨砸破,从75米左右抛下即可使人当场死亡,造成无法挽回的伤害。由于这种不文明行为的实施场所多位高空楼层,少有目击者,抛物时间短,甚至有人在抛物时故意隐去身影,使执法部门很难追究抛物者的法律责任,此类事件屡见不鲜、屡禁不止。高空抛物行为破坏了生活环境,危害了人民的生命安全,侵犯了人民的合法权益,其管理整治关系着社会治安的稳定。

目前,监管高空抛物行为主要还是依靠居民自发组织的不定时巡逻和在高空抛物经常发生的地段张贴警示标语等方法;但是不定时巡逻的方法并不能完全监控高空抛物的行为,并且耗费大量人力;张贴警示标语的方法易被忽视,无法引起足够的重视,起到的效果十分有限。在此前提下,为了进一步加强对高空抛物这种危害极大的不文明行为的制止,我们需要建设一种基于计算机视觉的高空抛物检测系统,在高空抛物事件发生后,便于进行事后取证并追究相关人员的法律责任,通过文明宣传为主,监控管理为辅的方式,有效地制止高空抛物行为的发生。



技术实现要素:

本发明的目的是为了克服上述背景技术的不足,提供一种便于进行事后取证的基于计算机视觉的高空抛物检测系统与方法。

本发明提供一种基于计算机视觉的高空抛物检测系统,包括:

视频图像采集单元,用于对小区进行全面实时监控并获取图像数据;

网络传输单元,用于传输图像数据;

运动目标检测单元,用于接收来自网络传输单元的图像数据,对获取的图像数据进行分析处理,确定图像数据中的运动目标;

中心处理单元,用于对运动目标进行追踪,获取运动目标的特征与运动轨迹,并判断其是否属于高空抛物,获取属于高空抛物目标的抛出位置。

在上述技术方案的基础上,所述视频图像采集单元包括多个网络摄像机和一个数据流处理单元,多个所述网络摄像机安装在小区内不同位置处,所述数据流处理单元用于获取各网络摄像机的视频数据流并采用h265解码技术解码为图像数据。

在上述技术方案的基础上,所述基于计算机视觉的高空抛物检测系统还包括视频存储单元,所述视频存储单元用于缓存由所述中央处理单元判断属于高空抛物目标的运动轨迹视频流数据。

在上述技术方案的基础上,所述视频存储单元将属于高空抛物目标的图像数据通过h265压缩方法压缩为视频流数据。

在上述技术方案的基础上,所述视频图像采集单元、网络传输单元、运动目标检测单元、中心处理单元之间利用缓冲区进行数据交流。

本发明还提供一种基于计算机视觉的高空抛物检测方法,包括以下步骤:

1)图像采集;

全面实时监控小区获取抛物视频流数据,将视频流数据解码为图像数据;

2)运动目标检测;

分析处理图像数据,确定图像数据中的运动目标;

3)运动目标追踪;

追踪各个运动目标,获取运动目标的特征与运动轨迹;

4)高空抛物判定;

分析判定运动目标是否属于高空抛物,获取属于高空抛物目标的抛出位置。

在上述技术方案的基础上,步骤2)中,运动目标检测步骤为:

(1)在图像数据的第一帧,为每个像素点存储一个样本集,像素点周围相邻的点的像素值就是样本集的采样值;

(2)将后来的每一帧的像素点的像素值与样本集的采样值对比,若该差值小于阈值,则认为两点相近;

(3)依次遍历所有样本集,可得到像素点与样本集相近的个数,若个数大于阈值,则认为该像素点为背景点,否则认为该像素点为前景点;

(4)对得到的前景点进行筛选,根据物体的周长l和面积s筛除掉不符合要求的物体,对检测结果进行腐蚀、膨胀、连通性分析去除检测噪声,最终获得最小为7*7像素的运动目标,并提取运动目标的特征。

在上述技术方案的基础上,步骤3)中,运动目标追踪步骤为:

(1)获取步骤2)中运动目标的中心点和运动目标的抠图;

(2)第一帧初始化卡尔曼滤波算法的环境,并将所有运动目标默认为需要追踪的目标;

(3)随后每一帧的每一个运动目标,通过匈牙利算法与已有轨迹进行匹配,若匹配成功,则将其加入相应的轨迹中;若匹配失败,则通过卡尔曼滤波算法预测该条轨迹在当前帧的所处位置;

(4)若某条轨迹连续多次未成功匹配到运动物体,即连续通过卡尔曼滤波算法预测得到的轨迹点的个数大于特定值a,则认为该条轨迹结束;

(5)若某条轨迹的点的个数大于阈值b,则认为该轨迹有效,否则认为其无效。

在上述技术方案的基础上,步骤4)中,高空抛物的判定条件如下:

(1)运动目标轨迹的纵坐标的值要是持续增大的;

(2)高空抛物运动目标轨迹点的数目m大于预设的阈值t,即m>t;

(3)高空抛物运动目标轨迹从监控范围的边界终结;

(4)抛物运动在开始部分做加速运动;

(5)高空抛物运动目标下落过程中,纵坐标的差分数值不会一直太小。

在上述技术方案的基础上,步骤4)中,获取属于高空抛物目标的抛出位置的步骤为:

(1)针对每条轨迹,使用最小二乘法对轨迹上的所有点进行拟合,使用帧数做自变量,y方向上的数值作为因变量,拟合得到一个函数;

(2)根据该函数,从现有轨迹的第一个点往回倒,直到连续两个点的y方向的数值差小于阈值a,则认为到达了抛出点,将当前点保存为给条轨迹抛出。

与现有技术相比,本发明的优点如下:

(1)本发明的基于计算机视觉的高空抛物检测系统充分利用计算机视觉技术,针对高空抛物发生的实际情况进行检测,加强小区的安防管理,改善小区环境,对于小目标的运动物体有较好的检测效果,能够适应目标被短暂遮挡或者漏检等情况,能够适应背景环境发生缓慢变化情况,追踪过程中可以除去部分非抛物运动目标,适用范围广,通用性强,检测效果好。

(2)本发明的基于计算机视觉的高空抛物检测系统对系统进行模块化划分,将各个模块之间利用缓冲区链接,充分降低各个模块之间的耦合性,并能够降低数据的丢失,提高系统的稳定性和鲁棒性。

(3)本发明的基于计算机视觉的高空抛物检测方法通过获得的监控场景的视频,实时检测小目标运动对象,然后对运动目标进行追踪,并能够去除一部分非抛物运动目标,通过对运动目标的运动轨迹进行曲线拟合,结合高空抛物运动规则,判断检测出来的运动目标是否是高空抛物,此方法充分利用高空抛物的运动规则,算法原理简单易懂,实现过程简单,判定效果较准确。

附图说明

图1是本发明实施例的一种计算机视觉的高空抛物检测系统的设计架构图;

图2是本发明实施例的生产者-消费者同步控制模型数据缓冲示意图;

图3是本发明实施例的一种计算机视觉的高空抛物检测方法的运行数据流示意图;

图4是本发明实施例的基于opencl的vibe背景建模运动目标检测方法的细化流程示意图;

图5是本发明实施例的二维vibe模型匹配示意图;

图6是本发明实施例的基于高空抛物运动先验知识的卡尔曼滤波运动目标追踪方法的细化流程示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

参见图1所示,本发明实施例提供一种基于计算机视觉的高空抛物检测系统,包括:

视频图像采集单元,用于对小区进行全面实时监控并获取图像数据;

网络传输单元,用于传输图像数据;

运动目标检测单元,用于接收来自网络传输单元的图像数据,对获取的图像数据进行分析处理,确定图像数据中的运动目标;

中心处理单元,用于对运动目标进行追踪,获取运动目标的特征与运动轨迹,并判断其是否属于高空抛物,获取属于高空抛物目标的抛出位置。

本发明的基于计算机视觉的高空抛物检测系统充分利用计算机视觉技术,针对高空抛物发生的实际情况进行检测,加强小区的安防管理,改善小区环境,对于小目标的运动物体有较好的检测效果,能够适应目标被短暂遮挡或者漏检等情况,能够适应背景环境发生缓慢变化情况,追踪过程中可以除去部分非抛物运动目标,适用范围广,通用性强,检测效果好。

在上述实施例的技术方案的基础上,进一步,所述视频图像采集单元包括多个网络摄像机和一个数据流处理单元,多个所述网络摄像机安装在小区内不同位置处,所述数据流处理单元用于获取各网络摄像机的视频数据流并采用h265解码技术解码为图像数据;监控摄像机的布置与安装利用网络摄像机安装在监控大楼的下方,相机安装在距离大楼30米处并安装高度为3米,在此条件下利用合适的相机数目,每个相机按照合适的安装角度进行安装,要保证物体实际大小与监控图片中物品的大小1:1的比例成像,既若物体的真实大小为n1*n2(cm),则视频中拍摄的物体的大小为n1*n2(像素),并通过网络传输单元连接传输监控数据;视频数据流获取,通过相机的ip地址、端口号、用户名、密码获得已压缩的视频数据流;数据流解码,利用h265解码技术将获得的视频数据流解码为一帧帧的图片。

在上述实施例的技术方案的基础上,进一步,所述基于计算机视觉的高空抛物检测系统还包括视频存储单元,所述视频存储单元用于缓存由所述中央处理单元判断属于高空抛物目标的运动轨迹视频流数据;可再现高空抛物时的情景,便于事后查证。

在上述实施例的技术方案的基础上,进一步,所述视频存储单元将属于高空抛物目标的图像数据通过h265压缩方法压缩为视频流数据;当判定出现高空抛物时,将系统缓存的一段时间的监控图片通过h265压缩方法实现图片到视频的压缩实现高空抛物关键视频的保存,并可以根据抛物出现的时间,位置等信息查找进行回放,以便确定高空抛物的出发点。

在上述实施例的技术方案的基础上,进一步,所述视频图像采集单元、网络传输单元、运动目标检测单元、中心处理单元之间利用缓冲区进行数据交流;将系统每个模块作为单独的子线程,中间通过缓冲队列进行连接,缓冲队列做线程同步控制,控制方式采用生产者-消费者模型。例如视频图像采集单元与运动目标检测单元之间的同步控制,通过给系统发送图像采集信号,唤醒图像采集线程,获得监控视频流并对视频流解码,采集视频原始图片挂入缓冲区队尾,并更改临界区相关信号量;当缓冲区中有图像数据时,便唤醒运动目标检测线程,从队头取出图片做进一步处理。利用此模式使系统各模块之间可以有短时间的容差。但此时间也是有限制的,缓冲区的大小的设置决定了容差时间的大小。如果系统某个线程处理速度过于缓慢,导致其相关的缓冲区数据越积越多,当接近于缓冲区总大小时,系统挂起其前一个模块的线程,并回馈流水线降低速度指令,防止缓冲区溢出系统崩溃。通过此种方案充分降低各个模块之间的耦合性,并能够降低数据的丢失,提高系统的稳定性和鲁棒性。

参见图2至图6所示,本发明实施例还提供一种基于计算机视觉的高空抛物检测方法,包括以下步骤:

1)图像采集;

全面实时监控小区获取抛物视频流数据,将视频流数据解码为图像数据;

2)运动目标检测;

分析处理图像数据,确定图像数据中的运动目标;

3)运动目标追踪;

追踪各个运动目标,获取运动目标的特征与运动轨迹;

4)高空抛物判定;

分析判定运动目标是否属于高空抛物,获取属于高空抛物目标的抛出位置。

本发明的基于计算机视觉的高空抛物检测方法通过获得的监控场景的视频,实时检测小目标运动对象,然后对运动目标进行追踪,并能够去除一部分非抛物运动目标,通过对运动目标的运动轨迹进行曲线拟合,结合高空抛物运动规则,判断检测出来的运动目标是否是高空抛物,此方法充分利用高空抛物的运动规则,算法原理简单易懂,实现过程简单,判定效果较准确。

在上述实施例的技术方案的基础上,进一步,步骤2)中,运动目标检测步骤为:

(1)在图像数据的第一帧,为每个像素点存储一个样本集,像素点周围相邻的点的像素值就是样本集的采样值;

(2)将后来的每一帧的像素点的像素值与样本集的采样值对比,若该差值小于阈值,则认为两点相近;

(3)依次遍历所有样本集,可得到像素点与样本集相近的个数,若个数大于阈值,则认为该像素点为背景点,否则认为该像素点为前景点;

(4)对得到的前景点进行筛选,根据物体的周长l和面积s筛除掉不符合要求的物体,对检测结果进行腐蚀、膨胀、连通性分析去除检测噪声,最终获得最小为7*7像素的运动目标,并提取运动目标的特征。

所述运动目标检测通过对原始图片进行灰度化和中值滤波预处理后,利用基于opencl的vibe背景建模的运动目标检测方法,对检测结果进行腐蚀、膨胀、连通性分析去除检测噪声,最终能够获得最小为7*7像素的运动目标,并提取运动目标的特征。其流程示意图如图3所示。

vibe算法实现主要分为三个模块:背景模型初始化、模型匹配、背景模型更新。

首先,背景模型初始化时只需要利用输入视频序列第一帧图片或者几帧图片。对图片中的每个像素点随机选择此点的像素值或者邻域的像素值作为模型。例如图像中在(x,y)像素点x(x,y),如下式方法从其8邻域n8(x)中随机选取n个样本作为模型初始化参数。

m(x)={vi(y)|y∈n8(x)},i=1,2,...,n

然后,对输入的图像进行模型匹配,通过计算输入图像像素值与背景模型的相似度检测运动目标。假设当前输入帧是xt,像素点(x,y)处的像素值是xt(x,y)。如图4所示,定义一个以xt(x,y)为中心、r为半径的球体sr(xt(x,y)),sr(xt(x,y))表示所有与xt(x,y)距离小于r的点的集合,用m(x)落在sr(xt(x,y))区域内样本的个数m表示xt(x,y)与背景模型m(x)的相似度,对于给定的阈值tm:如果m<tm,则判定xt(x,y)的为前景;如果m≥tm则判定xt(x,y)为背景。如下式所示,dist(xt(x,y),mi(x))表示xt(x,y)与mi(x)的距离。

(tm:阈值r:半径)

最后,为了适应监控场景中模型的背景变化,使模型能够较好的描述当前时刻的背景,需要对模型进行更新。vibe算法根据当前帧像素值xt来更新时刻t-1的背景模型m(xt-1),每一个背景点具有相同的概率1/φ来更新模型有的概率,同时利用像素值空间传播特性对邻域点也有相同的概率1/φ进行更新模型。在连续的一段时间中,t时刻模型中的某个样本没有更新的概率是(n-1)/n,则dt时间后样本还是没有发生变化的概率的计算方法如下式:

vibe运动目标检测大部分是图像的像素的计算操作,为了使系统具有更快的响应速度,这里可以对图像处理vibe算法做并行化的改进。利用opencl编程方法对算法并行化处理,充分利用gpu强大的并行计算能力并与cpu进行协同工作,更高效的利用硬件高效的完成vibe算法中大规模的、高并行度的计算,实现系统加速功能。opencl编程利用了gpu的特点进行多线程并行处理实现vibe算法,并行化后的算法在处理高分辨率的图像有明显的优势。

在上述实施例的技术方案的基础上,进一步,步骤3)中,运动目标追踪步骤为:

(1)获取步骤2)中运动目标的中心点和运动目标的抠图;

(2)第一帧初始化卡尔曼滤波算法的环境,并将所有运动目标默认为需要追踪的目标;

(3)随后每一帧的每一个运动目标,通过匈牙利算法与已有轨迹进行匹配,若匹配成功,则将其加入相应的轨迹中;若匹配失败,则通过卡尔曼滤波算法预测该条轨迹在当前帧的所处位置;

(4)若某条轨迹连续多次未成功匹配到运动物体,即连续通过卡尔曼滤波算法预测得到的轨迹点的个数大于特定值a,则认为该条轨迹结束;

(5)若某条轨迹的点的个数大于阈值b,则认为该轨迹有效,否则认为其无效。

所述的运动目标追踪,通过提取的检测的运动目标的特征,利用基于高空抛物运动先验知识的卡尔曼滤波运动目标追踪方法,预测运动目标在下一帧中的位置确定目标匹配的区域,通过匈牙利匹配方法最终实现运动目标的匹配,其流程示意图如图5。

卡尔曼滤波器实现目标追踪基本分为三个步骤:首先初始化卡尔曼滤波器,将目标的位置和速度赋值给卡尔曼滤波器,并记录当前帧的时间;然后进行状态估计,利用当前帧和上一帧的时间间隔进行卡尔曼预测,预测当前帧的目标的位置和运动状态,并搜索区域中的最佳匹配,获得真实目标的位置和运动状态值,同时记录当前的时间,在此创新性的增加高空抛物运动的先验知识,若出现轨迹连续非下落时间tnumt大于阈值t,即tnum>t,则表示此运动目标为非抛物运动,直接将此运动目标去除,如下式表示;最后进行状态更新,用真实状态向量作为卡尔曼滤波器的输入更新卡尔曼滤波器的状态。卡尔曼滤波公式主要有五个,如下所示:

卡尔曼预测方程

状态方程:

协方差预测方程:

卡尔曼修正方程

卡尔曼的滤波增益:

修改状态向量:

修改协方差矩阵:

匈牙利算法通过对各待匹配点构成的二分图查找其增广路径获得最大匹配的过程,主要分为三个步骤。

(1)将二分图g的一个匹配图m为空;

(2)找出二分图g一条增广路径p,并通过增广路径p与原二分图g异或操作获得更大的二分图的匹配图m'代替m;

(3)重复步骤(2),继续查找增广路径。当所有增广路径查找完成则停止步骤(2),匹配完成。

在上述实施例的技术方案的基础上,进一步,步骤4)中,高空抛物的判定条件如下:

(1)运动目标轨迹的纵坐标的值要是持续增大的;

(2)高空抛物运动目标轨迹点的数目m大于预设的阈值t,即m>t;

(3)高空抛物运动目标轨迹从监控范围的边界终结;

(4)抛物运动在开始部分做加速运动;

(5)高空抛物运动目标下落过程中,纵坐标的差分数值不会一直太小。

所述高空抛物判定,通过高空抛物运动轨迹特征,提出基于曲线拟合的高空抛物行为判定方法,高空抛物的是向下、加速运动,抛物在视频中存在一段时间,抛物从监控范围边界终结,确定运动目标是否是高空抛物,高空抛物通过对曲线的拟合实现抛物抛出位置确定。高空抛物的判定条件决定了判定的准确性,根据高空抛物的运动特点,主要利用了以下几个抛物特征作为抛物判断的主要条件:

(1)高空抛物的运动轨迹始终是向下运动,因此运动目标轨迹的纵坐标的值是持续增大的;

(2)高空抛物运动目标轨迹点的数目m要满足设置的阈值t,即m>t,运动目标在监控范围内运动,其运动定会运动一定的时间,因此检测的轨迹点的数目会有一定的限制;

(3)高空抛物运动目标轨迹从监控范围的边界终结,抛物运动不会在某个地方停留,会从某个边界地方出监控范围,同时边界区域也不会是上边界区域,只会从左、右及下边界区域;

(4)抛物运动在开始部分基本上在做加速运动,但受到环境等的影响,无法避免会出现检测目标没有减速和匀速的部分点,但整体上做加速运动,因此设置比例阈值以去除一直匀速或者减速的运动目标;

(5)高空抛物运动目标下落过程中,纵坐标的差分数值不会一直太小,因此可以去除纵坐标几乎重合的噪声。

在上述实施例的技术方案的基础上,进一步,步骤4)中,获取属于高空抛物目标的抛出位置的步骤为:

(1)针对每条轨迹,使用最小二乘法对轨迹上的所有点进行拟合,使用帧数做自变量,y方向上的数值作为因变量,拟合得到一个函数;

(2)根据该函数,从现有轨迹的第一个点往回倒,直到连续两个点的y方向的数值差小于阈值a,则认为到达了抛出点,将当前点保存为给条轨迹抛出。

据此可追踪高空抛物的抛出点,找出事故责任人,便于进行事后取证并追究相关人员的法律责任,有利于制止高空抛物事件的再次发生,保障了人民的生命安全,维护了人民的合法权益,有利于提高社会治安的稳定性。

本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。

说明书中未详细描述的内容为本领域技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1