exponenta event banner

estimateStereoBaseline

Оценка базовой линии стереокамеры

Описание

пример

[stereoParams,pairsUsed,estimationErrors] = estimateStereoBaseline(imagePoints,worldPoints,intrinsics1,intrinsics2) оценивает перевод и ориентацию между двумя камерами с одинаковым разрешением.

estimateStereoBaseline функция лучше всего используется для стереосистемы с широкой базовой линией, когда камеры находятся так далеко друг от друга, что невозможно зафиксировать полную калибровочную схему в поле зрения каждой камеры. Эта функция оценивает внешние параметры с использованием фиксированных характеристик камеры, которые были оценены независимо для каждой камеры. Калибровка каждой камеры независимо приводит к более точным оценкам собственных характеристик.

.

[stereoParams,pairsUsed,estimationErrors] = estimateStereoBaseline(imagePoints,worldPoints,intrinsics1,intrinsics2,'WorldUnits',units) определяет единицы измерения, в которых worldPoints измеряют.

Примеры

свернуть все

Загрузить внутренние параметры камеры.

ld = load('wideBaselineStereo');

Укажите стерео калибровочные изображения.

leftImages = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
    'calibration','wideBaseline','left'));
rightImages = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
    'calibration','wideBaseline','right'));

Определите шашечные доски.

[imagePoints, boardSize] = ...
    detectCheckerboardPoints(leftImages.Files,rightImages.Files);

Укажите мировые координаты шашечных ключевых точек.

squareSize = 29; % in millimeters
worldPoints = generateCheckerboardPoints(boardSize,squareSize);

Оцените базовые и внешние параметры.

params = estimateStereoBaseline(imagePoints,worldPoints, ...
    ld.intrinsics1,ld.intrinsics2)
params = 
  stereoParameters with properties:

   Parameters of Two Cameras
        CameraParameters1: [1x1 cameraParameters]
        CameraParameters2: [1x1 cameraParameters]

   Inter-camera Geometry
        RotationOfCamera2: [3x3 double]
     TranslationOfCamera2: [-978.9733 55.2644 547.8083]
        FundamentalMatrix: [3x3 double]
          EssentialMatrix: [3x3 double]

   Accuracy of Estimation
    MeanReprojectionError: 0.2699

   Calibration Settings
              NumPatterns: 6
              WorldPoints: [54x2 double]
               WorldUnits: 'mm'

Визуализация точности калибровки.

figure
showReprojectionErrors(params)

Figure contains an axes. The axes with title Mean Reprojection Error per Image contains 5 objects of type bar, line. These objects represent Camera 1, Camera 2, Overall Mean Error: 0.27 pixels.

Визуализация внешнего вида камеры.

figure
showExtrinsics(params)

Figure contains an axes. The axes with title Extrinsic Parameters Visualization contains 20 objects of type patch, text, line.

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

свернуть все

Ключевые точки шаблона калибровки, заданные как массив M-by-2-by-numPairs-by-2. Массив содержит внутренние координаты изображения [x, y] ключевых точек в шаблоне калибровки.

  • numPairs - количество пар стереоизображений, содержащих шаблон калибровки.

  • Количество координат ключевых точек в каждом шаблоне M должно быть больше 3.

  • imagePoints(:,:,:,1) - точки камеры 1.

  • imagePoints(:,:,:,2) - точки камеры 2.

Типы данных: single | double

Ключевые точки схемы калибровки в мировых координатах, определенные как M-by-2 массив M чисел [x, y] мировых координат. Узор должен быть плоским; поэтому координаты z равны нулю.

Типы данных: single | double

Внутренние параметры камеры 1, указанные как cameraIntrinsics объект. Объект intrinsics хранит информацию о параметрах калибровки камеры, включая искажения объектива.

Внутренние параметры камеры 2, указанные как cameraIntrinsics объект. Объект intrinsics хранит информацию о параметрах калибровки камеры, включая искажения объектива.

Единицы измерения мировых точек, заданные как строка, представляющая единицы измерения.

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

свернуть все

Параметры камеры для стереосистемы, возвращаемые в виде stereoParameters объект. Объект содержит внутренние, внешние параметры и параметры искажения объектива системы стереокамеры.

Пары изображений, используемые для оценки параметров камеры, возвращаемые в виде numPairs-by-1 логического массива. Логическое true значение в векторе указывает, какие пары изображений использовались для оценки параметров камеры. Пара изображений не будет использоваться для оценки, если алгоритм не сможет оценить гомографию между точками мира и точками, обнаруженными в этой паре изображений.

Стандартные ошибки расчетных параметров, возвращаемые в виде stereoCalibrationErrors объект.

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