主要内容

evaluateDetectionMissRate

评估小姐为目标检测率指标

描述

例子

logAverageMissRate= evaluateDetectionMissRate (detectionResults,groundTruthData)返回的log-average错过率detectionResults相比groundTruthData,这是用来测量物体检测器的性能。多级探测器,log-average小姐速度是一个向量的分数为每个对象类指定的顺序groundTruthData

例子

(logAverageMissRate,fppi,missRate)= evaluateDetectionMissRate (___)返回数据点每形象策划日志rate-false小姐阳性(FPPI)曲线,使用输入参数从以前的语法。

(___)= evaluateDetectionMissRate (___,阈值)指定分配重叠阈值检测地面真理盒子。

例子

全部折叠

这个例子展示了如何评估率的小姐pretrained YOLO v2意思对象探测器。

加载车辆地面实况数据

加载包含车辆训练数据表。第一列包含训练图像,剩下的列包含标记边界框。

data =负载(“vehicleTrainingData.mat”);:trainingData = data.vehicleTrainingData (1:10 0);

添加fullpath当地车辆数据文件夹。

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

从表中创建一个imageDatastore使用文件。

imd = imageDatastore (trainingData.imageFilename);

使用标签创建一个boxLabelDatastore从表中列。

建筑物= boxLabelDatastore (trainingData(:, 2:结束));

负载YOLOv2检测器检测

加载包含layerGraph检测器的培训。

vehicleDetector =负载(“yolov2VehicleDetector.mat”);探测器= vehicleDetector.detector;

评估和情节错过率的结果

运行与imageDatastore探测器。

结果=检测(检测器、imd);

评估结果与地面实况数据。

[我,fppi missRate] = evaluateDetectionMissRate(结果,建筑物);

情节log-miss-rate / FPPI曲线。

图;重对数(fppi missRate);网格标题(sprintf (的日志平均率= % .1f '小姐,))

加载一个地面真值表。

负载(“stopSignsAndCars.mat”)stopSigns = stopSignsAndCars (:, 1:2);stopSigns。imageFilename = fullfile (toolboxdir (“愿景”),“visiondata”,stopSigns.imageFilename);

火车基于ACF的探测器。

探测器= trainACFObjectDetector (stopSigns,“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 16.1425 seconds.

创建一个结构体数组来存储结果。

numImages =身高(stopSigns);结果(numImages) =结构(“盒子”[],“分数”[]);

训练图像上运行探测器。

我= 1:numImages我= imread (stopSigns.imageFilename{我});[bboxes,分数]=检测(探测器,I);结果(我)。盒= bboxes;结果(我)。成绩=分数;结束结果= struct2table(结果);

评估结果与地面实况数据。

[,fppi, missRate] = evaluateDetectionMissRate(结果,stopSigns (:, 2));

情节log-miss-rate / FPPI曲线。

图重对数(fppi missRate);网格标题(sprintf (的日志平均率= % .1f '小姐,))

图包含一个坐标轴对象。坐标轴对象与标题日志平均错过率= 0.3包含一个类型的对象。

输入参数

全部折叠

对象位置和分数,指定为一个两列的表包含每个检测对象的边界框和分数。对于多级检测,第三列包含预测每个检测标签。必须存储在一个边界框4单元阵列。必须存储在一个分数1单元阵列,标签必须存储作为一个分类向量。

检测对象时,您可以创建表通过使用检测结果imageDatastore

ds = imageDatastore (stopSigns.imageFilename);detectionResults =检测(检测器,ds);

数据类型:

贴上地面真理,指定为一个数据存储或表。

必须将每个边界框的格式(xy宽度高度]。

  • 数据存储的数据存储readall函数返回一个单元阵列或表至少有两列细胞边界框和标签向量。边界框必须在单元阵列4矩阵的格式(x,y,宽度,高度]。数据存储的readall函数必须返回一个格式:

    • {盒子,标签}- - -boxLabelDatastore创建这种类型的数据存储。

    • {图片,盒子,标签}- - -数据存储相结合。例如,使用结合(洛桑国际管理发展学院,建筑物)。

    看到boxLabelDatastore

  • 表——一个或多个列。所有列包含边界框。每一列必须包含一个细胞向量4矩阵代表一个对象类,如stopSign,carRear,或carFront。列包含第4单元阵列的两倍边界框的格式(x,y,宽度,高度]。格式指定边界框的左上角位置和大小在相应的形象。

重叠的阈值检测分配给一个地面实况框,指定为一个数字标量。重叠率计算的交点在联盟。

输出参数

全部折叠

Log-average错过率指标,作为一个数字标量或矢量返回。多级探测器,log-average错过率作为一个向量返回的值对应于每个类的数据点。

假阳性/形象,作为一个向量的数值标量或返回单元阵列。多级探测器,FPPI和日志错过率细胞数组,其中每个细胞包含每个对象类的数据点。

日志,小姐作为一个向量的数值标量或返回单元阵列。多级探测器,FPPI和日志错过率细胞数组,其中每个细胞包含每个对象类的数据点。

版本历史

介绍了R2017a