PbModel是基于概率模型的背景差分算法,其基本思想是像素点会因光照变化、运动物体经过产生多种颜色值,但是一段时间内,像素点处于静止状态的时间会比处于运动状态的时间长。因而一段时间内,像素点某个颜色值出现的概率会高于其他颜色值,高概率的颜色值即为该像素点的背景值

创新点

1.关注基于概率的背景模型的内存占用率和计算复杂度

  基于概率的背景模型是常用的背景建模方法,但是现有一些算法,其内存占用率高,计算复杂度大。

  该算法利用聚类减少内存占用率,将像素点可能出现的颜色值,按距离聚类,以聚类中心代替颜色值,从而减少内存占用率。

  利用不固定长度的帧序列建立背景模型,由于许多像素点一般都处于静止状态,只需要少量的帧序列就可以确定高概率的颜色值(即背景值),选取一个计算初始帧序列长度,从而确定大部分的背景值,然后针对少量的背景值,继续统计,并减小判断是否为高概率的阈值,保证算法的收敛,最终建立起完整的背景模型。

2.关注于前景检测的判定阈值

  分析背景差分图像的直方图信息,利用直方图的变化曲线来确定判定阈值,采用直方图变化曲线的波谷位置作为判定阈值

基本框架图

主要步骤:

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

【背景建模】PbModel的更多相关文章

  1. 【背景建模】SOBS

    SOBS(self-Organizing through artificial neural networks)是一种基于自组织神经网络的背景差分算法,主要是借鉴神经网络的特性,一个网络输入节点,对应 ...

  2. 【背景建模】VIBE

    ViBe是一种像素级的背景建模.前景检测算法,该算法主要不同之处是背景模型的更新策略,随机选择需要替换的像素的样本,随机选择邻域像素进行更新.在无法确定像素变化的模型时,随机的更新策略,在一定程度上可 ...

  3. 【背景建模】PBAS

    Pixel-Based Adaptive Segmenter(PBAS)检测算法,是基于像素的无参数模型,该算法结合了SACON和VIBE两个算法的优势,并在这两个算法的基础上改进而来,SACON和V ...

  4. [MOC062066]背景建模资料收集整理

    一.相关博客 背景建模相关资料收集,各个链接都已给出. 资料,不可能非常完整,以后不定期更新. -----------------切割线----------------- 这个哥们总结的非常好啊,看完 ...

  5. OpenCV ——背景建模之CodeBook(2)

    1,CodeBook的来源 先考虑平均背景的建模方法.该方法是针对每一个像素,累积若干帧的像素值,然后计算平均值和方差,以此来建立背景模型,相当于模型的每一个像素含有两个特征值,这两个特征值只是单纯的 ...

  6. OpenCV ——背景建模之CodeBook(1)

    1,CodeBook算法流程介绍 CodeBook算法的基本思想是得到每个像素的时间序列模型.这种模型能很好地处理时间起伏,缺点是需要消耗大量的内存.CodeBook算法为当前图像的每一个像素建立一个 ...

  7. OpenCV4Android背景建模(MOG、MOG2)

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃     很久以前的笔记了,分享给大家吧...OpenCV4Android中用于背景建模的类主要 ...

  8. 背景建模或前景检測之PBAS

    申明,本文非笔者原创,原文转载自:http://blog.csdn.net/kcust/article/details/9931575 Pixel-Based Adaptive Segmenter(P ...

  9. 背景建模技术(七):预处理(PreProcessor)模块

    预处理(PreProcessor)模块是BgsLibrary中一个必选的模块,是真正进入背景建模算法的“预处理”过程,其主要功能包括‘去模糊’.‘获得灰度图’.'应用Canny算子‘等可选模块. 下面 ...

随机推荐

  1. linux执行sh脚本文件命令

    linux执行sh脚本文件命令 很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将这些命令写成sh脚本,下次执行下这个脚本一切就都搞定了,下面就是发布代码的一个脚本 ...

  2. 23.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff。 具体要求如下: (1)Person类中的属性有:姓名name(String类型),地址address(String类型), 电话号码telphone(String类型)和电子邮件地址email(String类型); (2)Employee类中的属性有:办公室office(Stri

    package banking; public class Person { private String name; public String address; public String tel ...

  3. 分享10条Visual Studio 2012的开发使用技巧

    使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用.NET 4.5来运行.经过一段时间的摸索,得到一点经验和体会 ...

  4. windows phone 存储图片 数据库写法

    byte[] _DiseaseImage; [Column(DbType = "Image", UpdateCheck = UpdateCheck.Never)] //保证图像超出 ...

  5. Android入门(五)UI-单位与尺寸、ListView

    原文链接:http://www.orlion.ga/453/ 一.单位与尺寸 布局文件中一共有以下单位供选择:px,pt,dp,sp px:是像素,屏幕中可见的最小元素单位. pt:是磅,1磅等于1/ ...

  6. Android_TextView之跑马灯效果

    对于android控件中的TextView,相信大家一定不陌生,在显示文本内容时十分方便.不过我在使用时遇到一个小问题,就是当文字交多时,如何为用户进行展示.今天就为大家介绍一种解决方案--跑马灯效果 ...

  7. java多线程执行问题

    class Demo extends Thread{ public Demo(String name){ super(name); } public void run(){ for(int i=0; ...

  8. 使用Nginx配置NodeJs程序(Windows平台)

    简介 Nginx("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器. Nginx 是由 Igor Sysoev ...

  9. 互动教程,让你5分钟掌握 Flexbox 布局模式

    Flexbox 布局模块目前是 W3C 候选标准,旨在提供一个更有效的方式进行布局,对齐和为容器里的项目分配空间,即使它们的大小是未知的或者动态的.这里分享一个基于 Knockout.js 构建的互动 ...

  10. JavaScript中{}+{}

    在 JavaScript 中,加法的规则其实很简单,只有两种情况: 把数字和数字相加 把字符串和字符串相加 所有其他类型的值都会被自动转换成这两种类型的值. 为了能够弄明白这种隐式转换是如何进行的,我 ...