segmentObjects

Объекты сегмента с помощью Маски сегментация экземпляра R-CNN

Описание

masks = segmentObjects(detector,I) обнаруживает объектные маски в одном изображении или массиве изображений, I, использование Маски детектор объектов R-CNN.

masks = segmentObjects(detector,I,Name=Value) конфигурирует сегментацию с помощью дополнительных аргументов name-value. Например, segmentObjects(detector,I,Threshold=0.9) задает порог обнаружения как 0.9.

[masks,labels] = segmentObjects(___) также возвращает метки, присвоенные обнаруженным объектам.

[masks,labels,scores] = segmentObjects(___) также возвращает счет обнаружения к каждому из обнаруженных объектов.

пример

[masks,labels,scores,bboxes] = segmentObjects(___) также возвращает местоположение сегментированного объекта как ограничительные рамки, bboxes.

Примечание

Эта функция требует Модели Computer Vision Toolbox™ для Маски Сегментация Экземпляра R-CNN. Можно установить Модель Computer Vision Toolbox для Маски Сегментация Экземпляра R-CNN из Add-On Explorer. Для получения дополнительной информации об установке дополнений, смотрите, Получают и Управляют Дополнениями. Чтобы запустить эту функцию, вы потребуете Deep Learning Toolbox™.

Примеры

свернуть все

Загрузите предварительно обученную Маску детектор объектов R-CNN.

detector = maskrcnn("resnet50-coco")
detector = 
  maskrcnn with properties:

      ModelName: 'maskrcnn'
     ClassNames: {1×80 cell}
      InputSize: [800 1200 3]
    AnchorBoxes: [15×2 double]

Считайте тестовое изображение, которое включает объекты, которые сеть может обнаружить, такие как люди.

I = imread("visionteam.jpg");

Экземпляры сегмента объектов с помощью Маски детектор объектов R-CNN.

[masks,labels,scores,boxes] = segmentObjects(detector,I,Threshold=0.95);

Наложите обнаруженные объектные маски синего цвета на тестовом изображении. Отобразите ограничительные рамки красного и меток объектов.

overlayedImage = insertObjectMask(I,masks);
imshow(overlayedImage)
showShape("rectangle",boxes,Label=labels,LineColor=[1 0 0])

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

свернуть все

Маска детектор объектов R-CNN в виде maskrcnn объект.

Изображение или пакет изображений, чтобы сегментироваться в виде одного из этих значений.

Тип изображенияФормат данных
Одно полутоновое изображение2D матрица размера H-by-W
Одно цветное изображениеТрехмерный массив размера H-by-W-by-3.
Пакет B полутоновые или цветные изображенияМассив 4-D размера H-by-W-by-C-by-B. Количество цветовых каналов C 1 для полутоновых изображений и 3 для цветных изображений.

Высота H и ширина W каждого изображения должна быть больше или быть равна входной высоте h и ширина w сети.

Аргументы name-value

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

Пример: segmentObjects(detector,I,Threshold=0.9) задает порог обнаружения как 0.9.

Порог обнаружения в виде числового скаляра в области значений [0, 1]. Маска детектор объектов R-CNN не возвращает обнаружения с баллами меньше, чем пороговое значение. Увеличьте это значение, чтобы уменьшать ложные положительные стороны.

Максимальное число предложений сильнейших областей в виде положительного целого числа. Уменьшайте это значение, чтобы ускорить время вычислений за счет точности обнаружения. Чтобы использовать все предложения по области, задайте это значение как Inf.

Выберите самую сильную ограничительную рамку для каждого обнаруженного объекта в виде числового или логического 1 TRUE) или 0 ложь).

  • true — Возвратите самую сильную ограничительную рамку на объект. Выбрать эти поля, segmentObjects вызовы функции selectStrongestBboxMulticlass функция, которая использует немаксимальное подавление, чтобы устранить перекрывающиеся ограничительные рамки на основе их оценок достоверности.

  • false — Возвратите все обнаруженные ограничительные рамки. Можно затем создать собственную операцию, чтобы устранить перекрывающиеся ограничительные рамки.

Минимальный размер области, содержащей объект, в пикселях в виде двухэлементного числового вектора из формы [ ширина высоты]. По умолчанию, MinSize самый маленький объект, который может обнаружить обученный детектор. Задайте этот аргумент, чтобы уменьшать время вычисления.

Максимальный размер области, содержащей объект, в пикселях в виде двухэлементного числового вектора из формы [ ширина высоты].

Чтобы уменьшать время вычисления, установите это значение к известному максимальному размеру области для объектов, обнаруживаемых в изображении. По умолчанию, MaxSize установлен в высоту и ширину входного изображения, I.

Аппаратный ресурс для обработки изображений с сетью в виде "auto", "gpu", или "cpu".

ExecutionEnvironmentОписание
"auto"Используйте графический процессор при наличии. В противном случае используйте центральный процессор. Использование графического процессора требует Parallel Computing Toolbox™ и CUDA® активированный NVIDIA® Графический процессор. Для получения информации о поддерживаемом вычислите возможности, смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox).
"gpu"Используйте графический процессор. Если подходящий графический процессор не доступен, функция возвращает сообщение об ошибке.
"cpu"Используйте центральный процессор.

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

свернуть все

Маски объектов, возвращенные как логический массив размера H-by-W-by-M. H и W являются высотой, и ширина входа отображают I. M является количеством объектов, обнаруженных в изображении. Каждый из каналов M содержит маску для одного обнаруженного объекта.

Когда I представляет пакет изображений B, masks возвращен как B-by-1 массив ячеек. Каждый элемент в массиве ячеек указывает на маски для соответствующего входного изображения в пакете.

Метки объектов, возвращенные как M-by-1 категориальный вектор, где M является количеством обнаруженных объектов в изображении I.

Когда I представляет пакет изображений B, затем labels B-by-1 массив ячеек. Каждым элементом является M-by-1 категориальный вектор с метками объектов в соответствующем изображении.

Оценки достоверности обнаружения, возвращенные как M-by-1 числовой вектор, где M является количеством обнаруженных объектов в изображении I. Более высокий счет указывает на более высокое доверие к обнаружению.

Когда I представляет пакет изображений B, затем scores B-by-1 массив ячеек. Каждым элементом является M-by-1 числовой вектор с метками объектов в соответствующем изображении.

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

Когда I представляет пакет изображений B, затем bboxes B-by-1 массив ячеек. Каждым элементом является M-by-4 числовая матрица с ограничительными рамками объектов в соответствующем изображении.

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

Введенный в R2021b