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. salesforce 零基础开发入门学习(十一)sObject及Schema深入

    sObject在salesforce中占有举足轻重的位置,除了在数据库中数据以外,我们还应该关心一下他的元信息.元信息封装在Schema命名空间内. 作为面向对象语言,我们可以畅想一下如果我们是设计人 ...

  2. viewpage listview gridview加载本地大图多图OOM处理办法

    很少上博客园写东西了. 最近在写公司项目,由于需要加载本地相册通过viewpager方式来加载, 最后发现直接进入界面就OOM了. 经过几天的整理最终搞定. 现在将加载本地和加载网络图片的缓存工具类贴 ...

  3. 第六节:Vue过滤器的用法和自定义过滤器

    1.过滤器的用法,用  '|' 分割表达式和过滤器. 例如:{{ msg |  filter}}     {{msg | filter(a)}}  a就标识filter的一个参数. 用两个过滤器:{{ ...

  4. 处于同一个域中的两台Sql server 实例无法连接

    处于同一个域中的两台Sql server 实例无法连接,报的错误信息如下: A network-related or instance-specific error occurred while es ...

  5. TSql Output 用法

    第一部分:TSql Output 关键字有两种应用场景 1,作为存储过程的参数类型,从存储过程中返回数据 2,返回受 INSERT.UPDATE.DELETE 或 MERGE 语句影响的各行中的信息, ...

  6. Waves – 赞!超炫交互体验的点击动画效果

    Waves 点击效果的灵感来自于谷歌的材料设计,很容易使用.只需要引入 waves.min.css 和 waves.min.js 到 HTML 文件中可以使用了.采用 touchstart 与 tou ...

  7. [java] 汇率换算器实现(3)

    [java] 汇率换算器实现(3) // */ // ]]>   [java] 汇率换算器实现(3) Table of Contents 1 系列文章地址 2 前言 3 提取简单表单信息 3.1 ...

  8. Cannot override the final method from SherlockFragmentActivity

    调用ActionBarSherlock后页面找不到onCreateOptionsMenu报错 com.actionbarsherlock.app.SherlockFragmentActivity.on ...

  9. 创建支持多种屏幕尺寸的Android应用

    Android涉及各种各样的支持不同屏幕尺寸和密度的设备.对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的用户界面到它显示的屏上.与此同时,系统提供 ...

  10. Mina工作原理分析

    Mina是Apache社区维护的一个开源的高性能IO框架,在业界内久经考验,广为使用.Mina与后来兴起的高性能IO新贵Netty一样,都是韩国人Trustin Lee的大作,二者的设计理念是极为相似 ...