主要内容

视觉人检测器

使用HOG特征检测直立的人

描述

人员检测器对象使用方向梯度直方图(HOG)特征和经过训练的支持向量机(SVM)分类器在输入图像中检测人员。该对象检测直立位置的未被包含人员。万博1manbetx

要检测图像中的人物,请执行以下操作:

  1. 创建视觉人检测器对象并设置其属性。

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

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

创造

描述

实例

人检测器=vision.PeopleDetector返回一个人员检测器对象,人检测器,它跟踪视频中的一组点。

人检测器=vision.PeopleDetector(模型)创建人员检测器对象并设置ClassificationModel财产模型

人检测器=vision.PeopleDetector(名称,值)使用一个或多个名称-值对设置属性。用引号括住每个属性名称。例如,peopleDetector=vision.peopleDetector('ClassificationModel','UprightPeople_128x64'))

性质

全部展开

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

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

有关更改特性值的详细信息,请参见基于系统对象的MATLAB系统设计

分类模型名称,指定为“正直的人”_128x64““正直的人民”.像素维数表示用于训练的图像大小。

用于训练模型的图像包括人周围的背景像素。因此,检测到的人的实际大小小于训练图像的大小。

人的分类阈值,指定为非负标量值。在多尺度检测中,利用该阈值来控制单个图像子区域的分类。阈值控制子区域是否被分类为一个人。当有很多错误检测时,可以增加这个值。阈值越高,对分类的要求越严格。改变阈值范围以找到数据集的最优值。典型值范围为04.

可调:

包含人的最小区域,以像素为单位指定为两元素向量[身高宽度]。将此属性设置为包含人员的最小大小区域。设置此属性时,可以减少计算时间。为此,请将此属性设置为大于用于训练分类模型的图像大小的值。如果未指定此属性,检测器会将其设置为用于训练分类模型的图像大小。

可调:

包含人的最大区域,以像素为单位指定为两个元素向量[身高宽度]。将此属性设置为包含人员的最大区域。设置此属性可以减少计算时间。为此,请将此属性设置为小于输入图像大小的值。如果未指定此属性,检测器将其设置为输入图像大小。此属性可调。

多尺度对象检测缩放,指定值大于1.0001.尺度因子递增地缩放之间的检测分辨率米西最大尺寸。您可以使用以下方法将比例因子设置为理想值:

大小() / (大小()-0.5)

对象在每个增量计算检测分辨率。

圆形的(培训规模*(缩放因子N))

在这种情况下培训规模[128 64]对于“正直的人”_128x64“模型与[96 48]对于“正直的人民”模型N是增量。减小比例因子可以提高检测精度。但是,这样做会增加计算时间。此属性是可调的。

以像素为单位的检测窗口跨步,指定为标量或两元素向量[xY]。检测器使用窗口跨步在图像上滑动检测窗口。将此值指定为向量时,第一个和第二个元素是中的步幅大小xY的方向。当您将此值指定为标量时,两者的步幅是相同的xY. 减小窗口步长可以提高检测精度。但是,这样做会增加计算时间。增加窗口跨距[8 8]可能导致更多的漏检。此属性是可调的。

合并检测控制,指定为真正的错误的.此属性控制是否合并类似的检测。将此属性设置为真正的使用基于均值偏移的算法合并边界框。将此属性设置为错误的输出未合并的边界框。

要获得更大的灵活性和对合并参数的控制,可以使用选择strongestbbox函数代替MergeDetections算法。为此,请设置MergeDetections财产错误的. 见从行驶中的汽车中追踪行人示例,其中显示了人员检测器和选择strongestbbox作用

使用感兴趣的区域,指定为真正的错误的.将此属性设置为真正的检测输入图像中感兴趣的矩形区域内的对象。

使用

描述

实例

B盒子= peopleDetector ()对输入图像执行多尺度对象检测,并返回一个M4矩阵定义M边界框。M表示检测到的人数。输出矩阵的每一行,BBOXES,包含四个元素的向量,[xY宽高)。这个向量以像素为单位指定边界框的左上角和大小。当没有人被发现的时候一步方法返回一个空向量。输入图像,,必须是灰度或真彩色(RGB)图像。

[B盒子,分数]=人检测器()此外,还返回检测的置信值。

[___]=人检测器(,roi)在矩形搜索区域内检测人员,roi

输入参数

全部展开

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

图像内感兴趣的矩形区域,指定为四元素向量,[xY宽度身高].

分类模型,指定为“正直的人”_128x64““正直的人民”

输出参数

全部展开

人员检测对象,作为对象返回。检测器使用定向梯度直方图(Histogram of Oriented Gradient, HOG)特征和训练过的SVM分类器来检测输入图像中的人。该物体检测处于直立位置的未被遮挡的人。

目标函数

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

发行版(obj)

全部展开

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

例子

全部折叠

创建一个人员检测器并加载输入图像。

peopleDetector = vision.PeopleDetector;我= imread (“visionteam1.jpg”);

使用人员检测对象检测人员。

[bboxes,分数]= peopleDetector(我);

注释中发现的人。

I=插入对象注释(I,“矩形”bboxes,分数);图中,imshow (I)标题(“检测人员和检测分数”);

图中包含一个轴对象。标题为Detected people和detection scores的Axis对象包含类型为image的对象。

工具书类

达拉尔,N.和B.特里格斯。《面向人类检测的梯度直方图》IEEE计算机视觉与模式识别会议论文集,2005年6月,第886-893页。

扩展能力

介绍了R2012b