fasterRCNNObjectDetectorMonoCamera

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

Описание

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

При использовании функции detect с fasterRCNNObjectDetectorMonoCamera использование CUDA® включило NVIDIA® графический процессор с вычислить возможностью 3,0 или выше настоятельно рекомендовано. Графический процессор значительно уменьшает время вычисления. Использование графического процессора требует 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

detector = vehicleDetectorFasterRCNN;

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

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)

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

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

Введенный в R2017a