主要可以分为:背景建模,帧差法,光流法
1: Single Gaussian(单高斯模型)
Real-time tracking of the human body
2:Mixture of Gaussian model(混合高斯模型)
An improved adaptive background mixture model for real-time tracking with shadow detection
基于混合高斯模型的自适应背景差分算法,类似于帧间差分法,使用混合高斯分布模型来表征图像帧中每一个像素点的特征,当获取新的图像帧时,适时更新混合高斯分布模型,某一时刻选取混合高斯模型中的一个子集表征当前背景,如果当前图像帧的某个像素点与混合高斯模型的背景子集匹配,则判定为背景,否则判定为前景点。总体来说是通过学习与训练计算出有没有运动对象时的背景
3:Running Gaussian average(滑动高斯平均)
Real-tine tracking of the human body
混合高斯在现有的背景建模算法中算是较好的,很多新的算法或者改进的算法都是基于它的原理变形的,但是混合高斯的缺点是计算量相对比较大,速度偏慢,对光照敏感。
4:CodeBook(码本)
Real-time foreground-background segmentation using codebook model
Real-time foreground-background segmentation using a modified codebook model
码本的效果还可以,之后有多中版本, 但是对光照也敏感;
5:SOBS-Self-organization background subtraction(自组织背景检测)
A self-Organizing approach to background subtraction for+visual surveillance
对于自组织背景建模算法即SOBS算法,该算法对光照有一定的鲁棒性,但MAP的模型比输入图片大,计算量比较大,但是可以通过并行处理来解决算法的速度问题,可以进行尝试;
6:SACON(样本一致性建模算法)
A consensus-based method for tracking
A consensus-based method for tracking-Modelling background scenario and foreground appearance
SACON-Background subtraction based on a robust consensus method
该方法是基于统计的知识,效果还不错;
7:ViBe算法
ViBe-A Universal Background Subtraction
作者网站:http://www2.ulg.ac.be/telecom/research/vibe/
ViBe算法是一个有别于传统方法的算法,作者已经申请了专利,可以做研究,用一帧图像就可以初始化背景模型,该方法计算量比较小,速度很快,可以嵌入到相机中,可以抗摄像头抖动,并且对噪声也有一定的鲁棒性,检测效果很不错;
8:Color(基于颜色信息的背景建模方法)
A statistical approach for real-time robust background subtraction and shadow detection
基于颜色信息的背景建模方法,简称Color算法,该算法将像素点的差异分解成Chromaticity差异和Brightness差异,对光照具有很强的鲁棒性,并有比较好的效果,计算速度也比较快,基本可以满足实时性的要求,做了许多视频序列的检测,效果比较理想;
9:统计平均法
10:Temporal Median filter( 中值滤波法)
Automatic congestion detection system for underground platform
Detecting moving objects,ghost,and shadows in video streams
统计平均法和中值滤波法,对于这两个算法,只对统计平均法做了实现,并进行了测试,算法的应用具有很大的局限性,只能算是理论上的一个补充;
11:W4方法
W4.pdf
W4算法应该是最早被用于实际应用的一个算法,这个大家可以去查看相关的资料,这里不再细说;
12:本征背景法
A Bayesian computer vision system for modeling human interactions
基于贝叶斯框架
13:核密度估计
Non-parametric model for background subtraction
最后就是核密度估计算法,该算法应该是一个比较鲁棒的算法,可以解决很多算法参数设置方面的问题,无需设置参数应该是算法的一大优势。
SOBS、Color、VIBE、SACON、PDF等可以进行深入的了解,特别是近年来出现的Block-based(块)或Region-Based(区域)、Features-Based(特征)、基于层次分类或层次训练器的算法可以进行深入的研究。
14:光流法(速度太慢,基本不用)
光流法概念源自光流场,当运动物体的影象在表面上的模式运动就是所谓的光流场,是一个二维速度场。而光流法根据连续多帧图像序列,计算各象素点运动的大小和方向,它反映了图像上每一像点灰度的变化趋势。优点:不需要背景建模,在无法预先获得场景的任何信息的情况下,也能够检测出独立的运动对象。缺点是计算复杂,往往需要特殊的硬件支持,很难满足实时性要求。
15:http://code.google.com/p/bgslibrary/ 这个网站的库包含了各种各样背景减除的方法,可以省很多时间。
16:Evaluation of Background Subtraction Techniques for Video Surveillance
综述性评估文章,可以看到各种算法的性能。
17:王先荣博客对前景提取的分析(含代码)
http://www.cnblogs.com/xrwang/archive/2010/02/21/ForegroundDetection.html
18:帧差法
|frame(i) - frame(i-1)| > Th,背景就是上一帧图像。每一帧与上一帧进行差分运算。提取效果显然与运动前景对象的速度和帧率有关(帧率指一秒钟有几张图片)。扩展下,建立在统计模型基础上的有选择的背景建模,实际上就是混合高斯法。优点:速度较快,稳定性较好。缺点是可能出现物体的“空洞现象”,空洞是由于某一大型运动物体,它的两帧之间存在象素十分接近的重合部分,所以导致这部分被差分剪去了。(帧差法主要有,二帧差,三帧差,累积帧差)
19:固定背景法
|frame(i) - background(i)| > Th,由于背景是预先设定的固定的一幅图像,这里必然引入了四个问题:光照变化,摄像机抖动,高频率振荡背景,运动转静止物体的干扰。优点:计算简单,易于实现。缺点是摄象头要绝对静止,而且不适应光照变化。
20:Pixel-Based Adaptive Segmenter
Background Segmentation with Feedback: The Pixel-Based Adaptive Segmenter
http://www.mmk.ei.tum.de/~hom/pbas 网站
(PBAS)检测算法是基于像素的无参数模型,该算法结合了SACON和VIBE两个算法的优势,并在这两个算法的基础上改进而来;
主要创新点:
(1)引入控制论的思想,使前景判断阈值和背景模型更新率自适应变化,随背景的复杂程度变化。
(2) 引入背景复杂程度的度量方法,根据背景复杂程度调整前景判断阈值和背景模型更新率。
本文转载自:Albert-Lxy