Сомнения в калибровке камеры

Я работаю над проектом, основанным на машинном зрении. Используется широкоугольный объектив с камерой высокого разрешения.

Рабочее расстояние: расстояние между камерой и объектом.

Разрешение будет почти 10MP. Размер изображения может составлять 3656 пикселей в ширину и 2740 пикселей в высоту. Требования к проекту указаны ниже

  1. Мое рабочее расстояние должно быть около 5 метров.
  2. Камера должна быть наклонена под углом 13 градусов.

Чтобы избежать искажения объектива в камере, я делаю калибровку камеры, используя OpenCV.

Ниже упоминаются мои сомнения относительно этой калибровки камеры.

  1. Поскольку рабочее расстояние составляет 5 метров, следует ли выполнять калибровку камеры на том же расстоянии?

  2. Поскольку камера наклоняется на угол 13 ° в приложении, необходимо ли выполнять калибровку, когда камера наклонена под соответствующим углом?

3 ответа

Решение

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

Кстати, я вижу, вы отметили это как matlab: Я могу рекомендовать Camera Calibration Toolbox для MATLAB как хороший простой способ калибровки камер. Он проведет вас через процесс красиво.

Мой ответ "возможно" на первый вопрос и "нет" на второй.

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

Причиной является второе правило калибровки камеры: "Не касайтесь объектива во время или после калибровки". В частности, вы не можете ни перефокусировать, ни изменять диафрагму, поскольку фокусировка и диафрагма влияют на нелинейное искажение линзы и (хотя и в меньшей степени, в зависимости от объектива) поле зрения. Конечно, вы можете свободно изменять время экспозиции, так как оно не влияет на геометрию объектива.

Смотрите также, для общего комментария, этот другой мой ответ.

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

Также, пожалуйста, ознакомьтесь с приложением CameraCalibrator, которое является частью панели инструментов системы Computer Vision для MATLAB.

Другие вопросы по тегам