estimateStereoBaseline

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

Описание

пример

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

The 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-на-2 массив M числа [x, y] мировых координат. Шаблон должен быть плоским; поэтому z -координаты равны нулю.

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

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

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

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

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

свернуть все

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

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

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

Введенный в R2018a