APP下载

基于背景和帧间差分法的运动目标提取

2014-04-29熊英

计算机时代 2014年3期

熊英

摘 要: 在自动人脸识别系统中,人体目标的检测是该系统识别人脸的前期关键步骤之一。为了能快速准确地检测出运动的人体目标,提出了背景差分法和帧间差分法相结合的运动目标提取检测方法。针对视频中的背景因镜头摆动或物体的移入/移出而有所变动,给出了几种提取背景的方法,比较各种方法后决定采用中值法快速地进行背景建模,随后采用自适应背景更新,结合两种差分法检测运动目标。通过实验验证了本文算法的有效性。

关键词: 运动目标; 背景差分法; 帧间差分法; 背景建模

中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2014)03-38-04

0 引言

对于人体生物特征的识别,可以说从古到今一直受到人类的关注。随着智能监控、人机交互技术的发展,具有视频分析处理能力并可对运动目标实现检测和跟踪的智能化视频监控系统己成为研究的热点和主流[1]。视频图像中运动目标检测相对于静态图像而言稍显复杂一些,运动目标检测是指在视频图像序列中判断是否有前景目标的运动,如果有前景目标,则对目标进行初始定位的检测。视频是由时间上连续的图像序列构成的,故对于视频中运动目标的检测是按照一定的周期从视频序列中提取出一张张静态图像帧来实现检测的,因此视频序列图像与静态图像中的目标检测方法存在相似的地方,而不同的地方就在于运动目标时间上的连惯性[2]。针对视频图像的特殊性,我们常用于运动目标检测的方法有以下几种[3]。

1 运动目标检测的方法

1.1 背景差分法

背景差分法(Background Difference Method)是利用当前图像与预存的背景图像作差分,再利用阈值来检测运动区域的一种动态目标识别技术。背景差分法的原理如图1所示。

[当前图像][—] [二值化][连通性分析][目标][背景图像][非目标][f][b][R][Y][N] [D]

图1 背景差分法的识别过程

首先通过式⑴求出当前图像f与背景图像b的差,即

然后根据式⑵对差分结果图像D进行二值化,再对二值化之后的图像R进行连通性分析,即

当某一连通区域的面积大于一定的阈值T时,则认为检测到目标,并认为这个连通的区域就是提取的目标[4]。

背景差分算法简单,相对于其他方法而言易于实现,较适用于背景已知的情况,是最受欢迎的运动目标检测方法之一,也是当前运动目标检测技术中应用较为广泛的一类方法。

1.2 帧间差分法

帧间差分法(Frame Difference)是选取视频图像序列中相邻两帧或多帧图像信息作差分运算来获得运动目标轮廓的方法,利用不同帧图像对应位置像素点的差分运算结果进行目标检测。其主要工作流程如图2所示。

[第k帧图像][—] [二值化][连通性分析][目标][fk][fk-1][第k-1帧图像][非目标][R][D][N][Y]

图2 帧间差分法运动目标的识别

fk和fk-1分别为时刻k和时刻k-1采集到的两幅图像,据此可以得到差分图像为公式⑶:

其中,T为阈值,两图像间发生变化的位置的像素取值为1,两图像间没有发生变化的位置像素取值为0,这样就检测到目标。也可以利用连续三帧甚至多帧图像来提取运动目标,这时判断一个像素点是否属于运动物体的原则为公式⑷:

在运动的检测过程中,该方法利用时间信息,通过比较图像中若干连续帧获得对应像素点的灰度差值,如果均大于一定的阈值T,则可以判断该位置存在运动的目标[4]。其优点是计算简单、检测速度快,对动态环境具有很好的适应性,它可以很好地适用于多个运动目标和摄像机移动的情况。但是该类方法提取的目标不完整,所以帧间差分法通常不单独应用在运动目标检测中,而往往与其他的检测算法结合使用。

1.3 光流法

光流法(Optical Flow)是利用相邻两帧中对应像素的灰度保持原理来评估二维图像的变化[5]。简单来说,光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”。光流法是对运动序列图像进行分析的一个重要方法,光流不仅包含图像中目标的运动信息,而且包含了三维物理结构的丰富信息,因此可用来确定目标的运动情况以及反映图像其他信息。但是,多数光流场计算方法相当复杂,算法要对所有帧中的所有像素点来评估光流,所以计算量大,算法复杂耗时,且容易受到噪声影响。如果没有专门的硬件设备支持,很难实现视频实时检测,因此其应用性和实时性较差,不适合在实时的视频监控系统中使用。

1.4 统计与分析的方法

基于统计与分析的运动检测方法是近几年才发展起来的,主要有:基于经典的统计模式识别方法,包括决策函数法、K近邻分类法、支持向量机特征分析法、主因子分析法等;基于知识或者基于模型的自动目标检测方法,包括先验知识、SNAKE模型、单高斯模型、混合高斯模型等;基于多传感器信息融合的自动目标检测方法,包括嵌入约束法、证据组合法、人工神经网络法;基于专家系统的自动目标检测方法等。尽管目前各种算法存在各种各样的问题,但最终随着相关学科及计算机硬件运算速度的提高,该类方法将表现出卓越的性能[4]。

2 运动目标的分割

2.1 背景建模

在实际应用中,背景往往是不固定的,它会随着光照、前景物体的移入/移出,以及摄像头摆动等产生动态变化。本文研究的背景差分法是将当前帧图像与一个不断更新的背景模型相减,在差分图像中提取运动目标。利用背景差分法实现目标检测主要包括如下四个环节:

[背景建模][背景更新][目标检测][后期处理]

其中,背景建模和背景更新是背景差分法中的主要问题。背景模型建立的好坏直接影响到目标检测结果。因此,人们提出了各种方法实现背景建模和背景更新。目前背景提取的算法很多,如均值法、中值法、单高斯分布模型、混合高斯分布模型、码书算法等。虽然方法很多,但是很难找到一种在各种情况下都表现最好的算法。

下面介绍以下几种常用算法的原理[6]。

⑴ 均值法的原理是将运动物体比作噪声,用累积平均的方法消除噪声,从而可以利用有运动物体的序列图像进行平均来得到背景图像。用公式表示为:。其中Background表示背景图像,N表示帧数,imagei(x,y)表示第i帧序列图像中的(x,y)像素点,通过改变x和y的值就可以获得整幅背景图像。

⑵ 中值法是一种基于排序理论的、能有效抑制噪声的非线性信号处理技术,其思想是把所有像素的灰度按从小到大的顺序排列,若像素为奇数个,则将中间值作为(x,y)处的灰度值,若像素为偶数个,则取两个中间值的平均值作为(x,y)处的灰度值。

⑶ 单高斯分布背景模型适用于单模态背景,它把每个像素点的颜色值分布用单个高斯分布表示,一般只能处理有微小变化与缓慢变化的简单场景。

⑷ 混合高斯模型是用多个单高斯函数来描述多模态的场景背景,当复杂背景变化很大,背景像素值的变化较快,比如背景像素值为多峰分布(如微小重复运动)时,这时可以根据单模态的思想方法,用多个单模态的集合来描述复杂场景中像素点值的变化,它是背景建模较为成功的方法之一。

⑸ CodeBook背景模型。CodeBook算法的基本思想是得到每个像素的时间序列模型。CodeBook算法为当前图像的每一个像素建立一个CodeBook(CB)结构,每个CodeBook结构又由多个CodeWord(CW)组成。这种模型能很好地处理时间起伏,缺点是需要消耗大量的内存。

本文对均值法、中值法的性能优劣作个比较。总的来说,均值滤波法和中值滤波法都适合外部扰动比较小的特定场合,而且算法简单有效。在本文中主要研究的是处于教室一类较简单的内部环境,可以直接将彩色图像转换成灰度图像,然后通过灰度值的中值或者均值来进行背景建模,通过实验可以看出中值法提取的背景效果比均值法提取的效果要理想一些(见图3与图4)。

图3 中值法提取背景

图4 均值法提取背景

2.2 背景更新

由于光照、场景变化等各种因素的影响,背景不可能在建立之后就一成不变。要使背景模型在一段时间之内能够适应环境的变化,就必须对初始模型不断地进行更新。背景更新的实质是用当前帧中发生了变化的信息去修正使用过去帧建立的模型[7]。一种常用的自适应背景更新方法采用式⑸进行。

其中,Bn(x,y)是当前时刻经过更新后得到的背景;Bn-1(x,y)是前一时刻建立的背景;In(x,y)是用于修正前一时刻背景的当前帧;a称为学习速率,其值可以通过实验确定,一般取0.9,是指用当前帧中每个位置上的像素值与原来背景中相应位置的像素值加权平均值替代原背景对应位置上的值。

2.3 目标检测分割

获得了背景图像后就可以使用背景减除的方法进行运动目标的检测。设当前帧图像为I(x,y),当前的背景为B(x,y),经过背景减除,并二值化后的结果见公式⑹。

其中,T是判别阈值,可以通过实验得到。本论文中提取视频的第一帧图像作为背景图像,随后再根据镜头的摆动来更新背景,完成新的背景建模。

帧间差分法是通过视频中连续两帧图像对应像素点的像素差值找出变化的运动区域的方法。设当前帧图像为Ik(x,y),上一帧的图像为Ik-1(x,y),经过两帧图像相减,并二值化后的结果见公式⑺。

如果差值大于预先设定好的阈值,则认为该点是运动目标像素点,否则就是背景像素点。

在本文中采用背景与帧间差分法相结合,将视频中背景差图像和相邻两帧差图像直接进行‘与操作,再进行二值化处理得到运动目标[8]。其检测效果有所提高,特别是当背景发生变化时,得到的运动检测图像包含了许多目标信息,将运动目标从背景图像中分离出来,最终得到视频序列图像中运动目标存在与否的标记图像。

算法描述:①从视频中选取出初始背景图像B(x,y),使其只包含固定的背景图像;②在视频图像序列中选取连续的两帧图像,当前帧图像Ik(x,y),前一帧图像Ik-1(x,y);③计算当前帧与背景帧的差值R(x,y),从图像中提取出完整的目标;④计算当前帧与前一帧的差得Rk(x,y),得到目标的变化量;⑤求背景差R(x,y)与帧间差Rk(x,y)的交集得到运动目标粗糙的运动区域图像;⑥当物体运动,镜头跟进,背景图像也相应改变,利用中值法求得变化后的背景模板Bk(x,y),重复②-⑤步得到变化的运动目标;⑦数学形态学运算使得运动区域封闭、连续、完整,并去掉背景中的噪声;⑧用红色矩形框将运动目标标记出来。

3 实验仿真结果

本文实验视频序列为一段室内授课视频,首先对须处理的视频进行帧提取,以每秒15帧的速率提取出所有图片;然后采用中值法对前20帧进行背景建模,将背景差分法和帧间差分法相结合得到运动目标,由于背景的变动以至背景要随时更新;最后,利用形态学膨胀原理以及开运算,提取运动目标轮廓,并且用矩形框框出来。

接下来分别利用背景差分法和帧间差分法提取运动目标,如图5所示。

图5 背景差分法与帧间差分法的效果图

随着目标的移动,镜头也跟随移动,导致背景有所改变,采用中值法对背景实时更新。当完成新的背景建模后,结合背景与帧间差分法,将背景差图像和相邻两帧差图像直接进行‘与操作,其效果如图6所示。

图6 结合背景及帧间差分法提取运动目标

最后进行二值化处理得到运动目标,利用数学形态学运算使得运动区域封闭、连续、完整,并去掉背景中的噪声,最终得到视频序列图像中运动目标存在与否的标记图像,如图7所示。

4 结束语

本文详细介绍了视频目标的基本检测方法和分割步骤。为了实现检测的快速性以及准确性,对图像采用背景差分和帧间差分法相结合而获得目标。采用这种方法既避免了背景差分法因背景变动导致的前景提取不准确,又避免了帧间差分法的前景目标不完整。为了使视频目标区域更完整、更准确,需要对背景提取方法做更进一步的研究,用更好的方法来提取实时的背景,这样,有利于更准确地提取运动目标。

参考文献:

[1] 邓楠.视频监控系统与人脸识别技术的结合应用[J].计算机光盘软件

与应用,2012.19:156-157

[2] 万缨,韩毅,卢汉清.运动目标检测算法的探讨[J].计算机仿真,

2006.10:229-234

[3] 徐晶,方明,杨华民.计算机视觉中的运动检测与跟踪[M].国防工业出

版社,2012.

[4] 冯仰敏.运动目标图像检测与跟踪问题研究[D].西安建筑科技大学,

2007.

[5] 吴立德.计算机视觉[M].复旦大学出版社,1993.

[6] 背景建模算法 [EB/OL]. http://wenku.baidu.com/link?url=

ZwdjPaJBjuu1IhI8rkkMdTFjMUur9KttAndN993tcH00S9VTJFHx

Dx3KnUJ3DPgjhb0pZcguuwvEHJvKfmPTSANWOg0zHgAuZ6c0JKnAeyO

[7] 高飞,蒋建国,安红新等.一种快速运动目标检测算法[J].合肥工业大

学学报(自然科学版),2012.2:42-45

[8] 王亮亮,王黎,高晓蓉等.基于视频图像的运动目标检测算法研究[J].

微计算机信息,2010.16:155-157