📄 bgm.txt
字号:
一种基于背景模型的运动目标检测与跟踪算法
一种基于背景模型的运动目标检测与跟踪算法
刘亚艾海舟徐光佑
(清华大学计算机科学与技术系,智能技术与系统国家重点实验室,北京 100084)
摘要
本文提出了一种静止摄像机条件下的运动目标检测与跟踪算法。它以一种改进的自适应
混合高斯模型为背景更新方法,用连通区检测算法分割出前景目标, 以Kalman 滤波为运动
模型实现对运动目标的连续跟踪。在目标跟踪时,该算法针对目标遮挡引起的各种可能情况
进行了分析, 引入了对运动目标的可靠性度量, 增强了目标跟踪的稳定性和可靠性。在对多
个室外视频序列的实验中, 该算法显示了良好的性能,说明它对于各种外部因素的影响, 如
光照变化、阴影、目标遮挡等,具有很强的适应能力。
关键词
背景模型,混合高斯模型,Kalman 滤波,运动目标检测与跟踪
1 引言
视觉监视是指在一个繁忙环境中对人和车辆等进行实时的观察,并给出对它们行为和动
作的描述。这一技术包括了运动目标的检测、跟踪、目标分类和行为理解等方面,涉及到计
算机视觉、模式识别和人工智能领域的许多核心课题,是一个具有挑战性的困难问题。近年
来随着集成电路和计算机技术的迅猛发展,视觉监视系统所要求的硬件设备成本大大降低,
因此它获得了日益广泛的研究与应用。许多关于视觉监视的大规模研究项目已经在美国、欧
洲和日本展开,同时它也成为许多国际学术会议关注的重要主题。已有多篇论著详细介绍了
针对不同应用条件的视觉监视系统。Wren 等的Pfinder 是一个利用颜色和形状特征对大视角
范围内的人进行跟踪的实时系统[1]。Olson 等介绍了一种更通用的运动物体检测和事件识别
系统[2]。它通过检测帧间图像变化来发现运动物体,在跟踪中上使用了一阶预测和最近邻
匹配技术。Haritaoglu 等的W4 是一个可以在室外对人进行实时检测和跟踪的视觉监视系统
[3]。它将外形分析与跟踪技术相结合来跟踪人体各个部分的位置并为人的外形建立模型。
Collins 等介绍了由CMU 和Sarnoff 公司合作研究的一种视觉监视系统[4]。它使用多个相互
协作的摄像机在复杂环境里对人和车进行连续的跟踪,并对目标类别和行为进行分析。
运动目标检测与跟踪处于整个视觉监视系统的最底层,是各种后续高级处理如目标分
类、行为理解等的基础。运动目标检测系指从视频流中实时提取目标,一般是确定目标所在
区域和颜色特征等。目标检测的结果是一种“ 静态”目标—— 前景目标, 由一些静态特征所
描述。运动目标跟踪则指对目标进行连续的跟踪以确定其运动轨迹。受跟踪的目标是一种“动
态”目标—— 运动目标, 与前景目标相比, 描述它的特征中多了动态特征( 如运动参数等)。
针对静止摄像机的情况,本文的运动目标检测与跟踪算法流程如图1 所示。我们通过为
静止背景建模来检测前景点。具体的背景模型以Stauffer 等提出的自适应混合高斯模型[5]
为蓝本,并对其作了部分改进以更好地处理实际背景发生变化的情形。算法中采用一种可靠
的连通区域检测算法完成前景目标的分割。目标跟踪时则通过匹配目标的位置、大小、形状
和颜色等特征,建立运动目标与前景目标间的对应关系。算法中考虑了跟踪中多个目标相互
遮挡的问题,分析了几种可能结果并分别加以处理。我们还为运动目标引入了可靠性度量以
使目标跟踪过程更加稳定和可靠。
第1 页
一种基于背景模型的运动目标检测与跟踪算法
输入视频
背景模型目标分割目标跟踪
前景点集前景目标运动目标
图1运动目标检测与跟踪处理流程
2 背景模型
视觉监视的第一步工作是将前景目标所在的区域从背景中分割提取出来即完成前景和
背景的分离。这一工作一般有三种实现方法:背景消减、帧间运动分析和光流计算。后两种
方法都可以用于运动摄像机的情形,对动态环境的适应能力比较强但帧间运动分析的结果
精度不高,难以获得目标所在区域的精确描述[6];光流计算的复杂度则非常高,难以符合
视觉监视系统实时处理的要求[7]。背景消减适用于摄像机静止的情形。它为静止背景建立
背景模型,通过将当前图像帧和背景模型进行比较,确定出亮度变化较大的区域,即认为是
前景区域[1][3]。这种方法的计算速度很快,可以获得关于运动目标区域的完整精确的描述,
但对场景中光照条件、大面积运动和噪声比较敏感在实际应用中需采用一定的算法进行背
景模型的动态更新,以适应环境的变化。出于处理速度和算法性能及应用场合的考虑,本文
和大部分视觉监视系统一样,选择了建立背景模型作为检测前景区域的方法。
按照所处理背景的自身特性,背景模型可分为单模态和多模态两种。前者在每个背景点
上的颜色分布比较集中,可以用单个概率分布模型来描述(即只有一个模态),后者的分布
则比较分散,需要多个分布模型来共同描述(具有多个模态)。自然界中的许多景物和很多
人造物体,如水面的波纹、摇摆的树枝、飘扬的旗帜、监视器荧屏等,都呈现出多模态的特
性[5]。最常用的描述背景点颜色分布的概率分布是高斯分布(正态分布),下面就单模态和
多模态两种情形下的背景模型分别加以说明和讨论。
为叙述方便,我们用η(x, μ, Σ) 来表示均值为μ 、协方差矩阵为Σ 的高斯分布的概率密
度函数。由于背景模型中对各个图像点的处理是完全独立的,所以若不作特殊说明,本文所
有关于背景模型的描述都系针对同一图像点位置而言。
2.1 单高斯分布背景模型
单高斯分布背景模型[4]适用于单模态背景情形,它为每个图像点的颜色分布建立了用
单个高斯分布表示的模型η(x,μt , Σt ) ,其中下标t 表示时间。设图像点的当前颜色度量为
Xt ,若η( Xt ,μt , Σt ) ≤ Tp (这里Tp 为概率阈值),则该点被判定为前景点,否则为背景点
(这时又称Xt 与η(x,μt , Σt ) 相匹配)。在实际应用中,可以用等价的阈值替代概率阈值。
如记dt = Xt .μt ,则可以根据dtT Σt
.1dt 的值设置相应的前景检测阈值。在常见的一维情
形中,以σt 表示均方差,则常根据dt / σt 的取值设置前景检测阈值:若dt / σt > T ,则该
点被判定为前景点,否则为背景点。
单高斯分布背景模型的更新即指各图像点高斯分布参数的更新。引入一表示更新快慢的
常数——更新率α ,则该点高斯分布参数的更新可表示为
) .
μ = (1.
μ
α +α. d (1)
t +1tt
第2 页
一种基于背景模型的运动目标检测与跟踪算法
α
Σ t + 1= (1.α ) . .+Σ dtdtT (2)
t
2.2 多高斯分布背景模型
多模态背景的情形则需要用多个分布来共同描述一个图像点上的颜色分布。Stauffer 等
[5]提出了一种自适应混合高斯模型,对每个图像点采用了多个高斯模型的混合表示。设用
来描述每个点颜色分布的高斯分布共有K 个,分别记为η (x ,μ ,, Σ it ) , i = ,...,2,1 K 。各
it ,
. 1/ 2
1 )和优先级it
Σ
高斯分布分别具有不同的权值w it(
,
∑
i
w
,
it
=
pw
=
,它们总是按
i
,
it
,
照优先级从高到低的次序排序。取定适当的背景权值部分和阈值,只有在此阈值之内的前若
干个分布才被认为是背景分布,其它则是前景分布。在检测前景点时按照优先级次序将Xt
与各高斯分布逐一匹配,若没有表示背景分布的高斯分布与Xt 匹配,则判定该点为前景点,
否则为背景点。
多高斯分布背景模型的更新较为复杂因为它不但要更新高斯分布自身的参数,还要更
新各分布的权重、优先级等。若检测时没有找到任何高斯分布与Xt 匹配,则将优先级最小
的一个高斯分布去除,并根据Xt 引入一个新的高斯分布,并赋予较小的权值和较大的方差,
然后对所有高斯分布重新进行权值归一化处理。若第m 个高斯分布与Xt 匹配,则对第i 个
高斯分布的权值更新如下
(1.β) . wt + ,1 i +β. wt + ,1 ii = m
(3)
=
w
t + ,1 i
..
.
(1.β ) . wt + ,1 i otherwise
其中β 是另一个表示背景更新快慢的常数——权值更新率。(3)表明只有与Xt 相匹配的高
斯分布的权值才得到提高,其它分布的权值都被降低。另外,相匹配的高斯分布的参数也按
照(1)、(2)被更新。在更新完高斯分布的参数和各分布权值后,还要对各个分布重新计算
优先级和排序,并确定背景分布的数目。
2.3 背景模型的更新
背景模型的更新策略是背景模型设计中最关键的技术。在模型更新时应当注意如下两条
原则:
(A) 背景模型对背景变化的响应速度要足够快。背景的变化可能是①由光照变化等因素
引起的背景本身颜色的变化,也可能是②背景区域的变化如前景和背景的相互转
化,即某个物体由运动转为静止或由静止转为运动(如停车场的汽车停下或开走)
而导致前景物体被“融入”到背景中或背景的一部分“逃逸”而出转而成为前景。
如果背景模型不能迅速跟上实际背景的变化检测结果中就会出现大范围的噪声或
不合理的长时间静止前景物体(如图2-a 中静止的汽车启动后留下的“影子”)。
(B) 背景模型对运动目标要有较强的抗干扰能力。因为在背景模型的更新过程中对背
景模型上的每点而言都是受到了一个颜色序列的“训练”,不论实际场景中该点是
第3 页
一种基于背景模型的运动目标检测与跟踪算法
处于静止背景上还是在运动目标上。静止的背景或目标的这种“ 训练”是我们所希
望的,而运动目标的“训练”则是不希望看到的。特别是当运动物体尺度较大或运
动较慢时,这种长时间的“训练”可能会引起错误的检测结果, 如在运动目标的尾
部产生“空洞”,特别是两个颜色相近的物体交错而过时更加明显(图2-b)。
(a)汽车启动后留下的“影子(b)行人对汽车的影响
图2 背景模型更新中的一些问题
在前文描述的单/多高斯分布背景模型中, 更新率α 和权值更新率β 都反应了模型更新
的速度快慢。在单高斯分布背景模型中,较大的α 符合原则(A)却不符合原则(B)的要
求,较小的α 则刚好相反。实验表明,很多时候无法找到一个合适的α 能同时满足两方面
的要求。一种比较容易想到的改进是赋予背景点较大的更新率,而赋予前景点较小的更新率。
这种更新方式可以符合原则(B), 但很多时候对(A) 中情形②的效果很差, 因为这时静止
的前景点会由于更新率过小而很难被“融入”到背景中。为了解决这个问题, 我们将背景模
型更新与后面的跟踪结果相结合,赋予背景点和静止的前景点(静止目标)较大的更新率,
而赋予运动的前景点(运动目标) 较小的更新率。这实际上是用运动目标跟踪的结果来指导
更新。经过这种改进可以在保护背景模型不受运动目标影响的同时迅速响应背景的变化。
多高斯分布的背景模型在这些问题上的表现要比单高斯分布背景模型好得多。因为它本
身有多个高斯分布,判定前景/背景并不单单依赖于某个高斯分布,更依赖于各个分布的权
值和优先级。对(A) 中的情形②, 它可以通过引入新的高斯分布解决;对(B), 由于只有
相匹配的高斯分布的高斯参数才得到更新,所以受运动物体的干扰也不是那么严重。但它的
不足依然存在,因为它并没有对(A)中静止目标的情况作特别处理,也没有考虑到(B)
中的不同“ 训练” 之间的区别。在测试实验中, 它对背景变化的响应速度比较慢,大而慢的
运动目标仍然容易带来“空洞”。我们对它的改进与对单高斯分布背景模型的改进相似,仍
然是对背景点、静止前景点、运动前景点的更新率区别对待, 只是作用的参数变成了权值更
新率β ,而不是高斯分布参数的更新率α 。
3 运动目标分割
要获得关于各前景目标的特征描述,就必须先将它们从前景点集中逐一分割出来。前景
目标分割的依据通常是目标的空间连续性和颜色一致性。由于后者很多时候并不可靠,所以
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -