Калибровка монокулярной камеры

A monocular camera является распространенным типом датчика зрения, используемого в беспилотных аппаратах. При установке на автомобиль , оборудованный датчиком эта камера может обнаруживать объекты, обнаруживать контуры маршрута и отслеживать объекты через сцену.

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

Оценка собственных параметров

intrinsic parameters камеры являются свойствами камеры, такими как ее фокусное расстояние и оптический центр. Чтобы оценить эти параметры для монокулярной камеры, используйте функции Computer Vision Toolbox™ и изображения шахматного шаблона.

  • Если камера имеет стандартный линз, используйте estimateCameraParameters функция.

  • Если камера имеет линзу «рыбий глаз», используйте estimateFisheyeParameters функция.

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

Поместите шахматную доску для оценки внешних параметров

Для монокулярной камеры, установленной на транспортном средстве, внешние параметры определяют положение установки этой камеры. Эти параметры включают углы поворота камеры относительно системы координат транспортного средства и высоту камеры над землей.

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

На шахматной панели используется система координат, ориентированная на массив (X P, Y P), где X ось P указывает вправо, а Y ось P указывает вниз. Шахматный источник является нижним правым углом верхнего левого квадрата шахматной доски.

При размещении шахматного шаблона относительно транспортного средства X P- и Y P-оси должны совпадать с X V- и Y V-осями транспортного средства. В системе координат транспортного средства X V-образная ось указывает вперед от транспортного средства, а Y V-образная ось - налево, если смотреть при обращении вперед. Источник находится на дорожном покрытии, прямо под центром камеры (фокусная точка камеры).

Ориентация шаблона может быть горизонтальной или вертикальной.

Горизонтальная ориентация

В горизонтальной ориентации шахматный шаблон находится либо на земле, либо параллельно земле. Вы можете разместить шаблон перед транспортным средством, в задней части транспортного средства, или на левой или правой стороне транспортного средства.

Вертикальная ориентация

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

Оценка внешних параметров

После размещения шахматной доски в нужном месте, запечатлите ее изображение с помощью монокулярной камеры. Затем используйте estimateMonoCameraParameters функция для оценки внешних параметров. Чтобы использовать эту функцию, вы должны задать следующее:

  • Собственные параметры камеры

  • Ключевые точки, обнаруженные в изображении, в этом случае углы шахматных квадратов

  • Мировые точки шахматной доски

  • Высота источника шаблона шахматного щита над землей

Для примера, для изображений I и собственные параметры intrinsicsследующий код оценивает внешние параметры. По умолчанию, estimateMonoCameraParameters принимает, что камера обращена вперед и что шаблон шахматной платы имеет горизонтальную ориентацию.

[imagePoints,boardSize] = detectCheckerboardPoints(I);
squareSize = 0.029; % Square size in meters
worldPoints = generateCheckerboardPoints(boardSize,squareSize);
patternOriginHeight = 0; % Pattern is on ground
[pitch,yaw,roll,height] = estimateMonoCameraParameters(intrinsics, ...
                             imagePoints,worldPoints,patternOriginHeight);

Чтобы увеличить точность оценки этих параметров, соберите несколько изображений и усредните значения точек изображения.

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

Если у вас есть предполагаемые внутренние и внешние параметры, вы можете использовать monoCamera объект, чтобы сконфигурировать модель камеры. Следующий пример кода показывает, как сконфигурировать камеру с помощью параметров intrinsics, height, pitch, yaw, и roll:

monoCam = monoCamera(intrinsics,height,'Pitch',pitch,'Yaw',yaw,'Roll',roll);

См. также

Приложения

Функции

Объекты

Похожие примеры

Подробнее о