简要原理:
对一个视频序列帧中的每一个像素,建立一个混合高斯模型,这个模型中权重大的代表背景,权重小的代表前景。新来的像素如果能匹配上背景对应的高斯模型,那么新来的像素就被当成背景。如果匹配的是权重较小的高斯模型,或者没有匹配的高斯模型,那么这个像素被当成前景。
算法流程:
1 前提:视频序列的每一个像素,都训练好了一个混合高斯模型(一组高斯模型的和)。
2 对于新的一个视频帧中的一个像素点,将它与混合高斯模型进行匹配,如果有匹配成功的高斯模型,则按下面的公式改变权值。其中alpha为权重的学习速率,rho是均值与方差的更新公式,下面的公式公供参考。如果没有与之匹配的模型,那么把排序最后的一个高斯模型删了,换成这个当前像素对应的高斯模型。
3 对新模型,将权重归一化后,再按权重排序。选 出权重之和大于一个阈值的一组模型作为背景,如果新像素所在的模型在背景这一组,那么新像素就是背景像素,如果不在背景这一组,那么新像素就是前景。
实验效果:
程序是OPENCV中自带的算法:
原文地址:http://blog.csdn.net/d14665/article/details/42678581