一、Vibe 算法的优点

Vibe背景建模为运动目标检测研究邻域开拓了新思路,是一种新颖、快速及有效的运动目标检测算法。其优点有以下两点:

1、思想简单,易于实现。Vibe通常随机选取邻域20个样本为每个像素点建立一个基于样本的背景模型,具有初始化速度快、内存消耗少和占用资源少等优点,随后,利用一个二次抽样因子φ,使有限的样本基数能近似表示无限的时间窗口,即在较少样本前提下,保证算法的准确性,最后,并采用一种领域传播机制保证算法的空间一致性。

2、运算效率高。有两方面的原因:一是Vibe背景模型是基于少量样本的背景模型,二是优化了背景模型中的相似度匹配算法。Vibe背景模型是一种基于N个样本的背景模型,为得到最佳N值,分别选取N为5、15、20、25进行了实验对比,如图3.3所示,实验结果表明,N取20、25时,检测结果理想,考虑计算负载,N取20最优。与混合高斯的3-5个高斯模型的计算匹配比较,基于20个样本的背景模型计算具有计算开销低、检测速度快等优点。Vibe的背景模型相似度匹配函数只与R和Umin
有关,背景模型中的样本与待分类像素的欧式距离小于R的个数超过Umin 时,匹配背景模型,判断为背景,在实际实现过程中,优化算法,一旦找到Umin 个匹配样本时,停止计算,判断待分类像素为背景,该方法大大减少了整个算法的计算量,从而提高运算效率。

3、样本衰减最优。有人通过增加样本基数(上至200个)来处理复杂场景,也有人结合两个子模型分别处理快速更新和缓慢更新的情况。其实,选取被替换样本更新背景模型,实质上是样本寿命问题,传统方式采用先进先出的替换策略。Vibe背景模型中每个样本被选中为替换样本的概率是相等的,与样本存在时间的长短无关,这种策略保证背景模型中的样本寿命呈指数衰减,模型更新达到最佳状态。

二、Vibe 算法的缺点

Vibe背景建模有思想简单、易于实现、运算效率高等优点,但算法自身也存在着局限性。主要有鬼影、静止目标、阴影前景和运动目标不完整等问题。

第一个问题:鬼影问题。如图3.4所示,Vibe背景建模利用第一帧作为初始帧初始化背景模型,图(d)是图(c)用Vibe算法检测到的结果,因第一帧(如图(b)所示)中存在着运动目标,并非真实的背景图像(如图(a)所示),检测结果中出现鬼影,如图3.4(d)所示。产生鬼影的根源可归纳为两类:(1)背景模型的初始帧存在着运动目标;(2)运动目标的状态转变,从静止到运动,背景模型的更新速率无法与背景变率相同步,出现虚假目标,即鬼影。

第二个问题:静止目标问题。如图3.5所示,图(a)红框中的人在等地铁,从图(a)到图(c)经过498帧,长时间驻留未运动,该人物运动目标逐渐被背景吸收。本文将在450帧以上都没有明显位移的运动目标区域定义为静止目标区域。产生静止目标问题的根源可归纳为两类:(1)运动目标从运动到静止,(2)运动目标运动缓慢。当Vibe背景模型的更新速度过快时,将静止或缓慢运动目标吸收为背景的一部分,此时这两种运动目标就检测不出来了。

第三个问题:阴影前景问题。如图3.6所示,图(b)和图(d)分别是用Vibe 算法对人体运动目标(a)和车体运动目标(c)的检测结果,由于光线被人体或车体运动目标所遮挡,投射阴影区的背景被误检为运动目标前景。阴影的存在导致检测出来的运动目标形状不准确,影响后续目标分类、跟踪、识别和分析等其他智能视频处理模块。产生阴影前景问题的根源是:光线被运动目标前景遮挡,投射阴影区的颜色比背景的颜色暗,即阴影和背景颜色值的距离相差较大,背景差分后被误检为运动目标前景。

第四个问题:运动目标不完整问题。如图3.7所示,图(a)中的人内部出现空洞,图(b)中的人中间出现断层,图(c)中的人上半身出现边缘残躯,图(d)车体的挡风玻璃出现空洞。运动目标通常可分为非刚性物体和刚性物体,人属于非刚性物体,车属于刚性物体,这两种常见检测对象的检测结果都出现了不完整现象。总结图3.7的实验结果,可将运动目标不完整现象分为三类:a)运动目标内部有大量空洞。(b)运动目标边缘残缺,呈现C字型凹陷。(c)运动目标中间有断层。

产生运动目标不完整问题的根源主要有以下两点:(1)Vibe算法自身存在缺陷。基于统计学原理的Vibe样本模型受限于模型的样本个数,当样本趋于无穷大时才能准确描述场景,这在实际应用中是不可能实现的;(2)场景或运动目标的 复杂性和多变性。主要有三种情况:1)瞬时的光线突变,背景模型来不及更新,2)前景与背景颜色相近,将前景误判为背景,3)噪声干扰,出现孤立噪声点和连通噪声区域。

【计算机视觉】背景建模--Vibe 算法优缺点分析的更多相关文章

  1. 【原创】Kmeans算法 优缺点分析

    优点: 原理简单(靠近中心点),实现容易(1.2 天),聚类效果中上(依赖K的选择) 缺点: 1. 无法确定K的个数 (根据什么指标确定K) 2. 对离群点敏感 (容易导致中心点偏移) 3. 算法复杂 ...

  2. 背景建模技术(二):BgsLibrary的框架、背景建模的37种算法性能分析、背景建模技术的挑战

    背景建模技术(二):BgsLibrary的框架.背景建模的37种算法性能分析.背景建模技术的挑战 1.基于MFC的BgsLibrary软件下载 下载地址:http://download.csdn.ne ...

  3. 【背景建模】VIBE

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

  4. ViBe(Visual Background extractor)背景建模或前景检测

    ViBe算法:ViBe - a powerful technique for background detection and subtraction in video sequences 算法官网: ...

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

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

  6. [转]前景检测算法--ViBe算法

    原文:http://blog.csdn.net/zouxy09/article/details/9622285 转自:http://blog.csdn.net/app_12062011/article ...

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

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

  8. 【背景建模】PbModel

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

  9. 【背景建模】PBAS

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

随机推荐

  1. Nowcoder的JS计时器题分析

    题目描述 实现一个打点计时器,要求1.从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 12.返回的对象中需要包含一个 ...

  2. 原创:实现atoi函数

    #include <stdio.h> #include <stdlib.h> #include <limits.h> int my_atoi(char *str) ...

  3. Linux系统启动顺序

    Linux启动顺序 加电—加电自检(BIOS)—硬件检查 —MBR(找到需要启动的系统,由于实际计算机上可能会装有多个系统) —bootloader系统初始化,装载kenel到内存 —内核执行,决定哪 ...

  4. 第06课:作用域、JS预解析机制

    从字面上理解----域就是空间.范围.区域,作用就是读.写,所以作用域我们可以简单理解为:在什么样空间或者范围内对数据进行什么样的读或写操作. 看一下代码 alert(a); // 为什么是undef ...

  5. Python基础之注释

    有时候我们写的东西不一定都是给用户看的,或者不希望解释器执行,那么我们可以选择注释掉代码. 被注释的内容是不会执行的,可以方便在以后能读懂代码. 注释分为两种,一种是单行注释,一种是多行注释. 单行注 ...

  6. D. Make a Permutation!(思维)

    D. Make a Permutation! time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  7. leetcode题目3.无重复字符的最长子串(中等)

    题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "a ...

  8. idea 远程代码调试

    声明一点:重要的事情说3遍 本地代码和服务器代码必须一致 本地代码和服务器代码必须一致 本地代码和服务器代码必须一致 第一步,创建remote 第二步.填写服务器信息 第三部.tomcat/bin/s ...

  9. Ubuntu的root用户通过SSH登录的解决方法

    通过ISO镜像安装完ubuntu 系统后,我们不能直接使用putty或其他远程工具通过SSH方式连接到linux系统 原因: linux 系统上没有安装远程工具openssh-server 解决方法: ...

  10. leetcode378 有序矩阵中第k小的元素

    排序后取数组第k个元素,遍历需要n^2的复杂度,查找插入logn,时间复杂度O(n^2logn).方法很笨,完全就是STL过于牛x运行通过的. class Solution { public: int ...