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