【背景建模】SOBS
SOBS(self-Organizing through artificial neural networks)是一种基于自组织神经网络的背景差分算法,主要是借鉴神经网络的特性,一个网络输入节点,对应多个中间节点,将背景模型中的一个像素映射到模型的多个位置,并采用了像素邻域空间相关的更新方式,使邻域的信息进一步融入模型中,使得算法具有邻域空间相关性。
算法伪代码
背景模型建立
选择背景模型的映射大小,一般选取n = 3,即一个像素点对应于模型中的3*3块,背景模型相比于原始图像扩大了9倍。
选择HSV颜色空间,选取第一帧数据作为背景模型的初始化数据。如上图示例所示,ai(h,s,v) = a(h,s,v)。
前景目标检测
计算当前像素点与其对应的模型块里像素点的最小距离,距离计算方法如下:
若最小距离小于阈值,则判定为背景,更新背景模型;
否则,进行阴影判断,阴影判断方法如下:
若判定为阴影,则只标识为背景,不更新背景模型。
背景模型更新
若像素判定为背景,且不属于阴影,则按一定的权值更新背景模型中最佳匹配像素周围的像素点,更新公式如下:
其中,a(t)是常数,wi,j是背景建模时,背景模型中每个像素对应的权重,初始为高斯权重,背景模型中最匹配像素的位置为(x',y')。
如图所示,假如f与f1最匹配,则黑色框的背景像素都将更新,即(b9,c7,c8,e3,f1,f2,e6,f4,f5)。
注意:算法中的每个像素都要与背景模型中的n*n个像素背景求最小值,在一定程度上影响了处理速度。
算法改进
1.背景模型更新方法优化
SOBS算法中,背景模型更新时,只是以是否存在最佳匹配的背景像素点为更新准则,没有利用最佳匹配像素点的最小距离值,具体更新方法如下:
由上述公式所示,有两种更新方法可选择,最小距离d(cm,pt)越小,对应的更新因子ai,j(t)值越大,当前像素点对背景模型的贡献度越大。
2.背景判定准则优化
SOBS算法中,背景判定准则是背景模型中是否存在最小距离小于阈值的像素。
这种判定准则存在的问题是若有噪声的影响,导致像素对应模型块中刚好存在唯一一个像素的距离小于阈值,此时,会把噪声点判定为背景,产生误检。
优化方法是引入满足匹配的像素数目作为判定准则,优化背景判定过程,具体方法是以最佳匹配像素表示背景,并计算与之对应的原始像素周围满足匹配的像素点数目(反向计算匹配过程),计算方法如下:
参考资料:
A Self-Organizing Approach to Background Subtraction for Visual Surveillance Applications
Multivalued Background/Foreground Separation for Moving Object Detection
The SOBS algorithm: what are the limits?
【背景建模】SOBS的更多相关文章
- 【背景建模】PbModel
PbModel是基于概率模型的背景差分算法,其基本思想是像素点会因光照变化.运动物体经过产生多种颜色值,但是一段时间内,像素点处于静止状态的时间会比处于运动状态的时间长.因而一段时间内,像素点某个颜色 ...
- 【背景建模】VIBE
ViBe是一种像素级的背景建模.前景检测算法,该算法主要不同之处是背景模型的更新策略,随机选择需要替换的像素的样本,随机选择邻域像素进行更新.在无法确定像素变化的模型时,随机的更新策略,在一定程度上可 ...
- 【背景建模】PBAS
Pixel-Based Adaptive Segmenter(PBAS)检测算法,是基于像素的无参数模型,该算法结合了SACON和VIBE两个算法的优势,并在这两个算法的基础上改进而来,SACON和V ...
- [MOC062066]背景建模资料收集整理
一.相关博客 背景建模相关资料收集,各个链接都已给出. 资料,不可能非常完整,以后不定期更新. -----------------切割线----------------- 这个哥们总结的非常好啊,看完 ...
- OpenCV ——背景建模之CodeBook(2)
1,CodeBook的来源 先考虑平均背景的建模方法.该方法是针对每一个像素,累积若干帧的像素值,然后计算平均值和方差,以此来建立背景模型,相当于模型的每一个像素含有两个特征值,这两个特征值只是单纯的 ...
- OpenCV ——背景建模之CodeBook(1)
1,CodeBook算法流程介绍 CodeBook算法的基本思想是得到每个像素的时间序列模型.这种模型能很好地处理时间起伏,缺点是需要消耗大量的内存.CodeBook算法为当前图像的每一个像素建立一个 ...
- OpenCV4Android背景建模(MOG、MOG2)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 很久以前的笔记了,分享给大家吧...OpenCV4Android中用于背景建模的类主要 ...
- 背景建模或前景检測之PBAS
申明,本文非笔者原创,原文转载自:http://blog.csdn.net/kcust/article/details/9931575 Pixel-Based Adaptive Segmenter(P ...
- 背景建模技术(七):预处理(PreProcessor)模块
预处理(PreProcessor)模块是BgsLibrary中一个必选的模块,是真正进入背景建模算法的“预处理”过程,其主要功能包括‘去模糊’.‘获得灰度图’.'应用Canny算子‘等可选模块. 下面 ...
随机推荐
- 如何优雅的使用vue+vux开发app -03
如何优雅的使用vue+vux开发app -03 还是一个错误的示范,但是离优雅差的不远了... <!DOCTYPE html> <html> <head> < ...
- SpringBoot常用配置简介
SpringBoot常用配置简介 1. SpringBoot中几个常用的配置的简单介绍 一个简单的Spring.factories # Bootstrap components org.springf ...
- 关于页面查询多数据查询问题(foreach)
最近纠结的一个问题,就是页面综合查询总报错,之前用过传参用list传就没问题,但现在用map总是报错,缓释直接贴图吧,希望对遇到问题的朋友有帮助页面传来参数,之前是 这样写的,直接将拿来的数据封装成一 ...
- Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)
具体步骤: 1.安装开发工具WebStorm: 2.安装node/npm(下载地址:https://nodejs.org/download/)选择适合你的xxx.mis安装: 3.安装express框 ...
- 图像映射map
<map>标签:带有可点击区域的图像映射 定义一个客户端图像映射.图像映射(image-map)指带有可点击区域的一幅图像. 效果图: 点击相应蓝色标签可进入详情页面浏览. 代码: < ...
- Deep learning:四十八(Contractive AutoEncoder简单理解)
Contractive autoencoder是autoencoder的一个变种,其实就是在autoencoder上加入了一个规则项,它简称CAE(对应中文翻译为?).通常情况下,对权值进行惩罚后的a ...
- go环境import cycle not allowed问题处理
1.前言 今天在搭建Go语言环境,从https://golang.org/dl/上下载一个Go语言环境.环境变量配置刚开始如下配置: GOROOT=/home/go/bin go执行文件目录 ...
- Azure ARM (7) ARM Template - 使用Visual Studio编辑
<Windows Azure Platform 系列文章目录> 之前介绍的ARM Template,都是使用文本编辑器来编辑JSON文件的. 文本讲介绍如何使用Visual Studio, ...
- Azure China (7) 使用WebMetrix将Web Site发布至Azure China
<Windows Azure Platform 系列文章目录> 本章介绍的是,使用世纪互联运维的Azure云服务. 1.首先我们登陆Azure管理界面.http://manage.wind ...
- Theano入门神经网络(一)
Theano是一个Python库,专门用于定义.优化.求值数学表达式,效率高,适用于多维数组.特别适合做机器学习.一般来说,使用时需要安装python和numpy. 首先回顾一下机器学习的东西,定义一 ...