矢量和协方差矩阵等参数,使得模型能够最佳的表示已知的样本序列。 EM算法是一种正对概率模型的迭代优化技术, 在解决最大释然估计问题中引起了极大的关注。 采用 EM算法来估计表示条件概率密度的 GMM参数, EM算法能保证迭代的稳定收敛。进行 EM算法参数估计的过程为:
·首先初始化参数 hm、 um、 m ·E-步
hm N (xn | um ,
m )
H nm
k
hm N ( xn | um , m )
m 1
·M-步
h *
m
N H
/ N
n 1
nm
N
N
ui
* H nm xn /
n 1 N i
H
N
nm
n 1
*
[ H m ( xn ui )( xn ui ) ]/
t
H
nm
n 1
n 1 ·循环到条件满足。
GMM 的参数估计是利用了 EM算法,可以较好地估计出变量的概率密度函数。
第 6 页 共 17 页
2.2 KDE 简介
2.2.1 核密度估计简介
从 本集估 概率密度函数是很多基于 的机器学 方法的基 。
核密度估 KDE算
KDE算法的
法是一种的非参数密度沽 方法,
其有代表性的 用包括判 分析然而由于
算复 度很高,使其只能用于 理小 模和低 的数据集,从而极大地限制了其在 中的 用。密度估 算法大体分 三
: 参数方法、半参数方法和非参数方法。核密度估
KDE 不引入 数据分布的先
算法是当前最有效和 用最广泛的一种非参数密度估 算法。
假 , 只从 本本身出 取数据分布特征,
可以用来估 任意形状的密度函数与参
数方法和半参数方法相比有着明 的 。
定 1
X1,X2,X3,X4 ? ..Xn 元 量 X的独立同分布的一个 本, X 所服从的密
度函数 f(X) 的核密度估 :
f ( X )
1 nh i 1
n
K ( XK i )
h
其中 h 是控制估 光滑性的参数,也称 窗
K 是以 本点 中心的 称的 峰核
函数。
2.2.2 背景建模
在室外 控系 中, 景不可能完全静止,而固定安装的 像机也会存在一定的抖 , 此 背景不可能再用 像序列中的一幅 像来完全表示。因此,要利用背景 差 法准确地
到运 物体,需要 地 一个背景模型并 之 行 更新。
非参数背景模型利用核函数密度估 方法从一 本中得到未知的背景密度分布函数。
从理 上 ,核估 近收 于任何形式的密度函数,因此具有一般性和通用性,非常适用
于 分析中密度分布不可 知的情形。
x1,x2, ?? , xn 某一像素特征 的 n 个采 , 那么 t 刻 到特征 xt 的概率用核估 算 :
n
p( xt )
i 1
K h (xt xi )
在 用中,核估 中窗
h 的 非常关 ,甚至比核函数的 更 重要。如果
h 太大 会 生 度光滑 象。在背景
h 取得太小,会使密度分布曲 具有毛刺不光滑,而
模型估 中, h 需要表示特征量 由于 像局部噪声引起的 化。由于 本中位数不易受到 异常 的影响,故采用 两 的 本 差中位数来 算。假 某一像素灰度 的局部
第 7 页 共 17 页
分布为 N ( , h) ,则 (xi xi 1) 服从 N (0,2 h2 ) 。值得一提的是,采用高斯核估计得到的背景模型 比混合高斯和表示的参数模型更具一般性,得到的背景特征密度分布更准确,而且避免了参
数估计中由于大量数据中存在的不精确和偏差带来的不可避免的误差。
核估计首先需要得到待估计量的一个训练样本集。将视频序列中像每一帧的灰度或色彩
值作为样本,并采用均一权值。这也就是说,将不同的采样值对模型的贡献视为同等,对相
同或差别不大的采样值需要重复计算。 而事实上,训练序列中大部分像素点的变化是有限的,
n 个采样中存在一些相似甚至相同的值,可用
L 个具有代表性的值来表征。另外,背景模型
中如果包含太宽的灰度分布值会覆盖前景的灰度取值,从而导致检测效果变差。因此,本文提出一种基于多样性原理的采样方法,目标是保留灰度取值的主要信息,并将次要的信息用一些具有代表性的值来表示。这样可以用较少的灰度值来表征图像的关键信息。
场景的不断变化需要背景模型及时地进行更新以快速反映这些变化。 给定一个新观测值,采用选择性更新机制,不将前景物体用于背景模型的更新:首先判定一个像素是属于背景还
是前景,一般采用前一时刻的检测作为更新前的判定依据。如果当前像素点在前一时刻分割二值掩码中的值为 1,则表示在当前帧中此坐标点的像素属于前景物体,不参与模型参数更
新。对于当前帧中属于背景的点,如果其与当前背景模型中样本点的欧氏距离小于 2h,则不更新模型;否则,用当前值作为一个新的采样来更新背景模型。
建立了背景的动态模型后,用背景帧差值法来检测运动物体就可以通过阈值化来实现。如果式中估计得到的概率小于某一阈值 th ,则该像素归为前景点;否则归为背景点。阈值通常需要在实验中选定。
2.2.3 快速核密度估计算法
KDE 的计算复杂度问题,自算法本身提出时起,就已经引起了研究人员的关注。早期针对单元变量 KDE,提出了一些有效的加快计算速度的算法,但是它们不能切实可行地推广到多元变量 KDE中。近年来,随着计算饥技术的飞速发展和海量高维数据的大量出现,使得人
们越来越迫切地需要快速地从数据中挖掘有用的信息。因为密度估计是很多机器学习任务中
重要的一环,所以寻求适用范围更广且更快速地进行
KDE计算的算法已成为机器学习领域研
究的热点问题。
对于一个具有 N r 价个样本的测试样本集 T,定义它的全局对数似然为 :
Nr
Lr
j i
lg f (t j )
双树递归算法的基本思想如下:分别对训练样本和测试样本构造一棵
mrkd-tree ,分别
第 8 页 共 17 页
称为 Stree 和 Ttree, 然后从两树的树根结点对开始同时对这两棵树进行遍历。确定优先选取
结点对的准则,依州逐个考察当前最优先的结点对。在遍历的过程中,根据所需的计算精度,
只需要在其中某些结点对之间进行核函数的计算,而其他一些结点对之间不发生关系,这样
就大大降低了 KDE的计算复杂度。
在 Ttree 的每一层,都估计全局变量 Lr 的一个上界和一个下界, 当遍历在 Ttree 的某一层满足了:
| Lu
Ll | s
| Ll |
时,算法终止,其中 e 为一个预定的小的正数。
2.2.4 核密度估计运动检测方法
视频帧中有 M个像素点 , 每个像素点有 N 个背景样本 , 则在 t 时刻视频帧中第 i 个像素的像素值为 x(t )i ,该像素对应的第 j 个背景样本的像素值为 x(t)i ,则 t 时刻像素 i 的概率 p(x(t )i ) 可以通过下式进行估计 :
p( x(t) i )
1
N
K (x(t )i x(t) ij )
N j 1
其中 K 为核估计子,假设 K 服从正态分布,对于 RGB图像可以取 R、G、B 分量做为特征 值,如果它们相互独立,则 N 个样本的概率之和为 :
N
p( x(t) i )
1
d
1 N
j 1
(x(t) im x(t )im , j )2 e 2
m 1
2i, m 2i ,m 其中 d 为像素的特征维数, x(t)im
是第 i 个像素的第 m个特征值, σi,m 为第 m个特征的核
宽。采用单阈值进行分类,会带来如下问题:如果要降低误报率必定会导致漏报率的增加; 反之如果要降低漏报率会导致误报率的增加;因此用单阈值很难协调这对矛盾。根据误报率
调整阈值,需要场景的先验知识,当场景改变时,需要人工干预。本文从像素概率直方图分
析出发给出了一种自适应前景、背景阈值的双阈值选择方法,用于像素的分类。
在更新背景模型时采用 Long-term 模型和 Short-term
模型,在 Long-term 模型中采用盲
目更新机制,即不管分类的结果,以速率
W/N把采样直接更新到该模型中去, W为时间窗口
的大小, N为背景样本的采样数目。在 Short-term 模型中采用选择更新机制,即只有分类为 背景的样本才包括在该模型中。采用
Short-term ,如果检测结果不正确,会导致负样本被模
。采用 Long-term 模型,由于不是最近的背景模型,会导
型预测为正样本 (false positives)
致负样本被模型预测为正样本,会导致正样本被模型预测为负样本
第 9 页 共 17 页
(false negatives) 。
第三章 MATLAB简介
Matlab,Matrix Laboratory 的简称,是美国 Mathworks 公司于 1984 年推出的数值计算机
仿真软件,经过不断的发展和完善,如今已成为覆盖多个学科、具有超强数值计算能力和仿真分析能力的软件。 Matlab 应用较为简单,用大家非常熟悉的数学表达式来表达问题和求解
方法。它把计算、图示和编程集成到一个环境中,用起来非常方便。同时,
Matlab 具有很强
的开放性和适应性,在保持内核不变的情况下,
Matlab 推出了适合不同学科的工具箱,如图
像处理工具箱,小波分析工具箱、信号处理工具箱、神经网络工具箱等,极大地方便了不同学科的研究工作。 Matlab 强大的绘图功能,简单的命令形式,使其越来越受到国内外科技人员的青睐,得到越来越广泛的应用。
一 . MATLAB 的特点
一种语言之所以如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其它
语言的特点。正如同 Fortran 和 C 等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称为第 4 代计算机语言的 MATLAB ,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。
1.功能强大
MATLAB 具有功能强劲的工具箱,其包含两个部分:核心部分和各种可选的工具箱。核
心部分中,有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件
实时交互功能。功能性工具箱能用于多种学科,而学科性工具箱是专业性比较强的,例如
control toolbox ,image processing toolbox,signal processing toolbox 等。这些工具箱都是由该
领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,就能
够直接进行高、精、尖的研究。
2. 界面友好,编程效率高
MATLAB 突出的特点就是简洁。它用更直观的、符合人类思维习惯的代码代替了
C 和
Fortran 语言的冗长代码, 给用户带来的是最直观、 最简洁的程序开发环境。 MATLAB 语言简 洁紧凑,使用方便灵活,库函数极其丰富,程序书写形式自由,利用其丰富的库函数避开繁
杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都是由本领域的专家编写
的,因此用户不必担心函数的可靠性。 可以说,用 MATLAB 进行科学开发是站在专家的肩膀
上来完成的。
3. 开放性强
第 10 页 共 17 页