exponenta event banner

configureDetectorMonoCamera

Настройка детектора объекта для использования калиброванной монокулярной камеры

Описание

пример

configuredDetector = configureDetectorMonoCamera(detector,sensor,objectSize) конфигурирует любой из этих детекторов объектов

  • ACF (агрегированные характеристики канала)

  • Более быстрый R-CNN (области со сверточными нейронными сетями)

  • Быстрый R-CNN

  • YOLO v2 (вы смотрите только один раз v2)

  • SSD (однозарядный детектор),

обнаружение объектов известного размера на наземной плоскости. Укажите ваш обученный детектор объектов, detectorконфигурация камеры для преобразования координат изображения в координаты мира, sensorи диапазон ширины и длины объекта, objectSize.

Примеры

свернуть все

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

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

detector = vehicleDetectorACF;

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

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

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

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

Загрузите видео, снятое с камеры, и создайте устройство чтения видео и проигрыватель.

videoFile = fullfile(toolboxdir('driving'),'drivingdata','caltech_washington1.avi');
reader = VideoReader(videoFile);
videoPlayer = vision.VideoPlayer('Position',[29 597 643 386]);

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

cont = hasFrame(reader);
while cont
   I = readFrame(reader);

   % Run the detector.
   [bboxes,scores] = detect(detectorMonoCam,I);
   if ~isempty(bboxes)
       I = insertObjectAnnotation(I, ...
                           'rectangle',bboxes, ...
                           scores, ...
                           'Color','g');
   end
   videoPlayer(I)
   % Exit the loop if the video player figure is closed.
   cont = hasFrame(reader) && isOpen(videoPlayer);
end

release(videoPlayer);

Входные аргументы

свернуть все

Настраиваемый детектор объектов, указанный как один из следующих объектов:

Обучите детектор объектов перед их конфигурированием с помощью:

Конфигурация камеры, заданная как monoCamera объект. Объект содержит характеристики камеры, местоположение, шаг, рыскание и расположение крена, а также мировые единицы измерения параметров. Используйте внутренние параметры для преобразования точек объекта на изображении в мировые координаты, которые затем можно сравнить с WorldObjectSize свойство для detector.

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

Выходные аргументы

свернуть все

Сконфигурированный детектор объектов, возвращаемый как один из следующих объектов:

Представлен в R2017a