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

【背景建模】SACON http://www.cnblogs.com/dwdxdy/p/3530862.html

【背景建模】VIBE http://www.cnblogs.com/dwdxdy/p/3527891.html

创新点:

1).引入控制论的思想,使前景判断阈值和背景模型更新率自适应变化,随背景的复杂程度变化。

2).引入背景复杂程度的度量方法,根据背景复杂程度调整前景判断阈值和背景模型更新率。

基本框架:

  

  R(xi)为自适应的阈值,T(xi)为自适应的更新率,dmin(xi)为背景复杂度的度量。

主要步骤:

1).建立背景模型

  PBAS算法采用类似SACON算法背景建模方法,收集前N帧像素以及梯度幅值作为背景模型;

2).前景检测

  其检测过程与VIBE算法类似,计算样本集合中满足匹配条件的样本个数,若小于阈值#min,则表示为背景,不同之处在于不同像素的判断阈值R(xi)不同;

  

  B(xi)是背景模型,表示像素点xi的样本集合,F(xi)是前景图像,表示像素点xi的判断结果。

3).背景模型更新

  其更新过程与VIBE算法类似,随机选择需要被替换的样本,随机选择像素邻域的样本集合更新,不同之处在于更新率不同,VIBE是固定的更新率,而PBAS的更新率是自适应的,并且更新邻域样本集合是用邻域的新像素值进行更新,而不是用新像素值本身。

4).背景复杂度计算

  当新像素值与样本集合的最小距离小于阈值时,该说明该像素可能为背景,此时最小距离可以描述背景的复杂度,距离越大,背景越复杂。因而,采用样本集合中样本更新时的最小距离的平均值作为背景复杂度的度量。

  

5).自适应调整判断阈值

  背景越复杂,其判断阈值应该越大,保证背景像素不被误判为前景,背景越简单,微小的变化都是由前景引起,判断阈值应该越小,调整策略如下:

  

   Rinc/dec是阈值的变化量,Rscale用于控制背景复杂度对判断阈值的调整。

6).自适应调整更新率

  背景越复杂,其出现错误判断的概率越大,对应的背景更新应该越少,减少错误判断对背景模型的影响,其更新策略如下:

  

  F(xi)表示前景检测结果,Tinc和Tdec分别表示更新率增加、减小的幅度,Tlower和Tupper分别表示更新率上下限。

算法实现注意事项:

1).参数的设置,可以根据实际的应用调整参数的大小,一般的参数设置如下:

N = 35, #min = 2, Rinc/dec = 0.05, Rlower = 18, Rscale = 5, Tdec = 0.05, Tinc = 1, Tlower = 2, Tupper = 200

2).基于像素的前景判断、背景复杂度计算、判断阈值和更新率的更新计算,计算复杂度,比较耗时,建议采用GPU通用计算技术实现。

参考资料:

Background Segmentation with Feedback: The Pixel-Based Adaptive Segmenter

http://www.mmk.ei.tum.de/~hom/pbas

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

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

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

  2. 【计算机视觉】背景建模之PBAS

    本文是根据M. Hofmann等人在2012年的IEEE Workshop on Change Detection上发表的"Background Segmentation with Feed ...

  3. 背景建模技术(六):帧处理(FrameProcessor)模块

    前面几篇文章简单介绍了BgsLibrary的入口函数.视频分析和视频捕获模块,本文将简单介绍帧处理模块,即对每一帧进行处理的函数,也就是真正调用背景建模算法的接口处. 下面贴出源码供大家分析: #in ...

  4. 【背景建模】SOBS

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

  5. 【背景建模】PbModel

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

  6. 【背景建模】VIBE

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

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

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

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

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

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

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

随机推荐

  1. [LeetCode] Range Sum Query - Immutable

    The idea is fairly straightforward: create an array accu that stores the accumulated sum fornums suc ...

  2. wamp2.5 不能运行在win2003的解决方法

    安装时提示 httpd.exe 不是有效的 win32程序 之后就启动不了,连小icon都不显示了 经查发现 wampserver 2.5用 vc11编译,并使用了他的类库 vc11是不支持 xp和 ...

  3. JAVA多线程编程之生产者消费者模式

    Java中有一个BlockingQueue可以用来充当堵塞队列,下面是一个桌面搜索的设计 package net.jcip.examples; import java.io.File; import ...

  4. Git 文件比较

    Git 的三个作业场: 工作区(Work Tree) 项目根目录下 .git 目录以外所有区域,是编辑项目文件的地方. 缓存区(Index) 工作区文件必须先保存在缓存区,之后从缓存区保存到仓库. 仓 ...

  5. call方法和new对象的关系

    call只能改变this的指向,而使用new对象不仅会自动调用call方法改变这个对象的this指向,而且还会继承构造函数的原型. var fn = function(a){ this.a = a; ...

  6. (译)ECMAScript 5 Objects and Properties (二)

    继 (译)ECMAScript 5 Objects and Properties 全文地址 http://ejohn.org/blog/ecmascript-5-objects-and-propert ...

  7. Linux文件查找工具之find “大宝剑”--转载

    原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...

  8. Pop - Facebook 开源 iOS & OS X 动画库

    Pop 是一个可扩展的 iOS & OS X 动画引擎.除了基本的静态动画,它支持弹簧和动态衰减的动画,因此可以用于构建现实的,基于物理的交互效果. 它的 API 可以与现有的 Objecti ...

  9. Swift_3.0_取消杂乱无章的log输出

    一 举例: 输出的杂乱无章的东西 subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: , persist_lev ...

  10. .NET C# 使用S22.Imap.dll接收邮件 并且指定收取的文件夹的未读邮件,并且更改未读准态

    string host = Conf.ConfigInfo.POP_Host; int port = Conf.ConfigInfo.POP_Port; string username =Conf.C ...