王者荣耀破甲弓和黑铁:高斯背景建模介绍及分析

来源:百度文库 编辑:偶看新闻 时间:2024/03/29 05:55:49

混合高斯介绍:

混合高斯模型的基本思想是对每个像素,定义个状态,每个状态用一个高斯函数表示这些状态一部分表示背景,其余部分表示前景一般来说 , 假定每个像素点的R G B颜色通道相互独立,为每个颜色通道各建立一个一维混合高斯模型。对每个输入像素值It, 若


分析:
从今天开始,想把openCV
下的实例一个个都弄清楚。今天刚好学习gaussian background modeling。本来只是以为建立高斯尺度空间,后来看代码才发现我想的太简单了。哎,以后我不能想当然了。所以我重新搜索资料,论文。也把自己的学习体会写出来

Reference:

1,An Improved Adaptive Background Mixture Model for Real-time Tracking and Shadow Detection

2, Real-time foreground–background segmentation

3, 基于混合高斯背景建模的阴影抑制算法

混合高斯模型 的基本思想是 对每个像素,定义 个状态,每个状态用一个高斯函数表示 ,这些状态一部分表示背景 ,其余部分表示前景。

我们先讨论下Grimson & Stauffer的算法,他们引进一种算法,通过混合K个高斯分布对每个背景像素进行建模(这里K很小,一般取3到5)。不同的高斯分布被假设为不同颜色展示。混合模型的权重参数表示这些颜色分布在场景中的时间熟悉。他们的算法不像Friedman 等人的工作,背景成分颜色是这些待得长久更显静态的那种。

在这里,每一个像素都被K个高斯分布来建模。某一像素在时间T的值Xn可以被写为



在这里提出在线EM算法。这里我们这样估计高斯混合模型:通过期望有效估计更新方程,然后转向L层最新窗口当前L样本被处理过。在线EM算法通过期望有效估计(左边式子)当L层最新窗口更新(右边式子)

来源:(http://blog.sina.com.cn/s/blog_661159d50100iuny.html?retcode=0) - 高斯背景建模_永顿007_新浪博客



详细分析cvbgfg_gaussmix.cpp(此文件在C:\OpenCV2.0\src\cvaux),这个cpp文件就是参照参考文献1写的代码。这里有一些很重要的函数,我在这里贴出来,供自己以后用时参考。(这里定义的函数大多是static ,如果要从cvaux.h中调用,需要把前面的函数声明给注视掉,并且在函数定义中把static改为CV_IMPL,其他不变,重新生成cvaux.h, 好像我也重新生成了install,才可以正常使用)。

icvInsertionSortGaussians高斯背景检测的内联函数,插入。

icvMatchTest测试像素是否被高斯建模

icvUpdateFullWindow, icvUpdateFullNoMatch,

icvUpdatePartialWindow, icvUpdatePartialwindow

更新介于初始化过程和一般过程的不同

cvCreateGaussianBGModel 创建高斯背景模型

icvReleaseGaussianBGModel 释放高斯背景模型

icvUpdateGaussianBGModel 更新高斯背景模型