具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明第一实施方式涉及一种监控视频中目标自动分类方法。图1是该监控视频中目标自动分类方法的流程示意图。该监控视频中目标自动分类方法包括以下步骤:
在步骤101中,根据当前帧和背景图像的差获取当前图像中的运动目标区域。
此后进入步骤102,对获取的运动目标区域内的图像计算边缘梯度方向。
此后进入步骤103,对已计算的边缘梯度方向按方向角度进行统计,得到方向直方图。
此后进入步骤104,根据方向直方图确定运动目标的类型,此后结束本流程。
根据目标边缘方向分布的特征对目标进行自动分类,使得运动目标分类容易实现,准确度高,计算复杂度低,实时性强,有效区别道路上的行人和车辆,帮助高速公路管理部门对道路智能管理,预防恶性事件的发生。
本发明第二实施方式涉及一种监控视频中目标自动分类方法。图2是该监控视频中目标自动分类方法的流程示意图。
第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:在对运动目标区域内的图像计算边缘梯度方向的步骤中,使用预先设定的边缘检测算子并进行卷积运算,有效降低图像噪音和提高运算速度。对边缘梯度方向按方向角度进行统计,得到方向直方图的步骤中,采用归一化处理方式,使得不同尺寸目标的方向直方图的各数值由绝对值变为相对值,有利于分类阈值的选取。规定了N取值范围为4至8,可以使得边缘梯度方向按方向角度量化适量,目标分类准确,计算量小,实时性强,且当N=6时,其分类方法的性能达到最优。
在对运动目标区域内的图像计算边缘梯度方向的步骤中,包括以下子步骤:
使用预先设定的边缘检测算子,对运动目标区域内的每个像素点进行卷积运算,求取运动目标区域内每个像素点的水平方向梯度dx和垂直方向梯度dy。
根据该运动目标区域内每个像素点的水平方向梯度dx和垂直方向梯度dy,计算该像素点的边缘梯度方向角度
图像边缘检测大幅度地减少了数据量,并且剔除了不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于搜索和零交叉。基于搜索的边缘检测方法首先计算边缘强度,通常用一阶导数表示,例如梯度模,然后利用边缘检测算子估计边缘的局部方向,通常采用梯度的方向,并利用此方向找到局部梯度模的最大值,其中使用的边缘检测算子有Roberts算子,Cross算子,Prewitt算子,Sobel算子,Canny算子,Krisch算子,罗盘算子等。基于零交叉的方法是找到由图像得到的二阶导数的零交叉点来定位边缘,通常利用拉普拉斯算子或非线性微分方程的零交叉点。
利用当前帧和背景图像的差获取运动目标区域,其边缘是由灰度不连续性所反映的,边缘种类可分为两种,其一是阶跃性边缘,它两边的像素的灰度值有显著不同。其二是屋顶状边缘,它位于灰度值从增加到减小的变化转折点。对于阶跃性边缘,其二阶方向导数在边缘处呈零交叉,因而可用微分算子来做边缘检测算子。微分算子类边缘检测法类似于高空间域的高通滤波,有增加高频分量的作用,这类算子对噪声相当敏感,对于阶跃性边缘,通常可用的算子有梯度算子Sobel算子和Kirsh算子。对于屋顶状边缘可用拉普拉斯变换和Kirsh算子。由于色标为长方形,且相邻边缘灰度级相差较大,故采用边缘检测来获取当前图像中的运动目标区域。
在本发明的其它某些实例中,在运动目标区域内求取每个像素点的水平方向梯度dx和垂直方向梯度dy具体如下:
图像边缘梯度一般都是通过对图像进行梯度运算来实现的,即把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导:
图像梯度:G(x,y)=dx i+dy j。
dx(i,j)=l(i+1,j)-l(i,j)。
dy(i,j)=l(i,j+1)-l(i,j)。
其中,l是图像像素的值(如:RG B值),(i,j)为像素的坐标。
图像梯度一般也可以用中值差分:
dx(i,j)=[l(i+1,j)+l(i-1,j)]/2。
dy(i,j)=[l(i,j+1)+l(i,j-1)]/2。
卷积是一种线性运算,运用于图像处理中常见的模运算,广泛应用于图像滤波。根据卷积定理,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即,一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积。这一定理对拉普拉斯变换、双边拉普拉斯变换、Z变换、Mellin变换和Hartley变换等各种傅里叶变换的变体同样成立。在调和分析中还可以推广到在局部紧致的阿贝尔群上定义的傅里叶变换。高斯变换就是用高斯函数对图像进行卷积。其中,高斯算子可以直接从离散高斯函数得到。
在本发明的其它某些实例中,根据该运动目标区域内每个像素点的水平方向梯度dx和垂直方向梯度dy,计算该像素点的梯度方向角度也可以根据三角或反三角函数关系,利用另一种角度表达方式进行反正弦、反余弦,反余切等的处理。
对边缘梯度方向按方向角度进行统计,得到方向直方图的步骤中,包括以下子步骤:
对目标区域内每个像素的边缘梯度方向角度在0至180度分布范围内进行量化至N个方向,其中N为预先设定的整数。
根据目标区域内每个像素的边缘梯度方向角度,统计该目标区域内每个像素的边缘梯度方向角度,得到方向直方图。
对边缘梯度方向直方图进行归一化处理。
归一化是一种无量纲处理手段,使用归一化处理函数,使物理系统数值的绝对值变成某种相对值关系,对边缘梯度方向直方图的归一化处理,可以提高对不同图像质量,不同尺寸目标分类的鲁棒性。
统计该目标区域内每个像素的边缘梯度方向角度,得到方向直方图。即对相同场景条件下的目标区域内每个像素的边缘梯度方向角度作为一系列测量数据,找出其最大值和最小值,然后在确定的一个边缘梯度方向角度分布范围的区间0到180度内,使其包含全部测量数据,将区间分成N个小区间,统计测量结果出现在各小区间的频数M,以测量数据为横坐标,以频数M为纵坐标,划出各小区间及其对应的频数高度,则可得到一个矩形图,即为该目标区域内每个像素的边缘梯度方向直方图。
边缘梯度方向直方图的归一化,即是将直方图每个方向上的分布个数归一化到0~1之间,且直方图每个方向的分布总和为1。归一化的目的增强算法对不同尺寸目标的适应性。
N取值范围为4至8。
对目标区域内每个像素的边缘梯度方向角度在0至180度分布范围内进行量化至N个方向,当N越小时,目标区域内每个像素的边缘梯度方向角度量化方向就越少,抗干扰性就差,图像噪声大,从而导致目标错误分类的概率变大。当N越大,目标区域内每个像素的边缘梯度方向角度量化方向越多,其图像特征越分散,目标无法分类的可能性增加。所以,其中N的取值范围一般为4至8,可以使得量化方向适量,目标分类准确,计算量小,实时性强。
此外,可以理解,在本发明的其他某些具体实施方式中,N的取值范围也可以根据实际应用和具体情况进行选择,并不局限于4至8,也可以是其他范围,比如4至12。
根据方向直方图确定运动目标的类型的步骤中,当N=6时,通过以下方式确定目标类型:
其中
th1、th2、th3、th4、th5、th6、th7、th8、th9是预先设定的门限。
当N=6时,可以使得图像场景中的目标特征均匀处理,抗干扰能力明显提高,目标分类更加准确。
在本发明的其他某些实例中,th1、th2、th3、th4、th5、th6、th7、th8、th9也可以是动态生成的门限,并不局限于于预先设定,比如对监控系统实时性精确度要求高的时候,th1、th2、th3、th4、th5、th6、th7、th8、th9即是根据现场数据动态生成的瞬时经验值。对于采取预先设定th1、th2、th3、th4、th5、th6、th7、th8、th9的方式,其取值可以是经验模型得出的经验值。
由于行人边缘的水平方向分布远远大于垂直方向,车辆边缘的垂直方向分布略大于水平方向分布,通过这一原则和对各个th的取值范围设置,可以实现监控视频中的运动目标自动分类。
th1的取值范围为[0.4,0.6]。
th2的取值范围为[0.8,0.95]。
th3的取值范围为[0.05,0.15]。
th4的取值范围为[0.15,0.3]。
th5的取值范围为[0.05,0.2]。
th6的取值范围为[0.4,0.6]。
th7的取值范围为[0.8,0.95]。
th8的取值范围为[0.05,0.15]。
th9的取值范围为[0.2,0.35]。
上述取值范围是优选的,在本发明的其他某些实例中,th1、th2、th3、th4、th5、th6、th7、th8、th9的取值范围,只要保证行人边缘的水平方向分布远远大于垂直方向,车辆边缘的垂直方向分布略大于水平方向分布这一分类门限选取原则即可,也可以不为上述取值范围:
在对运动目标区域内的图像计算边缘梯度方向的步骤中,
对运动目标区域内的灰度图像计算边缘梯度方向。
使用灰度图像计算边缘梯度方向,适应性更好,计算量更少。
在本发明其它某些实例中,彩色图像也可以用于计算运动目标区域的边缘梯度方向。一种方法是直接用彩色图像的计算,例如用一个或多个色彩分量,另一种方法是将彩色图像转换成灰度图像进行计算。
对运动目标区域内的灰度图像计算边缘梯度方向使用的边缘检测算子为Sobel算子,描述如下:
和
在灰度图像处理中提取边缘,作为滤波算子的一种,Sobel算子通过对图像中的像素位置做了加权,并通过利用快速卷积函数,因此简化了运算复杂度,明显提高了其边缘检测效果。
Sobel算子是图像处理中的算子之一,主要用作边缘检测。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量。
该算子包含两组3x3的矩阵,分别为横向及纵向,如下所示:
将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值,即本发明中的该运动目标区域内每个像素点的水平方向梯度dx和垂直方向梯度dy。
除了Sobel算子以外,还可以用其它算子进行边缘计算,如
Roberts算子:
Prewitt算子:
等等。
优选地,图2是本实施方式中背景提取及运动目标检测的工作流程示意图。
具体地说,
在步骤201中,输入像素点。
此后进入步骤202,对该像素点初始化高斯模型。
此后进入步骤203中,判定初始化高斯模型与多高斯模型中的某一高斯模型是否匹配。
若否,则进入步骤204;若是,则进入步骤206。
在步骤204中,如果初始化高斯模型与多高斯模型中的某一高斯模型不匹配,则更新匹配模型的方差与均值,并且更新所有高斯模型的权值。
此后进入步骤205,更新该像素点至背景图像,此后结束本流程。
在步骤206中,如果步骤203中,初始化高斯模型与多高斯模型中的某一高斯模型匹配,则替换权值最小的高斯模型方差与权值,并且更新其余高斯模型的权值。
此后进入步骤207中,标记该像素点为运动目标的像素点。此后结束本流程。
优选地,图3(a)和图3(b)是本实施方式中运动目标分别为行人和车辆的示意图。
优选地,图4(a)是本实施方式中一种监控视频中目标自动分类方法的场景示意图;
图4(b)是本实施方式中一种监控视频中目标自动分类方法的背景示意图;
图4(c)是本实施方式中一种监控视频中目标自动分类方法的示意图;
本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
本发明第三实施方式涉及一种监控视频中目标自动分类系统。图5是该监控视频中目标自动分类系统的结构示意图。该监控视频中目标自动分类系统监控视频中目标自动分类系统,包括以下模块:
获取模块,用于根据当前帧和背景图像的差获取当前图像中的运动目标区域。
计算模块,用于对获取模块获取的运动目标区域内的图像计算边缘梯度方向。
统计模块,用于对计算模块计算的边缘梯度方向按方向角度进行统计,得到方向直方图。
分类模块,用于根据统计模块统计的方向直方图确定运动目标的类型。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第四实施方式涉及一种监控视频中目标自动分类系统。图6是该监控视频中目标自动分类系统的结构示意图。
本发明第四实施方式涉及一种监控视频中目标自动分类系统。图6是该监控视频中目标自动分类系统的结构示意图。
第四实施方式在第三实施方式的基础上进行了改进,主要改进之处在于:增加了二值化模块,并且所述计算模块和统计模块还分别包括子模块。
具体地说,
还包括以下模块:二值化模块,用于计算模块对运动目标区域内的图像计算边缘梯度方向的步骤中,对运动目标区域内的灰度图像计算边缘梯度方向。
所述计算模块,还包括以下子模块:
方向梯度计算子模块,用于根据预先设定的边缘检测算子,对运动目标区域内的每个像素点进行卷积运算,求取运动目标区域内每个像素点的水平方向梯度dx和垂直方向梯度dy。
梯度方向角度计算子模块,用于根据该运动目标区域内每个像素点的水平方向梯度dx和垂直方向梯度dy,计算该像素点的边缘梯度方向角度
所述统计模块,还包括以下子模块:
量化子模块,用于对目标区域内每个像素的边缘梯度方向角度在0至180度分布范围内进行量化至N个方向,其中N为预先设定的整数,其中,N取值范围为4至8。
统计子模块,用于根据目标区域内每个像素的边缘梯度方向角度,统计该目标区域内每个像素的边缘梯度方向角度,得到方向直方图。
归一化处理子模块,用于所述统计子模块对边缘梯度方向直方图进行归一化处理。
对目标区域内每个像素的边缘梯度方向角度在0至180度分布范围内进行量化至N个方向,当N越小时,计算模块计算量减少,其图像处理抗干扰性就差,图像噪声大,从而导致目标错误分类的概率变大。当N越大,其图像特征越分散,目标无法分类的可能性增加。所以,其中N的取值范围一般为4至8,可以使得量化方向适量,自动目标分类准确,计算量小,实时性强。
根据方向直方图确定运动目标的类型的步骤中,当N=6时,通过以下方式确定目标类型:
其中
所述th1、th2、th3、th4、th5、th6、th7、th8、th9是预先设定的门限。并且,所述th1的取值范围为[0.4,0.6];
所述th2的取值范围为[0.8,0.95];
所述th3的取值范围为[0.05,0.15];
所述th4的取值范围为[0.15,0.3];
所述th5的取值范围为[0.05,0.2];
所述th6的取值范围为[0.4,0.6];
所述th7的取值范围为[0.8,0.95];
所述th8的取值范围为[0.05,0.15];
所述th9的取值范围为[0.2,0.35]。
对运动目标区域内的灰度图像计算边缘梯度方向使用的边缘检测算子为Sobel算子,描述如下:
和
第二实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
需要说明的是,本发明各模块实施方式中提到的各模块都是逻辑模块,在物理上,一个逻辑模块可以是一个物理模块,也可以是一个物理模块的一部分,还可以以多个物理模块的组合实现,这些逻辑模块本身的物理实现方式并不是最重要的,这些逻辑模块所实现的功能的组合是才解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各模块实施方式并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,这并不表明上述设备实施方式并不存在其它的模块。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。