stringtranslate.com

Триангуляция (компьютерное зрение)

В компьютерном зрении триангуляция относится к процессу определения точки в трехмерном пространстве с учетом ее проекций на два или более изображений. Для решения этой задачи необходимо знать параметры функции проецирования камеры от 3D до 2D для задействованных камер, в простейшем случае представленных матрицами камер . Триангуляцию иногда также называют реконструкцией или пересечением .

Проблема триангуляции в принципе тривиальна. Поскольку каждая точка изображения соответствует линии в трехмерном пространстве, все точки на линии в трехмерном пространстве проецируются на точку на изображении. Если можно найти пару соответствующих точек на двух или более изображениях, это должно быть так, что они являются проекцией общей трехмерной точки x . Набор линий, генерируемых точками изображения, должен пересекаться в точке x (3D-точка), а алгебраическая формулировка координат x (3D-точка) может быть вычислена различными способами, как представлено ниже.

Однако на практике координаты точек изображения не могут быть измерены с произвольной точностью. Вместо этого различные типы шума, такие как геометрический шум из-за искажения объектива или ошибка определения точки интереса, приводят к неточностям в измеренных координатах изображения. Как следствие, линии, генерируемые соответствующими точками изображения, не всегда пересекаются в трехмерном пространстве. Таким образом, проблема состоит в том, чтобы найти 3D-точку, которая оптимально соответствует измеренным точкам изображения. В литературе существует множество предложений о том, как определить оптимальность и как найти оптимальную трехмерную точку. Поскольку они основаны на разных критериях оптимальности, разные методы дают разные оценки трехмерной точки x при наличии шума.

Введение

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

Идеальный случай эпиполярной геометрии. Трехмерная точка x проецируется на изображения двух камер через линии (зеленые), которые пересекаются с фокусной точкой каждой камеры, O 1 и O 2 . Полученные точки изображения — y 1 и y 2 . Зеленые линии пересекаются в точке x .
На практике точки изображения y 1 и y 2 не могут быть измерены с произвольной точностью. Вместо этого точки y' 1 и y' 2 ​​обнаруживаются и используются для триангуляции. Соответствующие линии проекции (синие), как правило, не пересекаются в трехмерном пространстве, а также могут не пересекаться с точкой x .

Изображение слева иллюстрирует эпиполярную геометрию пары стереокамер модели-обскуры . Точка x (3D-точка) в 3D-пространстве проецируется на соответствующую плоскость изображения вдоль линии (зеленого цвета), проходящей через фокус камеры , и , в результате чего возникают две соответствующие точки изображения и . Если заданы и и известна геометрия двух камер, можно определить две линии проекции (зеленые линии), и должно быть так, что они пересекаются в точке x (3D-точка). Используя базовую линейную алгебру, эту точку пересечения можно определить простым способом.

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

Как следствие, измеренные точки изображения представляют собой и вместо и . Однако их линии проекции (синие) не обязательно должны пересекаться в трехмерном пространстве или приближаться к x . Фактически, эти линии пересекаются тогда и только тогда, когда и удовлетворяют эпиполярному ограничению , определенному фундаментальной матрицей . Учитывая шум измерений и вполне вероятно, что эпиполярное ограничение не выполняется и линии проекций не пересекаются.

Это наблюдение приводит к проблеме, которая решается в триангуляции. Какая трехмерная точка x est является наилучшей оценкой x с учетом геометрии камер? Ответ часто находится путем определения меры ошибки, которая зависит от x est , а затем минимизации этой ошибки. В следующих разделах кратко описаны некоторые из различных методов вычисления x est , представленных в литературе.

Все методы триангуляции дают x est = x в случае и , то есть когда эпиполярное ограничение удовлетворено (за исключением особых точек, см. ниже). То, что происходит, когда ограничение не удовлетворяется, различается в зависимости от метода.

Характеристики

Метод триангуляции можно описать с помощью такой функции, что

где – однородные координаты обнаруженных точек изображения, – матрицы камер. x (3D-точка) — однородное представление полученной 3D-точки. Знак подразумевает, что требуется только создать вектор, равный x с точностью до умножения на ненулевой скаляр, поскольку задействованы однородные векторы.

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

Особенности

Некоторые методы не могут правильно вычислить оценку x (3D-точки), если она лежит в определенном подмножестве трехмерного пространства, соответствующем некоторой комбинации . Точка в этом подмножестве является тогда особенностью метода триангуляции. Причиной неудачи может быть то, что какая-то система уравнений, которую необходимо решить, недостаточно определена или что проективное представление x est становится нулевым вектором для особых точек.

Инвариантность

В некоторых приложениях желательно, чтобы триангуляция не зависела от системы координат, используемой для представления трехмерных точек; если задача триангуляции сформулирована в одной системе координат, а затем преобразована в другую, то результирующая оценка x est должна преобразоваться аналогичным образом. Это свойство обычно называют инвариантностью . Не каждый метод триангуляции обеспечивает инвариантность, по крайней мере, для общих типов преобразований координат.

Для однородного представления трехмерных координат наиболее общим преобразованием является проективное преобразование, представленное матрицей . Если однородные координаты преобразовать по закону

тогда матрицы камеры должны преобразоваться как ( C k )

для создания одинаковых однородных координат изображения ( y k )

Если функция триангуляции инвариантна, тогда должно быть справедливо следующее соотношение

из чего следует, что

  для всех

Для каждого метода триангуляции можно определить, действительно ли последнее соотношение. Если да, то оно может выполняться только для подмножества проективных преобразований, например жестких или аффинных преобразований.

Вычислительная сложность

Функция — это всего лишь абстрактное представление вычислений, которые на практике могут быть относительно сложными. Некоторые методы приводят к тому , что a представляет собой непрерывную функцию в замкнутой форме, в то время как другие необходимо разложить на серию вычислительных шагов, включающих, например, SVD или поиск корней многочлена. Еще один класс методов, результаты которых должны основываться на итеративном оценивании некоторых параметров. Это означает, что как время вычислений, так и сложность выполняемых операций могут различаться в зависимости от метода.

Методы

Метод средней точки

Каждая из двух точек изображения имеет соответствующую линию проекции (синяя на правом изображении выше), здесь обозначенную как и , которую можно определить с учетом матриц камеры . Позвольте быть функцией расстояния между (трехмерной линией) L и x (трехмерной точкой), такой, что это евклидово расстояние между и . Метод средней точки находит точку xest , которая минимизирует

Оказывается, xest лежит точно в середине самого короткого отрезка, соединяющего две линии проекции.

Прямое линейное преобразование

Через существенную матрицу

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

Обозначим строку k матрицы вращения :

Объединение вышеуказанных отношений между 3D-координатами в двух системах координат и сопоставлением между 3D- и 2D-точками, описанным ранее, дает

или

После определения две другие координаты можно вычислить как

Приведенный выше вывод не является уникальным. Также можно начать с выражения для и вывести выражение для в соответствии с

В идеальном случае, когда камера отображает 3D-точки в соответствии с идеальной камерой-обскурой и полученные 2D-точки могут быть обнаружены без какого-либо шума, два выражения для равны. Однако на практике это не так, и может оказаться выгодным объединить две оценки , например, с помощью некоторого среднего значения.

Возможны и другие типы расширения приведенных выше вычислений. Они начали с выражения координат изображения со штрихом и получения трехмерных координат в системе без штриха. Также можно начать с координат изображения без штриха и получить трехмерные координаты со штрихом, которые в конечном итоге можно преобразовать в трехмерные координаты без штриха. Опять же, в идеальном случае результат должен быть равен приведенным выражениям, но на практике они могут отличаться.

Последнее замечание относится к тому факту, что если существенная матрица определяется по соответствующей координате изображения, что часто имеет место при определении трехмерных точек таким способом, вектор перемещения известен только с точностью до неизвестного положительного масштабирования. Как следствие, восстановленные 3D-точки также не определены в отношении положительного масштабирования.

Смотрите также

Рекомендации

Внешние ссылки