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. Объект содержит камеру intrinsics, местоположение, подачу, отклонение от курса, и размещение списка и мировые модули для параметров. Используйте intrinsics, чтобы преобразовать объектные точки в изображение к мировым координатам, которые можно затем сравнить со значениями в свойстве 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. Этот объект содержит камеру 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);

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