主要内容

trainACFObjectDetector

火车ACF对象探测器

描述

探测器= trainACFObjectDetector (TrainingData.返回一个经过训练的聚合信道特征(ACF)对象检测器。函数中给出的图像中对象的正实例TrainingData.表,并在训练期间从图像中自动收集负面实例。创建一个基本真实值表,使用图片标志或者贴标签机视频应用程序。

例子

探测器= trainACFObjectDetector (TrainingData.名称,值返回一个探测器对象具有一个或多个指定的附加选项名称,值对论点。

例子

全部收缩

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

加载培训数据。

负载(“stopSignsAndCars.mat”

为停止标志选择地面真相。这些地面事实是在图像中已知的停止标志位置的集合。

stopSigns = stopSignsAndCars (:, 1:2);

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

stopsigns.imageFilename = fullfile(toolboxdir(“愿景”),...“visiondata”,stopsigns.imagefilename);

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

acfdetector = trainacfobjectdetector(stopsigns,'否定amplefactor',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 31.3174 seconds.

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

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

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

i = 1:长度(分数)注释= sprintf(信心= % .1f ',分数(i));img = InsertObjectAnnotation(IMG,'长方形',bboxes(i,:),注释);结束图imshow (img)

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

输入参数

全部收缩

标记的地面真实图像,指定为一个有两列的表。第一列必须包含灰度或truecolor (RGB)图像的路径和文件名。尽管如此,基于acf的探测器最好的工作与真彩色图像。第二列包含-By-4矩阵,包含与相应图像相关的边界框的位置。位置格式化,[xy宽度高度].第二列代表单个对象类的正实例,例如汽车,狗,花或停车标志。在训练过程中,否定实例自动从图像中收集。

每个边界框必须格式[xy宽度高度].该格式指定了相应图像中对象的左上角位置和大小。表变量(列)名定义了对象类名。创建地面真值表,使用图片标志应用程序。

名称值对参数

指定可选的逗号分隔对名称,值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'objectTrainingsize'[100 100]

培训期间对象的大小,指定为表格的2元素矢量[高度宽度]以像素为单位。最低培训大小是[8 8].在培训过程中,对象被调整为指定的高度和宽度'objectTrainingsize'.增加尺寸可以提高检测精度,但也增加了训练和检测时间。

当你指定“汽车”,大小是基于正实例的中值宽高比设置的。

例子:[100100]

数据类型:|双倍的|int8|int16|INT32.|int64|uint8|uint16|uint32|uint64

迭代训练过程的训练阶段数,指定为逗号分隔的一对,由'NumStages’和一个正整数。增加这个数字可以改进检测器,减少训练错误,但代价是更长的训练时间。

数据类型:双倍的

负样本因子,指定为逗号分隔的一对,由'否定魅力活动器'和一个实值标量。在每个阶段使用的负样本数等于

否定魅力活动器×每个阶段使用的正样品数量

数据类型:双倍的

最后阶段的最大弱学习者数,指定为由'组成的逗号分隔对MaxWeakLearners'和正整数或正整数的矢量。如果输入是标量,MaxWeakLearners指定最后一个阶段的最大数量。如果输入是一个矢量,MaxWeakLearners指定每个阶段的最大数目,长度必须等于'NumStages”。这些值通常在整个阶段中增加。ACF对象检测器使用增强算法来创建一个较弱学习者的集合。您可以使用更高的值来提高检测精度,但代价是降低检测性能速度。建议取值范围为300 ~ 5000。

数据类型:双倍的

选项显示训练过程的进度信息,指定为逗号分隔的一对,由'verb”,真的或者

数据类型:逻辑

输出参数

全部收缩

训练有素的基于ACF的对象探测器,作为一个返回AcfObjectDetector目的。

介绍了R2017a