classifyRegions

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

Описание

пример

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

При использовании этой функции используйте CUDA® enabled NVIDIA® Настоятельно рекомендуется использовать графический процессор. Графический процессор значительно сокращает время расчетов. Для использования графический процессор требуется Parallel Computing Toolbox™. Для получения информации о поддерживаемых вычислительных возможностях смотрите Поддержку GPU by Release (Parallel Computing Toolbox).

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

[___] = classifyRegions(___Name,Value) задает опции с использованием одного или нескольких Name,Value аргументы в виде пар. Для примера, classifyRegions(detector,I,rois,'ExecutionEnvironment','cpu') классифицирует объекты в областях изображений, используя только оборудование центрального процессора.

Примеры

свернуть все

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

load('rcnnStopSigns.mat','rcnn')

Прочтите тестовое изображение.

img = imread('stopSignTest.jpg');

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

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

Классификация областей.

[labels,scores] = classifyRegions(rcnn,img,rois);
detectedImg = insertObjectAnnotation(img,'rectangle',rois,cellstr(labels));
figure
imshow(detectedImg)

Figure contains an axes. The axes contains an object of type image.

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

свернуть все

Детектор объектов R-CNN, заданный как rcnnObjectDetector объект. Чтобы создать этот объект, вызовите trainRCNNObjectDetector функция с обучающими данными в качестве входных данных.

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

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

Области интереса внутри изображения, заданные как M-на-4 матрица, определяющая M прямоугольных областей. Каждая строка содержит вектор с четырьмя элементами формы [<reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0> ]. Этот вектор задает верхний левый угол и размер области в пикселях.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

Размер меньших пакетов для обработки данных R-CNN, заданный как разделенная разделенными запятой парами, состоящая из 'MiniBatchSize' и целое число. Большие размеры пакетов приводят к более быстрой обработке, но занимают больше памяти.

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

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

  • 'gpu' - Использовать графический процессор. Для использования GPU необходимо иметь Parallel Computing Toolbox и графический процессор NVIDIA с поддержкой CUDA. Если подходящий графический процессор недоступен, функция возвращает ошибку. Для получения информации о поддерживаемых вычислительных возможностях смотрите Поддержку GPU by Release (Parallel Computing Toolbox).

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

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

свернуть все

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

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

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

См. также

Приложения

Функции

Объекты

Введенный в R2016b