Вычислительная матрица вращения из точек схождения

Я пытаюсь восстановить трехмерную ориентацию трех осей здания на изображении.

Мой текущий подход состоит в том, чтобы вручную аннотировать три точки схода, соответствующие этим трем осям, оценить калибровочную матрицу камеры K, а затем вычислить каждый столбец матрицы вращения из точки схода путем нормализации K^{-1}v_{i}, как указано в приложении к настоящему документу.

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

Я мог бы выдумать это, разложив предполагаемое R с использованием SVD и установив все значения в единственном числе, но я бы предпочел более принципиальное решение. Еще одна мысль состоит в том, чтобы решить ее как ограниченную задачу оптимизации, которая стремится минимизировать ошибку проекции в точках схода.

Есть ли лучший способ вычисления матрицы вращения из K и точек схода, которые одновременно учитывают ограничения ортогональности и единства столбцов?

Заранее спасибо.

1 ответ

Решение состоит в том, чтобы аннотировать только 2 точки схода, третья однозначно определяется ограничениями ортогональности точек схода.
Затем вычислите два соответствующих столбца R и найдите третий как крест (внешний продукт) двух других.

Другие вопросы по тегам