主要内容

愿景。ForegroundDetector

使用高斯混合模型的前景检测

描述

ForegroundDetector将彩色或灰度视频帧与背景模型进行比较,以确定单个像素是背景的一部分还是前景的一部分。然后计算一个前景掩码。通过使用背景减法,您可以检测从静止摄像机拍摄的图像中的前景目标。

检测图像中的前景:

  1. 创建愿景。ForegroundDetector对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

例子

探测器=愿景。ForegroundDetector使用高斯混合模型(GMM)计算并返回一个前景掩码。

探测器=愿景。ForegroundDetector (名称,值使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。例如,探测器= vision.ForegroundDetector (LearningRate, 0.005)

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

适应学习率,指定为“真正的”“假”.该属性使对象在指定的时间段内适应学习速率NumTrainingFrames财产。当您将此属性设置为真正的,对象设置LearningRate属性为1/(当前帧号)。当您将此属性设置为,LearningRate属性必须在每个时间步骤中设置。

训练背景模型的初始视频帧数,指定为整数。当你设置AdaptLearningRate,此属性将不可用。

参数更新的学习速率,指定为数字标量。指定适应模型参数的学习率。这个属性控制模型适应变化条件的速度。适当设置此属性以确保算法的稳定性。

此属性指定的学习速率只能在设置AdaptLearningRate真正的并在培训期满后NumTrainingFrames已经结束了。

可调:是的

确定背景模型的阈值,指定为数字标量。设置此属性以表示将像素视为背景值的最小可能性。如果这个值太小,多通道背景无法处理。

混合模型中的高斯模式数,指定为正整数。通常,您可以将此值设置为3.45.将值设置为3.或更大,以便能够建模多个背景模式。

初始混合模型方差,指定为数值标量或“汽车”特征向量。

图像数据类型 最初的方差
/ (30/255) ^ 2
uint8 30 ^ 2

此属性适用于颜色输入的所有颜色通道。

使用

描述

例子

foregroundMask=探测器(计算输入图像的前景掩码,并返回逻辑掩码。的值1在蒙版中对应于前景像素。

foregroundMask=探测器(learningRate属性计算前台掩码LearningRate

输入参数

全部展开

输入图像,指定为灰度或真彩色(RGB)。

参数更新的学习速率,指定为数字标量。指定适应模型参数的学习率。这个属性控制模型适应变化条件的速度。适当设置此属性以确保算法的稳定性。

此属性指定的学习速率只能在设置AdaptLearningRate真正的并在培训期满后NumTrainingFrames已经结束了。

可调:是的

输出参数

全部展开

使用高斯混合模型计算的前景掩码,返回为二进制掩码。

对象的功能

要使用对象函数,请指定System对象™作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部折叠

创建一个视频源对象来读取文件。

videoSource = VideoReader (“viptraffic.avi”);

创建一个检测器对象并设置训练帧数为5(因为它是一个短视频)。设置初始标准偏差。

探测器=愿景。ForegroundDetector(...“NumTrainingFrames”5,...“InitialVariance”30 * 30);

执行团的分析。

blob =愿景。BlobAnalysis (...“CentroidOutputPort”假的,“AreaOutputPort”假的,...“BoundingBoxOutputPort”,真的,...“MinimumBlobAreaSource”“属性”“MinimumBlobArea”, 250);

插入一个边界。

shapeInserter =愿景。ShapeInserter (“BorderColor”“白色”);

比赛的结果。在汽车周围绘制边框。

放像机= vision.VideoPlayer ();hasFrame(videoSource) frame = readFrame(videoSource);fgMask =检测器(框架);bbox = blob (fgMask);= shapeInserter(框架、bbox);放像机(出);暂停(0.1);结束

释放对象。

释放(放像机);

参考文献

Kaewtrakulpong, P.和R. Bowden。基于阴影检测的实时跟踪的改进自适应背景混合模型.AVBS01,视频监控系统:计算机视觉和分布式处理(2001年9月)

Stauffer, C.和W.E.L. Grimson。实时跟踪的自适应背景混合模型,计算机视觉与模式识别,IEEE计算机学会会议,Vol. 2 (06 August 1999), pp. 2246-252 Vol. 2。

扩展功能

另请参阅

介绍了R2011a