exponenta event banner

acfObjectDetectorMonoCamera

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

Описание

acfObjectDetectorMonoCamera содержит информацию об детекторе объекта агрегированных характеристик канала (ACF), который сконфигурирован для использования с датчиком монокулярной камеры. Для обнаружения объектов на изображении, захваченном камерой, передайте детектор в detect функция.

Создание

  1. Создание acfObjectDetector путем вызова trainACFObjectDetector функция с данными обучения.

    detector = trainACFObjectDetector(trainingData,...);

    В качестве альтернативы создайте предварительно обученный детектор с использованием таких функций, как vehicleDetectorACF или peopleDetectorACF.

  2. Создать monoCamera объект для моделирования датчика монокулярной камеры.

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

    configuredDetector = configureDetectorMonoCamera(detector,sensor,...);

Свойства

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

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

Пример: 'stopSign'

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

Размер обучающих изображений, заданный как вектор [ширина высоты].

Пример: [100 100]

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

Число слабых учеников, используемых в детекторе, указанное как целое число. NumWeakLearners меньше или равно максимальному количеству слабых учащихся на последнем этапе обучения. Чтобы ограничить этот максимум, можно использовать 'MaxWeakLearners' пара имя-значение в trainACFObjectDetector функция.

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

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

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

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

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

Примеры

свернуть все

Настройте детектор объектов 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);

Расширенные возможности

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