主要内容

trainImageCategoryClassifier

训练一个图像分类器

描述

例子

分类器= trainImageCategoryClassifier (洛桑国际管理发展学院返回一个图像分类器。分类器包含类别的数量和输入的类别标签洛桑国际管理发展学院图像。该函数使用输入训练支持向量机(SVM)多类分类器,一个bagOfFeatures对象。

您必须拥有统计和机器学习工具箱™许可证才能使用此功能。

此函数支持使用多个MATLAB进行并行计算®工人。方法启用并行计算计算机视觉工具箱参数设置对话框。要打开计算机视觉工具箱™首选项,请在首页选项卡,在环境部分中,点击首选项.选择“计算机视觉工具箱”。

分类器= trainImageCategoryClassifier (洛桑国际管理发展学院名称,值返回一个分类器对象,其可选输入属性由一个或多个对象指定名称,值对参数。

例子

全部折叠

加载两个图像类别。

setDir = fullfile(toolboxdir(“愿景”),“visiondata”“imageSets”);imds = imageDatastore(setDir,“IncludeSubfolders”,真的,“LabelSource”...“foldernames”);

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

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

创造一袋视觉单词。

bag = bagfeateatures (trainingSet);
创建Bag-Of-Features。------------------------- *图像类别1:书籍*图像类别2:杯子*使用Grid方法选择特征点位置。*从选定的特征点位置提取SURF特征。** GridStep是[8 8],BlockWidth是[32 64 96 128]。*从4张图像中提取特征…完成。提取76800个特征。*保留每个类别中80%的最强功能。*创建500个单词的视觉词汇。*级别数:1 *分支因子:500 *聚类步骤数:1 *[步骤1/1]聚类词汇表级别1。*功能数量:61440 *集群数量:500 *初始化集群中心…100.00%。 * Clustering...completed 47/100 iterations (~0.45 seconds/iteration)...converged in 47 iterations. * Finished creating Bag-Of-Features

用训练集训练分类器。

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

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

confMatrix = evaluate(categoryClassifier,testSet)
对2个类别的图像分类器进行评估。------------------------------------------------------- * 类别1:书*类别2:评估8杯*图片……。*完成所有测试集的评估。*此测试集的混淆矩阵为:预测已知| books cups -------------------------- books | 0.75 0.25 cups | 0.25 0.75 *平均精度为0.75。
confMatrix =2×20.7500 0.2500 0.2500 0.7500

求分类的平均准确率。

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

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

img = imread(fullfile(setDir,“杯子”“bigMug.jpg”));[labelIdx, score] = predict(categoryClassifier,img);
使用Bag-Of-Features编码图像。-------------------------------------- * 编码图像做…。

显示分类标签。

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

输入参数

全部折叠

指定为imageDatastore对象。

特性包,指定为bagOfFeatures对象。该对象包含从每个图像类别的代表性图像中提取的特征描述符的视觉词汇表。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“详细”真正的“详细”到逻辑上真正的

启用进度显示到屏幕,指定为逗号分隔的对,由'详细的和逻辑上的真正的

分类器选项,指定为逗号分隔的对,由'LearnerOptions函数返回的学习器选项输出templateSVM(统计和机器学习工具箱)函数。

例2。例子

的正则化参数调整templateSVM(统计和机器学习工具箱)要设置一个自定义内核函数,请使用以下语法:

opts = templateSVM('BoxConstraint',1.1,'KernelFunction','高斯');classifier = trainImageCategoryClassifier(imds,bag,'LearnerOptions',opts);

输出参数

全部折叠

图像类别分类器,返回为imageCategoryClassifier对象。该函数使用错误校正输出代码(ECOC)框架训练支持向量机(SVM)多类分类器。

参考文献

[1] G.库尔卡,C. R.丹斯,L.范,J.威拉莫斯基和C.布雷视觉分类与袋的关键点计算机视觉中的统计学习研讨会,ECCV 1(1-22), 1-2。

扩展功能

版本历史

在R2014b中引入

另请参阅

|||(统计和机器学习工具箱)|(统计和机器学习工具箱)

Baidu
map