本文是PAMI 2000年的文章,解决的问题是实时的监控视频的多人的检测、跟踪以及检测他们的行为,所谓W4就是:where, when, what and who。本文是对于静止的单目的灰度摄像机或者红外摄像机获得的数据进行处理。W4结合形状分析和跟踪来定位人和人的各个部分(包括头,手,脚,躯干)。本文说能够处理320x240达到25 fps (400MHz dual-Pentium II PC)。
本文涉及到背景差分、跟踪和行为检测等多个方面,我这里只是关注背景差分部分。背景模型在整体上来说是一个在训练阶段建立起来的统计模型,每个像素用三个值表示:最小值m(x), 最大值n(x), 连续帧的之间的最大差分值d(x)。
1. 学习初始化背景模型
这个使用两个阶段来排除学习阶段的中场景中的运动像素。第一个阶段是使用针对像素的中值滤波器,在时间上对一段数秒的视频进行滤波来区分运动和静止像素。第二个阶段是利用第一阶段得到的静止像素点建立初始化背景模型,具体操作如下:设V为连续的N个图像的集合,delta(x)和lamda(x)分别表示像素点x的标准差和中值,其中m(x)=min{Vz(x)}, n(x)=max{Vz(x)}, d(x)=max{|Vz(x)-Vz-1(x)|},其中|Vz(x)-lamda(x)| < 2*delta(x), 这样Vz(x)就是表示是静止的像素点。
2. 更新背景模型参数
W4是基于灰度值的背景模型,光照的变化会明显影响检测,另外长期静止的前景可能会造成误检。本文使用两种背景更新方法:
基于像素的更新:周期的更新背景模型来适应光照的变化;
基于对象的跟新:更新背景来适应场景的物理改变,例如,场景中出现或者移除物体,车辆停靠等。
W4使用如下的方法来更新背景:在跟踪过程中,W4动态建立change map来决定使用何种更新方式,其中change map含有如下三个主要的元素:
- detection support map (gS): 代表在前N帧内被分类为背景的次数, 若x是背景像素gS(x,t)=gS(x, t-1)+1;
- motion support map (mS): 代表当前像素是运动像素的次数,判断一个像素是否为运动像素点方法是:连续三帧之差,都大于2*delta;
- change history map (hS): 代表自从上次被分类为前景的消耗的时间,如果是前景,则hS(x, t)=255, 否则hS(x, t)=hS(x, t-1)-255/N。
W4使用gS来决定背景哪些部分使用基于像素的更新,ms、gS和hS来决定哪些部分使用基于对象的更新。当背景模型被根性后这个change map就被重置为0。在跟踪的过程中,背景模型对前景像素和背景像素分别进行运算,背景模型的更新策略如下:
- 若gS(x)>K*N,则使用基于像素的背景更新策略,设置为[mb(x), nb(x), db(x)],即背景点;
- 若gS(x)<K*N且mS(x)<r*N,则使用基于对象目标的更新,设置为[mf(x), nf(x), df(x)],即前景点;
- 如果上面都不符合,就保持原样。
3. 前景检测
首先,每个像素使用如下的方法来把每个像素点分类成前景或者背景:若当前像素点It(x),满足|It(x)-m(x)|<k*du或者|It(x)-n(x)|<k*du,则判定为背景,其中du为整个图像的d(x)的中值。
没有评论:
发表评论