exponenta event banner

ssdObjectDetectorMonoCamera

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

Описание

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

Создание

  1. Создать ssdObjectDetector путем вызова trainSSDObjectDetector функция с данными обучения (требует 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(Панель инструментов глубокого обучения). Этот объект хранит слои, используемые в детекторе объектов SSD.

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

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

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

Имена классов объектов, которые был обучен находить детектор объектов SSD, указанные как массив ячеек векторов символов. Это свойство задается параметром trainingData входной аргумент для trainSSDObjectDetector функция. Укажите имена классов как часть trainingData таблица.

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

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

Примеры

свернуть все

Настройте детектор объектов SSD для использования с монокулярной камерой, установленной на транспортном средстве ego. Этот детектор используется для обнаружения транспортных средств в пределах изображения, снятого камерой.

Загрузить a 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)

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

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

disp(labels)
     vehicle 
     vehicle 
Представлен в R2020a