Калибровка камеры с помощью opencv

Я создаю систему 3D-слежения, которая использует до 12 камер. Я понимаю, что функция OpenCV StereoCalibrate может найти относительное положение и ориентацию двух камер. Мне нужно сделать это для 12 камер. Есть ли функция OpenCV или доступный исходный код, который может достичь желаемого результата?

Я использую функцию StereoCalibrate и просто применяю ее ко всем комбинациям пар камер. Является ли их более эффективным способом?


person andre    schedule 01.09.2013    source источник


Ответы (1)


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

Трудно дать вам совет без более подробной информации о геометрии вашей установки (например, все ли камеры смотрят на общий объект?). Вообще говоря:

  • Может быть хорошей идеей сначала откалибровать внутренние параметры для каждой камеры: вы можете сделать это, собрав изображения калибровочной мишени (например, шахматной доски) для каждой камеры независимо от других, но после того, как они будут на месте и с оптикой, заблокированной до окончательных настроек. Таким образом, вам нужно будет решить только внешние факторы в конечной сети камер.
  • Скорее всего, вам понадобится 3D-мишень/установка, изготовленная с известной геометрией, для калибровки относительных поз. Довольно распространенный вид состоит из набора трех плоских колец, пересекающихся друг с другом под углом 90 градусов, с маркерами в виде шахматной доски на них.
  • В качестве альтернативы вы можете использовать одну плоскую цель и поворачивать ее на известные углы, например, с помощью поворотного стола.
  • Скорее всего, вам потребуется выполнить окончательную корректировку пакета со всеми параметрами, оптимизированными вместе, для окончательной «затяжки» решения. Найдите отличный и бесплатный решатель Google "ceres".
person Francesco Callari    schedule 03.09.2013
comment
Цель размещения камер состоит в том, чтобы все камеры были направлены в одно место и полностью покрывали сцену. Для достижения этой цели можно настроить ширину камеры и количество камер. Дополнительная информация здесь. Я использую решатель Google ceres для калибровки положения осветительного прибора, я никогда не думал об использовании его для камер, я рассмотрю его более подробно. - person andre; 03.09.2013
comment
Да, комплектация — это выход. См., например, знаменитую установку выстрела пулей для фильма «Матрица». Пример: videofoundry.co.nz/ianman/laboratory/research/ - person Francesco Callari; 03.09.2013