Восьмиточный алгоритм - Eight-point algorithm
В восьмиточечный алгоритм алгоритм, используемый в компьютерное зрение оценить основная матрица или фундаментальная матрица относящийся к паре стереокамер из набора соответствующих точек изображения. Он был представлен Кристофер Лонге-Хиггинс в 1981 г. для случая существенной матрицы. Теоретически этот алгоритм можно использовать и для фундаментальной матрицы, но на практике нормализованный восьмибалльный алгоритм, описанный Ричардом Хартли в 1997 году, лучше подходит для этого случая.
Название алгоритма происходит от того факта, что он оценивает существенную матрицу или фундаментальную матрицу по набору из восьми (или более) соответствующих точек изображения. Однако варианты алгоритма можно использовать менее чем для восьми точек.
Ограничение компланарности
Можно выразить эпиполярная геометрия двух камер и точки в пространстве с алгебраическим уравнением. Обратите внимание, где бы ни находилась точка находится в пространстве, векторы , и принадлежат к одной плоскости. Вызов координаты точки в системе отсчета левого глаза и вызовите координаты в системе отсчета правого глаза и вызовите вращение и перевод между двумя системами отсчета s.t. это связь между координатами в двух системах отсчета. Следующее уравнение всегда выполняется, потому что вектор, созданный из ортогонален обоим и :
Потому что , мы получили
- .
Замена с , мы получили
Заметьте, что можно рассматривать как матрицу; Лонге-Хиггинс использовал символ чтобы обозначить это. Продукт часто называют основная матрица и обозначен .
Векторы параллельны векторам и поэтому ограничение компланарности выполняется, если мы подставляем эти векторы. Если мы позвоним координаты проекций на левую и правую плоскости изображения, то ограничение компланарности может быть записано как
Базовый алгоритм
Здесь описан базовый восьмибалльный алгоритм для случая оценки существенной матрицы . Он состоит из трех шагов. Во-первых, он формулирует однородное линейное уравнение, где решение напрямую связано с , а затем решает уравнение, учитывая, что оно может не иметь точного решения. Наконец, управляются внутренние ограничения результирующей матрицы. Первый шаг описан в статье Лонге-Хиггинса, второй и третий шаги представляют собой стандартные подходы в теории оценивания.
Ограничение, определяемое существенной матрицей является
для соответствующих точек изображения, представленных в нормализованных координатах изображения . Задача, которую решает алгоритм, - определить для набора совпадающих точек изображения. На практике координаты изображений точек изображения подвержены влиянию шума, и решение также может быть переопределено, что означает, что может быть невозможно найти которое удовлетворяет указанному выше ограничению точно для всех точек. Эта проблема решается на втором этапе алгоритма.
Шаг 1. Формулировка однородное линейное уравнение
С
- и и
ограничение также можно переписать как
или же
куда
- и
то есть, представляет собой существенную матрицу в виде 9-мерного вектора, и этот вектор должен быть ортогонален вектору которое можно рассматривать как векторное представление матрица .
Каждая пара соответствующих точек изображения дает вектор . Учитывая набор 3D-точек это соответствует набору векторов и все они должны удовлетворить
для вектора . Для достаточно большого числа (не менее восьми) линейно независимых векторов можно определить простым способом. Собрать все векторы как столбцы матрицы и тогда должно быть так, что
Это означает, что это решение однородное линейное уравнение.
Шаг 2: решение уравнения
Стандартный подход к решению этого уравнения подразумевает, что это левый сингулярный вектор из соответствующий исключительное значение что равно нулю. При условии, что не менее восьми линейно независимых векторов используются для построения отсюда следует, что этот сингулярный вектор единственен (без учета скалярного умножения) и, следовательно, а потом можно определить.
В случае использования более восьми соответствующих точек для построения возможно, что у него нет сингулярного значения, равного нулю. На практике такой случай имеет место, когда на координаты изображения влияют различные типы шума. Обычный подход к этой ситуации - описать ее как Всего наименьших квадратов проблема; найти что сводит к минимуму
когда . Решение - выбрать как левый сингулярный вектор, соответствующий самый маленький исключительное значение . Переупорядочивание этого обратно в матрица дает результат этого шага, называемого здесь .
Шаг 3. Обеспечение внутреннего ограничения
Другим следствием работы с координатами зашумленного изображения является то, что результирующая матрица может не удовлетворять внутреннему ограничению основной матрицы, то есть два из ее сингулярных значений равны и не равны нулю, а другое - нулю. В зависимости от приложения, меньшие или большие отклонения от внутреннего ограничения могут быть или не быть проблемой. Если критически важно, чтобы оцениваемая матрица удовлетворяла внутренним ограничениям, это можно сделать, найдя матрицу ранга 2, что минимизирует
куда матрица, полученная на шаге 2, а Норма матрицы Фробениуса используется. Решение проблемы дается сначала вычислением разложение по сингулярным числам из :
куда ортогональные матрицы и - диагональная матрица, содержащая сингулярные значения . В идеальном случае один из диагональных элементов должен быть нулевым или хотя бы маленьким по сравнению с двумя другими, которые должны быть равны. В любом случае установите