6.5. Взаимное ориентирование
В предыдущем параграфе показано, как с помощью тестовой сцены не только оценить внутренние параметры камеры, но и определить ее положение относительно системы координат, в которой задана тестовая сцена. Последнее позволяет нам, откалибровав две камеры по одной тестовой сцене, определить их взаимное положение (см. (6.8)). Однако если внутренние параметры камер определены их конструкцией и могут считаться постоянными, то взаимное положение камер во многих практических случаях может изменяться в процессе регистрации сцены. В связи с этим возникает задача взаимного ориентирования, не предполагающая наличия тестовой сцены.
Рассмотрим снова пару камер, внутренние параметры которых известны, но неизвестны внешние параметры (матрица
и вектор 
). Умножив обе части выражения (6.8) слева сначала векторно на
, а затем скалярно на
, получим
.
Это соотношение формально выражает тот факт, что векторы
,
и
лежат в одной плоскости, проходящей через три точки: оптические центры камер
и
и точку наблюдения
. Выражая
через
из (6.10) получим:
(6.21)
или, учитывая свойства смешанного произведения векторов,
. (6.22)
Эквивалентные соотношения (6.21) и (6.22) являются основой для оценивания матрицы
и вектора
. Предположим, что известны координаты
пар сопряженных точек и, соответственно,
пар векторов
и
.
Рассмотрим метод оценивания
и
, использующий (6.22). Так как это соотношение справедливо для любой пары сопряженных точек, мы имеем систему из
уравнений относительно неизвестных
и
, которую можно представить в виде:
, где
. (6.23)
Система (6.23) является однородной линейной по
. Это означает, что вектор трасляции можно оценить только с точностью до постоянного множителя. Вводя условие нормировки
, количество возможных решений можно ограничить двумя, отличающимися знаком. Вопрос о выборе знака будет рассмотрен позже. Система (6.23) содержит пять неизвестных, так как матрица
в силу условий нормировки и ортогональности зависит от трех параметров, а вектор
с учетом введенной нормировки – от двух. Поэтому число уравнений в системе, следовательно и число пар известных сопряженных точек
должно быть не менее пяти.
Поскольку на практике в матрицу
входят не точные значения координат сопряженных точек, а результаты их измерений, которые могут содержать ошибки, реально система (6.23) имеет ненулевую правую часть, т.е.
,
где
, как и в п.6.2, - вектор невязки, обусловленный наличием ошибок измерений.
Согласно МНК в качестве оценок матрицы вращения и вектора трансляции следует выбрать такие
и
, которые минимизируют значения функционала
. Как упоминалось ранее, при условии
квадратичная форма
достигает минимума
по
(
- минимальное собственное число матрицы
), если
- собственный вектор матрицы, соответствующий
. Поэтому процедуру оценивания
и
можно разбить на два этапа. На первом находится матрица
, минимизирующая
. На втором оценивается собственный вектор матрицы
, соответствующий
. Существует множество алгоритмов и их программных реализаций для вычисления собственных векторов, поэтому второй этап не вызывает трудностей.
Значительно более сложной задачей является задача оценивания матрицы
. Один из возможных алгоритмов состоит в следующем [6.6]. Известно [6.1, п.14.10], что матрица
может быть представлена в виде
, где
,
,
.
Углы
,
и
и есть те три неизвестных параметра, от которых зависит матрица
. На практике всегда известен диапазон, в котором они могут лежать. Выполняя в этом диапазоне полный перебор по всем углам с достаточно грубым шагом (например, 1°) можно приблизиться к значениям, удовлетворяющим требованиям минимизации функционала
по
. Затем в окрестности этих значений для уточнения положения минимума можно воспользоваться одним из известных методов минимизации [6.5, гл.V] (например, наискорейшего спуска, Ньютона, Маркуардта).
Наконец, получив оценки
и
, можно, используя (6.11), оценить и
-координаты наблюдаемых точек. Из способа задания систем координат (см. рис.6.4) следует, что
и
должны быть положительными. Этим условием и определяется выбор правильного знака вектора трансляции
.
В заключение необходимо сказать, что развитием темы взаимного ориентирования является задача самокалибровки системы камер, целью которой является оценивание как внутренних так и внешних параметров. Не останавливаясь на этой задаче подробно, отметим только, что в системе, состоящей из двух, даже одинаковых, камер, данных для самокалибровки недостаточно. Добавление третьей камеры с теми же внутренними параметрами делает самокалибровку возможной. Подробное исследование этого вопроса можно найти в [6.7].
Отметим, что задача определения взаимного положения камер может иметь и другую трактовку. Предположим, что движущаяся камера непрерывно регистрирует некоторую сцену. Тогда, анализируя последовательность изображений и решая эту задачу, можно определить характер движения камеры в пространстве.