Восьмиточечный алгоритм
Алгоритм восьми точек — это алгоритм, используемый в компьютерном зрении для оценки существенной матрицы или фундаментальной матрицы, связанной с парой стереокамер, из набора соответствующих точек изображения. Он был введен Кристофером Лонге-Хиггинсом в 1981 году для случая существенной матрицы. Теоретически этот алгоритм можно использовать и для фундаментальной матрицы, но на практике для этого случая лучше подходит нормализованный восьмиточечный алгоритм , описанный Ричардом Хартли в 1997 году.
Название алгоритма происходит от того факта, что он оценивает существенную матрицу или фундаментальную матрицу на основе набора из восьми (или более) соответствующих точек изображения. Однако варианты алгоритма можно использовать менее чем для восьми точек.
Ограничение копланарности
[ редактировать ]можно выразить Эпиполярную геометрию двух камер и точки пространства с помощью алгебраического уравнения. Заметьте, что независимо от того, где находится точка находится в космосе, векторы , и принадлежат одной плоскости. Вызов координаты точки в системе отсчета левого глаза и вызовите координаты в системе отсчета правого глаза и позвоните вращение и перемещение между двумя системами отсчета st это связь между координатами в двух системах отсчета. Следующее уравнение всегда выполняется, поскольку вектор, созданный из ортогонален обоим и :
Потому что , мы получаем
- .
Замена с , мы получаем
Обратите внимание, что можно рассматривать как матрицу; Лонге-Хиггинс использовал символ чтобы обозначить это. Продукт часто называют существенной матрицей и обозначают .
Векторы параллельны векторам и, следовательно, ограничение компланарности сохраняется, если мы заменим эти векторы. Если мы позвоним координаты проекций на левую и правую плоскости изображения, то ограничение компланарности можно записать как
Основной алгоритм
[ редактировать ]Здесь описан базовый алгоритм из восьми пунктов для случая оценки существенной матрицы . Он состоит из трех шагов. Во-первых, он формулирует однородное линейное уравнение , решение которого напрямую связано с , а затем решает уравнение, учитывая, что оно может не иметь точного решения. Наконец, управляются внутренние ограничения результирующей матрицы. Первый шаг описан в статье Лонге-Хиггинса, второй и третий шаги представляют собой стандартные подходы в теории оценивания.
Ограничение, определяемое существенной матрицей является
для соответствующих точек изображения, представленных в нормализованных координатах изображения . Задача, которую решает алгоритм, заключается в определении для набора совпадающих точек изображения. На практике на координаты точек изображения влияет шум, и решение также может быть переопределено, что означает, что найти его может быть невозможно. которое удовлетворяет указанному выше ограничению точно для всех точек. Эта проблема решается на втором этапе алгоритма.
Шаг 1: Формулировка однородного линейного уравнения
[ редактировать ]С
- и и
ограничение также можно переписать как
или
где
- и
то есть, представляет собой существенную матрицу в виде 9-мерного вектора, и этот вектор должен быть ортогональным вектору который можно рассматривать как векторное представление матрица .
Каждая пара соответствующих точек изображения создает вектор . Учитывая набор 3D-точек это соответствует набору векторов и все они должны удовлетворять
для вектора . Учитывая достаточное количество (не менее восьми) линейно независимых векторов можно определить прямым способом. Собрать все векторы как столбцы матрицы и тогда должно быть так, что
Это означает, что является решением однородного линейного уравнения .
Шаг 2: Решение уравнения
[ редактировать ]Стандартный подход к решению этого уравнения подразумевает, что является правым сингулярным вектором соответствующее сингулярному значению , равному нулю. При условии, что не менее восьми линейно независимых векторов используются для построения то этот сингулярный вектор единственен (без учета скалярного умножения) и, следовательно, а потом можно определить.
В случае, если для построения используется более восьми соответствующих точек возможно, что он не имеет какого-либо единственного значения, равного нулю. На практике такой случай имеет место, когда на координаты изображения влияют различные виды шума. Общий подход к решению этой ситуации состоит в том, чтобы описать ее как задачу полного наименьших квадратов ; находить что сводит к минимуму
когда . Решение состоит в том, чтобы выбрать как левый сингулярный вектор, соответствующий наименьшему сингулярному значению . Изменение порядка этого обратно в матрица дает результат этого шага, называемый здесь .
Шаг 3. Обеспечение соблюдения внутреннего ограничения
[ редактировать ]Другим последствием работы с зашумленными координатами изображения является то, что результирующая матрица может не удовлетворять внутреннему ограничению основной матрицы, то есть два ее сингулярных значения равны и ненулевые, а другое равно нулю. В зависимости от применения, меньшие или большие отклонения от внутреннего ограничения могут быть проблемой, а могут и не быть. Если критично, чтобы оцененная матрица удовлетворяла внутренним ограничениям, этого можно добиться, найдя матрицу ранга 2, что минимизирует
где — это результирующая матрица, полученная на этапе 2, и норма матрицы Фробениуса используется . Решение проблемы дается путем сначала вычисления сингулярным значениям разложения по :
где являются ортогональными матрицами и - диагональная матрица, содержащая сингулярные значения . В идеальном случае один из диагональных элементов должно быть равно нулю или, по крайней мере, мало по сравнению с двумя другими, которые должны быть равны. В любом случае ставьте
где являются крупнейшими и вторыми по величине сингулярными значениями в соответственно. Окончательно, дается
Матрица — результирующая оценка существенной матрицы, предоставляемая алгоритмом.
Нормализованный алгоритм
[ редактировать ]Базовый восьмиточечный алгоритм в принципе можно использовать и для оценки фундаментальной матрицы. . Определяющее ограничение для является
где являются однородными представлениями соответствующих координат изображения (не обязательно нормализованными). Это означает, что можно сформировать матрицу аналогично существенной матрице и решаем уравнение
для который представляет собой переработанную версию . Следуя описанной выше процедуре, можно определить из набора из восьми совпадающих точек. Однако на практике полученная фундаментальная матрица может оказаться бесполезной для определения эпиполярных ограничений.
Сложность
[ редактировать ]Проблема в том, что в результате часто плохо кондиционирован . В теории, должно иметь одно единственное значение, равное нулю, а остальные ненулевые. Однако на практике некоторые ненулевые сингулярные значения могут стать меньшими по сравнению с большими. Если для построения используется более восьми соответствующих точек , где координаты верны только приблизительно, может не быть четко определенного сингулярного значения, которое можно было бы идентифицировать как приблизительно ноль. Следовательно, решение однородной линейной системы уравнений может быть недостаточно точным, чтобы быть полезным.
Причина
[ редактировать ]Хартли обратился к этой проблеме оценки в своей статье 1997 года. Его анализ проблемы показывает, что проблема вызвана плохим распределением координат однородного изображения в их пространстве. . Типичное однородное представление координат двумерного изображения. является
где оба лежат в диапазоне от 0 до 1000–2000 для современной цифровой камеры. Это означает, что первые две координаты в изменяются в гораздо большем диапазоне, чем третья координата. Кроме того, если точки изображения, используемые для построения лежат в относительно небольшой области изображения, например на , снова вектор точки более или менее в одном и том же направлении для всех точек. Как следствие, будет иметь одно большое единственное значение, а остальные малы.
Решение
[ редактировать ]В качестве решения этой проблемы Хартли предложил преобразовать систему координат каждого из двух изображений независимо в новую систему координат по следующему принципу.
- Начало новой системы координат должно быть центрировано (иметь начало координат) в центроиде (центре тяжести) точек изображения. Это достигается путем перевода исходного источника в новый.
- После перевода координаты равномерно масштабируются так, что среднее значение расстояний от начала координат до точек равно .
Этот принцип обычно приводит к отдельному преобразованию координат для каждого из двух изображений. В результате появляются новые однородные координаты изображения. даны
где — это преобразования (перенос и масштабирование) из старых нормализованных координат изображения в новые . Эта нормализация зависит только от точек изображения, которые используются в одном изображении, и, как правило, отличается от нормализованных координат изображения, создаваемых нормализованной камерой.
Эпиполярное ограничение, основанное на фундаментальной матрице, теперь можно переписать как
где . Это означает, что можно использовать нормированные однородные координаты изображения. оценить преобразованную фундаментальную матрицу используя базовый алгоритм из восьми пунктов, описанный выше.
Цель нормализационных преобразований состоит в том, чтобы матрица , построенный из нормализованных координат изображения, в целом имеет лучшее число обусловленности, чем имеет. Это означает, что решение более четко определяется как решение однородного уравнения чем относительно . Один раз было определено и преобразовано в последний может быть денормализован, чтобы дать в соответствии с
В общем, эта оценка фундаментальной матрицы является лучшей, чем была бы получена путем оценки по ненормализованным координатам.
Использование менее восьми точек
[ редактировать ]Каждая пара точек вносит свой вклад в одно ограничивающее уравнение для элемента в . С имеет пять степеней свободы, поэтому для определения достаточно всего пяти пар точек. . Дэвид Нистер предложил эффективное решение для оценки существенной матрицы по набору пяти парных точек, известное как алгоритм пяти точек. [1] Хартли и др. ал. позже предложил модифицированный и более стабильный пятиточечный алгоритм, основанный на алгоритме Нистера. [2]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Нистер, Дэвид (2004). «Эффективное решение пятиточечной проблемы относительной позы» . Транзакции IEEE по анализу шаблонов и машинному интеллекту . 26 (6): 756–770. дои : 10.1109/TPAMI.2004.17 . ПМИД 18579936 . S2CID 886598 .
- ^ Ли, Гонконг (2006). «Оценка движения по пяти точкам стала проще» . 18-я Международная конференция по распознаванию образов (ICPR'06) . стр. 630–633. дои : 10.1109/ICPR.2006.579 . ISBN 0-7695-2521-0 . S2CID 7745676 .
Дальнейшее чтение
[ редактировать ]- Ричард И. Хартли (июнь 1997 г.). «В защиту восьмиточечного алгоритма». Транзакции IEEE по анализу шаблонов и машинному интеллекту . 19 (6): 580–593. дои : 10.1109/34.601246 . S2CID 16919747 .
- Ричард Хартли и Эндрю Зиссерман (2003). Множественная геометрия в компьютерном зрении . Издательство Кембриджского университета. ISBN 978-0-521-54051-3 .
- Х. Кристофер Лонге-Хиггинс (сентябрь 1981 г.). «Компьютерный алгоритм восстановления сцены по двум проекциям». Природа . 293 (5828): 133–135. Бибкод : 1981Natur.293..133L . дои : 10.1038/293133a0 . S2CID 4327732 .