fasterRCNNObjectDetectorMonoCamera

Обнаружьте объекты в монокулярной камере с помощью детектора глубокого обучения Faster R-CNN

Описание

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

При использовании detect функция с fasterRCNNObjectDetectorMonoCamera, использование CUDA® активированный NVIDIA® Графический процессор настоятельно рекомендован. Графический процессор значительно уменьшает время вычисления. Использование графического процессора требует Parallel Computing Toolbox™. Для получения информации о поддерживаемом вычислите возможности, смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox).

Создание

  1. Создайте fasterRCNNObjectDetector объект путем вызова trainFasterRCNNObjectDetector функция с обучающими данными (требует Deep Learning Toolbox™).

    detector = trainFasterRCNNObjectDetector(trainingData,...);

    В качестве альтернативы создайте предварительно обученный детектор при помощи vehicleDetectorFasterRCNN функция.

  2. Создайте monoCamera возразите, чтобы смоделировать монокулярный датчик камеры.

    sensor = monoCamera(...);
  3. Создайте fasterRCNNObjectDetectorMonoCamera объект путем передачи детектора и датчика как входные параметры к configureDetectorMonoCamera функция. Сконфигурированный детектор наследовал значения свойств от исходного детектора.

    configuredDetector = configureDetectorMonoCamera(detector,sensor,...);

Свойства

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

Это свойство доступно только для чтения.

Имя модели классификации в виде вектора символов или строкового скаляра. По умолчанию имя определяется к заголовку второго столбца trainingData таблица, заданная в trainFasterRCNNObjectDetector функция. Можно изменить это имя после создания fasterRCNNObjectDetectorMonoCamera объект.

Это свойство доступно только для чтения.

Обученная сеть обнаружения объектов Fast R-CNN. в виде DAGNetwork Объект (Deep Learning Toolbox). Это объектно-ориентированная память слои, которые задают сверточную нейронную сеть, используемую в детекторе Faster R-CNN.

Это свойство доступно только для чтения.

Размер полей привязки в виде M-by-2 матрица, где каждая строка находится в формате [height width]. Это значение установлено во время обучения.

Это свойство доступно только для чтения.

Имена классов объектов, которые детектор Faster R-CNN был обучен найти в виде массива ячеек. Это свойство установлено trainingData входной параметр для trainFasterRCNNObjectDetector функция. Задайте имена классов как часть trainingData таблица.

Это свойство доступно только для чтения.

Минимальный размер объекта поддержан сетью Faster R-CNN в виде [height width] вектор. Минимальный размер зависит от сетевой архитектуры.

Это свойство доступно только для чтения.

Настройка камеры в виде monoCamera объект. Объект содержит внутренние параметры камеры, местоположение, тангаж, рыскание, и размещение крена и мировые единицы измерения для параметров. Используйте внутренние параметры, чтобы преобразовать объектные точки в изображение к мировым координатам, которые можно затем сравнить со значениями в WorldObjectSize свойство.

Область значений ширин объекта и длин в мировых единицах измерения в виде [minWidth maxWidth] вектор или [minWidth maxWidth; minLength maxLength] вектор. Указание диапазона объектных длин является дополнительным.

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

detectОбнаружьте объекты с помощью детектора объектов Faster R-CNN, сконфигурированного для монокулярной камеры

Примеры

свернуть все

Сконфигурируйте детектор объектов Faster R-CNN для использования с монокулярной камерой, смонтированной на автомобиле, оборудованном датчиком. Используйте этот детектор, чтобы обнаружить транспортные средства в изображении, полученном камерой.

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

detector = vehicleDetectorFasterRCNN;

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

focalLength = [309.4362 344.2161];    % [fx fy]
principalPoint = [318.9034 257.5352]; % [cx cy]
imageSize = [480 640];                % [mrows ncols]
height = 2.1798;                      % height of camera above ground, in meters
pitch = 14;                           % pitch of camera, in degrees
intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize);

monCam = monoCamera(intrinsics,height,'Pitch',pitch);

Сконфигурируйте детектор для использования с камерой. Ограничьте ширину обнаруженных объектов к типичной области значений для ширин транспортного средства: 1.5-2.5 метра. Сконфигурированным детектором является fasterRCNNObjectDetectorMonoCamera объект.

vehicleWidth = [1.5 2.5];
detectorMonoCam = configureDetectorMonoCamera(detector,monCam,vehicleWidth);

Читайте в изображении, полученном камерой.

I = imread('carsinfront.png');
imshow(I)

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

Обнаружьте транспортные средства в изображении при помощи детектора. Аннотируйте изображение ограничительными рамками для обнаружений и оценок достоверности обнаружения.

[bboxes,scores] = detect(detectorMonoCam,I);
I = insertObjectAnnotation(I,'rectangle',bboxes,scores,'Color','g');
imshow(I)

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

Введенный в R2017a