主要内容

acfObjectDetector

检测对象使用聚合通道特性

描述

acfObjectDetector对象检测对象从一个图像使用聚合通道特性(ACF)对象探测器。使用ACF探测器在一个图像,通过训练检测器检测函数。

ACF对象探测器识别特定对象的图像,基于训练图像和对象位置使用地面真理trainACFObjectDetector函数。

创建

创建一个acfObjectDetector对象通过调用trainACFObjectDetector函数与训练数据。

探测器= trainACFObjectDetector (trainingData…)

描述

例子

探测器= acfObjectDetector (分类器,trainingOptions)创建一个基于指定的pretrained ACF对象探测器分类器trainingOptions。您可以使用该语法来创建一个ACF对象代码生成的检测器。

输入参数

全部展开

PretrainedacfObjectDetector对象标识符指定为一个演算法的结构分类器。可以通过转换得到分类器结构字段pretrained ACF分类器对象使用的结构toStruct函数。

PretrainedacfObjectDetector培训对象选项,指定为一个金字塔结构的特性参数。场可以获得培训选项结构转换pretrained ACF分类器对象使用的结构toStruct函数。

属性

全部展开

分类模型的名称,指定为一个特征向量或字符串标量。默认情况下,这个名字将第二列的标题trainingData表中指定的trainACFObjectDetector函数。您可以修改这个名字在创建你的acfObjectDetector对象。

例子:“stopSign”

这个属性是只读的。

训练图像的大小,指定为(高度宽度)向量。

例子:(100 100)

这个属性是只读的。

薄弱的学习者使用的探测器,指定为一个整数。NumWeakLearners小于或等于弱学习者的最大数目在过去的训练阶段。限制这个最大,可以使用“MaxWeakLearners”名称-值对的trainACFObjectDetector函数。

对象的功能

检测 检测对象使用ACF对象探测器
toStruct 转换一个训练有素的总渠道特性(ACF)对象探测器结构

例子

全部折叠

使用trainACFObjectDetector通过训练图像创建一个ACF对象探测器可以检测到停止的迹象。测试探测器与一个单独的图像。

加载训练数据。

负载(“stopSignsAndCars.mat”)

前缀的完整路径停车标志图像。

stopSigns = fullfile (toolboxdir (“愿景”),“visiondata”stopSignsAndCars {: 1});

创建数据存储负载的地面实况数据停止的迹象。

imd = imageDatastore (stopSigns);建筑物= boxLabelDatastore (stopSignsAndCars (:, 2));

结合图片和盒子标签数据存储。

ds =结合(imd,建筑物);

火车ACF探测器。负样本的数量设置为使用在每个阶段2。你可以关掉输出通过指定培训进展Verbose = false,作为一个名称-值论点。

acfDetector = trainACFObjectDetector (ds, NegativeSamplesFactor = 2);
ACF对象探测器培训的培训将采取四个阶段。模型大小34 x31。样品正面例子(~ 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 34.2692 seconds.

测试的ACF探测器测试图像。

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

显示检测结果和对象的边界框插入图像。

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

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

加载ACF的停车标志探测器stopSignDetector.mat文件,它存在于当前的工作目录作为支持文件。金宝app

stopSignDetector =负载(“stopSignDetectorACF.mat”);探测器= stopSignDetector.detector
探测器= acfObjectDetector属性:ModelName:“stopSign”ObjectTrainingSize: [34 31] NumWeakLearners: 61

通过使用探测器转换成结构toStruct函数。

detectorStruct = toStruct(探测器);

来生成代码,通过MATLAB函数结构。然后在MATLAB函数,创建一个相同的ACF停车标志探测器使用现有的探测器的特性。

detector1 = acfObjectDetector (detectorStruct.Classifier detectorStruct.TrainingOptions)
detector1 = acfObjectDetector属性:ModelName:“stopSign”ObjectTrainingSize: [34 31] NumWeakLearners: 61

你可以通过detector1检测函数作为输入来检测阻止信号图像。

引用

美元[1],P。,R. Appel, S. Belongie, and P. Perona. "Fast Feature Pyramids for Object Detection."模式分析与机器智能,IEEE的事务。8卷。36岁的问题,2014年,页1532 - 1545。

扩展功能

版本历史

介绍了R2017a