Читать в оригинале

<< Предыдущая Оглавление Следующая >>


6.4. Калибровка камеры

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

Пусть камера регистрирует сцену, содержащую  опорных точек, и трехмерные координаты точек известны в глобальной системе координат. Задача состоит в том, чтобы по трехмерным координатам опорных точек  и координатам их проекций в плоскости изображений камеры  оценить элементы матрицы .

Если положение камеры относительно этой системы известно (т.е. известны матрица  и вектор  в выражении (6.3)), можно сразу пересчитать координаты опорных точек в стандартную систему камеры и для оценивания внутренних параметров воспользоваться соотношениями (6.1), подставив вместо   и   и   соответственно. Перепишем (6.1) в виде

, .

Для  опорных точек получим две системы, состоящие из   линейных уравнений каждая, относительно неизвестных ,  и , :

,                                     

,                           (6.13)

где ,   ,  , .

Очевидно, достаточно двух опорных точек, чтобы получить оценки внутренних параметров камеры:

,        ,

,   .

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

Для увеличения точности оценок внутренних параметров следует использовать большее количество опорных точек. Системы (6.13) в этом случае становятся переопределенными, и для их решения можно применить МНК. Минимизируя норму вектора невязки  получим оценки внутренних параметров

,         .

Рассмотрим теперь задачу калибровки в более общей постановке. Пусть неизвестны не только матрица , но и положение камеры относительно глобальной системы координат (т.е. матрица  и вектор  в выражении (6.3)). Такая постановка обусловлена тем, что технически довольно сложно выполнить точные измерения положения камеры и особенно ее ориентации относительно произвольной системы координат. Используя (6.2) и (6.3) и вводя вектор , связь между глобальными координатами опорной точки  и координатами ее изображения можно представить в виде

.                          (6.14)

Матрица  имеет размер  и называется калибровочной. Обозначим

,

,                             (6.15)

,                  .

Отметим два важных свойства этой матрицы, которые легко получить из (6.15), учитывая (6.4)  и (6.5):

 ,

.                     (6.16)

Оказывается, что если элементы калибровочной матрицы  известны, через них можно вычислить матрицы ,  и  вектор . Действительно, учитывая (6.4), легко показать, что

,

,

,                         (6.17)

.

Кроме того, непосредственно из (6.14) следует, что

,

,

,

,                       (6.18)

,

.

Задача калибровки, следовательно, сводится к предварительному оцениванию элементов матрицы .

Рассмотрим сначала линейный метод оценивания матрицы . Запишем матричное уравнение (6.14) как систему трех обычных уравнений

,

,

,

или, подставляя в два первых уравнения значение  из третьего,

,      

.

Зная координаты   опорных точек в трехмерном пространстве и координаты их проекций  в плоскости изображения камеры, получим однородную систему из  линейных уравнений относительно 12 неизвестных элементов калибровочной матрицы :

.   (6.19)

Представим эту систему в матрично-векторном виде:

,                                 (6.20)

где

.

Сначала рассмотрим некоторые общие особенности этой системы. Очевидно, что одним из решений этой системы является тривиальное , которое не имеет физического смысла. Известно [6.2, с.153], что если однородная линейная система имеет хотя бы  одно ненулевое решение, то она имеет бесконечное множество решений, причем, если  - решение, то и  , где  - произвольное число, тоже является решением. Здесь необходимо различать два случая.

Первый – когда ранг матрицы  на единицу меньше размера вектора . Тогда существует только одно (с точностью до произвольного скалярного множителя) решение. Именно этот случай и представляет практический интерес. Для реализации этого условия необходимо (но недостаточно), чтобы количество уравнений в (6.20) было не менее 11, следовательно, количество опорных точек  должно быть не менее шести. Ограничить множество решений можно, воспользовавшись первым из условий (6.16). Действительно, определив некоторое решение , в качестве оценки компонент калибровочной матрицы выберем  такое, чтобы  Такая нормировка определяет калибровочную матрицу с точностью до знака. Выбрать правильный знак матрицы можно, например, зная, с какой стороны от плоскости  глобальной системы координат находится камера, и учитывая первое из соотношений (6.18). Знак  должен совпадать со знаком компоненты  вектора трансляции.

Второй случай реализуется, если ранг  меньше размера вектора  на два и более. Здесь может существовать множество различных решений системы, среди которых осуществить правильный выбор без привлечения дополнительных данных невозможно. Показано [6.3], что такая ситуация возникает, в частности, если все опорные точки лежат в одной плоскости. Чтобы избежать этой ситуации, в качестве тестового объекта часто используют объект, приведенный на рис. 6.5.

Рис.6.5. Калибровочный объект

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

,                                            

где , как и в п.6.2, - неизвестный вектор невязки, обусловленный наличием ошибок измерений.

В этой ситуации можно снова воспользоваться МНК, согласно которому в качестве оценки вектора  следует принять такой, который минимизирует значение функционала  при условии  (см.(6.16)). Поскольку функционал  представляет собой квадратичную форму с неотрицательно определенной симметричной матрицей , то  минимума по  при условии   он достигает, если  - собственный вектор матрицы , соответствующий ее минимальному собственному числу [6.4, с.64]. Заметим, что .  (Собственным вектором матрицы  называется вектор , который удовлетворяет уравнению , где - скалярный множитель, называемый собственным числом матрицы  ).

Другой подход к оцениванию матрицы  основан на минимизации расстояний между измеренными проекциями опорных точек и вычисленными в соответствии с (6.14). Определим величину

,

которая представляет сумму квадратов этих расстояний, и минимизируем ее по  с учетом ограничений (6.16). Решить эту задачу можно посредством методов условной минимизации [6.5, гл.VI], изложение которых выходит за рамки данного учебника. Следует отметить только, что такой подход обычно дает результаты оценивания, более устойчивые к ошибкам измерений, чем рассмотренный выше линейный.

 



<< Предыдущая Оглавление Следующая >>