Некалиброванная оценка глубины многоракурсной реконструкции

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

Я знаю, как оценить 3D-точки по двум изображениям, вычислив фундаментальную матрицу, матрицы камеры и триангуляцию. Теперь скажем, у меня есть 3 изображения, a, b и c. Я вычисляю матрицы камеры и 3D-точки для изображений a и b. Теперь я хочу обновить структуру, добавив изображение c. Я оцениваю матрицу камеры, используя известные 3D-точки (вычисленные из a и b), которые совпадают с 2D-точками на изображении c, поскольку:

введите здесь описание изображения

Однако, когда я реконструирую 3D-точки между b и c, они не складываются с существующими 3D-точками из a и b. Я предполагаю, что это связано с тем, что я не знаю правильных оценок глубины точек (обозначенных s в приведенной выше формуле).

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


person Hera    schedule 05.10.2014    source источник


Ответы (1)


Это не вопрос о Matlab. Речь идет об алгоритме.

Математически невозможно оценить положение 3D-точки на изображении, если вы не видите точку наблюдения на указанном изображении.

Существуют расширения для факторизации для работы с отсутствующими данными. Тем не менее, область, похоже, сошлась на настройке пакета Золотой стандарт.

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

person bendervader    schedule 24.10.2014