Класс: imageCategoryClassifier
Оцените классификатор изображений на наборе наборов изображений
confMat = evaluate(classifier,imds)
[confMat,knownLabelIdx,predictedLabelIdx,score] =
evaluate(classifier,imds)
[___] = evaluate(___,'Verbose',true)
confMat = evaluate(
возвращает нормированную матрицу беспорядка, classifier
,imds
)confMat
.
[confMat,knownLabelIdx,predictedLabelIdx,score] =
evaluate(
дополнительно возвращает соответствующие индексы метки и счет.classifier
,imds
)
[___] = evaluate(___,
также включает отображение прогресса на экран. Установите на 'Verbose'
,true
)false
, чтобы выключить его.
imds
ИзображенияImageDatastore
Изображения, заданные как объект ImageDatastore
.
classifier
— Отобразите классификатор категорииimageCategoryClassifier
Отобразите классификатор категории, заданный как объект imageCategoryClassifier
.
imgSet
— Изображение установленоimageSet
Набор изображений, заданный как объект imageSet
.
confMat
— Матрица беспорядкаМатрица беспорядка, возвращенная как матрица. Индексы строки соответствуют известным меткам, и столбцы соответствуют предсказанным меткам.
knownLabelIdx
— Маркируйте индекс для набора изображенийМаркируйте индекс для набора изображений, возвращенного как M-by-1 вектор для изображений M. Выходное значение knownLabelIdx
соответствует индексу набора изображений, используемого, чтобы обучить мешок функций.
predictedLabelIdx
— PredictedПредсказанный индекс метки, возвращенный как M-by-1 вектор для изображений M. Выходное значение predictedLabelIdx
соответствует индексу набора изображений, используемого, чтобы обучить мешок функций. Предсказанный индекс соответствует классу с самым большим значением в score
вывод.
score
— Счет прогнозаСчет прогноза, заданный как M-by-N матрица. N представляет количество классов. M представляет количество изображений во входном объекте imageSet
, imgSet
. Счет предоставляет отрицаемую среднюю бинарную потерю в классе. Каждый класс является классификатором мультикласса машины вектора поддержки (SVM), который использует подход выходных кодов с коррекцией ошибок (ECOC).
Загрузите две категории изображений.
setDir = fullfile(toolboxdir('vision'),'visiondata','imageSets'); imds = imageDatastore(setDir,'IncludeSubfolders',true,'LabelSource',... 'foldernames');
Разделите набор данных в обучение и тестовые данные. Выберите 30% изображений от каждого набора для данных тренировки и остатка 70% для тестовых данных.
[trainingSet,testSet] = splitEachLabel(imds,0.3,'randomize');
Создайте мешок визуальных слов.
bag = bagOfFeatures(trainingSet);
Creating Bag-Of-Features. ------------------------- * Image category 1: books * Image category 2: cups * Selecting feature point locations using the Grid method. * Extracting SURF features from the selected feature point locations. ** The GridStep is [8 8] and the BlockWidth is [32 64 96 128]. * Extracting features from 4 images...done. Extracted 76800 features. * Keeping 80 percent of the strongest features from each category. * Using K-Means clustering to create a 500 word visual vocabulary. * Number of features : 61440 * Number of clusters (K) : 500 * Initializing cluster centers...100.00%. * Clustering...completed 21/100 iterations (~0.17 seconds/iteration)...converged in 21 iterations. * Finished creating Bag-Of-Features
Обучите классификатор с наборами обучающих данных.
categoryClassifier = trainImageCategoryClassifier(trainingSet,bag);
Training an image category classifier for 2 categories. -------------------------------------------------------- * Category 1: books * Category 2: cups * Encoding features for 4 images...done. * Finished training the category classifier. Use evaluate to test the classifier on a test set.
Оцените классификатор с помощью тестовых изображений. Отобразите матрицу беспорядка.
confMatrix = evaluate(categoryClassifier,testSet)
Evaluating image category classifier for 2 categories. ------------------------------------------------------- * Category 1: books * Category 2: cups * Evaluating 8 images...done. * Finished evaluating all the test sets. * The confusion matrix for this test set is: PREDICTED KNOWN | books cups -------------------------- books | 0.75 0.25 cups | 0.25 0.75 * Average Accuracy is 0.75.
confMatrix = 2×2
0.7500 0.2500
0.2500 0.7500
Найдите среднюю точность классификации.
mean(diag(confMatrix))
ans = 0.7500
Примените недавно обученный классификатор, чтобы категоризировать новые изображения.
img = imread(fullfile(setDir,'cups','bigMug.jpg')); [labelIdx, score] = predict(categoryClassifier,img);
Отобразите метку классификации.
categoryClassifier.Labels(labelIdx)
ans = 1x1 cell array
{'cups'}
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.