exponenta event banner

classifyRegions

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

Описание

пример

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

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

[labels,scores,allScores] = classifyRegions(detector,I,rois) также возвращает все оценки классификации для каждого региона. Баллы возвращаются в матрице M-на-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-by-4 матрица, определяющая M прямоугольных областей. Каждая строка содержит четырехэлементный вектор вида [x y width height]. Этот вектор задает левый верхний угол и размер области в пикселях.

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

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

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

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

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

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

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

  • '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. Более высокий балл указывает на более высокую уверенность в классификации.

Представлен в R2016b