ssdObjectDetectorMonoCamera

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

Описание

ssdObjectDetectorMonoCamera обнаруживает объекты от изображения, с помощью детектора объектов одного детектора выстрела (SSD). Чтобы обнаружить объекты в изображении, передайте обученный детектор detect (Computer Vision Toolbox) функция.

Создание

  1. Создайте ssdObjectDetector Объект (Computer Vision Toolbox) путем вызова trainSSDObjectDetector Функция (Computer Vision Toolbox) с обучающими данными (требует Deep Learning Toolbox™).

    detector = trainSSDObjectDetector(trainingData,____);
  2. Создайте monoCamera возразите, чтобы смоделировать монокулярный датчик камеры.

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

    configuredDetector = configureDetectorMonoCamera(detector,sensor,____);

Свойства

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

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

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

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

Имя модели классификации в виде вектора символов или строкового скаляра. Можно изменить это имя после создания ssdObjectDetectorMonoCamera объект.

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

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

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

Размер полей привязки в виде P-by-1 массив ячеек для количества P слоев извлечения признаков используется для обнаружения объектов в сети SSD. Каждый элемент массива содержит M-by-2 матрица размеров поля привязки в формате [height width]. Каждая ячейка может содержать различное количество полей привязки. Это значение установлено во время обучения.

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

Имена классов объектов, которые детектор объектов SSD был обучен найти в виде массива ячеек из символьных векторов. Это свойство установлено trainingData входной параметр для trainSSDObjectDetector (Computer Vision Toolbox) функция. Задайте имена классов как часть trainingData таблица.

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

detect (Computer Vision Toolbox)Обнаружьте объекты с помощью детектора мультиобъекта поля SSD

Примеры

свернуть все

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

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

vehicleDetector = load('ssdVehicleDetector.mat','detector');
detector = vehicleDetector.detector;

Смоделируйте монокулярный датчик камеры путем создания 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);

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

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

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

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

I = imread('highwayCars.png');

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

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

Отобразите метки для обнаруженных ограничительных рамок. Метки задают имена классов обнаруженных объектов.

disp(labels)
     vehicle      vehicle 
Введенный в R2020a