ORB_SLAM2 icon indicating copy to clipboard operation
ORB_SLAM2 copied to clipboard

ORB_SLAM2 camera poses + COLMAP reconstruction

Open lkosh opened this issue 3 years ago • 4 comments

Hello, I'm trying to run colmap dense reconstruction with camera poses pre-computed with ORB-SLAM2. I follow the instructions from here:https://colmap.github.io/faq.html?highlight=two%20view%20tracks#reconstruct-sparse-dense-model-from-known-camera-poses To compute camera poses I use rgbd_tum.cc on tum1 sequence, the trajectory error compared to ground truth is quite small compared to the path reconstructed with COLMAP.

I'm aware that world coordinate system used in COLMAP is different from conventional one, so I apply these transformations to poses outputted by ORB_SLAM2 (qx, qy, qz, qw are quaternions from CameraTrajectory.txt , tx, ty, tz - translations from ORB_SLAM2) r = R.from_quat([qx, qy, qz, qw]).as_dcm() r = r.T r[0, 1] *= -1.0 r[0, 2] *= -1.0 r[1, 0] *= -1.0 r[2, 0] *= -1.0 qx, qy, qz, qw = R.from_dcm(r).as_quat() ty *= -1 tz *= -1

However I found that dense reconstruction quality is much better without the pre-computed poses, whereas with the given poses colmap can reconstruct fewer points.

Here's the one of the depth maps of TUM1 sequence that my pipeline produces: depth_000020 frame_000020

Has anyone else tried this orb-slam + colmap pipeline? Could someone explain what is the fundamental difference between camera poses that they use?

lkosh avatar Mar 24 '21 14:03 lkosh

Hey @lkosh, any success with this?

ghost avatar Jan 18 '22 00:01 ghost

I have read related papers. It is said to be advantageous for 3D reconstruction because the camera pose of ORB_SALM2 is much more accurate than the camera pose calculated by the COLMAP.

JunsukLee avatar Jul 06 '22 04:07 JunsukLee

Hai, have you solved this problem? @lkosh @mateomd-dev

Cat-Lover-Yes avatar Jul 01 '23 14:07 Cat-Lover-Yes

I'm aware that world coordinate system used in COLMAP is different from conventional one, so I apply these transformations to poses outputted by ORB_SLAM2 (qx, qy, qz, qw are quaternions from CameraTrajectory.txt , tx, ty, tz - translations from ORB_SLAM2)

Hello, Could you please provide the tutorial and code of this

Oliverbihop avatar Jan 09 '24 07:01 Oliverbihop