运动前景对象检测一直是国内外视觉监控领域研究的难点和热点之一,其目的是从序列图像中将变化区域从背景图像中提取出来,运动前景对象的有效检测对于对象跟踪、目标分类、行为理解等后期处理相当重要,那么区分前景对象,很是关键的一个问题是肯定一个很是合适的背景,背景从象素的角度来理解,每个象素就是有多是前景点,也有多是背景点,那么咱们就要防止背景中误进入原属于前景点的对象,目前有几种经常使用的方法,但分别有利弊。算法
主要能够分为:背景建模,帧差法,光流法app
1: Single Gaussian(单高斯模型) Real-time tracking of the human body框架
2:Mixture of Gaussian model(混合高斯模型)ide
参考论文: 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:SOBS-Self-organization background subtraction(自组织背景检测)orm
A self-Organizing approach to background subtraction for+visual surveillance,对于自组织背景建模算法即SOBS算法,该算法对光照有必定的鲁棒性,但MAP的模型比输入图片大,计算量比较大,可是能够经过并行处理来解决算法的速度问题,能够进行尝试;视频
5: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
该方法是基于统计的知识,效果还不错;
6:ViBe算法
ViBe-A Universal Background Subtraction,做者网站:http://www2.ulg.ac.be/telecom/research/vibe/
ViBe算法是一个有别于传统方法的算法,做者已经申请了专利,能够作研究,用一帧图像就能够初始化背景模型,该方法计算量比较小,速度很快,能够嵌入到相机中,能够抗摄像头抖动,而且对噪声也有必定的鲁棒性,检测效果很不错;
7:Color(基于颜色信息的背景建模方法)
参考论文:A statistical approach for real-time robust background subtraction and shadow detection
基于颜色信息的背景建模方法,简称Color算法,该算法将像素点的差别分解成Chromaticity差别和Brightness差别,对光照具备很强的鲁棒性,并有比较好的效果,计算速度也比较快,基本能够知足实时性的要求,作了许多视频序列的检测,效果比较理想;
8:Temporal Median filter( 中值滤波法)
参考论文:Automatic congestion detection system for underground platform
Detecting moving objects,ghost,and shadows in video streams
统计平均法和中值滤波法,对于这两个算法,只对统计平均法作了实现,并进行了测试,算法的应用具备很大的局限性,只能算是理论上的一个补充;
9:本征背景法
参考论文:A Bayesian computer vision system for modeling human interactions
基于贝叶斯框架
10:核密度估计
参考论文:Non-parametric model for background subtraction
最后就是核密度估计算法,该算法应该是一个比较鲁棒的算法,能够解决不少算法参数设置方面的问题,无需设置参数应该是算法的一大优点。SOBS、Color、VIBE、SACON、PDF等能够进行深刻的了解,特别是近年来出现的Block-based(块)或Region-Based(区域)、Features-Based(特征)、基于层次分类或层次训练器的算法能够进行深刻的研究。
11:光流法(速度太慢,基本不用)
光流法概念源自光流场,当运动物体的影象在表面上的模式运动就是所谓的光流场,是一个二维速度场。而光流法根据连续多帧图像序列,计算各象素点运动的大小和方向,它反映了图像上每一像点灰度的变化趋势。优势:不须要背景建模,在没法预先得到场景的任何信息的状况下,也可以检测出独立的运动对象。缺点是计算复杂,每每须要特殊的硬件支持,很难知足实时性要求。
12:帧差法
|frame(i) - frame(i-1)| > Th,背景就是上一帧图像。每一帧与上一帧进行差分运算。提取效果显然与运动前景对象的速度和帧率有关(帧率指一秒钟有几张图片)。扩展下,创建在统计模型基础上的有选择的背景建模,实际上就是混合高斯法。优势:速度较快,稳定性较好。缺点是可能出现物体的“空洞现象”,空洞是因为某一大型运动物体,它的两帧之间存在象素十分接近的重合部分,因此致使这部分被差分剪去了。(帧差法主要有,二帧差,三帧差,累积帧差)
13:固定背景法
|frame(i) - background(i)| > Th,因为背景是预先设定的固定的一幅图像,这里必然引入了四个问题:光照变化,摄像机抖动,高频率振荡背景,运动转静止物体的干扰。优势:计算简单,易于实现。缺点是摄象头要绝对静止,并且不适应光照变化。