classifyRegions

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

Описание

пример

[labels,scores] = classifyRegions(detector,I,rois) классифицирует объекты в необходимые области изображения I, с использованием детектора объектов Fast 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(___,'ExecutionEnvironment',resource) задает аппаратный ресурс, используемый для классификации объекта в областях изображений: 'auto', 'cpu', или 'gpu'. Можно использовать этот синтаксис с любым из предыдущих синтаксисов.

Примеры

свернуть все

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

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

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

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

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

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

Укажите необходимые области для классификации в тестовом изображении.

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

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

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

scores = 2x1 single column vector

    0.9969
    1.0000

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

Пример: 'ExecutionEnvironment','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. Более высокий счет указывает на более высокое доверие в классификации.

См. также

Приложения

Функции

Объекты

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