PbModel是基于几率模型的背景差分算法,其基本思想是像素点会因光照变化、运动物体通过产生多种颜色值,可是一段时间内,像素点处于静止状态的时间会比处于运动状态的时间长。于是一段时间内,像素点某个颜色值出现的几率会高于其余颜色值,高几率的颜色值即为该像素点的背景值。算法
创新点框架
1.关注基于几率的背景模型的内存占用率和计算复杂度学习
基于几率的背景模型是经常使用的背景建模方法,可是现有一些算法,其内存占用率高,计算复杂度大。3d
该算法利用聚类减小内存占用率,将像素点可能出现的颜色值,按距离聚类,以聚类中心代替颜色值,从而减小内存占用率。blog
利用不固定长度的帧序列创建背景模型,因为许多像素点通常都处于静止状态,只须要少许的帧序列就能够肯定高几率的颜色值(即背景值),选取一个计算初始帧序列长度,从而肯定大部分的背景值,而后针对少许的背景值,继续统计,并减少判断是否为高几率的阈值,保证算法的收敛,最终创建起完整的背景模型。内存
2.关注于前景检测的断定阈值it
分析背景差分图像的直方图信息,利用直方图的变化曲线来肯定断定阈值,采用直方图变化曲线的波谷位置做为断定阈值。io
基本框架图sed
主要步骤:方法
1.创建背景模型
1).初始化像素的聚类集合,C表示聚类里包含像素的数目,nxy表示聚类标号,x、y表示像素点位置。
2).计算当前像素与像素聚类集合的距离,并计算最小距离和对应的聚类。
3).判断最小距离是否小于阈值,若小于,则更新对应聚类,不然,新建一个聚类,添加到聚类集合中。
4).判断是否到初始帧序号Fn,若达到,则计算像素各个聚类的几率,并求最大几率的聚类,不然,继续跳转步骤2)处理下一帧。
5).判断最大几率是否大于阈值,若大于,则设置对应聚类的中心为该像素点的背景值。
6).调整背景建模速度,根据帧序号调整阈值大小,帧序号越大,阈值越小。
7).跳转步骤2)处理下一帧,直到全部像素点的背景值肯定。
2.前景检测过程
1).计算当前帧序与背景的差分图像。
2).计算差分图像的直方图信息。
3).平滑各个通道的直方图信息。
4).计算各个通道的阈值大小。
5).计算差值图像的阈值。
6).利用阈值断定像是否为前景。
3.背景模型更新
背景模型更新采用简单的图像混合算法,利用新像素值和背景模型的像素值的加权和,替换背景模型的像素值。
其中,(Rs,Gs,Bs)为当前像素值,(RB,GB,BB)为背像像素值,n为背景模型更新学习因子控制参数。
参考资料:
A Robust Object Segmentation System Using a Probability-Based Background Extraction Algorithm