2012-03-20 4 views
1

Я пытаюсь получить 3D-метрическую реконструкцию точек, которые у меня есть в двух разных режимах моей сцены, с помощью пары iPhone 4S (рудиментарная стереосистема).Определение, если трехмерная точка находится перед парой стереокамер, учитывая их существенную матрицу

Для этого я выполнил калибровку камер, оценил фундаментальную матрицу и получил оценку существенной матрицы. Теперь, в Hartley & Zisserman «Книга с несколькими видами в CV», я вижу, что для любого заданного E они соответствуют 4 каноническим парам камер, из которых только одна восстанавливается как «фактическая» стерео конфигурация.

Проблема в том, что они говорят [cit.] "... восстановленная точка будет находиться перед обеими камерами только в одном из этих четырех решений. Таким образом, тестирование с одной точкой, чтобы определить, находится ли она спереди обеих камер достаточно, чтобы решить между четырьмя различными решениями для матрицы камеры P '. ... "

Учитывая, что я знаю F, K_left и K_right, как установить, является ли 3D-точка перед обоими камеры или нет?

Спасибо,

Риккардо

ответ

3

Вы можете получить вращение камеры и перевод с существенной матрицы. Итак, у вас есть матрица камеры P = [R, -R * t]. Чтобы проверить, находится ли точка X = (x, y, z, 1) перед камерой, вычислите X '= P * X. X '= (x', y ', z') будет позицией точки, если камера находится в начале координат, глядя в направлении z. Итак, если z 'положительно, то X' находится перед камерой, а X находится перед камерой P. Else X находится за P.

+0

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