yolov2ObjectDetectorMonoCamera

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

Описание

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

При использовании detect возразите функции с yolov2ObjectDetectorMonoCamera объект, использование графического процессора CUDA®-enabled NVIDIA® с вычислить возможностью 3,0 или выше настоятельно рекомендован. Графический процессор значительно уменьшает время вычисления. Использование графического процессора требует Parallel Computing Toolbox™.

Создание

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

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

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

    configuredDetector = configureDetectorMonoCamera(detector,sensor,____);

Свойства

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

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

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

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

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

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

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

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

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

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

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

Поля привязки заданы при создании сети YOLO v2 при помощи yolov2Layers функция. В качестве альтернативы, если вы создаете слой слоем сети YOLO v2, поля привязки заданы при помощи yolov2OutputLayer функция.

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

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

Примеры

свернуть все

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

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

vehicleDetector = load('yolov2VehicleDetector.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);

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

vehicleWidth = [2 3];
detectorMonoCam = configureDetectorMonoCamera(detector,sensor,vehicleWidth);

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

I = imread('carsinfront.png');

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

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

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

disp(labels)
     vehicle 
     vehicle 

Введенный в R2019a