monocular camera является общим типом датчика видения, используемого в автоматизированных ведущих приложениях. Когда смонтировано на автомобиле, оборудованном датчиком, эта камера может обнаружить объекты, обнаружить контуры маршрута и отслеживаемые объекты через сцену.
Прежде чем можно будет использовать камеру, необходимо калибровать ее. Camera calibration является процессом оценки внутренних и внешних параметров камеры с помощью изображений калибровочного шаблона, таких как шахматная доска. После того, как вы оцените внутренние и внешние параметры, можно использовать их, чтобы сконфигурировать модель монокулярной камеры.
intrinsic parameters камеры является свойствами камеры, такими как ее фокусное расстояние и оптический центр. Чтобы оценить эти параметры для монокулярной камеры, используйте функции Computer Vision Toolbox™ и изображения шаблона шахматной доски.
Если камера имеет стандартную линзу, используйте estimateCameraParameters
функция.
Если камера имеет линзу подозрительного взгляда, используйте estimateFisheyeParameters
функция.
В качестве альтернативы, чтобы лучше визуализировать результаты, используйте приложение Camera Calibrator. Для получения информации о подготовке камеры, готовя шаблон шахматной доски и калибровочные методы, см. Одно Приложение Camera Calibrator (Computer Vision Toolbox).
Для монокулярной камеры, смонтированной на транспортном средстве, внешние параметры задают монтирующееся положение той камеры. Эти параметры включают углы поворота камеры относительно системы координат транспортного средства и высоту камеры над землей.
Прежде чем можно будет оценить внешние параметры, необходимо получить изображение шаблона шахматной доски от камеры. Используйте тот же шаблон шахматной доски, что вы раньше оценивали внутренние параметры.
Шахматная доска использует центральную шаблоном систему координат (X P, Y P), где P-ось X указывает направо и точки P-оси Y вниз. Источник шахматной доски является нижним правым углом верхнего левого квадрата шахматной доски.
При размещении шаблона шахматной доски относительно транспортного средства P-X и P-оси Y должны выровняться с V-X и V-осями Y транспортного средства. В системе координат транспортного средства V-ось X указывает вперед от транспортного средства и точек V-оси Y налево, как просматривается при направлении вперед. Источник находится на дорожном покрытии, непосредственно ниже центра камеры (центр камеры).
Ориентация шаблона может быть или горизонталью или вертикальный.
В горизонтальной ориентации шаблон шахматной доски или на земле или параллелен земле. Можно поместить шаблон перед транспортным средством в задней части транспортного средства, или на левой или правой стороне транспортного средства.
В вертикальной ориентации шаблон шахматной доски перпендикулярен земле. Можно поместить шаблон перед транспортным средством в задней части транспортного средства, или слева от правой стороны транспортного средства.
После размещения шахматной доски в месте вы хотите, получаете изображение его с помощью монокулярной камеры. Затем используйте 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
высота
, pitch
, yaw
, и roll
:
monoCam = monoCamera(intrinsics,height,'Pitch',pitch,'Yaw',yaw,'Roll',roll);
detectCheckerboardPoints
| estimateCameraParameters
| estimateFisheyeParameters
| estimateMonoCameraParameters
| generateCheckerboardPoints