7

Я использую широкоугольный объектив (178º диагональ FOV), и я пытаюсь его правильно калибровать с помощью модуля калибровки Opencv. Все процессы обнаружения и калибровки работают нормально, но результат очень низок.Калибровка широкоугольных объективов с помощью Opencv

Я пробовал много различных конфигураций:

  • Различные набор изображений
  • Различные номера радиального коэффициента: 2,3,4,5 даже 6. (CV_CALIB_FIX_K1, ..., CV_CALIB_FIX_K6)
  • Исправление основной точки и тангенциального отклонения до 0 (CV_CALIB_FIX_ASPECT_RATIO, CV_CALIB_FIX_PRINCIPAL_POINT)
  • Использование ожидаемого фокусного расстояния в качестве исходной матрицы камеры. (CV_CALIB_USE_INTRINSIC_GUESS)

Лучшее, что я могу получить что-то вроде: Bad calibration

Любые идеи о том, как я мог бы получить хорошую калибровку? Как вы думаете, используя два калибрационных шаблона одновременно или используя сетку кругов в качестве калибровочного шаблона?

Я видел в opencv 3.0 тонкие коэффициенты призмы. Я не пробовал, но я не думаю, что это будет иметь значение, не так ли? Edit: Checked it ... Nothing

+0

Вы получили изображения с калибровочной мишенью, помещенной на границе (верхний левый, правый верхний и т. Д.) Поля зрения? –

+0

Да, да. У меня на самом деле много изображений с шахматной панелью вокруг ... Вы можете проверить один из наборов данных, которые я использовал здесь: [https://dl.dropboxusercontent.com/u/31166777/images.rar] –

ответ

1

Начиная с Opencv 2.4.10 и выше, существует специальная модель искажений для широкоугольных/рыбий глаз, способных справляться с этим сильным радиальным искажением. Я тестировал свои данные и результаты очень хорошие.

3

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

Например поиск Google дает мне:

Kanatani, K., "Calibration of Ultrawide Fisheye Lens Cameras by Eigenvalue Minimization," Pattern Analysis and Machine Intelligence, IEEE Transactions on , vol.35, no.4, pp.813,822, April 2013

Аннотация: Мы представляем новую технику для калибровки UltraWide Рыбьих объектива камеры путем наложения ограничений, которые коллинеарные точки будут выпрямляется быть коллинеарна , параллельные параллельные линии и ортогональные линии должны быть ортогональными. Используя тот факт, что фитинг сводится к задаче на собственные значения в 3D, мы выполняем строгий анализ возмущений , чтобы получить практическую процедуру калибровки. Проводя эксперименты, мы указываем, что ложные решения существуют, если наложена коллинеарность и параллелизм только . В нашей технике много желательных свойств . Например, никакая метрическая информация не требуется относительно эталонного шаблона или положения камеры, а отдельные шаблоны полос могут быть отображены на экране видео для создания виртуальной сетки , исключая обработку извлечения сетки.

2

Вы уверены, что используете флаг CV_CALIB_RATIONAL_MODEL? Это позволит OpenCV использовать модель, которая поддерживает более широкие угловые линзы.

Для объектива 150 град. my suggestions. Вы также можете попробовать попробовать April Cal, с которым у меня была приличная удача.

1

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

Что именно вы ожидали в результате и за что собираетесь планировать эту калибровку?

1

линзы fisheye имеют различное моделирование искажений. Для калибровки камеры с рыбий глазми используйте модуль opisv fisheye. См. opnecv docs.

Смежные вопросы