maskrcnn

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

Описание

maskrcnn объект выполняет сегментацию экземпляра объектов в изображении с помощью Маски R-CNN (области с нейронными сетями свертки) детектор объектов. Чтобы обнаружить объекты в изображении, передайте обученный детектор segmentObjects функция.

Примечание

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

Создание

Описание

пример

detector = maskrcnn("resnet50-coco") загружает предварительно обученную Маску детектор объектов R-CNN, обученный на наборе данных COCO с сетью ResNet-50 как экстрактор функции.

detector = maskrcnn("resnet50-coco",classNames) создает предварительно обученную Маску детектор объектов R-CNN и конфигурирует его, чтобы использовать обучение с переносом с помощью заданного набора классов объектов. classNames аргумент устанавливает свойство ClassNames. Для оптимальных результатов обучите детектор на новых учебных изображениях прежде, чем выполнить обнаружение.

detector = maskrcnn("resnet50-coco",classNames,anchorBoxes) создает предварительно обученную Маску детектор объектов R-CNN и конфигурирует его, чтобы использовать обучение с переносом с помощью заданного набора классов объектов и полей привязки. classNames аргумент устанавливает свойство ClassNames. anchorBoxes аргумент устанавливает свойство AnchorBoxes.

detector = maskrcnn(___,Name=Value) аргументы name-value использования, чтобы задать размеры объединения ROI или установить свойства ModelName или InputSize. Задайте аргументы name-value в дополнение к входным параметрам от любого из предыдущих синтаксисов.

Например, maskrcnn("resnet50-coco",classNames,anchorBoxes,PoolSize=[11 11]) задает размер объединения ROI для головы обнаружения как 11 11 пиксели.

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

развернуть все

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

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

Пример: maskrcnn("resnet50-coco",classNames,anchorBoxes,PoolSize=[11 11]) задает размер объединения ROI для головы обнаружения как 11 11 пиксели.

Размер объединения ROI для обнаружения направляется в виде вектора 1 на 2 в формате [height width].

Размер объединения ROI для сегментации маски направляется в виде вектора 1 на 2 в формате [height width].

Свойства

развернуть все

Имя обученной Маски сеть обнаружения объектов R-CNN в виде строкового скаляра или вектора символов.

Размер полей привязки в виде M-by-2 матрица, где каждая строка находится в формате [height width]. Значение по умолчанию состоит из 15 полей привязки, заданных набором данных MS-COCO. Когда вы задаете поля привязки, maskrcnn объект повторно инициализирует итоговые слои свертки в подсети предложения региона к правильному размеру на основе количества полей привязки.

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

Имена классов объектов, которые Маска детектор R-CNN обучена обнаружить в виде массива ячеек. Значение по умолчанию состоит из 80 имен класса объекта в наборе данных MS-COCO, таких как "человек", "велосипед" и "автомобиль". Когда вы задаете имена классов, maskrcnn объект повторно инициализирует итоговые слои свертки в голове обнаружения и голове сегментации маски к правильному размеру на основе количества классов.

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

Размер изображения, чтобы использовать для обнаружения в виде 1 3 вектора из положительных целых чисел в формате [height width 3]. Детектор изменяет размер входных изображений к этому размеру при поддержании соотношения сторон. Значением по умолчанию является сетевой входной размер.

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

Функции объекта

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

Примеры

свернуть все

Загрузите предварительно обученную Маску детектор объектов 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])

Введенный в R2021b