主要内容

评估

评价图像分类器对图像集的收集

描述

例子

confMat=评估(categoryClassifier洛桑国际管理发展学院返回一个标准化的混淆矩阵,confMat

confMatknownLabelIdx预测Labelidx分数) =评估(categoryClassifier洛桑国际管理发展学院另外,返回相应的标签索引和分数。

例子

全部折叠

加载两个图像类别。

setDir = fullfile (toolboxdir (“愿景”),“visiondata”“imageSets”);imd = imageDatastore (setDir,“包含子文件夹”,真的,“标签源”...“foldernames”);

将数据集分割为训练数据和测试数据。从每组图像中选取30%作为训练数据,其余70%作为测试数据。

[trainingSet, testSet] = splitEachLabel (imd, 0.3,“随机”);

创建一袋视觉文字。

袋= bagOfFeatures (trainingSet);
创建特征包。------------------------------------*图像类别1:书籍*图像类别2:杯子*使用网格方法选择特征点位置。*从所选特征点位置提取冲浪特征。**网格步长为[8 8],块宽度为[32 64 96 128]*从4幅图像中提取特征…完成。提取76800个特征。*保留每个类别中80%的最强特征。*创建500字的视觉词汇。*级别数:1*分支因子:500*聚类步骤数:1*[步骤1/1]群集词汇表级别1。*功能数量:61440*群集数量:500*初始化群集中心…100.00%.*群集…完成了25/100次迭代(~0.80秒/次)…在25次迭代中聚合。*完成了功能包的创建

用训练集训练分类器。

categoryClassifier = trainImageCategoryClassifier (trainingSet、袋);
训练一个图像分类器用于2个类别。-------------------------------------------------------- * 类别1:书*类别2:杯* 4图片…完成编码功能。*完成分类器的训练。使用evaluate在测试集中测试分类器。

使用测试图像评估分类器。显示混淆矩阵。

confMatrix =评估(categoryClassifier testSet)
评估图像类别分类器为2类。------------------------------------------------------- * 类别1:书*类别2:评估8杯*图片……。*完成所有测试集的评估。*此测试集的混淆矩阵为:PREDICTED KNOWN | books cups -------------------------- books | 0.75 0.25 cups | 0.25 0.75 * Average Accuracy is 0.75。
confMatrix =2×20.7500 0.2500 0.2500 0.7500

找出分类的平均准确度。

意思是(诊断接头(confMatrix))
ans = 0.7500

应用新训练的分类器对新图像进行分类。

img = imread (fullfile (setDir“杯子”“bigMug.jpg”)); [labelIdx,得分]=预测(类别分类,img);
使用功能包对图像进行编码。-----------------------------------------*对图像进行编码…完成。

显示分类标签。

categoryClassifier.Labels (labelIdx)
ans =1 x1单元阵列{“杯”}

输入参数

全部折叠

图像,在ImageDatastore对象

图像类别分类器,指定为imageCategoryClassifier对象

输出参数

全部折叠

混淆矩阵,作为矩阵返回。行索引对应已知标签,列对应预测标签。

图像集的标签索引,作为-by-1矢量图片。图片knownLabelIdx输出值对应于用于训练特征包的图像集的索引。

预测的标签索引,返回为-by-1矢量图片。图片预测Labelidx输出值对应于用于训练特征袋的图像集的索引。预测索引对应于图像中具有最大值的类别分数输出。

预测得分,指定为——- - - - - -N矩阵。N表示类的数量。中图像的数量图像集输入对象,imgSet。该分数提供每个类别的否定平均二进制损失。每个类别都是使用纠错输出码(ECOC)方法的支持向量机(SVM)多类别分类器。金宝app

R2014b中引入