主要内容

Vision.cascadeObjectDetector

使用维奥拉 - 琼斯算法检测对象

描述

级联对象探测器使用Viola-Jones算法来检测人们的面部,鼻子,眼睛,嘴巴或上半身。你也可以使用图片标注训练自定义分类器以用于此系统对象。有关该函数如何工作的详细信息,请参阅开始使用级联对象检测器

检测图像中的面部特征或上体:

  1. 创建Vision.cascadeObjectDetector对象并设置其属性。

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

要了解更多有关系统对象的方式工作,请参阅什么是系统对象?

创造

描述

例子

探测器= Vision.cascadeObjectDetector使用Viola-Jones算法创建检测器以检测对象。

检测器=vision.ObjectDetector(模型创建检测器,该检测器被配置为检测输入字符向量定义的对象,模型

检测器=vision.ObjectDetector(xml文件创建一个探测器,并配置它以使用与之指定的自定义分类模型xml文件输入。

探测器= Vision.cascadeObjectDetector(名称,价值属性集使用一个或多个名称值对。在引号中每个属性的名称。例如,检测器=vision.CascadeObjectDetector('ClassificationModel','UpperBody'))

性质

全部展开

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

如果一个属性是可调,你可以在任何时候改变它的值。

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

培训的级联分类模型,指定为字符向量。这ClassificationModel属性控制要检测的对象的类型。默认情况下,检测器配置为检测面部。

您可以将此字符向量设置为包含自定义分类模型的XML文件,或设置为下面列出的有效模型字符向量之一。您可以使用trainCascadeObjectDetector功能。该函数可以使用训练类Haar特征,直方图梯度方向(HOG)局部二进制模式(LBP)的模型,或。有关如何使用该功能的详细信息,请参阅开始使用级联对象检测器

分类模型 用于训练模型的图像大小 型号说明
'FrontalFaceCART'(默认) [20 20] 检测垂直和向前的脸。该模型由弱分类器组成,基于分类与回归树分析(CART)。这些分类器使用Haar特征对面部特征进行编码。基于cart的分类器提供了建模人脸特征之间高阶依赖关系的能力。[1]
'FrontalFaceLBP' [24] 检测垂直和向前的脸。该模型由弱分类的基础上,决定树桩。这些分类使用局部二元模式(LBP)来编码面部特征。LBP特征可以提供鲁棒性针对照明变化。[2]
“上身” [18 22] 检测上半身区域,这被定义为头部和肩部区域。该模型利用Haar特征对头部和肩部区域的细节进行编码。因为它在头部周围使用了更多的特征,这个模型对姿势的变化更健壮,例如头部旋转/倾斜。[3]
'eyepairbig'
“EyePairSmall”
[11 45]
[5 22]
探测到一双眼睛“EyePairSmall”模型使用较小的图像进行训练。这使模型能够检测到比模型更小的眼睛'eyepairbig'可以检测模型。[4]
“左眼”
“右眼”
[12 18] 分别检测左右眼。这些模型由基于决策残桩的弱分类器组成。这些分类器使用Haar特性对细节进行编码。[4]
'左撇子'
“RightEyeCART”
[20 20] 分别检测左右眼。构成这些模型的弱分类器是车树。与决策树桩相比,基于购物车树的分类器更好地建模高阶依赖性。[5]
'ProfileFace' [20 20] 检测正直的脸轮廓。该模型由弱分类的基础上,决定树桩。这些分类使用哈尔特征编码脸细节。
“口” [15 25] 检测嘴巴。该模型由弱分类器组成,基于决策树桩,它使用HAAR功能编码嘴细节。[4]
'鼻子' (15 18) 该模型由弱分类器组成,基于决策树桩,它使用HAAR功能编码鼻细节。[4]

最小可检测物体的大小,指定为双元素矢量[身高宽度].将此属性设置为包含对象的最小大小区域的像素。该值必须大于或等于用于训练模型的图像大小。当您在处理图像之前知道最小对象大小时,使用此属性可减少计算时间。当您没有为该属性指定值时,检测器将其设置为用于训练分类模型的图像的大小。

有关设置可检测对象的大小和比例因子财产,参见算法部分。

可调:

可探测物体的最大尺寸,指定为二元矢量[身高宽度].指定要检测到的最大对象的像素的大小。使用此属性在处理图像之前了解最大对象大小时,可以减少计算时间。当您没有为此属性指定值时,检测器将其设置为尺寸一世)。

有关设置可检测对象的大小和比例因子属性,请参阅算法部分。

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

尺寸一世) / (尺寸一世) -0.5

探测器以介于之间以增量缩放搜索区域MinSize最大尺寸使用以下关系:

搜索区域=((培训规模)*(比例因子N)))

N当前的增量是大于零的整数,而且培训规模是用于训练分类模型的图像大小。

可调:

检测阈值,指定为整数。阈值定义在存在对象周围有多次检测的区域中声明最终检测所需的标准。合并符合阈值的分组检测组以在目标对象周围生成一个边界框。通过要求在多尺度检测阶段期间多次检测到目标对象,增加该阈值可能有助于抑制假检测。当您将此属性设置为时0.,则返回所有检测,而不执行阈值或合并操作。此属性是可调的。

使用兴趣区域,指定为错误的或者真的.将此属性设置为真的到的所述输入图像内的感兴趣的矩形区域内检测物体。

用法

描述

口技=检测器(一世返回一个m4矩阵,口技,这就定义了m包含被检测对象的包围盒。检测器对输入图像进行多尺度目标检测,一世

口技=检测器(一世ROI.检测由此指定的矩形搜索区域内的对象ROI..设置“UseROI”属性真的使用此语法。

输入参数

全部展开

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

分类模型,指定为字符向量。这模型输入描述要检测的对象的类型。有几种有效的模型字符向量,例如'前沿艺术”、“上半身'和'侧面'。看看ClassificationModel可用模型的完整列表的属性描述。

自定义分类模型,指定为XML文件。这xml文件可以使用trainCascadeObjectDetector函数或OpenCV(开源计算机视觉)训练功能。的完整路径或相对路径xml文件,如果不是在MATLAB®路径

图像内的矩形区域一世,指定为四元素向量[Xy宽度身高].

输出参数

全部展开

检测,作为一个返回m4元素的矩阵。输出矩阵的每一行包含一个四个元素的向量,[Xy宽度身高],即在指定的像素,边界框的左上角和大小。

对象函数

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

释放(obj)

全部展开

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

例子

全部收缩

创建面部检测器对象。

FaceDetector = Vision.cascadeObjectDetector;

读取输入图像。

I=imread('Visionteam.jpg');

检测人脸。

bboxes = faceDetector(I);

注释检测到的面。

IFaces=插入对象注释(I,'长方形',bboxes,“脸”);图imshow(IFaces)标题(“检测到的面部”);

图包含一个轴对象。与标题检测到的面部的轴对象包含类型图像的对象。

创建身体检测器对象并设置属性。

BodyDetector = Vision.cascadeObjectDetector(“上身”);bodyDetector.MinSize = [60 60];bodyDetector.MergeThreshold = 10;

读取输入图像并检测上半身。

i2 = imread('Visionteam.jpg');bboxBody = bodyDetector(I 2);

注释检测到的上半身。

IBody = insertObjectAnnotation (I2,'长方形',bboxBody,'上半身');图imshow(IBody)标题(“检测到的上半身”);

图包含一个轴对象。与标题检测上部机体的轴对象包含类型图像的对象。

算法

全部展开

参考文献

[1] Lienhart R.,Kuranov A.,和V.Pisarevsky“用于快速目标检测的增强分类器检测级联的实证分析。”第25届DAGM研讨会模式识别的诉讼程序。马格德堡,德国,2003。

[2] ojala timo,pietikäinenmatti和mäenpäätopi,“带有本地二进制模式的多征灰度和旋转不变纹理分类”。在IEEE交易模式分析与机器智能,2002年.第24卷,第7卷,第971-987页。

[3] Kruppa H.,Castrillon Santana M.,和B.Schiele.“通过当地环境快速而有力地发现人脸”。联合IEEE国际研讨会的跟踪和监视的视觉监控和绩效评估程序,2003年,第157-164页。

[4]卡斯崔隆马科,德尼兹奥斯卡,格拉卡耶塔诺,和埃尔南德斯马里奥,“ENCARA2:在视频流不同的分辨率的多个面中的实时检测”。万博 尤文图斯在视觉传达与图像表现杂志,2007(18)2:130-140页。

[5]余士奇“眼睛检测。”石漆的主页。http://yushiqi.cn/research/eyedetection。

[6]中提琴,保罗和迈克尔·琼斯,“使用简单功能的升压级联快速目标检测”,2001年计算机愿景和模式识别的2001年IEEE计算机协会会议的诉讼程序, 2001. 第1卷,第511-518页。

[7]达拉尔,N.,和B. Triggs, “用于人体检测方向梯度直方图”。IEEE计算机协会会议计算机视觉与模式识别.第1卷,(2005年),第886-893页。

[8] Ojala,T.,M.Pietikainen和T.Maenpa,“具有局部二元模式的多分辨率灰度和旋转不变纹理分类”。IEEE交易模式分析与机器智能.第24卷,2002年7月7日,第971-987页。

扩展能力

在R2012A介绍