Определение, находится ли 3D-точка перед парой стереокамеры, учитывая их существенную матрицу - PullRequest
1 голос
/ 21 марта 2012

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

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

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

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

Спасибо

Риккардо

1 Ответ

3 голосов
/ 16 июня 2012

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

...