主要内容

检测

使用ACF对象检测器检测对象

描述

bboxes=检测(探测器检测图像中的物体使用输入聚合通道特征(ACF)对象检测器。检测到的对象的位置以一组包围框的形式返回。

例子

bboxes分数) =检测(探测器还返回每个边界框的检测分数。

___) =检测(探测器roi在指定的矩形搜索区域内检测对象roi,使用上述任何一种语法。

___) =检测(___名称,值使用一个或多个指定选项名称,值对参数。例如,检测(探测器,我,‘WindowStride’,2)设置用于检测物体的滑动窗口的步幅为2。

例子

全部折叠

使用trainACFObjectDetector与训练图像,以创建一个ACF对象检测器,可以检测停止标志。用一个单独的图像测试检测器。

加载训练数据。

负载(“stopSignsAndCars.mat”

选择地面真理为停止标志。这些地面真相是图像中已知的停车标志的位置。

stopSigns = stopSignsAndCars (:, 1:2);

将完整路径添加到图像文件中。

stopSigns。imageFilename = fullfile (toolboxdir (“愿景”),...“visiondata”, stopSigns.imageFilename);

培训ACF检测器。您可以通过指定关闭训练进度输出“详细”,假的作为一个名称,值对。

acfDetector = trainACFObjectDetector (stopSigns,“NegativeSamplesFactor”2);
ACF对象检测器培训该培训将分为4个阶段。模型尺寸为34x31。样本正的例子(~100%完成)计算近似系数…计算聚合通道特性…完成。-------------------------------------------- 阶段1:样本的负面例子(~ 100%)完成计算聚合通道特性…完成。训练分类器有42个正面例子和84个反面例子…经过训练的分类器有19个弱学习者。-------------------------------------------- 阶段2:样本负面例子(~ 100%完成)发现了84个新的负面例子进行训练。计算聚合通道特性…完成。训练分类器有42个正面例子和84个反面例子… The trained classifier has 20 weak learners. -------------------------------------------- Stage 3: Sample negative examples(~100% Completed) Found 84 new negative examples for training. Compute aggregated channel features...Completed. Train classifier with 42 positive examples and 84 negative examples...Completed. The trained classifier has 54 weak learners. -------------------------------------------- Stage 4: Sample negative examples(~100% Completed) Found 84 new negative examples for training. Compute aggregated channel features...Completed. Train classifier with 42 positive examples and 84 negative examples...Completed. The trained classifier has 61 weak learners. -------------------------------------------- ACF object detector training is completed. Elapsed time is 33.321 seconds.

在测试图像上测试ACF检测器。

img = imread (“stopSignTest.jpg”);[bboxes,分数]=检测(acfDetector, img);

显示检测结果,并将物体的边框插入到图像中。

I = 1:length(scores) annotation = sprintf(信心= % .1f '分数(i));img = insertObjectAnnotation (img,“矩形”bboxes(我:),注释);结束图imshow (img)

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

ACF对象检测器,指定为acfObjectDetector对象。要创建此对象,请调用trainACFObjectDetector以训练数据作为输入。

输入图像,指定为真实的、非稀疏的、灰度或RGB图像。

数据类型:uint8|uint16|int16|||逻辑

指定为[xy宽度高度)向量。向量以像素为单位指定区域的左上角和大小。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“NumScaleLevels”4

每个八度音阶的刻度级别数目,指定为逗号分隔的对,由以下组成“NumScaleLevels”一个正整数。每个八度是图像的二次幂。为了在更细的尺度上检测人,增加这个数字。建议取值范围为[4,8]。

滑动窗口的Stride,指定为逗号分隔的对,由“WindowStride”一个正整数。该值指示函数在两个窗口中移动窗口的距离xy的方向。滑动窗口扫描图像进行目标检测。

为每个检测到的对象选择最强的边界框,指定为逗号分隔的对,由“SelectStrongest”,要么真正的

  • 真正的-返回每个物体最强的边界框。要选择这些方框,检测调用selectStrongestBbox函数,该函数使用非最大抑制来消除基于置信度评分的重叠边界框。

  • -返回所有检测到的包围盒。然后,您可以创建自己的自定义操作来消除重叠的边界框。

包含检测到的对象的最小区域大小,指定为逗号分隔对组成“MinSize”和一个高度宽度)向量。单位是像素。

默认情况下,MinSize最小的物体是训练过的吗探测器可以检测。

包含检测到的对象的最大区域大小,指定为由逗号分隔的对组成最大容量的和一个高度宽度)向量。单位是像素。

为了减少计算时间,将该值设置为已知图像中被检测物体的最大区域大小。默认情况下,最大容量的设置为输入图像的高度和宽度,

分类精度阈值,指定为逗号分隔对组成“阈值”和一个数字标量。建议取值范围为[- 1,1]。在多尺度目标检测中,阈值控制了图像子区域分类的准确性和速度。要在错过真正检测的风险下提高性能,请增加此阈值。

输出参数

全部折叠

在输入图像中检测到的物体的位置,返回为4矩阵,为包围框的数目。每一行的bboxes包含形式为[xy宽度高度].这个向量指定了左上角和相应边界框的大小(以像素为单位)。

检测置信分数,返回为1的向量,为包围框的数目。分数越高,表明对检测的信心越高。

扩展功能

介绍了R2017a