configureDetectorMonoCamera

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

Описание

пример

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

  • ACF (агрегат образовывают канал функции),

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

  • Быстрый R-CNN

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

  • SSD (один детектор выстрела),

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

Примеры

свернуть все

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

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