一种视频监测中运动目标的快速检测方法与流程

文档序号:12787325阅读:289来源:国知局
一种视频监测中运动目标的快速检测方法与流程

本发明属于视频检测领域,具体涉及一种视频监测中运动目标的快速检测方法。



背景技术:

随着全程数字化、网络化的视频监控系统的发展,视频监控的作用变得愈发明显,其高度的开发性、集成性和灵活性,为整个安防产业的发展提供了更加广阔的发展空间,智能视频监控由于赋予更多的智能化、主动化、有效性等特点,成为新一代视频监控趋势。

智能视频监控系统的需求主要来自于那些对安全要求敏感的场合,如军队、公安、银行、道路、停车场等。当盗窃发生或异常发生时,该类系统能够主动向保卫人员及时准确地发出警报,使工作人员能够充分利用视频监控网络实施报警联动和应急指挥处置,从而避免犯罪的发生。同时也减少了雇佣大批监视人员的投入。

作为智能监控技术的重要内容和基础,对目标(尤其是车辆和行人目标)检测和跟踪的不断优化是智能监控技术不断进步的必要过程。目前目标跟踪检测存在的以下难题:1)运动目标监测作为目标跟踪的基础,直接影响跟踪的效果。但是由于视频获取过程中容易受到外界因素的干扰,如摄像机抖动、光照变化、目标阴影干扰、目标遮挡、同色背景干扰等,这些现实因素都会给目标监测带来相当大的难度。如随着光照角度的变化目标阴影在监测过程中会被不同程度的检测为目标前景,对目标整体形状产生很大影响;目标遮挡使检测过程很难获得目标的完整形状,丢失目标相关信息,不利于后续的跟踪;光照变化、摄像机抖动、背景干扰都可以看成噪声,同样影响目标检测的准确性。2)遮挡问题是目前目标跟踪的重点问题,现在大多数目标跟踪系统都不能有效的解决运用目标受背景或者其他目标之间的相互遮挡问题。在跟踪过程中目标遮挡是随机的、不可预测的问题。对于这样的问题简单的依赖背景建模实现目标检测或跟踪算法是不可靠的,必须建立更好地目标模型或特征模板,并利用那些可见的目标部分与模型或特征的准确匹配来解决。因此,提高目标检测的效率和准确率是智能视频监控系统中至关重要的内容。

监控视频中的目标检测,主要分为两类:(一)运动目标检测;(二)基于图像识别的目标检测。两者各有优缺点,运动目标检测能够快速有效地检测监控视频中的运动目标,但对静止于场景中的目标无法检测到,并且在粘连目标的分离上也显得比较无力;基于图像识别的目标检测,对全图中的所有目标进行检测,无论是运动目标还是静止目标,由于依赖于特征判定,这类方法在获得更高的准确率、检出率且较少受到粘连等情况的影响这些优势的同时,它一般需要更多的运行时间。



技术实现要素:

本发明的目的在于为了克服以上现有技术的不足而提供一种视频监测中运动目标的快速检测方法。

本发明的技术方案如下:

一种视频监测中运动目标的快速检测方法,包括以下步骤:

步骤一,待测视频V={I0,I1,I2,…,Ik},其中Ik是视频V中的第k帧图像,将视频的第零帧图像设定为初始背景模型D0,即D0=I0

步骤二,通过计算Fk=Ik-Dk-1提取前景,并在Fk上提取潜在运动区域的集合Sk,设定Sk中目标的集合的初始值Ok={}为空集;其中提取前景为将当前正在分析的图像Ik与背景模型Dk-1点对点相减,差值超过常量10的点作为前景点,否则作为背景点;点对点相减完成之后采用形态学开、闭操作,过滤噪声并使联通区域相对更规整,再采用区域生长方法获得其中作为前景的所有联通区域,将临近区域合并,得到潜在运动区域的集合Sk

步骤三,对于步骤二Si中每一个潜在运动区域s,检测s中可能存在的待检目标,所有检测到的目标均加入集合Ok中;

步骤四,对Ok-1中的所有目标,在第k帧中进行跟踪,所得待检目标同样加入到Ok中,并继续向前对所有短时间内丢失的目标的最后一次出现在当前帧进行跟踪,所得目标同样加入到当前目标集合Ok中;

步骤五,对于集合Ok中一定时间不出现的目标作消失处理,将该目标从集合Ok中删除;步骤六,更新背景模型;

步骤七,对于下一帧图像,重复上述步骤二到步骤六,直到检测到视频最后一帧图像后,得到检测结果。

进一步地,所述的视频监测中运动目标的快速检测方法,步骤三中检测s中可能存在的待检目标的方法为多尺度、浮动窗和基于HoG特征计算的的目标识别的方法。

更进一步地,所述的视频监测中运动目标的快速检测方法,基于HoG特征计算的的目标识别,还需要设定一个判定机制,该机制为首先手动标定一个目标数据样本库,数据样本库由大量相同尺寸的图片组成,每张图片都标定了其是否存在特定检测目标,每张图片中各像素点的HoG特征均被获取;判定机制通过获取每张图片中各像素点的HoG特征进而形成对于检测目标的识别模型数据;特定检测过程中,首先将待测窗口调整为与判定机制中图片相同的大小,然后通过识别模型数据判定待测窗口中是否存在特定检测目标。

进一步地,所述的视频监测中运动目标的快速检测方法,步骤三中检测s中可能存在的待检目标的方法还可以按照以下进行:

1)将第一帧图像作为初始背景,即C(x,y,1)=T(x,y,k),其中x,y为像素点的坐标,k为帧数号;

2)对当前帧T(x,y,k),进行目标标识矩阵D(x,y,k)的计算,计算公式为:

其中C(x,y,k)为当前背景图像,F(k)的取值范围为20-40;

3)统计各像素点Ai,j,k和Ai+n,j+m,k+f在待测像素点的时间和空间领域内的概率密度,计算信息差和检测点像素点的值,其中信息差M(x,y,k)为:

式中,g(Ai,j,k)和g(Ai+n,j+m,k+f)分别为像素点Ai,j,k和Ai+n,j+m,k+f在时间域和空间域内的概率密度函数;像素点的值Z(Ai,j,k)为:Z(Ai,j,k)=g(Ai,j,k)+M(x,y,k)/26,(k≥2);

4)将像素点的值Z(Ai,j,k)≥0.02的区域作为前景标记,标记为Qq;把像素点的值Z(Ai,j,k)≤0.02的区域作为背景标记,标记为Qb

5)利用多尺度形态学方法计算当前帧的多尺度形态学梯度图像g;

6)利用以上标记Qq与Qb进行优化:g,=imimposemin(g,Qq|Qb),然后利用分水岭算法得到目标图像:contour=watershed(g,);

7)对下一帧图像更新并建立新背景,重复步骤2)-6),直至最后一帧图像,得到检测结果。

进一步地,所述的视频监测中运动目标的快速检测方法,步骤四中跟踪的方法如下:

1)首先初始化待跟踪帧中与跟踪源帧中目标位置相同的位置为初始检索位置p;

2)把待跟踪帧中检索位置p为中心、大小与目标在跟踪源帧中大小相等的矩形框作为潜在的跟踪结果,将它与跟踪源中的目标求均方差,如果这个值小于阈值2,则认为跟踪完成,找到了跟踪目标,算法结束;

3)上一步骤获得的均方差值不满足条件的话,把p周围菱形位置即八个位置:斜对角的四个邻点+上下左右各自隔一点的位置分别作为矩形框中心各自计算与跟踪目标在跟踪源帧中的均方差,如果这八个值均超过上一步骤获得的均方差值则认为不存在跟踪结果,算法结束;否则,以产生最小均方差值的点替换p;

4)对当前帧之前一定范围内的帧中的目标的最后一次出现,都采用以上步骤中的方法进行跟踪。

进一步地,所述的视频监测中运动目标的快速检测方法,步骤六中更新背景模型具体为对位置是(x,y)的点,如在当前背景模型中的亮度值是d,而在当前图像中的亮度值是p,则经过当前图像,背景模型的值更新为Dk=(1-α)×d+α×p,如果位置是(x,y)的点在步骤二中判定为背景点,则α值取0.1,如果在步骤二中判定为前景点,则α值取0.01。

更进一步地,所述的视频监测中运动目标的快速检测方法,步骤4)中当前帧之前一定范围内的帧指的是当前帧的前25帧。

本发明提供的视频监测中运动目标的快速检测方法能够快速检测视频中的运动目标,根据预先存储的目标数据样本库进行特性目标的计算与检测,很好的避免了目标漏检与重捡的问题。

附图说明

图1为本发明实施例1中所述的运动目标快速检测方法的流程图;

图2为本发明实施例1中所述的处理前的图片;

图3为本发明实施例1中所述的背景差分后的图片;

图4为本发明实施例1中所述的经形态学操作后的图片;

图5为本发明实施例1中所述的最终检测结构的图片。

具体实施方式

实施例1

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

图1是本实施例提供的运动目标快速检测方法的流程图,包括以下步骤:

步骤M1,对视频序列中的每一帧图像,检测出其中的所有潜在的运动区域,并获得这些区域的位置;

在本实施例中,我们选取一段监控摄像机拍摄的高清视频片断,分辨率为1920x1080,视频场景为两侧是绿化带的道路交通,视频序列中的图片的点像素,其亮度值在0~255之间,视频记为V={I0,I1,I2,…,Ik},其中Ik是视频V中的第k帧图像,我们的后续分析均是基于亮度值进行,图2是采自该视频的一张图片。

背景模型Dk是在步骤M1中需要使用到的数据,它代表对当前场景的背景的预测。初始情况下,Dk被设置成等于视频序列中第一张图片,即D0=I0,在后续执行过程中,D0进行实时更新;

步骤M1进一步包括以下步骤:

步骤M11,把视频序列中当前正在分析的图片与背景模型D0点对点相减提取前景,即Fk=Ik-Dk-1,此时k=1(图3显示了图2中图片与背景模型相减的结果),其中差值超过某个常量(比如,10)的点被认为是前景点,否则认为是背景点。通过该步骤,我们获知了当前图像中的每一点的前景/背景的初步判断;

步骤M12,根据上一步骤获得的前景/背景的初步判断,抠出当前图像中的潜在运动区域Sk。设定Sk中目标的集合的初始值Ok={}为空集,然后顺序采用形态学开、闭操作,过滤噪声并使联通区域相对更规整,在此基础上,采用区域生长方法获得其中作为前景的所有联通区域,每一个联通区域就是一个潜在的运动区域,对这些联通区域,进行一次临近区域合并:如果两个联通区域的最小包含矩形之间的距离不超过某个阈值(比如,3),则将这两个联通区域合并。图3经过形态学操作后的结果如图4,经过联通区域合并,最后所有这些高亮区域形成了唯一一个潜在运动区域,(需要进行相邻区域合并的原因也能从图中看出来,其中的目标汽车被划分成了几个相邻近的联通区域,如果不进行合并,有可能将汽车划分成几个小部分);

步骤M13,用当前图像更新背景模型D0。对位置是(x,y)的点,假设在当前背景模型中的值是d,而在当前图像中的值是p,则经过当前图像,背景模型的值更新为D1=(1-α)×d+α×p,如果该位置的点在M11中被判定为背景,则采用一个较大的α值(比如,0.1),如果该位置的点在M11中被判定为前景,则采用一个较小的α值(比如,0.01);

步骤M2,对步骤M12中输出的每一个潜在运动区域进行目标识别,以找出其中真正意义上的目标,步骤M2进一步包括:

步骤M21,确定多尺度的浮动窗对区域的划分,浮动窗的大小根据目标实际的可能大小进行设定。针对某种特定的目标,假设该类目标在视频图像中的最小尺寸为s×t(对于目标行人,这个值采用的是比如:s=8,t=16;对于目标车辆,这个值采用的是比如:s=24,t=24),则第一个尺度上定义窗口大小为s×t,该窗口首先浮动在区域的左上角位置,然后依次从左向右、从上向下浮动该窗口位置直至区域的右下角,每次浮动的位移为窗口大小的1/2(即从左向右位移的跨度为s/2,从上向下位移的跨度为t/2),当该浮动过程结束,即第一个尺度的浮动过程结束;进入第二个尺度的浮动,在这第二个尺度的浮动中,浮动窗口的宽、高同时调整为上一个尺度中浮动窗口的宽、高的某个大于1的常数倍(比如,1.05),然后类似在第一个尺度中一样进行浮动,结束后进入再下一个尺度直到窗口大小超过了目标的最大尺寸为止(比如:最小尺寸的二倍宽、高)。以上每个尺度浮动窗的所有停留位置,形成了对该区域的区域划分,在下面步骤中我们会判断其中每一个位置中是否存在该特定目标。所以M21实际就是形成了这个区域划分(区域被划分成了很多窗口位置,这些位置之间相互可能重叠);

步骤M22,对区域中的所有点计算HoG特征,HoG特征的计算,可以直接使用OpenCV的对应函数完成;

步骤M23,对M21区域划分出来的每一个窗口位置,在该窗口内进行基于HoG特征的目标识别(分别进行行人/车辆识别),作为识别的结果,区域划分的每一个窗口,得到判断在该窗口中是/否存在目标。

基于HoG特征的目标识别,这个需要利用到步骤M4进行机器学习获得判定机制(即识别模型,也就是模型数据D3)。

为了步骤M4进行机器学习,首先手动标定了一个目标数据样本库D2(针对行人、车辆各自有一个这样的数据样本集,现在只是针对其中的某一种来进行说明),数据样本库D2由一定量(比如,1000幅)的相同尺寸的图片组成(比如32×64),每个图片都标定了其中是或者否存在特定目标(即行人/车辆),每个图片中各像素点的HoG特征都获取了(获取特征);

步骤M4,基于D2进行机器学习获得该目标的识别模型数据。由于D2中图片的尺寸固定,图片中每一个像素的HoG特征的字节数也是固定的,因此每一张图片实际就是看作一个由所有像素的HoG特征按序排列而形成的一个高维向量,而这张图片中是否包含特定目标(0,1)即是分类,这是一个非常典型的分类问题,我们采用SVM算法来完成这个学习过程(SVM算法直接使用OpenCV中的函数来进行),从而获得该目标的识别模型数据D3;

在M23中,我们首先把窗口大小调整为D2中图片的大小,然后还是用SVM算法调用模型数据D3,完成识别,判断该窗口中是/否存在该特定目标;

步骤M24,整理识别结果。由于M21区域划分的那些窗口之间有很大程度上的重叠,因此有可能单一目标被重复识别,因此需要简单判定M23中识别到的目标其中有哪些是重复的,通过整理,获得最终在该区域检测到的所有目标,并将这些目标加入到集合Ok中(图5是图4的最终识别结果,能看出来它把在运动区域上粘连的两个目标分离出来了);

对于潜在运动区域Sk中真正意义上的目标的检测,我们在研究过程中还开展了以下检测方式:

1)将第一帧图像作为初始背景,即C(x,y,1)=T(x,y,k),其中x,y为像素点的坐标,k为帧数号;

2)对当前帧T(x,y,k),进行目标标识矩阵D(x,y,k)的计算,计算公式为:

其中C(x,y,k)为当前背景图像,F(k)的取值范围为20-40;

3)统计各像素点Ai,j,k和Ai+n,j+m,k+f在待测像素点的时间和空间领域内的概率密度,计算信息差和检测点像素点的值,其中信息差M(x,y,k)为:

式中,g(Ai,j,k)和g(Ai+n,j+m,k+f)分别为像素点Ai,j,k和Ai+n,j+m,k+f在时间域和空间域内的概率密度函数;像素点的值Z(Ai,j,k)为:Z(Ai,j,k)=g(Ai,j,k)+M(x,y,k)/26,(k≥2);

4)将像素点的值Z(Ai,j,k)≥0.02的区域作为前景标记,标记为Qq;把像素点的值Z(Ai,j,k)≤0.02的区域作为背景标记,标记为Qb

5)利用多尺度形态学方法计算当前帧的多尺度形态学梯度图像g;

6)利用以上标记Qq与Qb进行优化:g,=imimposemin(g,Qq|Qb),然后利用分水岭算法得到目标图像:contour=watershed(g,);

7)对下一帧图像更新并按照以上步骤M13建立新背景,重复步骤2)-6),直至最后一帧图像。

通过以上检测步骤,最终得到了与步骤M24相同的特定检测目标车辆与行人。

步骤M3,进行目标跟踪。步骤M2对当前图像的所有潜在运动区域检测了目标,把他们综合起来就得到当前图像中的所有目标,我们知道,这些目标不是孤立存在的,它会在视频序列中的一段时间内持续存在,我们通过步骤3,把不同图像之间的目标串起来,从而获得目标的移动轨迹;

步骤M31,筛选掉一些明显不符合要求的目标,这是一个保留步骤,处于各种原因有可能需要做一个初步筛选,比如界限、比如由于识别准确率不足带来的误报等等;

步骤M32,对当前图像Ik之前的集合Ok-1中的目标,在当前帧k进行前向跟踪,跟踪方法具体如下:

1)首先初始化待跟踪帧中与跟踪源帧中目标位置相同的位置为初始检索位置p;

2)把待跟踪帧中检索位置p为中心、大小与目标在跟踪源帧中大小相等的矩形框作为潜在的跟踪结果,将它与跟踪源中的目标求均方差,如果这个值小于阈值2,则认为跟踪完成,找到了跟踪目标,算法结束;

3)上一步骤获得的均方差值不满足条件的话,把p周围菱形位置即八个位置:斜对角的四个邻点+上下左右各自隔一点的位置分别作为矩形框中心各自计算与跟踪目标在跟踪源帧中的均方差,如果这八个值均超过上一步骤获得的均方差值则认为不存在跟踪结果,算法结束;否则,以产生最小均方差值的点替换p;

4)对当前帧之前一定范围内的帧(比如,25帧)中的目标的最后一次出现,都采用以上步骤中的方法进行跟踪,看它是否出现,如果出现,判断是否是在M24的检测结果之中,若是则把两者通过标识相同的ID联系起来,若不是则把它作为一个新发现的目标加入到当前目标集合Ok中;

步骤M33,我们需要对一些长时间不在出现的目标作消失处理;一旦作消失处理,则系统将忘记该目标,以后出现的任何目标均不会再与其可能作任何关联,在我们的实现中,我们简单的把已经在最近的一些帧(比如,600帧)中未曾出现的目标均作消失处理。

由此,完成了对监控视频中运动目标的快速检测。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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