Калибровка камеры — задача получения внутренних и внешних параметров камеры по имеющимся фотографиям или видео, отснятыми ею. Калибровка камеры часто используется на начальном этапе решения многих задач компьютерного зрения и в особенности дополненной реальности. Кроме того, калибровка камеры помогает исправлять дисторсию на фотографиях и видео.

Параметры модели камеры Как правило, для представления 2D-координат точки на плоскости используется вектор-столбец вида , а для задания положения 3D-точки в мировых координатах — . Нужно отметить, что эти выражения записаны в расширенной нотации однородных координат, которая является самой распространённой в робототехнике и задачах трансформации твёрдых тел. В частности, в модели камеры-обскуры матрица камеры используется для проецирования точек трёхмерного пространства на плоскость изображения:

где Zc - произвольный масштабный коэффициент

Параметры внутренней калибровки

Матрица внутренней калибровки A содержит 5 значимых параметров. Эти параметры соответствуют фокусному расстоянию, углу наклона пикселей и принципиальной точке (точка пересечения плоскости изображения с оптической осью, совпадающая с центром фотографии. В реальных камерах, как правило, бывает немного смещена из-за оптических искажений). В частности, и соответствуют фокусному расстоянию, измеренному в ширине и высоте пикселя, и  — координатам принципиальной точки, а , где  — угол наклона пикселя. Нелинейные параметры внутренней калибровки, такие как коэффициенты дисторсии, также имеют важное значение, хотя и не могут быть включены в линейную модель, описываемую матрицей внутренней калибровки. Большинство современных алгоритмов калибровки камеры определяет их вместе с параметрами линейной части модели. Параметры внутренней калибровки относятся только к камере, но не к сцене, поэтому они изменяются только в том случае, когда меняются соответствующие настройки камеры.

Параметры внешней калибровки (где  — вектор 1 × 3 или матрица 3 × 3 поворота,  — вектор 3 × 1 переноса) — параметры внешней калибровки, определяющие преобразование координат, переводящее координаты точек сцены из мировой системы координат в систему координат, связанную с камерой. Или, что эквивалентно предыдущему определению, параметры внешней калибровки задают положение камеры в мировой системе координат. Параметры внешней калибровки связаны непосредственно с фотографируемой сценой, поэтому (в отличие от параметров внутренней калибровки) каждой фотографии соответствует свой набор этих параметров.

Модель камеры При использовании камеры свет из снимаемой сцены фокусируется и захватывается. Этот процесс уменьшает число измерений у данных, получаемых камерой, с трёх до двух (свет из трёхмерной сцены преобразуется в двухмерное изображение). Поэтому каждый пиксель на полученном изображении соответствует лучу света исходной сцены. Во время калибровки камеры происходит поиск соответствия между трёхмерными точками сцены и пикселями изображения. В случае идеальной камеры-обскуры для задания такого соответствия достаточно одной матрицы проекции. Однако в случае более сложных камер искажения, вносимые линзами, могут сильно повлиять на результат. Таким образом, функция проецирования принимает более сложный вид и часто записывается как последовательность преобразований, например: , где  — координаты исходной точки сцены;  — координаты пикселя на изображении;  — матрица внешней калибровки (где  — матрица поворота 3 × 3,  — вектор переноса 3 × 1);  — функция применения дисторсии;  — матрица внутренней калибровки.

Алгоритмы калибровки камеры Существует несколько различных подходов к решению задачи калибровки. Классический подход — алгоритм Roger Y. Tsai. Он состоит из двух этапов, на первом из которых определяются параметры внешней калибровки, на втором — внутренней калибровки и дисторсии. «Новая гибкая технология калибровки камеры»Z. Zhang, «A flexible new technique for camera calibration'» , IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, No.11, pages 1330—1334, 2000, которая была разработана Zhengyou Zhang и основана на использовании плоского калибровочного объекта в виде шахматной доски. Автокалибровка — получение калибровочных данных непосредственно по изображениям, причём в сцене не требуется присутствие специальных калибровочных объектов. Алгоритм калибровки одной камеры, а также алгоритм стереокалибровки реализован в библиотеке OpenCV.

Автокалибровка Основные шаги данного метода: Поиск особых точек на всех изображениях. Для этой цели может использоваться, например, детектор углов Харриса. Поиск точечных соответствий между изображениями. Для этого можно, например, воспользоваться сравнением SIFT-дескрипторов найденных особых точек. В результате на каждом изображении находится набор пикселей, которые соответствуют одним и тем же трёхмерным точкам сцены. После этого с помощью алгоритма Bundle Adjustment на основе данных о точечных соответствиях производится одновременный поиск и параметров калибровки, и 3D-координат этих особых точек в сцене.

Примечания

Ссылки Программа калибровки камеры и исправления дисторсии с открытым исходным кодом, реализующая метод Zhengyou Zhang Инструмент для калибровки камеры, предназначенный для работы в MATLAB Калибровка камеры на OpenCV на C++

Категория:Компьютерное зрение