В компьютерном зрении триангуляция относится к процессу определения точки в трехмерном пространстве по ее проекциям на два или более изображений. Для решения этой проблемы необходимо знать параметры функции проецирования камеры из 3D в 2D для задействованных камер, в простейшем случае представленных матрицей камер. Триангуляцию иногда также называют реконструкцией .
Теоретически проблема триангуляции тривиальна. Поскольку каждая точка на изображении соответствует линии в трехмерном пространстве, все точки на линии в трехмерном пространстве проецируются на точку на изображении. Если может быть найдена пара соответствующих точек на двух или более изображениях, это должен быть случай, когда они являются проекцией общей трехмерной точки x . Набор линий, созданных точками изображения, должен пересекаться в x (трехмерная точка), и алгебраическая формулировка координат x (трехмерная точка) может быть вычислена множеством способов., как представлено ниже.
Однако на практике координаты точек изображения не могут быть измерены с произвольной точностью. Вместо этого различные типы шума, такие как геометрический шум из-за искажения объектива или ошибки обнаружения точки интереса, приводят к неточностям в измеренных координатах изображения. Как следствие, линии, образованные соответствующими точками изображения, не всегда пересекаются в трехмерном пространстве. Таким образом, проблема состоит в том, чтобы найти трехмерную точку, которая оптимально соответствует измеренным точкам изображения. В литературе есть множество предложений о том, как определить оптимальность и как найти оптимальную трехмерную точку. Поскольку они основаны на разных критериях оптимальности, разные методы дают разные оценки трехмерной точки x, когда присутствует шум.
Далее это Предполагается, что триангуляция выполняется на соответствующих точках изображения из двух видов, созданных камерами-обскурами. Обобщения этих предположений обсуждаются здесь.
Идеальный случай эпиполярной геометрии. Трехмерная точка x проецируется на изображения двух камер через линии (зеленые), которые пересекаются с фокусными точками каждой камеры, O1и O2. Результирующие точки изображения: y1и y2. Зеленые линии пересекаются в точке x. . На практике точки изображения y1и y2не могут быть измерены с произвольной точностью. Вместо этого точки y'1и y'2обнаруживаются и используются для триангуляции. Соответствующие линии проекции (синие), как правило, не пересекаются в трехмерном пространстве и могут также не пересекаться с точкой x.. Изображение слева иллюстрирует эпиполярную геометрию пары стереокамер модель точечного отверстия. Точка x (трехмерная точка) в трехмерном пространстве проецируется на соответствующую плоскость изображения по линии (зеленой), которая проходит через точку фокусировки камеры, и , в результате чего образуются две соответствующие точки изображения и . Если и даны и геометрия двух камер известна, две линии проекции (зеленые линии) могут быть определены, и они должны пересекаться в точке x (трехмерная точка). Используя базовую линейную алгебру, эту точку пересечения можно определить простым способом.
Изображение справа показывает реальный случай. Положение точек изображения и невозможно измерить точно. Причина заключается в сочетании факторов, таких как
существует неотъемлемая ошибка локализации. Как следствие, измеренные точки изображения имеют вид и вместо и . Однако их линии проекции (синие) не должны пересекаться в трехмерном пространстве или приближаться к x . Фактически, эти линии пересекаются тогда и только тогда, когда и удовлетворяют эпиполярному ограничению, определенному фундаментальной матрицей. Учитывая шум измерения в и весьма вероятно, что эпиполярное ограничение не выполняется и линии проекции не пересекаются.
Это наблюдение приводит к проблеме, которая решается с помощью триангуляции. Какая трехмерная точка xestявляется наилучшей оценкой x с учетом и и геометрия камер? Ответ часто находится путем определения меры ошибки, которая зависит от xest, а затем минимизации этой ошибки. В следующих разделах кратко описаны некоторые из различных методов вычисления xest, представленных в литературе.
Все методы триангуляции производят x est = xв случае, если и , то есть когда выполняется эпиполярное ограничение (кроме особых точек, см. Ниже). То, что происходит, когда ограничение не выполняется, что различается между методами.
Метод триангуляции можно описать в терминах функции такой, что
где - однородные координаты обнаруженных точек изображения и - матрицы камеры. x (3D-точка) - однородное представление полученной 3D-точки. Знак означает, что требуется только для создания вектора, который равен до x с точностью до умножения на ненулевой скаляр, поскольку задействованы однородные векторы.
Прежде чем перейти к конкретным методам, то есть к конкретным функциям , есть несколько общих концепций, связанных с методами, которые необходимо объяснил. Выбор метода триангуляции для конкретной задачи в некоторой степени зависит от этих характеристик.
Некоторые методы не позволяют правильно вычислить оценку x (трехмерная точка), если она лежит в определенном подмножестве трехмерного пространства, соответствующем некоторым комбинация . Тогда точка в этом подмножестве является особенностью метода триангуляции. Причина отказа может заключаться в том, что какая-то решаемая система уравнений недоопределена или что проективное представление xestстановится нулевым вектором для особых точек.
В некоторых приложениях желательно, чтобы триангуляция не зависела от системы координат, используемой для представления трехмерных точек; если задача триангуляции сформулирована в одной системе координат, а затем преобразована в другую, результирующая оценка xestдолжна преобразоваться таким же образом. Это свойство обычно называют инвариантностью. Не каждый метод триангуляции обеспечивает инвариантность, по крайней мере, не для общих типов преобразований координат.
Для однородного представления трехмерных координат наиболее общим преобразованием является проективное преобразование, представленное матрицей . Если однородные координаты преобразованы в соответствии с
, то матрицы камеры должен преобразоваться как (Ck)
для получения одинаковых координат однородного изображения (yk)
Если функция триангуляции инвариантно для , тогда должно быть действительным следующее отношение
из которого следует, что
Для каждого метода триангуляции можно определить, действительно ли это последнее соотношение. Если это так, это может быть выполнено только для подмножества проективных преобразований, например жестких или аффинных преобразований.
Функция - это только абстрактное представление вычисления, которое на практике может быть относительно сложным. Некоторые методы приводят к , которая является непрерывной функцией замкнутой формы, в то время как другие необходимо разложить на серию вычислительных шагов, включающих, например, SVD или поиск корней многочлена. Еще один класс методов приводит к , который должен полагаться на итеративную оценку некоторых параметров. Это означает, что как время вычислений, так и сложность задействованных операций могут различаться для разных методов.
Каждая из двух точек изображения и имеет соответствующую линию проекции (синяя на правом изображении выше), здесь обозначается как и , который может быть определен с учетом матриц камеры . Пусть будет функцией расстояния между (трехмерной линией) L1'и x (трехмерной точкой), такой что
Метод средней точки находит точку xest, которая минимизирует
Оказывается, что xestлежит точно в середине самого короткого отрезка линии, соединяющего две проекционные линии.