前景目标检测1(总结)
运动前景对象检测一直是国内外视觉监控领域研究的难点和热点之一,其目的是从序列图像中将变化区域从背景图像中提取出来,运动前景对象的有效检测对于对象跟踪、目标分类、行为理解等后期处理至关重要,那么区分前景对象,非常关键的一个问题是确定一个非常合适的背景,背景从象素的角度来理解,每一个象素就是有可能是前景点,也有可能是背景点,那么我们就要防止背景中误进入原属于前景点的对象,目前有几种常用的方法,但分别有利弊。
主要可以分为:背景建模,帧差法,光流法
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) 引入背景复杂程度的度量方法,根据背景复杂程度调整前景判断阈值和背景模型更新率。