predict

Предскажите категорию изображений

Описание

пример

[labelIdx,score] = predict(categoryClassifier,I) возвращает индекс предсказанной метки и счет к входному изображению.

predict параллельные вычисления поддержек с помощью нескольких MATLAB® рабочие. Включите параллельные вычисления с помощью диалогового окна Настроек Computer Vision Toolbox. Чтобы открыть настройки Computer Vision Toolbox™, на вкладке Home, в разделе Environment, нажимают Preferences. Выберите Computer Vision Toolbox.

[labelIdx,score] = predict(categoryClassifier,imds) возвращает индекс предсказанной метки и счет к изображениям, заданным в imds.

[labelIdx,score] = predict(___,'Verbose',true) также включает отображение прогресса на экран. Установите на false выключить его.

Примеры

свернуть все

Загрузите два набора категории изображений.

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.

* Creating a 500 word visual vocabulary.
* Number of levels: 1
* Branching factor: 500
* Number of clustering steps: 1

* [Step 1/1] Clustering vocabulary level 1.
* Number of features          : 61440
* Number of clusters          : 500
* Initializing cluster centers...100.00%.
* Clustering...completed 25/100 iterations (~0.19 seconds/iteration)...converged in 25 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.

Спрогнозируйте метку категории для одного из изображений в тестовом наборе.

img = readimage(testSet,1);
[labelIdx, score] = predict(categoryClassifier,img);
Encoding images using Bag-Of-Features.
--------------------------------------
* Encoding an image...done.
categoryClassifier.Labels(labelIdx)
ans = 1x1 cell array
    {'books'}

Входные параметры

свернуть все

Введите изображение или в виде M-by-N-by-3 изображение истинного цвета или в виде M-by-N 2D полутоновое изображение.

Отобразите классификатор категории в виде imageCategoryClassifier объект.

Изображения в виде ImageDatastore объект.

Выходные аргументы

свернуть все

Индекс предсказанной метки, возвращенный или как M-by-1 вектор для изображений M или как скалярное значение для одного изображения. labelIdx выходное значение соответствует индексу набора изображений, используемого, чтобы обучить набор признаков. Индекс предсказания соответствует классу с самой низкой средней бинарной потерей классификатора ECOC SVM.

Счет предсказания в виде 1 N вектором или M-by-N матрица. N представляет количество классов. M представляет количество изображений в imageSet входной объект, imgSet. Счет предоставляет отрицаемую среднюю бинарную потерю в классе. Каждый класс является классификатором мультикласса машины опорных векторов (SVM), который использует подход выходных кодов с коррекцией ошибок (ECOC).

Расширенные возможности

Смотрите также

|

Введенный в R2014b