classifyRegions

Классифицируйте объекты на области изображений с помощью детектора объекта Fast R-CNN

Синтаксис

[labels,scores] = classifyRegions(detector,I,rois)
[labels,scores,allScores] = classifyRegions(detector,I,rois)
[___] = classifyRegions(___,'ExecutionEnvironment',resource)

Описание

пример

[labels,scores] = classifyRegions(detector,I,rois) классифицирует объекты в видимых областях изображения I, с помощью Быстрого R-CNN (области со сверточными нейронными сетями) объектный детектор. Для каждой области classifyRegions возвращает метку класса с соответствующим самым высоким счетом классификации.

При использовании этой функции использование CUDA® включило NVIDIA® графический процессор с вычислить возможностью 3,0 или выше настоятельно рекомендовано. Графический процессор значительно уменьшает время вычисления. Использование графического процессора требует Parallel Computing Toolbox™.

[labels,scores,allScores] = classifyRegions(detector,I,rois) также возвращает все множество классификации каждой области. Очки возвращены в M-by-N матрица областей M и меток класса N.

[___] = classifyRegions(___,'ExecutionEnvironment',resource) указывает, что аппаратный ресурс раньше классифицировал объект в областях изображений: 'auto', 'cpu' или 'gpu'. Можно использовать этот синтаксис с любым из предыдущих синтаксисов.

Примеры

свернуть все

Сконфигурируйте детектор объекта Fast R-CNN и используйте его, чтобы классифицировать объекты в нескольких областях изображения.

Загрузите объект fastRCNNObjectDetector, который предварительно обучен обнаружить знаки Стоп.

data = load('rcnnStopSigns.mat','fastRCNN');
fastRCNN = data.fastRCNN;

Читайте в тестовом изображении, содержащем знак Стоп.

I = imread('stopSignTest.jpg');
figure
imshow(I)

Задайте видимые области, чтобы классифицировать в тестовом изображении.

rois = [416   143    33    27
        347   168    36    54];

Классифицируйте области изображений и осмотрите выходные метки и очки классификации. Метки прибывают из свойства ClassNames детектора.

[labels,scores] = classifyRegions(fastRCNN,I,rois)
labels = 2x1 categorical array
     stopSign 
     Background 

scores = 2x1 single column vector

    0.9969
    1.0000

Детектор имеет высокую уверенность в классификациях. Отобразите классифицированные области на тестовом изображении.

detectedI = insertObjectAnnotation(I,'rectangle',rois,cellstr(labels));
 
figure
imshow(detectedI)

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

свернуть все

Быстрый детектор объекта R-CNN, заданный как объект fastRCNNObjectDetector. Чтобы создать этот объект, вызовите функцию trainFastRCNNObjectDetector с данными тренировки, как введено.

Введите изображение, заданное как действительное, неразреженное, изображение RGB или полутоновый.

Типы данных: uint8 | uint16 | int16 | double | single | logical

Видимые области в изображении, заданном как M-by-4 матрица, задающая M прямоугольные области. Каждая строка содержит четырехэлементный вектор формы [x y width height]. Этот вектор задает левый верхний угол и размер области в пикселях.

Аппаратный ресурс раньше классифицировал области изображений, заданные как 'auto', 'gpu' или 'cpu'.

  • 'auto' Используйте графический процессор, если это доступно. В противном случае используйте центральный процессор.

  • 'gpu' — Используйте графический процессор. Чтобы использовать графический процессор, у вас должен быть Parallel Computing Toolbox, и CUDA включил NVIDIA графический процессор с вычислить возможностью 3,0 или выше. Если подходящий графический процессор не доступен, функция возвращает ошибку.

  • 'cpu' — Используйте центральный процессор.

Пример: 'ExecutionEnvironment','cpu'

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

свернуть все

Метки классификации областей, возвращенных как M-by-1 категориальный массив. M является количеством видимых областей в rois. Каждое имя класса в labels соответствует счету классификации в scores и видимой области в rois. classifyRegions получает имена классов из входа detector.

Самый высокий счет классификации на область, возвращенную как M-by-1 вектор значений в области значений [0, 1]. M является количеством видимых областей в rois. Каждый счет классификации в scores соответствует имени класса в labels и видимой области в rois. Более высокий счет указывает на более высокую уверенность в классификации.

Все очки классификации на область, возвращенную как M-by-N матрица значений в области значений [0, 1]. M является количеством областей в rois. N является количеством имен классов, сохраненных во входе detector. Каждая строка очков классификации в allscores соответствует видимой области в rois. Более высокий счет указывает на более высокую уверенность в классификации.

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

Приложения

Функции

Объекты

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте