一种监控视频中运动目标检测及有效帧提取方法与流程

文档序号:15799880发布日期:2018-11-02 21:21阅读:3066来源:国知局
一种监控视频中运动目标检测及有效帧提取方法与流程

本发明涉及视频图像处理领域,具体说是一种监控视频中的有效帧提取方法。

背景技术

随着网络监控摄像机的普及,公共场所安装的网络监控摄像机数量正在日益增加。一台网络监控摄像机一天就能采集到gb级甚至tb级的监控数据。但是在这些数量巨大的监控数据中,我们只对监控场景中目标发生变化的那些帧感兴趣;而那些不存在目标或目标静止的帧则是我们不关注的。因此将每时每刻的监控数据都保存下来是对存储资源的巨大的浪费。

目标检测就是通过图像处理技术发现当前的监控场景中的运动的目标,并将监控视频中存在运动的目标的这些帧提取出来,即从海量的视频监控数据中发现存在运动的目标的数据。这样不仅可以减少存储的数据量而且可以大大降低后续目标识别工作所需处理的数据量。

帧间差分法和背景减除法是目前常用两种目标检测方法。帧间差分法通过对视频中的相邻两帧相减,以发现视频流中发生变化的帧,但这种方法容易受到光照变化、背景中的树的枝叶的摇晃、刮风引起的室外网络监控摄像机的抖动等噪声的影响,从而造成误检。背景减除法通过将当前帧与背景模型相减,以提取当前帧中的目标,由于背景模型的更新需要时间,所以这种方法不能很好地判断当前帧中的目标是否发生了运动。



技术实现要素:

本发明的目的是克服背景减除技术中存在问题,提供一种受噪声干扰小的有效帧提取方法,将监控视频中存在运动的目标的帧提取出来。

该方法结合了帧间差分法和混合高斯背景建模方法中所用到的技术,提取出视频中存在运动目标的有效帧。利用混合高斯背景建模方法建立背景模型,将视频流中的每一帧图片减去背景模型得到每帧的前景图片。然后将相邻帧中的前景图片相减就可以发现视频中存在运动目标的帧,并将这些帧保存下来。这种方法可以克服光照变化、背景中的扰动、甚至是室外网络监控摄像机没有固定好造成的扰动等干扰因素的影响,实现了监控视频中运动目标检测及有效帧提取的目的。

本发明的技术方案是:一种监控视频中运动目标检测及有效帧提取方法,其步骤包括:

步骤1:获取视频流,并按帧读取视频;

步骤2:用混合高斯模型模拟图片中的背景,作为当前的背景模型;

步骤3:将读取到的每一帧图片与当前的背景模型相减,得到前景;

步骤4:对相减后的图片进行二值化处理,得到前景的二值图片,记为binary(i);将第1帧经过二值化处理后得到的图片作为参考二值图片,记为ref;

步骤5:按序将每一帧前景二值图片binary(i)与参考二值图片ref相减,判断是否存在运动目标。具体步骤如下:

步骤501:将每一帧二值图片binary(i)与参考二值图片ref相减,得到差分后的二值图片del(i);步骤如下:

将二值图片binary(i)中每个位置的像素值binary(i)(x,y)与参考二值图片ref中对应位置的像素值ref(x,y)相减:

当binary(i)(x,y)-ref(x,y)≥0时,del(i)(x,y)=binary(i)(x,y)-ref(x,y);

当binary(i)(x,y)-ref(x,y)<0时,del(i)(x,y)=0;

其中del(i)(x,y)为差分二值图片del(i)中位于(x,y)位置的像素值,binary(i)(x,y)为二值图片binary(i)中位于(x,y)位置的像素值,ref(x,y)为参考图片ref中位于(x,y)位置的像素值。

步骤502:对差分后的二值图片做形态学处理;

步骤503:统计经过处理后的差分二值图片del(i)中的白色像素点的个数,即属于运动的前景目标的像素点个数;

步骤504:根据属于运动目标的像素点个数判断是否存在运动目标,若属于运动目标的像素点个数大于给定阈值则说明监控视频中存在运动的目标,保存当前帧;否则不保存当前帧;

步骤505:更新参考二值图片,返回步骤1。

本发明的有益效果是:将监控视频流中的每一帧图片与混合高斯背景模型相减,可以较好地消除背景中的扰动,得到只包含前景的二值图片;然后将只包含前景的二值图片与参考二值图片相减,可以进一步滤除背景减除法中没有滤除的噪声,降低光照变化的干扰,并根据是否存在运动目标来决定是否更新参考二值图片;并根据提取出的目标发生运动的像素点个数决定是否保存当前帧。采用这种方法可以克服已有目标检测方法在实时视频监控中容易受到噪声干扰的问题,提高的检测准确率和检测效率。只保留监控视频存在运动目标的有效帧,可以大大减少监控数据的存储量。

附图说明

图1硬件装置连接方式示意图

图2是监控视频中运动目标的检测方法的主程序流程图

图3是混合高斯模型训练子程序流程图

图4是二值图片帧间差分子程序流程图

具体实施方式

本发明的监控视频中运动目标检测及有效帧提取方法,主程序流程图如图2所示,具体步骤如下:

步骤1,获取视频流,该步骤使用到的硬件设备包括海康威视网络摄像机、网络交换机和pc机。交换机与海康威视网络摄像机和pc机用网线相连接,硬件设备的连接如图1所示。视频流获取的具体步骤如下:

步骤101,将海康威视网络摄像机与交换机、pc机与交换机用网线相连接,如图1所示;

步骤102,在安装windows7版本以上操作系统的pc机端使用海康威视ivms-4200网络视频监控软件配置海康威视网络摄像机,使海康威视网络摄像机的ip地址与pc机的ip地址在同一网段下,例如海康威视网络摄像机的ip地址为172.17.13.109,pc机的ip地址为172.17.13.21;用pc机读取网络摄像机拍摄到的视频流数据。

步骤2,训练混合高斯背景模型,用混合高斯模型模拟视频帧中的背景部分,混合高斯模型训练子程序流程图如图3所示,具体步骤如下:

步骤201,我们假设图像像素点r、g、b三色通道相互独立并具有相同的方差。对于t时刻的一个随机的像素点可以表示为img(t)=(rt,gt,bt),其服从的混合高斯分布概率密度函数为:

其中,k为分布模式总数;η(xt,μi,t,τi,t)为t时刻第i个高斯分布,μi,t为其均值,τi,t为其协方差矩阵,δi,t为其方差,i为三维单位矩阵,wi,t为t时刻第i个高斯分布的权重。

步骤202,初始化高斯模型的参数,令k=3,对于t=0时刻,k个高斯分布的均值权重其中img(o)(i,j)为第一帧中各点的像素值,x,y分别为第一帧图片的长和宽;方差δi,t=1600;协方差矩阵τi,t为三维零矩阵。

步骤203,对于后续每一帧,分别判断各像素点的像素值img(t)(i,j)与当前的k个高斯分布是否满足下式:

|img(t)(i,j)-μi,t-1|≤2.5σi,t-1(4)

其中,σi,t-1为高斯分布的标准差,即若满足,则该像素点属于背景,进行步骤204处理;否则,该像素点属于前景,进行步骤205;

若像素点的像素值与当前的k个高斯分布都不满足上式,则替换k个高斯分布中权重最小的高斯分布:均值为当前像素点像素值,标准差为σi,t=40,权重wi,t=0.1。

步骤204,按以下公式更新各高斯分布模式的权重,

wi,t=(1-α)×wi,t-1+α(5)

其中α为学习率,取为0.01。并对更新后的权重进行归一化处理。

按以下公式更新高斯分布的参数:

ρ=α×η(img(t)|μk,t-1,τk,t-1)(6)

μi,t=(1-ρ)×μi,t-1+ρ×img(t)(7)

δi,t=(1-ρ)δi,t-1+ρ×(img(t)-μi,t)t(img(t)-μi,t)(8)

步骤205,按以下公式更新该高斯分布模式的权重,

wi,t=(1-α)×wi,t-1(9)

其中α为学习率,取为0.01。并对更新后的权重进行归一化处理。

步骤206,将k个高斯分布按的降序排列,选取前b个高斯分布作为背景的分布,b由下式确定:

步骤3,判断各像素点的像素值img(t)(i,j)与步骤206中的b个高斯分布是否满足下式:

|img(t)(i,j)-μi,t-1|≤2.5σi,t-1(11)

其中,σi,t-1为高斯分布的标准差,即若满足,则该像素点属于背景,将该像素点的像素值赋为0;否则,该像素点属于前景,将该像素点的像素值赋为255;

这样就得到了一张二值图片,该二值图片用binary(i)表示,其中前景由白色像素点的集合构成,剩下的黑色像素点的集合构成背景。将第一帧图片经过处理后得到的二值图片作为参考二值图片,记为ref。

步骤4,按序对步骤3得到的每一帧的二值图片binary(i)与参考二值图片ref相减,判断是否存在运动目标,并确定是否要更新参考二值图片。子程序流程图如图4所示,具体步骤如下:

步骤401,将之前处理得到的每一帧二值图片binary(i)中的每个位置的像素值binary(i)(x,y)与参考二值图片ref中对应位置的像素值ref(x,y)相减,根据以下公式得到两张图片的差分二值图片,用del(i)表示;

其中del(i)(x,y)为差分二值图片del(i)中位于(x,y)位置的像素点的像素值;binary(i)(x,y)为二值图片binary(i)中位于(x,y)位置的像素点的像素值;ref(x,y)为参考二值图片ref中位于(x,y)位置的像素点的像素值;(x,y)为图片坐标系中的坐标。

步骤402,对差分后的二值图片进行腐蚀、膨胀等形态学处理,消除上述步骤中二值图片对应像素值相减操作带来的椒盐噪声。

步骤403,统计经过处理后每张差分二值图片del(i)中白色像素点的个数,即属于运动的前景目标的像素点个数。

步骤404,根据属于运动目标的像素点个数判断是否存在运动目标,具体判断方法如下;

差分二值图片del(i)中的白色像素的集合就代表相邻两张图片中的前景发生移动变化的部分像素点的集合。若del(i)中的白色像素的个数,记为num,超过了给定的阈值tn=60,则认为前景目标发生了运动,保存当前的这张图片img(i)。否则,认为前景目标没有发生运动,返回步骤1。

步骤405,判断是否需要更新参考二值图片,具体操作如下:

若del(i)中的白色像素的个数超过了给定的阈值tn=60,则认为前景目标发生了运动,按以下公式更新参考二值图片。

ref=bianry(i)(13)

若del(i)中的白色像素的个数没有超过了给定的阈值tn=60,则认为前景目标没有发生了运动,则不需要更新参考二值图片。

返回步骤203。

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