智能视频监控背景建模及算法分析

2013-12-22 03:11
中国公共安全 2013年15期
关键词:卡尔曼滤波背景监控

智能视频监控在不需要人为干预的情况下,利用计算机视觉和视频分析的方法对摄像机拍录的图像序列进行自动分析,实现动态场景中的目标的检测、识别和跟踪,并在此基础上分析和判断目标的行为。

概论

智能视频监控技术能够可靠地、有效地完成对重要场所的监视保护任务,从而备受人们的关注。智能视频监控系统在银行、交通、军事、商业等部门都得到了非常广泛的应用。随着计算机技术、硬件技术与通信技术的飞速发展,视频监控技术也得到了不断地发展。智能视频监控系统中的运动目标检测与跟踪为智能监控的进一步的分析工作提供了数据支撑。人类获取的各种信息中有大约80%是来自于视觉的。在视觉和人脑的配合下,人类可以实现对极为复杂的运动目标的识别、精确定位与跟踪。计算机视觉就是用各种成像系统代替视觉器官作为输入敏感手段,由计算机完成人类大脑所完成的处理和解释任务,它的最终研究目标就是使计算机能像人一样通过视觉观察和理解世界,具有自主适应环境的能力。

作为计算机视觉研究的一个重要方面,智能视频监控以及运动目标检测与跟踪已经成为模式识别、图像处理、计算机视觉等领域的重要课题。智能视频监控在不需要人为干预的情况下,利用计算机视觉和视频分析的方法对摄像机拍录的图像序列进行自动分析,实现动态场景中的目标的检测、识别和跟踪,并在此基础上分析和判断目标的行为。传统的视频监控系统由连接到一套电视监视器上的一个或多个摄像机组成,分布在场景中的摄像头采集到的图像数据送入监控室,再通过人工参与监控的方式来进行监控,在有异常情况发生的时候人工报警。这种方法利用了人眼强大的视觉能力和人脑强大的行为识别和分析能力,能够对场景里异常情况的发生做出精确的判断。但是这种人工监控的方式也存在着明显的缺陷。它需要全天二十四小时的人工监控,这不仅需要投入大量的人力和财力,对于监控人员也是一个很大地挑战。由于工作的单调枯燥,监控人员很难避免由于疲劳引起的“漏警”现象的发生。而当今社会日益流行的智能视频监控系统能够弥补传统视频监控的这一缺陷。它利用计算机来分析采集到的视频数据,监视场景里是否存在异常情况,核心就是利用运动目标的检测与跟踪技术提取出运动目标并跟踪其轨迹,再根据具体的场合应用人工设置的一些场景规则,对目标进行相关的行为分析,达到无人值守智能监控的目的,可以减少人员参与,提高工作效率。智能视频监控技术通常包括运动检测、目标分类和识别、目标跟踪以及行为理解与描述几个部分。其中运动检测和目标分类识别属于低级处理部分,目标跟踪属于中级处理部分,而行为理解和描述则属于高级处理部分。在智能视频监控系统中,运动目标的检测和跟踪是目标行为理解的前提,其性能直接影响监控系统的有效性,是智能视频监控系统的关键组成部分。

我公司实现静止平台下智能视频监控,有以下几个步骤:背景建模与运动目标检测;运动目标分类与跟踪。

监控场景背景建模

背景建模算法

从图像序列中分割出运动区域是许多计算机视觉系统的关键的第一步,运动区域能否准确地分割出来决定了运动检测结果的好坏,直接关系到后续的运动目标识别及跟踪,并影响系统的性能和实用性。在许多场合下,采集图像数据的监控摄像机一般固定某处不动,针对这种静止成像平台下的应用场景,目前主要有三类运动检测的方法:时间差分法(又称序列帧间差分)、背景建模法(又称背景相减)和光流法。光流法由于算法复杂度高,实现难度大,若没有专门的硬件辅助实现,难以应用于实时应用场合。这里主要介绍时间差分法和背景相减法。

目前常用的运动目标检测技术分为以下三类:

1、帧间差分法:利用视频序列中相邻的帧的图像具有连续性的特性,通过计算连续图像序列中的两个或三个相邻帧间的基于像素的时间差分,并且阈值化来提取运动区域的一种方法。

2、背景差分法:用当前的帧和背景图像做差分来检测场景中的运动目标的。背景图像是预存的,它可以根据场景的变化不断地进行更新,也是背景差分法的主要影响因素。

3、光流法:利用运动目标随着时间变化的光流特征,通过计算光流来检测运动。

这三类运动目标检测技术都存在着各自的优缺点。帧间差分法的算法复杂度较低,易于实现,而且运算量小。但是它一般不能完全提取出所有相关的特征像素点,在运动实体内部容易产生空洞现象。这会影响到后续的跟踪以及行为分析等的有效性和正确性。

背景差分法能够提取出比较完整的运动目标的区域信息。对于室内的场景检测,检测算法相对户外来说容易设计。对于户外的场景,受影响因素较多,如天气变化,太阳光照变化及场景中某些背景的干扰(摇曳的树,池塘表面的水波纹,飘扬的旗帜),要排除这些背景干扰准确检测出场景中的有效运动还是比较复杂的。背景差分中背景模型的建立和更新影响着算法的准确性。

光流法能够检测出独立运动的对象,不需要预先知道场景的任何信息,而且在摄像机运动的情况下也可以检测出运动目标。但是大多数的光流法计算过程相当复杂,抗噪性能差。如果没有特别的硬件支持是不能被应用到实时处理中的。

场景中目标的运动势必会在时间轴上使图像数据发生变化,显然我们可以通过检测这种时间上的变化来分析出场景中的运动。虽然时间差分算法简单,也有一些监控场合使用多帧时间差分方法做运动检测。

时间差分法只需要两幅不同时刻的图像在每个像素点进行简单的像素值相减和判决操作,其复杂度是很低的,而且易于实现,运算量小,速度快,在性能较差的硬件平台也能达到较高的处理效率。此外由于时间差分法做差分的两幅图像时间间隔很短,差分图像受光照条件的影响小,也能够在一定程度上适应动态变化的场景。时间差分法缺点也很明显,它无法完整提取出运动区域,只能检测出运动区域周围的轮廓,当目标运动速度较慢时,如果选取间隔帧数太小,甚至有可能无法检测出目标运动。

背景建模法又称背景相减法,即利用当前收到的帧图像与预存的一副背景参考图像做差分来检测场景中运动目标的技术。这类方法的核心是如何建立背景模型以及选择背景模型的随着时间变化的更新策略。背景建模法能够提取出比较完整的运动目标的区域信息,对于复杂的户外场景,由于存在光照等各种外部条件的变化,构造出好的自适应场景变化的背景模型对运动目标的精确提取至关重要。

对于室内的运动目标检测,因为场景的环境变化较小,影响因素少,检测算法相对户外来说易于设计一些。对于户外的场景,受影响因素较多,如一年四季天气变化,一天中太阳光照变化及场景中某些多模态背景的干扰(摇曳的树,池塘表面的水波纹,飘扬的旗帜),要排除这些干扰背景准确检测出场景中的有效运动还是比较复杂的。目前大部分实现的监控系统都使用了背景建模的算法来分割运动区域,并通过一些图像处理的技术对后期的检测结果图像进行处理,提取出场景中我们感兴趣的目标。目前常用的背景建模算法有高斯混合模型(Gaussian Mixture Model)和码书模型(CodeBook Model)等。

混合高斯背景建模

在静止成像平台下,背景建模(背景相减)是运动目标检测最常用的方法。背景相减法的核心在于生成一副场景的参考图像,并能自动更新。

Stauffer等提出的混合高斯模型作为一种像素级建模的算法,能够适应背景重复性运动和照明缓慢变化,取得了较大的成功。混合高斯模型算法对场景中每个像素点值的分布维护了一个概率密度函数,将场景中每个特定的像素点的值用若干个(一般取3~5个)高斯分布去拟合,每个高斯分布具有自己的权重,因此它能处理多模态背景分布的情况。另一方面,混合高斯模型是参数化的,模型的参数会自适应更新,而且不用缓存过去的视频帧。在算法处理的过程中,随着新图像的到来,我们去更新每个像素点各个高斯分布的权重、均值和方差。

目标前景二值图像形态学处理

经过运动检测与阴影抑制,我们可以得到一副前景二值图像。因为视频图像的噪声和轻微抖动无法避免,而且混合高斯背景建模算法作为一种像素级的算法,目标与背景之间颜色和灰度相似的情况也时有发生,最后得到的二值图像里前景区域不一定是完整的运动对象,往往有许多孤立的噪声白点、孤立的小区域和小间隙。因此必须对前景图像进行后处理,消除噪声并连接空洞,便于后期通过标记统计目标参数。

目前一般使用数学形态学的方法来处理前景图像。数学形态学有膨胀、腐蚀、开/闭运算四个基本操作。

运动目标跟踪

图1:背景训练过程(混合高斯算法)

通过目标检测在序列图像中分割出属于运动目标的图像区域,接下来需要对运动目标进行跟踪。目标跟踪就是在序列图像不同时刻检测到的目标之间根据目标的某些特征在时间上建立起联系,通俗一点说,就是跟踪上的目标在图像序列的不同帧里,始终赋予稳定一致的编号。目标跟踪在计算机视觉领域里是一个充满挑战的问题。在视频分析领域,对多个目标跟踪的主要困难是在相邻两帧间建立起目标正确的关联关系,尤其是在复杂场景里多个相似目标之间存在遮挡、合并分离等情况时,确定目标之间的正确对应关系变得很困难。

多目标跟踪关联

1、特征代价函数

为了降低系统的复杂度,使系统具备实时处理性能。运动检测阶段得到的目标我们使用它们的外接矩形来表征。在跟踪阶段,相邻两帧的目标链间进行匹配关联,建立匹配矩阵。这里我们采取了一种简单的特征融合代价函数来度量两个目标的相似性。经过运动检测、分割、形态学滤波去噪、标记等过程后,我们统计各个检测到的团块的信息,可以得到团块的形心坐标,外接矩形区域。利用这些信息我们计算代价函数。

2、跟踪流程

(1)跟踪启动并整理已捕获目标链。

如果当前帧号是第一帧,所有检测到的目标都被认为是新目标,设置一个初始的置信度。

如果不是第一帧,检查已捕获目标列表。对目标做线性滤波,预测其在当前帧的位置。目标的位置用其连通区域外接矩形中心表示,令为第i个目标在第K帧里的位置。

图2:绿茵场上对球员跟踪

(2)目标关联:这部分也是多目标跟踪的核心,可建立了一个代价函数矩阵记录已捕获链中各个目标和当前帧检测目标链中各个目标的代价函数值,同时建立一个关联矩阵确定目标最优的对应关系。对于捕获链中的第i个目标,我们能够在当前检测链中找到使得代价函数E(i,j)最小的检测目标j,同时进一步比较形心距离d(i,j)和一个距离门限dT。

如果d(i,j) <dT,当前检测到的第j个目标是已捕获链中第i个目标时间上的后续对应。增加第i个已捕获目标的置信度并更新它的特性参数。

如果d(i,j) >dT,第i个已捕获目标没有在当前帧里找到时间上的后续对应。它的置信度会降低,如果它的位置已经接近了场景的边缘,认为它已经走出了场景,将其从已捕获链表中移除。如果它置信度降低了后仍然较高,且它的位置在场景观测区中,仍然使用(1)中的线性滤波去预测它的下一帧位置。

当前检测到的目标,若在已捕获目标链里未找到合适的关联目标,将其作为新目标添加进已捕获目标链表,并赋予一个初始的置信度。

(3)按照(1)和(2)的过程处理下一帧视频直到图像序列结束。

基于卡尔曼滤波的运动目标跟踪

卡尔曼滤波是以最小均方误差作为估计的最佳准则,来寻找一套递推估计的算法,其基本实现是:采用信号与噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值。卡尔曼滤波方法流程分为预测和更新两个部分。

在运动目标跟踪中采用卡尔曼滤波的方法,就是要合适地运用卡尔曼滤波的预测和更新方程。在本系统中的卡尔曼滤波跟踪中,将目标块的状态用两个位置变量X和Y,以及两个速度变量Vx和Vy表示。这四个变量组成状态向量Xk的元素。认为目标块的运动为线性的,则传递矩阵和状态向量表示为:

目标块测量向量只包括测量到的目标块的位置信息,也就是:

得到了运动目标块以后,为运动目标块的状态向量、过程噪声、测量值和最重要的传递矩阵进行初始化,然后就可以按照卡尔曼滤波的预测和更新两个过程对运动目标块的运动进行跟踪了。

在本算法中采用最近邻匹配法和卡尔曼滤波法相融合的方法来进行运动目标跟踪。由于最近邻匹配法依靠与前景检测的结果,在前景中存在噪声或者是前景检测结果不佳的情况下无法对运动目标块进行准确的跟踪,可能会造成目标块丢失等情况的发生。在这种情况下可以采用基于卡尔曼滤波的方法,根据目标块的历史记录信息来预测运动目标块可能存在的位置,从而进行跟踪。

本算法的流程如下:

1、对目标链中的目标块与候选链进行最近邻匹配法。若通过最近邻法,在候选链中找到了与此目标块相匹配的目标块,则进行2。否则,执行第3步。

2、将相匹配的候选链中的块的位置信息当作目标链中此目标块在当前时刻的位置。若此目标块之前进行过卡尔曼滤波,则删除该目标块的卡尔曼滤波相关结构。

3、对未找到匹配的运动目标块进行卡尔曼滤波。若此运动目标块之前进行了卡尔曼滤波没有超过阈值,则继续进行卡尔曼滤波。若此运动目标块之前没有进行过卡尔曼滤波则初始化该块的卡尔曼滤波参数,进行卡尔曼滤波。除此以外,执行第4步。

4、若此运动目标块进行卡尔曼滤波次数超过了预设的阈值,还未通过最近邻法找到匹配块,则认为此块丢失。

猜你喜欢
卡尔曼滤波背景监控
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
“新四化”背景下汽车NVH的发展趋势
The Great Barrier Reef shows coral comeback
《论持久战》的写作背景
黑洞背景知识
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于有色噪声的改进卡尔曼滤波方法