GMG简介
GMG是背景减除算法中的一种。与GMM系列算法不同,该算法并不使用Gaussian 函数对背景进行建模,而是通过像素点的颜色特征对背景进行建模,同时通过贝叶斯公式计算像素点为背景点(前景点)的极大似然估计,得到一张概率图。通过对概率图的阈值操作,来得到前景点和背景点的划分。
GMG算法流程
- Quantization
对输入的RGB值进行量化,一方面增加对噪声的鲁棒性,另一方面降低存储和计算要求
- Histogram Initialization
使用输入的前T帧图片对每一个像素点的背景模型进行建模
其中 为Pixel1的颜色值(Pixel Color)
Note :关于这一步,可能有点错误,但是大概意思就是这个意思。
- Bayesian Inference
对每一个像素点,根据贝叶斯公式,求它属于背景点的概率,从而得到一张概率图
其中 , , ,
则有 , 即 是 的一个函数。
此时经过这一步操作后,我们得到一张每个像素点为背景点(前景点)的概率图。
- Filtering and Connected Components
使用形态学操作(开、闭运算),对得到的概率图进行预处理。使用开(Open)运算可以去掉孤立的高值区域,闭(Close)运算可以去掉孤立的低值区域。执行完上述操作后,再对处理后的图进行一个二值化操作。大于阈值的置为1,反之置为0。其中1代表前景点,0代表背景点。对二值化后的图再进行一次开、闭运算以进一步消除噪声的干扰。
- Updating the Histogram
当像素点被判定为前景点时,其背景模型不进行更新。仅对被判定为背景点的像素点的背景模型进行更新。
参数 a 影响背景模型的适应性速率(Adaptation rate)。 a 越大,背景模型更新速度越快。
运行效果截图
输入图片分辨率为 640x480
性能分析
从上图可以看到,GMG算法的运行速度和检测精度都不是很尽如人意。确实,作为一种很古老的背景减除算法,相比于现在的基于GMM的背景减除算法确实有很大不足。后面我们会相继介绍现在比较流行的基于GMM的各种背景减除算法。